| 1 |
<!-- Subversion revision of original English document "3640" -->
|
| 2 |
<chapt id="pkgtools">Інструменти для керування пакунками Debian
|
| 3 |
|
| 4 |
<sect id="pkgprogs">Які програми пропонує Debian для керування
|
| 5 |
пакунками?
|
| 6 |
|
| 7 |
<p>Для керування пакунками Debian існують численні утиліти, від графічних
|
| 8 |
та псевдографічних інтерфейсів до низькорівневих інструментів,
|
| 9 |
що використовуються для встановлення пакунків. Всі доступні утиліти
|
| 10 |
базуються на низькорівневих інструментах та перераховуються тут
|
| 11 |
по мірі зростання їхньої складності.
|
| 12 |
|
| 13 |
<p>Важливо зрозуміти, що інструменти вищого рівня, як <prgn/aptitude/
|
| 14 |
чи <prgn/dselect/ залежать від <prgn/apt/, котра, у свою чергу,
|
| 15 |
залежить від <prgn/dpkg/.
|
| 16 |
|
| 17 |
<p>Перегляньте <url id="http://www.debian.org/doc/manuals/apt-howto/" name="APT
|
| 18 |
HOWTO">, якщо бажаєте дізнатись більше про інструменти керування пакунками
|
| 19 |
Debian. Цей документ є доступним різними мовами та в різних форматах, зверніться
|
| 20 |
до запису про APT HOWTO на сторінці проекту документації Debian <url
|
| 21 |
id="http://www.debian.org/doc/user-manuals#apt-howto"
|
| 22 |
name="Огляд підручників для користувачів">.
|
| 23 |
|
| 24 |
<!-- TODO: Describe tools to automatically build from sources Debian
|
| 25 |
packages including 'apt-get build-dep foo && apt-get build foo' and
|
| 26 |
'apt-build' -->
|
| 27 |
|
| 28 |
<sect1 id="dpkg">dpkg
|
| 29 |
|
| 30 |
<p>Це основна програма керування пакунками. <prgn/dpkg/ можна викликати
|
| 31 |
з великою кількістю опцій. Найчастіше вживаються такі:
|
| 32 |
<list>
|
| 33 |
<item>Отримати список опцій: <tt>dpkg --help</tt>.
|
| 34 |
<item>Надрукувати файл control (та іншу інформацію) для заданого пакунку:
|
| 35 |
<tt>dpkg --info foo_VVV-RRR.deb</tt>
|
| 36 |
<item>Встановити пакунок (включаючи розпакування та конфігурування)
|
| 37 |
у файлову систему на жорсткому диску: <tt>dpkg --install foo_VVV-RRR.deb</tt>.
|
| 38 |
<item>Розпакувати (але не конфігурувати) архівний файл Debian у файлову систему
|
| 39 |
на жорсткому диску: <tt>dpkg --unpack foo_VVV-RRR.deb</tt>. Зауважте, що ця
|
| 40 |
команда <em>не</em> обов'язково робить пакунок готовим до вжитку; деякі файли
|
| 41 |
можуть потребувати наступного налаштування для правильного запуску. Ця команда
|
| 42 |
видаляє вже встановлену версію програми та запускає зв'язаний з пакунком
|
| 43 |
сценарій preints (див. <ref id="maintscripts">).
|
| 44 |
<item>Конфігурувати пакунок, що був попередньо розпакований:
|
| 45 |
<tt>dpkg --configure foo</tt>. Окрім іншого, ця команда запускає сценарій
|
| 46 |
postinst (див. <ref id="maintscripts">). Вона також оновлює файли, перелічені
|
| 47 |
у <tt>conffiles</tt>. Зауважте, що операція configure приймає в якості аргументу
|
| 48 |
назву пакунку, а <em/не/ назву архівного файлу Debian (для прикладу, правильно
|
| 49 |
буде вказувати foo, а не foo_VVV-RRR.deb).
|
| 50 |
<item>Видобути файл "blurf" (або групу файлів "blurf*") з архівного файлу Debian:
|
| 51 |
<tt>dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*</tt>.
|
| 52 |
<item>Видалити пакунок (але не його конфігураційні файли):
|
| 53 |
<tt>dpkg --remove foo</tt>.
|
| 54 |
<item>Видалити пакунок (включно з конфігураційними файлами):
|
| 55 |
<tt>dpkg --purge foo</tt>.
|
| 56 |
<item>Перелічити стан встановлення пакунків, що містять послідовність символів
|
| 57 |
(чи регулярний вираз) foo*: <tt>dpkg --list 'foo*'</tt>.
|
| 58 |
</list>
|
| 59 |
|
| 60 |
<sect1 id="apt-get">APT
|
| 61 |
|
| 62 |
<p>APT — це вдосконалений пакунковий інструмент (<em>Advanced
|
| 63 |
Package Tool</em>), що постачає програму <prgn/apt-get/.
|
| 64 |
<prgn/apt-get/ забезпечує простий шлях для отримання та встановлення
|
| 65 |
пакунків з декількох джерел за допомогою командного рядка.
|
| 66 |
На відміну від <prgn/dpkg/, <prgn/apt-get/ працює не з .deb-файлами,
|
| 67 |
а з назвами пакунків і може встановлювати їх лише з місць, котрі
|
| 68 |
перелічені у файлі <file>/etc/apt/sources.list</file>. <prgn/apt-get/
|
| 69 |
викликає <prgn/dpkg/ відразу після завантаження архівного .deb-файлу
|
| 70 |
з сконфігурованих джерел.
|
| 71 |
|
| 72 |
<footnote>Зверніть увагу, що існують портування, котрі дозволяють
|
| 73 |
використовувати цю утиліту з іншими системами управління пакунками,
|
| 74 |
наприклад, менеджером пакунків Red Hat, відомого як
|
| 75 |
<prgn/rpm/</footnote>.
|
| 76 |
|
| 77 |
<p>Ось деякі стандартні методи використання <prgn/apt-get/:
|
| 78 |
|
| 79 |
<list>
|
| 80 |
<item>Щоб оновити список пакунків, відомих системі, запустіть:
|
| 81 |
<example>apt-get update</example>
|
| 82 |
(вам потрібно запускати цю команду регулярно для оновлення списку пакунків)
|
| 83 |
|
| 84 |
<item>Щоб оновити всі пакунки у вашій системі, наберіть:
|
| 85 |
<example>apt-get upgrade</example>
|
| 86 |
|
| 87 |
<item>Щоб встановити пакунок <var/foo/ разом з усіма залежностями, виконайте:
|
| 88 |
<example>apt-get install foo</example>
|
| 89 |
|
| 90 |
<item>Щоб видалити пакунок foo з вашої системи, введіть:
|
| 91 |
<example>apt-get remove foo</example>
|
| 92 |
|
| 93 |
<item>Щоб видалити пакунок foo разом з його конфігураційними файлами, наберіть:
|
| 94 |
<example>apt-get --purge remove foo</example>
|
| 95 |
|
| 96 |
<item>Щоб оновити всі пакунки у вашій системі до нової версії
|
| 97 |
&debian;, запустіть:
|
| 98 |
<example>apt-get dist-upgrade</example>
|
| 99 |
|
| 100 |
</list>
|
| 101 |
|
| 102 |
<p>Зверніть увагу, що ви повинні бути зареєстровані як root щоб мати
|
| 103 |
можливість виконувати будь-які команди, котрі змінюють системні пакунки.
|
| 104 |
|
| 105 |
<p>Набір інструментів apt включає також утиліту <prgn/apt-cache/ для
|
| 106 |
запитів списків пакунків. Ви можете використовувати її щоб знайти пакунки,
|
| 107 |
котрі відповідають певним вимогам за допомогою простих текстових запитів
|
| 108 |
чи регулярних виразів, або ж запитів щодо залежностей у системі керування
|
| 109 |
пакунками.
|
| 110 |
|
| 111 |
Ось деякі типові способи використання <prgn/apt-cache/:
|
| 112 |
<list>
|
| 113 |
<item>Знайти пакунки, чий опис містить <var/слово/:
|
| 114 |
<example>apt-cache search <var>слово</var></example>
|
| 115 |
|
| 116 |
<item>Роздрукувати детальну інформацію про пакунок:
|
| 117 |
<example>apt-cache show <var>назва_пакунка</var></example>
|
| 118 |
|
| 119 |
<item>Вивести список пакунків, від котрих залежить даний пакунок:
|
| 120 |
<example>apt-cache depends <var>назва_пакунка</var></example>
|
| 121 |
|
| 122 |
<item>Показати детальну інформацію про доступні версії даного
|
| 123 |
пакунку та пакунків, від котрих він залежить:
|
| 124 |
<example>apt-cache showpkg <var>назва_пакунка</var></example>
|
| 125 |
|
| 126 |
</list>
|
| 127 |
|
| 128 |
<p>Щоб отримати детальнішу інформацію, встановіть пакунок <package/apt/
|
| 129 |
та прочитайте <manref name="apt-get" section="8">,
|
| 130 |
<manref name="sources.list" section="5">, встановіть пакунок
|
| 131 |
<package/apt-doc/ та прочитайте
|
| 132 |
<file>/usr/share/doc/apt-doc/guide.html/index.html</file>.
|
| 133 |
|
| 134 |
<sect1 id="aptitude">aptitude
|
| 135 |
|
| 136 |
<p><prgn/aptitude/ — це керівник пакунків для системи
|
| 137 |
&debian;, що являє собою зовнішній інтерфейс до інфраструктури
|
| 138 |
керування пакунками apt. <prgn/aptitude/ — це програма з
|
| 139 |
псевдографічним інтерфейсом, що базується на бібліотеці curses,
|
| 140 |
вона може використовуватись для швидкого й зручного керування пакунками.
|
| 141 |
|
| 142 |
<p><prgn/aptitude/ забезпечує функціональність <prgn/dselect/
|
| 143 |
і <prgn/apt-get/ та багато додаткових можливостей, котрих немає
|
| 144 |
у жодній іншій прогамі:
|
| 145 |
|
| 146 |
<list>
|
| 147 |
<item><prgn/aptitude/ забезпечує доступ до всіх версії пакунку.
|
| 148 |
|
| 149 |
<item><prgn/aptitude/ веде журнал своїх дій у файлі
|
| 150 |
<file>/var/log/aptitude</file>.
|
| 151 |
|
| 152 |
<item><prgn/aptitude/ полегшує відслідковування застарілого
|
| 153 |
програмного забезпечення ведучи список „Застарілих та локальних
|
| 154 |
пакунків“ (Obsolete and Locally Created Packages).
|
| 155 |
|
| 156 |
<item><prgn/aptitude/ є достатньо потужною системою для
|
| 157 |
пошуку окремих пакунків та виводу короткої інформації про них.
|
| 158 |
Користувачі, котрі знайомі з <prgn/mutt/, швидко засвоять
|
| 159 |
і її, оскільки синтаксис виразів взято саме звідти.
|
| 160 |
|
| 161 |
<item><prgn/aptitude/ відслідковує, які саме пакунки було встановлено
|
| 162 |
завдяки залежностям та видаляє їх, якщо пакунки, які залежали від них,
|
| 163 |
були видалені з системи.
|
| 164 |
|
| 165 |
<item><prgn/aptitude/ може автоматично встановлювати рекомендовані
|
| 166 |
(<em>Recommended:</em>) пакунки<footnote>Не зважаючи на те, що це
|
| 167 |
часто призводить до встановлення в систему більшої кількості пакунків,
|
| 168 |
ніж насправді необхідно для її роботи.</footnote>.
|
| 169 |
|
| 170 |
<item>В повноекранному режимі <prgn/aptitude/ має вбудовану функціональність
|
| 171 |
суперкористувача та може запускатись звичайним користувачем. Вона викличе
|
| 172 |
програму <prgn/su/ (та запитає пароль суперкористувача, звісно) якщо вам
|
| 173 |
справді знадобляться привілеї системного адміністратора.
|
| 174 |
|
| 175 |
</list>
|
| 176 |
|
| 177 |
<p>Ви можете працювати з <prgn/aptitude/ як через візуальний інтерфейс
|
| 178 |
(просто запустивши <tt>aptitude</tt>) так і напряму з командного рядка.
|
| 179 |
Синтаксис командного рядка дуже подібний до синтаксису <prgn/apt-get/.
|
| 180 |
Наприклад, щоб встановити пакунок <var>foo</var>, вам потрібно запустити
|
| 181 |
<tt>aptitude install <var>foo</var></tt>.
|
| 182 |
|
| 183 |
<p>Зверніть увагу, що для встановлення та/або оновлення вашої системи
|
| 184 |
Debian рекомендує саме <prgn/aptitude/.
|
| 185 |
|
| 186 |
<p>Для додаткової інформації прочитайте сторінку підручника <manref
|
| 187 |
name="aptitude" section="8"> та встановіть пакунок <package/aptitude-doc-en/.
|
| 188 |
|
| 189 |
<sect1 id="dselect">dselect
|
| 190 |
|
| 191 |
<p>Ця програма являє собою керований у режимі меню інтерфейс до системи
|
| 192 |
керування пакунками Debian. Вона є особливо зручною для першого встановлення.
|
| 193 |
Деякі користувачі можуть почувати себе зручніше у <prgn/aptitude/,
|
| 194 |
котра також рекомендується для масштабних оновлень. Щоб отримати додаткову
|
| 195 |
інформацію про aptitude див. <ref id="aptitude">.
|
| 196 |
|
| 197 |
<p><prgn/dselect/ може:
|
| 198 |
<list>
|
| 199 |
<item>бути провідником для користувача, котрий вирішив встановити чи видалити
|
| 200 |
котрийсь із пакунків; перевірити, чи не було встановлено пакунків, що конфліктують
|
| 201 |
з іншими та чи встановлено всі пакунки, котрі необхідні для роботи даного пакунка;
|
| 202 |
<item>попередити користувача про суперечливість чи несумісність його вибору;
|
| 203 |
<item>визначити порядок встановлення пакунків;
|
| 204 |
<item>автоматично виконати встановлення чи видалення;
|
| 205 |
<item>провести користувача через будь-який конфігураційний процес,
|
| 206 |
необхідний для встановлення пакунку.
|
| 207 |
</list>
|
| 208 |
|
| 209 |
<p><prgn/dselect/ розпочинає свою роботу з представлення користувачеві меню
|
| 210 |
з 7 елементів, кожен з котрих є наперед визначеною дією. Користувач може обрати
|
| 211 |
будь-яку з них за допомогою стрілок, пересуваючи підсвітлений рядок та натиснувши
|
| 212 |
<em><Enter></em> щоб вибрати підсвітлену дію.
|
| 213 |
|
| 214 |
<p>Що користувач побачить на наступному екрані залежить від дії, котру він обрав.
|
| 215 |
Якщо він обрав будь-яку з опцій окрім <tt>Access</tt> чи <tt>Select</tt>,
|
| 216 |
<prgn/dselect/ просто перейде до виконання заданої дії: наприклад, якщо користувач
|
| 217 |
вибрав <tt>Remove</tt>, dselect спробує видалити всі файли, що вибрані для видалення
|
| 218 |
користувачем при попередньому відвідуванні екрану <tt>Select</tt>.
|
| 219 |
|
| 220 |
<p>Елементи меню <tt>Access</tt> та <tt>Select</tt> виводять додаткові підменю.
|
| 221 |
В обидвох випадках меню представлені у вигляді розділеного екрану: у верхній
|
| 222 |
частині знаходиться прокручуваний список можливостей вибору, а в нижній —
|
| 223 |
коротке пояснення для кожного з елементів верхьої частини.
|
| 224 |
|
| 225 |
<p>Додаткова довідка доступна після натиснення в будь-який момент клавіші '?'.
|
| 226 |
|
| 227 |
<p>Порядок, в котрому представлені пункти початкового меню <prgn/dselect/
|
| 228 |
аналогічний порядку дій користувача коли він хоче встановити нові пакунки.
|
| 229 |
Проте користувач може вибирати будь-який елемент меню стільки разів,
|
| 230 |
скільки вважатиме за потрібне (в залежності від того, що він хоче зробити).
|
| 231 |
|
| 232 |
<list>
|
| 233 |
<item>Розпочніть з вибору методу доступу (<strong/Access Method/).
|
| 234 |
Тут вибирається спосіб, у котрий користувач планує отримувати пакунки
|
| 235 |
Debian; наприклад, деякі користувачі мають пакунки на компакт-диску,
|
| 236 |
тоді як інші планують отримувати їх з FTP. Вибір методу доступу зберігається
|
| 237 |
по завершенню роботи з <prgn/dselect/, отож вам не потрібно буде вибирати його знову.
|
| 238 |
|
| 239 |
<item>Далі оновіть (<strong/Update/) список доступних пакунків. Щоб зробити це,
|
| 240 |
<prgn/dselect/ зчитує файл „Packages.gz“ , котрий повинен знаходитись в теці,
|
| 241 |
де зберігаються пакунки Debian (Але якщо його там не виявиться,
|
| 242 |
<prgn/dselect/ зможе створити його для вас).
|
| 243 |
|
| 244 |
<item>Виберіть (<strong/Select/), які пакунки ви хочете встановити до системи.
|
| 245 |
Після вибору цього пункту меню користувачу спочатку виводиться повноекранна довідка
|
| 246 |
(при умові, що програма запущена без опції '--expert'). Коли користувач покине
|
| 247 |
вікно довідки, він побачить розділений надвоє екран, де він зможе обрати пакунки
|
| 248 |
для встановлення (чи видалення).
|
| 249 |
|
| 250 |
<p>Верхня частина екрану — це порівняно вузьке вікно зі списком &all-pkgs;
|
| 251 |
пакунків Debian; нижня містить опис вибраного (підсвітленого) пакунку чи групи пакунків.
|
| 252 |
|
| 253 |
<p>Ви можете вибрати пакунки, з котрими працюватиме програма, підсвітлюючи назву
|
| 254 |
пакунку або мітку групи пакунків. Після цього ви можете вибирати пакунки:
|
| 255 |
<taglist>
|
| 256 |
<tag>для встановлення:
|
| 257 |
<item>Це досягається натисненням клавіші '+'.
|
| 258 |
<tag>для видалення:
|
| 259 |
<item>Пакунки можна видаляти двома способами:
|
| 260 |
<list>
|
| 261 |
<item>видаляючи (remove): видаляються більшість файлів, пов'язаних з пакунком,
|
| 262 |
але залишаються файли, відмічені як конфігураційні (див. <ref id="conffile">)
|
| 263 |
та конфігураційна інформація про пакунок. Це досягається натисненням клавіші '-'.
|
| 264 |
<item>очищуючи (purged): видаляються <em/всі/ файли, котрі відносяться до пакунку.
|
| 265 |
Це досягається натисненням клавіші '_'
|
| 266 |
</list>
|
| 267 |
Зверніть увагу, що всі пакунки („All Packages“) видалити неможливо. Якщо ви спробуєте
|
| 268 |
зробити це, у вашій системі залишаться базові пакунки.
|
| 269 |
<tag>для фіксації:
|
| 270 |
<item>Це досягається натисненням клавіші '=' і вказує <prgn/dselect/ не оновлювати
|
| 271 |
пакунок навіть якщо його новіші версії є в сховищах пакунків Debian, котрі
|
| 272 |
ви використовуєте (це було визначено, коли ви вибрали метод доступу
|
| 273 |
до пакунків та оновились, обравши відповідний пункт меню).
|
| 274 |
<p>Точно так само ви можете відмінити фіксування пакунку, натиснувши ':'.
|
| 275 |
В цьому випадку <prgn/dselect/ може оновити пакунок, якщо буде доступна
|
| 276 |
його новіша версія. Така поведінка є стандартною.
|
| 277 |
</taglist>
|
| 278 |
|
| 279 |
<p>Ви можете вибирати різний порядок сортування пакунків, натискаючи клавішу
|
| 280 |
'o' для циклічного перемикання між різними представленнями. Зазвичай пакунки
|
| 281 |
сортуються за пріоритетом; всередині пріоритету пакунки сортуються за теками (секціями)
|
| 282 |
архіву, у котрому вони зберігаються. В такому порядку деякі пакунки, скажімо,
|
| 283 |
з секції A можуть бути представлені першими, далі йтимуть якісь пакунки з секції B,
|
| 284 |
а після них — інші пакунки з секції A з нижчим пріоритетом.
|
| 285 |
|
| 286 |
<p>Ви також можете розширити значення міток вгорі екрану натиснувши клавішу 'v'
|
| 287 |
(verbose — детально). Ця дія виведе купу тексту, який швидше за все
|
| 288 |
не поміститься на екрані. Щоб його побачити, натисніть праву стрілку;
|
| 289 |
щоб повернутись назад — ліву.
|
| 290 |
|
| 291 |
<p>Якщо ви вибрали пакунок для встановлення чи видалення, наприклад <package/foo.deb/
|
| 292 |
і цей пакунок залежить (або рекомендує) інший пакунок, наприклад <package/blurf.deb/,
|
| 293 |
тоді <prgn/dselect/ виведе допоміжне вікно поверх головного. Там ви побачите список
|
| 294 |
залежних пакунків і зможете приймати запропоновані дії (встановлювати чи ні) або ж
|
| 295 |
відкидати їх. Для останнього натисніть Shift-D; щоб повернутись до попереднього,
|
| 296 |
натисніть Shift-U. В будь-якому випадку, ви можете зберегти свій вибір та повернутись
|
| 297 |
до головного вікна вибору, натиснувши Shift-Q.
|
| 298 |
|
| 299 |
<item>Повернувшись до головного меню, користувач може обрати пункт „Встановлення“
|
| 300 |
(Install), щоб розпакувати та сконфігурувати вибрані пакунки. Відповідно,
|
| 301 |
користувач, котрий хоче видалити пакунки, повинен вибрати пункт меню „Видалити“ (Remove).
|
| 302 |
І в будь-якому випадку ви можете вибрати „Вихід“ (Quit), щоб завершити роботу з <prgn/dselect/;
|
| 303 |
при цьому все, що ви вибрали (для встановлення, видалення і т.д.), зберігається.
|
| 304 |
</list>
|
| 305 |
|
| 306 |
<sect1 id="dpkg-extra">Інші інструменти для керування пакунками
|
| 307 |
|
| 308 |
<sect2 id="dpkg-deb">dpkg-deb
|
| 309 |
|
| 310 |
<p>Ця програма маніпулює архівними (<tt>.deb</tt>) файлами Debian.
|
| 311 |
Ось її деякі стандартні опції:
|
| 312 |
<list>
|
| 313 |
<item>Вивести повний список опцій: <tt>dpkg-deb --help</tt>.
|
| 314 |
<item>Отримати список файлів у архівному файлі:
|
| 315 |
<tt>dpkg-deb --contents foo_VVV-RRR.deb</tt>
|
| 316 |
<item>Видобути файли з заданого архіву в теку, визначену користувачем:
|
| 317 |
<tt>dpkg-deb --extract foo_VVV-RRR.deb tmp</tt> розпаковує всі файли
|
| 318 |
з архіву <tt>foo_VVV-RRR.deb</tt> до теки <tt>tmp/</tt>. Це зручно при
|
| 319 |
перевірці вмісту пакунка в локальному каталозі без необхідності встановлення
|
| 320 |
його в кореневу файлову систему.
|
| 321 |
</list>
|
| 322 |
|
| 323 |
<p>Зауважте, що всі пакунки, що були лише розпаковані за допомогою <tt/dpkg-deb
|
| 324 |
--extract/ не є коректно встановленими, натомість вам потрібно використовувати
|
| 325 |
<tt/dpkg --install/.
|
| 326 |
|
| 327 |
<p>Більше ви зможете дізнатись, переглянувши сторінку довідки <manref name="dpkg-deb"
|
| 328 |
section="1">.
|
| 329 |
|
| 330 |
<sect2 id="dpkg-split">dpkg-split
|
| 331 |
|
| 332 |
<p>Ця програма ділить великі файли пакунків на менші (наприклад, для запису на дискети)
|
| 333 |
та об'єднує набір маленьких файлів назад у один великий файл. Вона може використовуватись
|
| 334 |
лише в Debian-системі (точніше, в системі, що містить пакунок <package/dpkg/), оскільки
|
| 335 |
вона викликає програму <tt>dpkg-deb</tt>, щоб розділити пакунок Debian на складові частини.
|
| 336 |
|
| 337 |
<p>Наприклад, щоб розділити великий „.deb“-файл на N частин,
|
| 338 |
<list>
|
| 339 |
<item>Запустіть команду <tt>dpkg-split --split foo.deb</tt>.
|
| 340 |
Вона створить N файлів довжиною приблизно 460 КБайт в поточному каталозі.
|
| 341 |
<item>Скопіюйте ці файли на дискети.
|
| 342 |
<item>Скопіюйте вміст дискет на жорсткий диск на іншій машині.
|
| 343 |
<item>Об'єднайте шматки файлу командою <tt>dpkg-split --join "foo*"</tt>.
|
| 344 |
</list>
|
| 345 |
|
| 346 |
</sect1>
|
| 347 |
|
| 348 |
<sect id="updaterunning">Debian стверджує, що може оновити запущену програму;
|
| 349 |
яким чином він це робить?
|
| 350 |
|
| 351 |
<p>Ядро (файлова система) в &debian; підтримує заміну файлів,
|
| 352 |
що використовуються.
|
| 353 |
|
| 354 |
<p>Ми також постачаємо програму під назвою <prgn/start-stop-daemon/, котра
|
| 355 |
використовується для запуску демонів під час завантаження системи,
|
| 356 |
чи їх зупинки під час зміни рівня запуску ядра (наприклад, від багатокористувацього
|
| 357 |
режиму в однокористувацький чи ж при вимкненні). Та ж сама програма використовується
|
| 358 |
встановлювальними сценаріями, коли встановлюється новий пакунок, що містить демона:
|
| 359 |
при зупинці запущених демонів та їх перевантаженні у разі необхідності.
|
| 360 |
|
| 361 |
<sect id="whatpackages">Як мені дізнатись, які пакунки встановлено в системі?
|
| 362 |
|
| 363 |
<p>Щоб взнати стан всіх встановлених пакунків у Debian-системі, виконайте команду
|
| 364 |
<example>dpkg --list</example>
|
| 365 |
|
| 366 |
Вона виведе однорядкове резюме для кожного пакунку, включаючи 2-літерний код
|
| 367 |
стану встановлення (пояснюється у заголовку), назву пакунку, <em>встановлену</em>
|
| 368 |
версію та короткий опис.
|
| 369 |
|
| 370 |
<p>Щоб дізнатись про стан встановлення пакунків, чиї назви збігаються з набором
|
| 371 |
літер або виразом, запустіть команду:
|
| 372 |
<example>dpkg --list 'foo*'</example>
|
| 373 |
|
| 374 |
<p>Для отримання детальнішого звіту про певний пакунок, наберіть команду:
|
| 375 |
<example>dpkg --status packagename</example>
|
| 376 |
|
| 377 |
<sect id="filesearch">Як мені дізнатись, що за пакунок встановив котрийсь файл?
|
| 378 |
|
| 379 |
<p>Щоб взнати назву пакунку, що встановив певний файл виконайте:
|
| 380 |
|
| 381 |
<list>
|
| 382 |
<item><tt>dpkg --search filename</tt>
|
| 383 |
<p>Вона шукає файл <tt>filename</tt> серед встановлених пакунків (на даний момент
|
| 384 |
це еквівалентно пошуку серед файлів з розширенням <tt>.list</tt> в теці
|
| 385 |
<tt>/var/lib/dpkg/info</tt> та виводу тих назв пакунків, котрі містять заданий файл).
|
| 386 |
|
| 387 |
<p>Швидшою альтернативою є використання утиліти <prgn>dlocate</prgn>.
|
| 388 |
|
| 389 |
<item><tt>zgrep foo Contents-ARCH.gz</tt>
|
| 390 |
<p>Ця команда шукає файли, що містять підланцюжок <tt>foo</tt> в своій
|
| 391 |
повній назві. Файли <tt>Contents-ARCH.gz</tt> (де ARCH — це назва архітектури)
|
| 392 |
розташовані у основних каталогах (main, non-free, contrib) на FTP-сайті Debian
|
| 393 |
(наприклад, в <tt>/debian/dists/&releasename;</tt>). Файли <tt>Contents</tt>
|
| 394 |
містять дані лише про ті пакунки, котрі розташовані у їх підтеці. Таким чином
|
| 395 |
користувачеві може знадобитись здійснювати пошук не в одному файлі <tt>Contents</tt>,
|
| 396 |
щоб знайти пакунок, котрий містить файл <tt>foo</tt>.
|
| 397 |
|
| 398 |
<p>Цей метод має ту перевагу перед <tt>dpkg --search</tt>, бо пошук здійснюється
|
| 399 |
навіть у пакунках, котрі не встановлені у вашій системі
|
| 400 |
|
| 401 |
<item><tt>apt-file search <var>foo</var></tt>
|
| 402 |
<p>Подібно до вищенаведеного, шукаються файли, що містять ланцюжок чи регулярний
|
| 403 |
вираз <tt>foo</tt> в повній назві. Перевага над попереднім прикладом полягає
|
| 404 |
в тому, що вам не потрібно отримувати файли <tt>Contents-ARCH.gz</tt>, оскільки
|
| 405 |
вони оновлюються автоматично для всіх джерел, перелічених у <file>/etc/apt/sources.list</file>
|
| 406 |
під час запуску (як root) <tt>apt-file update</tt>.
|
| 407 |
</list>
|
| 408 |
|
| 409 |
<sect id="datapackages">Чому не видаляється foo-data під час видалення foo?
|
| 410 |
Як мені очистити систему від старих пакунків, що вже не використовуються?
|
| 411 |
|
| 412 |
<p>Деякі пакунки розділені на власне програму (foo) та дані (foo-data).
|
| 413 |
Це справедливо для багатьох ігор, мультимедійних додатків та словників і введено в Debian
|
| 414 |
з тих пір, коли користувачі захотіли мати доступ до даних не встановлюючи програму,
|
| 415 |
або ж до програми, котра б запускалась без даних, роблячи їх необов'язковими.
|
| 416 |
|
| 417 |
<p>Подібні ситуації виникають і з бібліотеками: зазвичай вони встановлюються,
|
| 418 |
якщо від них залежать програми з вибраного пакунка. Коли такий пакунок
|
| 419 |
видаляться, пакунки з бібліотеками залишаються в системі. Або у випадку,
|
| 420 |
коли пакунок з програмою перестає бути залежним від пакунка з бібліотекою.
|
| 421 |
|
| 422 |
<p>В цьому випадку foo-data не залежить від foo, отож, якщо ви видаляєте
|
| 423 |
пакунок foo, foo-data не буде автоматично видалено більшістю інструментів
|
| 424 |
для керування пакунками. Це саме відбувається при використанні пакунків
|
| 425 |
з бібліотеками. Це необхідно ще й для того, щоб уникнути циклічних залежностей.
|
| 426 |
Якщо ви використовуєте <prgn>aptitude</prgn> (див. <ref id="aptitude">) у якості
|
| 427 |
керівника пакунками, він, окрім іншого, може відслідковувати автоматично встановлені
|
| 428 |
пакунки та видаляти їх, якщо в системі не залишилось пакунків, що їх потребують.
|