1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905
|
<?xml version='1.0' encoding='utf-8'?>
<!-- -*- DocBook -*- -->
<chapter id="pkgtools"><title>Інструменти для керування пакунками Debian</title>
<section id="pkgprogs"><title>Які програми пропонує Debian для керування пакунками?</title>
<para>
Для керування пакунками Debian існують
численні утиліти, від графічних та
псевдографічних інтерфейсів до
низькорівневих інструментів, що
використовуються для встановлення
пакунків. Всі доступні утиліти базуються
на низькорівневих інструментах та
перераховуються тут по мірі зростання
їхньої складності.
</para>
<para>
Важливо зрозуміти, що інструменти вищого
рівня, як <command>aptitude</command> чи <command>dselect</command>
залежать від <command>apt</command>, котра, у свою
чергу, залежить від <command>dpkg</command>.
</para>
<para>
Перегляньте <ulink
url="http://www.debian.org/doc/manuals/apt-howto/">APT HOWTO</ulink>, якщо
бажаєте дізнатись більше про інструменти
керування пакунками Debian. Цей документ є
доступним різними мовами та в різних
форматах, зверніться до запису про APT HOWTO на
сторінці проекту документації Debian <ulink
url="http://www.debian.org/doc/user-manuals#apt-howto">Огляд
підручників для користувачів</ulink>.
</para>
<section id="dpkg"><title>dpkg</title>
<para>
Це основна програма керування пакунками.
<command>dpkg</command> можна викликати з великою
кількістю опцій. Найчастіше вживаються
такі:
</para>
<itemizedlist>
<listitem>
<para>
Отримати список опцій: <literal>dpkg --help</literal>.
</para>
</listitem>
<listitem>
<para>
Надрукувати файл control (та іншу інформацію)
для заданого пакунку: <literal>dpkg --info
foo_VVV-RRR.deb</literal>
</para>
</listitem>
<listitem>
<para>
Встановити пакунок (включаючи
розпакування та конфігурування) у файлову
систему на жорсткому диску: <literal>dpkg --install
foo_VVV-RRR.deb</literal>.
</para>
</listitem>
<listitem>
<para>
Розпакувати (але не конфігурувати)
архівний файл Debian у файлову систему на
жорсткому диску: <literal>dpkg --unpack
foo_VVV-RRR.deb</literal>. Зауважте, що ця команда
<emphasis>не</emphasis> обов'язково робить пакунок
готовим до вжитку; деякі файли можуть
потребувати наступного налаштування для
правильного запуску. Ця команда видаляє
вже встановлену версію програми та
запускає зв'язаний з пакунком сценарій preints
(див. <xref linkend="maintscripts"/>).
</para>
</listitem>
<listitem>
<para>
Конфігурувати пакунок, що був попередньо
розпакований: <literal>dpkg --configure foo</literal>. Окрім
іншого, ця команда запускає сценарій postinst
(див. <xref linkend="maintscripts"/>). Вона також оновлює
файли, перелічені у <literal>conffiles</literal>.
Зауважте, що операція configure приймає в
якості аргументу назву пакунку, а
<emphasis>не</emphasis> назву архівного файлу Debian
(для прикладу, правильно буде вказувати foo,
а не foo_VVV-RRR.deb).
</para>
</listitem>
<listitem>
<para>
Видобути файл "blurf" (або групу файлів "blurf*") з
архівного файлу Debian: <literal>dpkg --fsys-tarfile
foo_VVV-RRR.deb | tar -xf - blurf*</literal>.
</para>
</listitem>
<listitem>
<para>
Видалити пакунок (але не його
конфігураційні файли): <literal>dpkg --remove foo</literal>.
</para>
</listitem>
<listitem>
<para>
Видалити пакунок (включно з
конфігураційними файлами): <literal>dpkg --purge
foo</literal>.
</para>
</listitem>
<listitem>
<para>
Перелічити стан встановлення пакунків, що
містять послідовність символів (чи
регулярний вираз) foo*: <literal>dpkg --list 'foo*'</literal>.
</para>
</listitem>
</itemizedlist>
</section>
<section id="apt-get"><title>APT</title>
<para>
APT — це вдосконалений пакунковий
інструмент (<emphasis>Advanced Package Tool</emphasis>), що
постачає програму <command>apt-get</command>.
<command>apt-get</command> забезпечує простий шлях для
отримання та встановлення пакунків з
декількох джерел за допомогою командного
рядка. На відміну від <command>dpkg</command>,
<command>apt-get</command> працює не з .deb-файлами, а з
назвами пакунків і може встановлювати їх
лише з місць, котрі перелічені у файлі
<filename>/etc/apt/sources.list</filename>. <command>apt-get</command>
викликає <command>dpkg</command> відразу після
завантаження архівного .deb-файлу з
сконфігурованих джерел. <footnote><para> Зверніть
увагу, що існують портування, котрі
дозволяють використовувати цю утиліту з
іншими системами управління пакунками,
наприклад, менеджером пакунків Red Hat,
відомого як <command>rpm</command> </para> </footnote>.
</para>
<para>
Ось деякі стандартні методи використання
<command>apt-get</command>:
</para>
<itemizedlist>
<listitem>
<para>
Щоб оновити список пакунків, відомих
системі, запустіть:
</para>
<screen>
apt-get update
</screen>
<para>
(вам потрібно запускати цю команду
регулярно для оновлення списку пакунків)
</para>
</listitem>
<listitem>
<para>
Щоб оновити всі пакунки у вашій системі,
наберіть:
</para>
<screen>
apt-get upgrade
</screen>
</listitem>
<listitem>
<para>
Щоб встановити пакунок <replaceable>foo</replaceable>
разом з усіма залежностями, виконайте:
</para>
<screen>
apt-get install foo
</screen>
</listitem>
<listitem>
<para>
Щоб видалити пакунок foo з вашої системи,
введіть:
</para>
<screen>
apt-get remove foo
</screen>
</listitem>
<listitem>
<para>
Щоб видалити пакунок foo разом з його
конфігураційними файлами, наберіть:
</para>
<screen>
apt-get --purge remove foo
</screen>
</listitem>
<listitem>
<para>
Щоб оновити всі пакунки у вашій системі до
нової версії Debian GNU/Linux, запустіть:
</para>
<screen>
apt-get dist-upgrade
</screen>
</listitem>
</itemizedlist>
<para>
Зверніть увагу, що ви повинні бути
зареєстровані як root щоб мати можливість
виконувати будь-які команди, котрі
змінюють системні пакунки.
</para>
<para>
Набір інструментів apt включає також
утиліту <command>apt-cache</command> для запитів
списків пакунків. Ви можете
використовувати її щоб знайти пакунки,
котрі відповідають певним вимогам за
допомогою простих текстових запитів чи
регулярних виразів, або ж запитів щодо
залежностей у системі керування пакунками.
Ось деякі типові способи використання
<command>apt-cache</command>:
</para>
<itemizedlist>
<listitem>
<para>
Знайти пакунки, чий опис містить
<replaceable>слово</replaceable>:
</para>
<screen>
apt-cache search <replaceable>слово</replaceable>
</screen>
</listitem>
<listitem>
<para>
Роздрукувати детальну інформацію про
пакунок:
</para>
<screen>
apt-cache show <replaceable>назва_пакунка</replaceable>
</screen>
</listitem>
<listitem>
<para>
Вивести список пакунків, від котрих
залежить даний пакунок:
</para>
<screen>
apt-cache depends <replaceable>назва_пакунка</replaceable>
</screen>
</listitem>
<listitem>
<para>
Показати детальну інформацію про доступні
версії даного пакунку та пакунків, від
котрих він залежить:
</para>
<screen>
apt-cache showpkg <replaceable>назва_пакунка</replaceable>
</screen>
</listitem>
</itemizedlist>
<para>
Щоб отримати детальнішу інформацію,
встановіть пакунок <systemitem role="package">apt</systemitem>
та прочитайте
<citerefentry><refentrytitle>apt-get</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sources.list</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
встановіть пакунок <systemitem
role="package">apt-doc</systemitem> та прочитайте
<filename>/usr/share/doc/apt-doc/guide.html/index.html</filename>.
</para>
</section>
<section id="aptitude"><title>aptitude</title>
<para>
<command>aptitude</command> — це керівник пакунків для
системи Debian GNU/Linux, що являє собою зовнішній
інтерфейс до інфраструктури керування
пакунками apt. <command>aptitude</command> — це програма
з псевдографічним інтерфейсом, що
базується на бібліотеці curses, вона може
використовуватись для швидкого й зручного
керування пакунками.
</para>
<para>
<command>aptitude</command> забезпечує
функціональність <command>dselect</command> і
<command>apt-get</command> та багато додаткових
можливостей, котрих немає у жодній іншій
прогамі:
</para>
<itemizedlist>
<listitem>
<para>
<command>aptitude</command> забезпечує доступ до всіх
версії пакунку.
</para>
</listitem>
<listitem>
<para>
<command>aptitude</command> веде журнал своїх дій у
файлі <filename>/var/log/aptitude</filename>.
</para>
</listitem>
<listitem>
<para>
<command>aptitude</command> полегшує відслідковування
застарілого програмного забезпечення
ведучи список „Застарілих та локальних
пакунків“ (Obsolete and Locally Created Packages).
</para>
</listitem>
<listitem>
<para>
<command>aptitude</command> є достатньо потужною
системою для пошуку окремих пакунків та
виводу короткої інформації про них.
Користувачі, котрі знайомі з <command>mutt</command>,
швидко засвоять і її, оскільки синтаксис
виразів взято саме звідти.
</para>
</listitem>
<listitem>
<para>
<command>aptitude</command> відслідковує, які саме
пакунки було встановлено завдяки
залежностям та видаляє їх, якщо пакунки,
які залежали від них, були видалені з
системи.
</para>
</listitem>
<listitem>
<para>
<command>aptitude</command> може автоматично
встановлювати рекомендовані
(<emphasis>Recommended:</emphasis>) пакунки<footnote><para> Не
зважаючи на те, що це часто призводить до
встановлення в систему більшої кількості
пакунків, ніж насправді необхідно для її
роботи. </para> </footnote>.
</para>
</listitem>
<listitem>
<para>
В повноекранному режимі <command>aptitude</command> має
вбудовану функціональність
суперкористувача та може запускатись
звичайним користувачем. Вона викличе
програму <command>su</command> (та запитає пароль
суперкористувача, звісно) якщо вам справді
знадобляться привілеї системного
адміністратора.
</para>
</listitem>
</itemizedlist>
<para>
Ви можете працювати з <command>aptitude</command> як
через візуальний інтерфейс (просто
запустивши <literal>aptitude</literal>) так і напряму з
командного рядка. Синтаксис командного
рядка дуже подібний до синтаксису
<command>apt-get</command>. Наприклад, щоб встановити
пакунок <replaceable>foo</replaceable>, вам потрібно
запустити <literal>aptitude install
<replaceable>foo</replaceable></literal>.
</para>
<para>
Зверніть увагу, що для встановлення та/або
оновлення вашої системи Debian рекомендує
саме <command>aptitude</command>.
</para>
<para>
Для додаткової інформації прочитайте
сторінку підручника
<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</manvolnum></citerefentry>
та встановіть пакунок <systemitem
role="package">aptitude-doc-en</systemitem>.
</para>
</section>
<section id="dselect"><title>dselect</title>
<para>
Ця програма являє собою керований у режимі
меню інтерфейс до системи керування
пакунками Debian. Вона є особливо зручною для
першого встановлення. Деякі користувачі
можуть почувати себе зручніше у
<command>aptitude</command>, котра також рекомендується
для масштабних оновлень. Щоб отримати
додаткову інформацію про aptitude див. <xref
linkend="aptitude"/>.
</para>
<para>
<command>dselect</command> може:
</para>
<itemizedlist>
<listitem>
<para>
бути провідником для користувача, котрий
вирішив встановити чи видалити котрийсь із
пакунків; перевірити, чи не було
встановлено пакунків, що конфліктують з
іншими та чи встановлено всі пакунки, котрі
необхідні для роботи даного пакунка;
</para>
</listitem>
<listitem>
<para>
попередити користувача про суперечливість
чи несумісність його вибору;
</para>
</listitem>
<listitem>
<para>
визначити порядок встановлення пакунків;
</para>
</listitem>
<listitem>
<para>
автоматично виконати встановлення чи
видалення;
</para>
</listitem>
<listitem>
<para>
провести користувача через будь-який
конфігураційний процес, необхідний для
встановлення пакунку.
</para>
</listitem>
</itemizedlist>
<para>
<command>dselect</command> розпочинає свою роботу з
представлення користувачеві меню з 7
елементів, кожен з котрих є наперед
визначеною дією. Користувач може обрати
будь-яку з них за допомогою стрілок,
пересуваючи підсвітлений рядок та
натиснувши <emphasis><Enter></emphasis> щоб вибрати
підсвітлену дію.
</para>
<para>
Що користувач побачить на наступному
екрані залежить від дії, котру він обрав.
Якщо він обрав будь-яку з опцій окрім
<literal>Access</literal> чи <literal>Select</literal>,
<command>dselect</command> просто перейде до виконання
заданої дії: наприклад, якщо користувач
вибрав <literal>Remove</literal>, dselect спробує видалити
всі файли, що вибрані для видалення
користувачем при попередньому
відвідуванні екрану <literal>Select</literal>.
</para>
<para>
Елементи меню <literal>Access</literal> та
<literal>Select</literal> виводять додаткові підменю.
В обидвох випадках меню представлені у
вигляді розділеного екрану: у верхній
частині знаходиться прокручуваний список
можливостей вибору, а в нижній — коротке
пояснення для кожного з елементів верхьої
частини.
</para>
<para>
Додаткова довідка доступна після
натиснення в будь-який момент клавіші '?'.
</para>
<para>
Порядок, в котрому представлені пункти
початкового меню <command>dselect</command>
аналогічний порядку дій користувача коли
він хоче встановити нові пакунки. Проте
користувач може вибирати будь-який елемент
меню стільки разів, скільки вважатиме за
потрібне (в залежності від того, що він хоче
зробити).
</para>
<itemizedlist>
<listitem>
<para>
Розпочніть з вибору методу доступу (<emphasis
role="strong">Access Method</emphasis>). Тут вибирається
спосіб, у котрий користувач планує
отримувати пакунки Debian; наприклад, деякі
користувачі мають пакунки на
компакт-диску, тоді як інші планують
отримувати їх з FTP. Вибір методу доступу
зберігається по завершенню роботи з
<command>dselect</command>, отож вам не потрібно буде
вибирати його знову.
</para>
</listitem>
<listitem>
<para>
Далі оновіть (<emphasis role="strong">Update</emphasis>)
список доступних пакунків. Щоб зробити це,
<command>dselect</command> зчитує файл „Packages.gz“ ,
котрий повинен знаходитись в теці, де
зберігаються пакунки Debian (Але якщо його там
не виявиться, <command>dselect</command> зможе створити
його для вас).
</para>
</listitem>
<listitem>
<para>
Виберіть (<emphasis role="strong">Select</emphasis>), які
пакунки ви хочете встановити до системи.
Після вибору цього пункту меню користувачу
спочатку виводиться повноекранна довідка
(при умові, що програма запущена без опції
'--expert'). Коли користувач покине вікно
довідки, він побачить розділений надвоє
екран, де він зможе обрати пакунки для
встановлення (чи видалення).
</para>
<para>
Верхня частина екрану — це порівняно
вузьке вікно зі списком 42551 пакунків Debian;
нижня містить опис вибраного
(підсвітленого) пакунку чи групи пакунків.
</para>
<para>
Ви можете вибрати пакунки, з котрими
працюватиме програма, підсвітлюючи назву
пакунку або мітку групи пакунків. Після
цього ви можете вибирати пакунки:
</para>
<variablelist>
<varlistentry>
<term>для встановлення:</term>
<listitem>
<para>
Це досягається натисненням клавіші '+'.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>для видалення:</term>
<listitem>
<para>
Пакунки можна видаляти двома способами:
</para>
<itemizedlist>
<listitem>
<para>
видаляючи (remove): видаляються більшість
файлів, пов'язаних з пакунком, але
залишаються файли, відмічені як
конфігураційні (див. <xref linkend="conffile"/>) та
конфігураційна інформація про пакунок. Це
досягається натисненням клавіші '-'.
</para>
</listitem>
<listitem>
<para>
очищуючи (purged): видаляються <emphasis>всі</emphasis>
файли, котрі відносяться до пакунку. Це
досягається натисненням клавіші '_'
</para>
</listitem>
</itemizedlist>
<para>
Зверніть увагу, що всі пакунки („All Packages“)
видалити неможливо. Якщо ви спробуєте
зробити це, у вашій системі залишаться
базові пакунки.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>для фіксації:</term>
<listitem>
<para>
Це досягається натисненням клавіші '=' і
вказує <command>dselect</command> не оновлювати
пакунок навіть якщо його новіші версії є в
сховищах пакунків Debian, котрі ви
використовуєте (це було визначено, коли ви
вибрали метод доступу до пакунків та
оновились, обравши відповідний пункт меню).
</para>
<para>
Точно так само ви можете відмінити
фіксування пакунку, натиснувши ':'. В цьому
випадку <command>dselect</command> може оновити
пакунок, якщо буде доступна його новіша
версія. Така поведінка є стандартною.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Ви можете вибирати різний порядок
сортування пакунків, натискаючи клавішу 'o'
для циклічного перемикання між різними
представленнями. Зазвичай пакунки
сортуються за пріоритетом; всередині
пріоритету пакунки сортуються за теками
(секціями) архіву, у котрому вони
зберігаються. В такому порядку деякі
пакунки, скажімо, з секції A можуть бути
представлені першими, далі йтимуть якісь
пакунки з секції B, а після них — інші
пакунки з секції A з нижчим пріоритетом.
</para>
<para>
Ви також можете розширити значення міток
вгорі екрану натиснувши клавішу 'v' (verbose —
детально). Ця дія виведе купу тексту, який
швидше за все не поміститься на екрані. Щоб
його побачити, натисніть праву стрілку; щоб
повернутись назад — ліву.
</para>
<para>
Якщо ви вибрали пакунок для встановлення
чи видалення, наприклад <systemitem
role="package">foo.deb</systemitem> і цей пакунок залежить
(або рекомендує) інший пакунок, наприклад
<systemitem role="package">blurf.deb</systemitem>, тоді
<command>dselect</command> виведе допоміжне вікно
поверх головного. Там ви побачите список
залежних пакунків і зможете приймати
запропоновані дії (встановлювати чи ні) або
ж відкидати їх. Для останнього натисніть
Shift-D; щоб повернутись до попереднього,
натисніть Shift-U. В будь-якому випадку, ви
можете зберегти свій вибір та повернутись
до головного вікна вибору, натиснувши Shift-Q.
</para>
</listitem>
<listitem>
<para>
Повернувшись до головного меню, користувач
може обрати пункт „Встановлення“ (Install),
щоб розпакувати та сконфігурувати вибрані
пакунки. Відповідно, користувач, котрий
хоче видалити пакунки, повинен вибрати
пункт меню „Видалити“ (Remove). І в будь-якому
випадку ви можете вибрати „Вихід“ (Quit), щоб
завершити роботу з <command>dselect</command>; при
цьому все, що ви вибрали (для встановлення,
видалення і т.д.), зберігається.
</para>
</listitem>
</itemizedlist>
</section>
<section id="dpkg-extra"><title>Інші інструменти для керування пакунками</title>
<section id="dpkg-deb"><title>dpkg-deb</title>
<para>
Ця програма маніпулює архівними
(<literal>.deb</literal>) файлами Debian. Ось її деякі
стандартні опції:
</para>
<itemizedlist>
<listitem>
<para>
Вивести повний список опцій: <literal>dpkg-deb
--help</literal>.
</para>
</listitem>
<listitem>
<para>
Отримати список файлів у архівному файлі:
<literal>dpkg-deb --contents foo_VVV-RRR.deb</literal>
</para>
</listitem>
<listitem>
<para>
Видобути файли з заданого архіву в теку,
визначену користувачем: <literal>dpkg-deb --extract
foo_VVV-RRR.deb tmp</literal> розпаковує всі файли з
архіву <literal>foo_VVV-RRR.deb</literal> до теки
<literal>tmp/</literal>. Це зручно при перевірці
вмісту пакунка в локальному каталозі без
необхідності встановлення його в кореневу
файлову систему.
</para>
</listitem>
</itemizedlist>
<para>
Зауважте, що всі пакунки, що були лише
розпаковані за допомогою <literal>dpkg-deb
--extract</literal> не є коректно встановленими,
натомість вам потрібно використовувати
<literal>dpkg --install</literal>.
</para>
<para>
Більше ви зможете дізнатись, переглянувши
сторінку довідки
<citerefentry><refentrytitle>dpkg-deb</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para>
</section>
<section id="dpkg-split"><title>dpkg-split</title>
<para>
Ця програма ділить великі файли пакунків
на менші (наприклад, для запису на дискети)
та об'єднує набір маленьких файлів назад у
один великий файл. Вона може
використовуватись лише в Debian-системі
(точніше, в системі, що містить пакунок
<systemitem role="package">dpkg</systemitem>), оскільки вона
викликає програму <literal>dpkg-deb</literal>, щоб
розділити пакунок Debian на складові частини.
</para>
<para>
Наприклад, щоб розділити великий
„.deb“-файл на N частин,
</para>
<itemizedlist>
<listitem>
<para>
Запустіть команду <literal>dpkg-split --split
foo.deb</literal>. Вона створить N файлів довжиною
приблизно 460 КБайт в поточному каталозі.
</para>
</listitem>
<listitem>
<para>
Скопіюйте ці файли на дискети.
</para>
</listitem>
<listitem>
<para>
Скопіюйте вміст дискет на жорсткий диск на
іншій машині.
</para>
</listitem>
<listitem>
<para>
Об'єднайте шматки файлу командою
<literal>dpkg-split --join "foo*"</literal>.
</para>
</listitem>
</itemizedlist>
</section>
</section>
</section>
<section id="updaterunning"><title>Debian стверджує, що може оновити запущену програму; яким чином він це робить?</title>
<para>
Ядро (файлова система) в Debian GNU/Linux підтримує
заміну файлів, що використовуються.
</para>
<para>
Ми також постачаємо програму під назвою
<command>start-stop-daemon</command>, котра
використовується для запуску демонів під
час завантаження системи, чи їх зупинки під
час зміни рівня запуску ядра (наприклад,
від багатокористувацього режиму в
однокористувацький чи ж при вимкненні). Та
ж сама програма використовується
встановлювальними сценаріями, коли
встановлюється новий пакунок, що містить
демона: при зупинці запущених демонів та їх
перевантаженні у разі необхідності.
</para>
</section>
<section id="whatpackages"><title>Як мені дізнатись, які пакунки встановлено в системі?</title>
<para>
Щоб взнати стан всіх встановлених пакунків
у Debian-системі, виконайте команду
</para>
<screen>
dpkg --list
</screen>
<para>
Вона виведе однорядкове резюме для кожного
пакунку, включаючи 2-літерний код стану
встановлення (пояснюється у заголовку),
назву пакунку, <emphasis>встановлену</emphasis>
версію та короткий опис.
</para>
<para>
Щоб дізнатись про стан встановлення
пакунків, чиї назви збігаються з набором
літер або виразом, запустіть команду:
</para>
<screen>
dpkg --list 'foo*'
</screen>
<para>
Для отримання детальнішого звіту про
певний пакунок, наберіть команду:
</para>
<screen>
dpkg --status packagename
</screen>
</section>
<section id="filesearch"><title>Як мені дізнатись, що за пакунок встановив котрийсь файл?</title>
<para>
Щоб взнати назву пакунку, що встановив
певний файл виконайте:
</para>
<itemizedlist>
<listitem>
<para>
<literal>dpkg --search filename</literal>
</para>
<para>
Вона шукає файл <literal>filename</literal> серед
встановлених пакунків (на даний момент це
еквівалентно пошуку серед файлів з
розширенням <literal>.list</literal> в теці
<literal>/var/lib/dpkg/info</literal> та виводу тих назв
пакунків, котрі містять заданий файл).
</para>
<para>
Швидшою альтернативою є використання
утиліти <command>dlocate</command>.
</para>
</listitem>
<listitem>
<para>
<literal>zgrep foo Contents-ARCH.gz</literal>
</para>
<para>
Ця команда шукає файли, що містять
підланцюжок <literal>foo</literal> в своій повній
назві. Файли <literal>Contents-ARCH.gz</literal> (де ARCH —
це назва архітектури) розташовані у
основних каталогах (main, non-free, contrib) на
FTP-сайті Debian (наприклад, в
<literal>/debian/dists/stretch</literal>). Файли
<literal>Contents</literal> містять дані лише про ті
пакунки, котрі розташовані у їх підтеці.
Таким чином користувачеві може
знадобитись здійснювати пошук не в одному
файлі <literal>Contents</literal>, щоб знайти пакунок,
котрий містить файл <literal>foo</literal>.
</para>
<para>
Цей метод має ту перевагу перед <literal>dpkg
--search</literal>, бо пошук здійснюється навіть у
пакунках, котрі не встановлені у вашій
системі
</para>
</listitem>
<listitem>
<para>
<literal>apt-file search <replaceable>foo</replaceable></literal>
</para>
<para>
Подібно до вищенаведеного, шукаються
файли, що містять ланцюжок чи регулярний
вираз <literal>foo</literal> в повній назві. Перевага
над попереднім прикладом полягає в тому, що
вам не потрібно отримувати файли
<literal>Contents-ARCH.gz</literal>, оскільки вони
оновлюються автоматично для всіх джерел,
перелічених у <filename>/etc/apt/sources.list</filename> під
час запуску (як root) <literal>apt-file update</literal>.
</para>
</listitem>
</itemizedlist>
</section>
<section id="datapackages"><title>Чому не видаляється foo-data під час видалення foo? Як мені очистити систему від старих пакунків, що вже не використовуються?</title>
<para>
Деякі пакунки розділені на власне програму
(foo) та дані (foo-data). Це справедливо для
багатьох ігор, мультимедійних додатків та
словників і введено в Debian з тих пір, коли
користувачі захотіли мати доступ до даних
не встановлюючи програму, або ж до
програми, котра б запускалась без даних,
роблячи їх необов'язковими.
</para>
<para>
Подібні ситуації виникають і з
бібліотеками: зазвичай вони
встановлюються, якщо від них залежать
програми з вибраного пакунка. Коли такий
пакунок видаляться, пакунки з бібліотеками
залишаються в системі. Або у випадку, коли
пакунок з програмою перестає бути залежним
від пакунка з бібліотекою.
</para>
<para>
В цьому випадку foo-data не залежить від foo,
отож, якщо ви видаляєте пакунок foo, foo-data не
буде автоматично видалено більшістю
інструментів для керування пакунками. Це
саме відбувається при використанні
пакунків з бібліотеками. Це необхідно ще й
для того, щоб уникнути циклічних
залежностей. Якщо ви використовуєте
<command>aptitude</command> (див. <xref linkend="aptitude"/>) у
якості керівника пакунками, він, окрім
іншого, може відслідковувати автоматично
встановлені пакунки та видаляти їх, якщо в
системі не залишилось пакунків, що їх
потребують.
</para>
</section>
</chapter>
|