Дебиан

Зависности Дебиан пакета

Зависности Дебиан пакета
За Линук дистрибуције попут Дебиан ГНУ / Линук постоји више од 60.000 различитих софтверских пакета. Сви они имају одређену улогу. У овом чланку објашњавамо како управљање пакетима поуздано управља овим огромним бројем софтверских пакета током инсталације, ажурирања или уклањања како би ваш систем одржао рад и био потпуно стабилан.

За Дебиан ГНУ / Линук ово се односи на алате апт, апт-гет, аптитуде, апт-цацхе, апт-зависи, апт-рдепендс, дпкг-деб и апт-марк.

Доступност софтверских пакета

Као што је већ горе речено, Линук дистрибуција се састоји од тона различитих софтверских пакета. Од данас је софтвер прилично сложен и зато је уобичајено делити софтвер у неколико појединачних пакета. Ови пакети могу бити категорисани према функционалности или улози, као што су бинарни пакети, библиотеке, документација, примери употребе, као и збирке специфичне за језик, и пружају само изабрани део софтвера. За то не постоји фиксно правило, а поделу врши или развојни тим алата, или одржавач пакета који се брине о софтверском пакету за вашу Линук дистрибуцију. Користећи аптитуде, слика 1 наводи пакете који садрже преводе за различите језике за веб прегледач Мозилла Фирефок.

Слика 1: аптитуде-фирефок.пнг

Овакав начин рада омогућава да сваки пакет може одржавати други програмер или цео тим. Штавише, подела на појединачне компоненте омогућава и другим софтверским пакетима да га користе у своје сврхе. Потребна функционалност се може применити и не треба је поново измишљати.

Организација пакета

Алати за управљање пакетима на дистрибуцији Дебиан ГНУ / Линук непрестано воде рачуна да се зависности инсталираних пакета у потпуности испуне. То је посебно случај ако је софтверски пакет намењен инсталирању, ажурирању или брисању на вашем систему или из њега. Недостајући пакети се додају у систем или се инсталирани пакети уклањају из система у случају да више нису потребни. Слика 2 то показује за уклањање пакета „мц-дата“ помоћу „апт-гет“. Пакет 'мц-дата' препоручује да се аутоматски уклони и пакет 'мц', јер више нема смисла да се инсталира без 'мц-дата'.

Слика 2: апт-гет-ремове-мц.пнг

Ознаке пакета и заставе

Током свог рада алати за управљање пакетом поштују постављене заставице и ознаке пакета. Они се постављају аутоматски или их системски администратор поставља ручно. Нарочито се ово понашање односи на заставицу „основни пакет“ која је постављена за пакете које не треба уклањати. Јасно упозорење се издаје пре него што то учините (погледајте слику 3).

Слика 3: апт-гет-ремове.пнг

Такође се узимају у обзир три ознаке „аутоматски“, „ручно“ и „задржавање“. Означавају пакет као аутоматски инсталиран, ручно инсталиран или се не сме ажурирати (задржати тренутну верзију). Софтверски пакет је означен или „аутоматски“ или „ручно“, али не обоје.

Између осталог, команда 'апт-марк' рукује ознакама и заставицама помоћу следећих поднаредби:

Да бисте навели све ручно инсталиране пакете, издајте ову наредбу:

$ апт-марк сховмануал
абиворд
абс-водич
ацк-греп
ацл
ацпи

$

Да бисте задржали верзију пакета, користите поткоманду 'холд'. Пример у наставку приказује ово за пакет 'мц'.

# апт-марк задржи мц
мц постављен на чекање
#

Поткоманда 'сховхолд' наводи пакете који су на чекању (у нашем случају то је само пакет 'мц'):

# апт-марк сховхолд
мц
#

Коришћењем алтернативне методе под називом „апт пиннинг“, пакети се класификују по приоритетима. Апт их примењује како би донео одлуку о начину руковања овим софтверским пакетом и верзијама које су доступне из спремишта софтвера.

Опис пакета

Коришћењем алтернативне методе под називом „апт пиннинг“, пакети се класификују по приоритетима. Апт их примењује како би донео одлуку о начину руковања овим софтверским пакетом и верзијама које су доступне из спремишта софтвера.

Сваки софтверски пакет долази са својим описом пакета који је стандардизован. Између осталих поља, овај опис изричито наводи од којег даљег пакета зависи. Алати специфични за дистрибуцију издвајају ове информације из описа пакета, а затим израчунавају и визуализују зависности за вас. Следећи пример користи наредбу 'апт-цацхе схов' да би приказао опис пакета 'попплер-утилс' (види слику 4).

Слика 4: опис-пакета-попплер-утилс.пнг

Опис пакета садржи одељак под називом „Зависи“. Овај одељак наводи остале софтверске пакете плус број верзије од којих зависи тренутни пакет. На слици 4 овај одељак је уоквирен црвеном бојом и показује да „попплер-утилс“ зависи од пакета „либпопплер64“, „либц6“, „либцаиро2“, „либфреетипе6“, „либлцмс2-2“, „либстдц ++ 6“ и 'злиб1г'.

Прикажите зависности пакета

Читање описа пакета је тежак начин за утврђивање зависности пакета. Даље ћемо вам показати како то поједноставити.

Постоји неколико начина за приказ зависности пакета на командној линији. За деб пакет као локалну датотеку користите наредбу 'дпкг-деб' са два параметра - именом датотеке пакета и кључном речи 'Зависи'. Пример у наставку показује то за пакет 'скипефорлинук-64.деб ':

$ дпкг-деб -ф Преузимања / скипефорлинук-64.деб Зависи
гцонф-сервице, либасоунд2 (> = 1.0.16), либатк1.0-0 (> = 1.12.4), либц6 (> = 2.17),
либцаиро2 (> = 1.2.4), либцупс2 (> = 1.4.0), либекпат1 (> = 2.0.1),
либфреетипе6 (> = 2.4.2), либгцц1 (> = 1: 4.1.1), либгцонф-2-4 (> = 3.2.5),
либгдк-пикбуф2.0-0 (> = 2.22.0), либглиб2.0-0 (> = 2.31.8), либгтк2.0-0 (> = 2.24.0),
либнспр4 (> = 2: 4.9-2 ~), либнсс3 (> = 2: 3.13.4-2 ~), либпанго-1.0-0 (> = 1.14.0),
либпангоцаиро-1.0-0 (> = 1.14.0), либсецрет-1-0 (> = 0.7), либв4л-0 (> = 0.5.0),
либк11-6 (> = 2: 1.4.99.1), либк11-кцб1, либкцб1 (> = 1.6), либкцомпосите1 (> = 1: 0.3-1),
либкцурсор1 (>> 1.1.2), либкдамаге1 (> = 1: 1.1), либкект6, либкфикес3,
либки6 (> = 2: 1.2.99.4), либкрандр2 (> = 2: 1.2.99.3), либкрендер1, либксс1,
либктст6, апт-транспорт-хттпс, либфонтцонфиг1 (> = 2.11.0), либдбус-1-3 (> = 1.6.18),
либстдц ++ 6 (> = 4.8.1)
$

Да бисте учинили исто за инсталирани пакет, користите 'апт-цацхе'. Први пример комбинује поднаредбу 'схов' након чега следи име пакета. Излаз се шаље наредби 'греп' која филтрира линију 'Зависи':

$ апт-цацхе схов кпдф | греп Зависи
Зависи: либц6 (> = 2.4), либгцц1 (> = 1: 4.1.1), либпопплер46 (> = 0.26.2),
либстдц ++ 6 (> = 4.1.1), либк11-6, либкм4 (> = 2.3.4), либкт6
$

Команда 'греп-статус -Ф пакет -с зависи кпдф' ће пријавити исте информације.

Прецизније, други пример поново користи „апт-цацхе“, али са поднаредбом „зависи“. Подкоманду прати назив пакета:

$ апт-цацхе зависи од кпдф
кпдф
Зависи: либц6
Зависи: либгцц1
Зависи: либпопплер46
Зависи: либстдц ++ 6
Зависи: либк11-6
Зависи: либкм4
Зависи: либкт6
Препоручује: попплер-утилс
попплер-утилс: и386
Препоручује: попплер-дата
Препоручује: гсфонтс-к11
Препоручује: цупс-бсд
цупс-бсд: и386
Судари са:
Судари са:
Судари са:
Судари са:
Замењује:
Замењује:
Замењује:
Замењује:
Сударива се са: кпдф: и386
$

Горња листа је прилично дугачка и може се скратити помоћу прекидача '-и' (скраћено од '-важно'):

$ апт-цацхе зависи -и кпдф
кпдф
Зависи: либц6
Зависи: либгцц1
Зависи: либпопплер46
Зависи: либстдц ++ 6
Зависи: либк11-6
Зависи: либкм4
Зависи: либкт6
$

Команда 'апт-рдепендс' ради исто, али са информацијама о верзији ако је наведена у опису:

$ апт-рдепендс кпдф
Читање листа пакета ... Готово
Изградња стабла зависности
Читање података о стању ... Готово
кпдф
Зависи: либц6 (> = 2.4)
Зависи: либгцц1 (> = 1: 4.1.1)
Зависи: либпопплер46 (> = 0.26.2)
Зависи: либстдц ++ 6 (> = 4.1.1)
Зависи: либк11-6
Зависи: либкм4 (> = 2.3.4)
Зависи: либкт6
либц6
Зависи: либгцц1

$

Команда 'аптитуде' ради и са прекидачима. За зависности користите прекидач '~ Р' праћен именом пакета. Слика 5 приказује ово за пакет 'кпдф'. Слово 'А' у другој колони резултата 'аптитуде' идентификује пакет који се аутоматски инсталира.

Слика 5: аптитуде-рдепендс.пнг

Зависности пакета могу бити мало незгодне. Можда ће вам помоћи да графички прикажете зависности пакета. Користите наредбу 'дебтрее' праћену именом пакета да бисте креирали графички приказ зависности пакета. Алатка „тачка“ из пакета Грапхвиз опис претвара у слику на следећи начин:

$ дебтрее кпдф | дот -Тпнг> граф.пнг

На слици 6 видите створену ПНГ слику која садржи графикон зависности.

Слика 6: тачка.пнг

Прикажите обрнуте зависности

До сада смо приказали да смо одговарали на питање који су пакети потребни за пакет. Постоји и обрнуто - такозване обрнуте зависности. Следећи примери се баве пакетом као и пакетима који од њега зависе. Пример број један користи „апт-цацхе“ са поткомандом „рдепендс“ на следећи начин:

$ апт-цацхе рдепендс кпдф
кпдф
Обрнуто зависи:
| октава-док
кпдф: и386
либфонтцонфиг1: и386
| кмдс-доц
кфе
виипдф
| вим-латекс
питхон-сцапи
| рубин-тиога
| питхон-табле-доц
| страница-крцкање
| октава-док
| муттпринт-приручник
мозплуггер
млпост
либмлпост-оцамл-дев

$

Пакети који зависе од осталих пакета означени су симболом цеви. Ови пакети не морају бити инсталирани на вашем систему, већ морају бити наведени у бази података пакета.

Следећи пример користи 'аптитуде' за навођење пакета који имају чврсту референцу на пакет 'кпдф' (види слику 7).

Слика 7: тражење способности.пнг

Потврдите инсталацију за недостајуће пакете

„Апт-гет“ нуди поткоманду „цхецк“ која омогућава потврђивање инсталације. Ако видите следећи излаз, не недостају пакети:

# апт-гет чек
Читање листа пакета ... Готово
Изградња стабла зависности
Читање података о стању ... Готово
#

Закључак

Проналажење зависности пакета добро функционише са правим алатима. Правилна употреба помаже вам да разумете зашто су пакети инсталирани и који можда недостају.

Везе и референце

Екран Трацкпад и показивач миша АппиМоусе за Виндовс таблете
Корисницима таблета често недостаје показивач миша, посебно када су уобичајени за коришћење преносних рачунара. Паметни телефони и таблети на додир ос...
Средњи тастер миша не ради у оперативном систему Виндовс 10
Тхе средње дугме миша помаже вам да се крећете кроз дугачке веб странице и екране са пуно података. Ако се то заустави, на крају ћете користити тастат...
Како да промените леви и десни тастер миша на рачунару са Виндовс 10
Сасвим је нормално да су сви уређаји рачунарског миша ергономски дизајнирани за дешњаке. Али постоје доступни уређаји за миш који су посебно дизајнира...