apt&.conf (25 Oct 2000)

НАЗВА

apt.conf - файл налаштувань для APT

ОПИС

apt.conf є головним файлом налаштувань для комплексу інструментів APT, всі інструменти користуються цим файлом та спільним обробником командного рядка щоб мати єдине середовище. Коли інструмент APT стартує, він читає /etc/apt/apt.conf, потім читає налаштування визначене змінною середовища $APT_CONFIG і потім остаточно застосовує параметри командного рядка для перекриття значень файлу налаштувань, можливе завантаження декількох файлів налаштувань.

Файл налаштувань організовано у дерево з зібраними у функціональні групи параметрами. Визначення можливостей дається у формі з двома двокрапками, наприклад, APT::Get::Assume-Yes можливість в межах групи інструментів APT, для інструменту Get. Можливості не успадковуються з батьківських груп.

За формою запису, мова налаштування подібна до такої у інструментах ISC, таких як bind та dhcp. Кожен рядок має такий вигляд

APT::Get::Assume-Yes "true";

Кінцева крапка з комою обов'язкова, а лапки - ні. Нова група може бути відкрита за допомогою фігурних дужок, на зразок:

APT {
  Get {
    Assume-Yes "true";
    Fix-Broken "true";
  };
};

де текст розбито на рядки задля більш легкого розуміння. Перелік може бути створено відкриттям групи з одного слова у лапках за яким стоїть кома з крапкою. Взагалі, приклад файлу налаштувань у /usr/doc/apt/examples/apt.conf та /usr/doc/apt/examples/configure-index (або /usr/share/doc/apt*/examples/configure-index для Conectiva) добра порада як все має бути.

Всі інструменти APT мають параметр -o, що дозволяє виставити довільну можливість налаштування у потрібне значення з командного рядка. Запис - повна назва можливості (APT::Get::Assume-Yes наприклад) за якою стоїть знак дорівнює та нове значення параметру. Перелік можна доповнювати також додаючи кінцеве :: до назви переліку.

ГРУПА APT

Ця група параметрів впливає на загальну поведінку APT та включає параметри, що спільні для всіх інструментів.

**Architecture** Архітектура системи; встановлює для якої архітектури завантажувати файли та опрацьовувати перелік пакунків. Внутрішнім стандартом є архітектура для якої було скомпільовано apt.
**Ignore-Hold** Не помічати пакунки, що повинні утримуватися; Ці загальні можливості примушують систему розв'язування конфліктів не помічати пакунки, що позначені для утримання, під час роботи.
**Clean-Installed** Стандартно - включено. Коли включено, риса автоматичного очищення видаляє всі пакунки, що можуть більше не знадобитися в кеші. Коли виключено, то вже встановлені пакунки також виключаються з очищення - проте, зважте, що APT не дає прямої можливості їх перевстановлення.
**Immediate-Configure** Заборонити негайне налаштування; Ця небезпечна можливість забороняє деякий код APT щоб змусити його виконати деякі виклики dpkg. Така робота може бути потрібною на певних надто повільних системах одного користувача, але є дуже небезпечною і може змушувати сценарії встановлення пакунків помилятися. Користуйтеся на свій особистий розсуд. Ця можливість не діє у системах з RPM.
**Force-LoopBreak** Ніколи не користуйтеся цією можливістю, доки не зрозумієте, що -дійсно- ви робите. Вона дозволяє APT тимчасово видалити важливі для системи пакунки щоб розірвати зациклення Conflicts/Conflicts або Conflicts/Pre-Depend між двома необхідними для роботи системи пакунками. ТАКІ ЗАЦИКЛЕННЯ НІКОЛИ НЕ ПОВИННІ ІСНУВАТИ І Є ГРУБІШОЮ ПОМИЛКОЮ. Ця можливість буде працювати, якщо таким необхідним пакунком будуть не tar, gzip, libc, dpkg, bash або щось від чого залежать ці пакунки.
**Cache-Limit** APT використовує файл кешу фіксованого розміру пам'яті з відображенням для збереження доступних відомостей. Це встановить розмір цього кешу.
**Get** Підрозділ Get впливає на інструмент **apt-get (8)**, будь ласка, дивіться його документацію за доступними тут можливостями.
**Cache** Підрозділ Cache впливає на інструмент **apt-cache (8)**, будь ласка, дивіться його документацію за доступними тут можливостями.
**CDROM** Підрозділ CDROM впливає на інструмент ?**apt-cdrom(8)**, будь ласка, дивіться його документацію за доступними тут можливостями.

ГРУПА Acquire

Група можливостей Acquire впливає на завантаження пакунків та роботу з URI.

**Queue-Mode** Режим черги; **Queue-Mode** може бути або **host** або **access**, що визначає як APT встановлює вихідні з'єднання. **host** значить, що буде відкрито одне з'єднання на кожну цільову машину, **access** значить, що одне з'єднання буде відкриватися на кожен тип URI.
**Retries** Кількість спроб виконання. Коли це не нуль, apt буде повторювати завантаження файлів для яких сталася помилка зазначену кількість разів.
**Source-Symlinks** Використовувати посилання для архівів джерел. Коли встановлено у true, то для архівів джерел будуть використовуватися посилання, де це можливо, замість копіювання. True - стандартне значення.
**http** HTTP URIs; _http::Proxy_ - стандартний посередник, що використовується для роботи з http. Стандартна форма запису: _http://[[user][:pass]@]host[:port]/_. Посередник для певної системи може бути визначеним також у формі _http::Proxy::_ з службовим словом _DIRECT_, що значить не користуватися посередником. Змінна оточення _$http_proxy_ відмінить всі інші налаштування. Існують три можливості впливу на кеш у випадку з кешем посередника, що узгоджується з HTTP/1.1. **No-Cache** говорить посереднику не користуватися вже збереженою відповіддю ні за яких обставин, **Max-Age** відсилається лише для індексних файлів та зобов'язує поновити їх кешований варіант, коли він старший за зазначену кількість секунд. У Debian індексні файли поновлюються раз на добу, тому типовим є 1 день. **No-Store** зазначає, що кеш не повинен зберігати ці запити, це діє лише для файлів архівів. Це може бути корисним для запобігання засмічення кешу посередника надто великими .deb файлами. Зауваження: Squid 2.0.2 не підтримує жодної з цих можливостей. Параметр **timeout** встановлює час очікування, що використовується цим методом, і впливає на все, включаючи час очікування для з'єднання та отримання даних. Один параметр дозволяє впливати на глибину перенаправлення у випадку, коли віддалений обслуговник не відповідає RFC або з помилками (як Squid 2.0.2) _Acquire::http::Pipeline-Depth_ може мати значення від 0 до 5, що визначає як багато вихідних запитів APT міг би зробити.
**ftp** FTP URis; _ftp::Proxy_ яким посередником обслуговником ftp користуватися стандартно. Запис повинен мати наступну форму _ftp://[[user][:pass]@]host[:port]/_ та перекривається змінною середовища ftp_proxy . Щоб користуватися посередником для ftp вам треба встановити сценарій _ftp::ProxyLogin_ у файлі налаштувань. Цей запис визначає якою командою посилати повідомлення посереднику обслуговнику хто з ним з'єднується. Будь ласка, дивись _/usr/doc/apt/examples/configure-index_ за прикладом як це зробити. Доступні для підстановки змінні такі: $(PROXY_USER), $(PROXY_PASS), $(SITE_USER), $(SITE_PASS), $(SITE), та $(SITE_PORT). Кожен береться з свого відповідного компонента URI. Параметр **timeout** встановлює таймер часу очікування, що використовується методом, це впливає на все, включаючи час очікування для з'єднання та даних. Є певні налаштування для роботи в пасивному режимі. Взагалі, краще залишати пасивний режим увімкненим, це працює практично завжди. Проте, деякі випадки вимагають щоб пасивний режим був вимкненим і замість того використовувався режим порту ftp. Це можна зробити загально, для з'єднань, що йдуть через посередника або для певних машин (Дивись приклад файлу налаштувань як це зробити). Можливо працювати через посередника FTP над HTTP встановленням змінної середовища _ftp_proxy_ до http url - дивись опис методу http відносно форми запису. Ви не можете встановити це у файлі налаштувань і не рекомендується користуватися FTP над HTTP через малу ефективність такого методу.
**cdrom** CDROM URIs; налаштування лише для CDROM URI - точка монтування, cdrom::Mount що має співпадати з точкою монтування накопичувача на КД у /etc/fstab. Можливо задати інші команди монтування та розмонтування якщо ваша точка монтування не може бути прописана у fstab (випадок монтування через SMB). Форма запису - помістити "/cdrom/"::Mount "foo"; в межах блоку для КД. Важливо не забути кінцеву похилу. Команду розмонтування можна задати через UMount.

Каталоги

Розділ Dir::State містить каталоги, що мають відношення до відомостей стану системи. lists - каталог для збереження завантаженого переліку пакунків та status - назва файлу стану dpkg. Dir::State містить стандартний каталог для підставлення до всіх піделементів які не починаються з / або ./. xstatus та userstatus зарезервовано для використання в майбутньому.

Dir::Cache вказує де зберігати відомості про місцевий кеш, таке як два кеши пакунків: srcpkgcache та pkgcache, а також місце для розташування завантажених архівів, Dir::Cache::archives. На зразок Dir::State стандартний каталог, що розміщено в Dir::Cache.

Dir::Etc вказує на місце розташування файлів налаштувань, sourcelist - дає місце знаходження файлу джерел та main - стандартний файл налаштувань (налаштування не працює)

На двійкові програми вказує Dir::Bin. methods визначає місце обробників режимів та gzip, dpkg, rpm, apt-get, dpkg-source, dpkg-buildpackage та apt-cache визначаючи місце знаходження відповідних програм.

APT у DSelect

Коли APT використовується як метод ?dselect(8) декілька директив налаштування визначають типову поведінку. Вони зібрані у розділ DSelect.

**Clean** Режим прибирання кешу; це значення може бути одне з always, auto, prompt та never. always буде прибирати всі архіви після їх завантаження тоді як auto буде прибирати лише те, що більше ніколи не знадобиться (замінено більш новою версією наприклад)
**Options** Зміст цієї змінної передається **apt-get (8)** як параметр командного рядка коли він запускається на фазі встановлення.
**UpdateOptions** Зміст цієї змінної передається **apt-get (8)** як параметр командного рядка коли він запускається на фазі поновлення.
**PromptAfterUpdate** Коли встановлено у true дія [U]pdate у dselect буде завжди перепитувати про продовження. Стандартно, перепитується лише у випадку помилок.

Як APT викликає DPkg

Деякі директиви впливають на роботу APT з dpkg. Всі вони зібрані в розділі DPkg.

**Options** Це перелік параметрів для пересилання dpkg. Параметри повинні визначатися у формі переліку і кожна одиниця переліку передається як один аргумент до dpkg.
**Pre-Invoke**, **Post-Invoke** Це перелік команд оболонки, що мають виконуватися до/після виклику dpkg. На зразок **Options**, вони повинні визначатися як перелік. Ці команди, викликаються одна за одною з використанням /bin/sh, у випадку помилки APT припинить роботу.
**Pre-Install-Pkgs** Це перелік команд оболонки, що мають бути виконані до виклику dpkg. На зразок **Options** вони повинні бути задані у формі переліку. Ці команди викликаються по черзі з використанням /bin/sh, коли якась виконується з помилкою, APT зупиняється. Apt буде пересилати на стандартний вхід команд назви всіх файлів .deb, що будуть встановлюватися по одній на рядок.
**Run-Directory** APT chdirs до цього каталогу до виклику dpkg, стандартно це /.
**Build-Options** Ці параметри передаються до dpkg-buildpackage коли компілюються пакунки, стандартно забороняється підпис та робляться всі двійкові.

Параметри налагодження

Більшість параметрів у розділі debug не цікаві для звичайного користувача, проте, Debug::pkgProblemResolver дає цікавий вивід про виконання команди dist-upgrade. Debug::NoLocking забороняє блокування файлів і apt може виконувати певні дії у режимі звичайного користувача, також Debug::pkgDPkgPM (або Debug::pkgRPMPM) буде друкувати командний рядок для кожного виклику dpkg. Debug::IdentCdrom заборонить підключення даних statfs у ідентифікаторах (ID) КД.

ПРИКЛАДИ

/usr/doc/apt/examples/configure-index.gz або /usr/share/doc/apt*/configure-index містять приклади файлів налаштувань, що показують типові значення для усіх доступних можливостей.

ФАЙЛИ

/etc/apt/apt.conf

ДИВИСЬ ТАКОЖ

apt-cache (8), apt-get (8)

ПОМИЛКИ

дивіться http://bugs.debian.org/apt. Коли ви бажаєте повідомити про помилку apt-get, будь ласка, подивіться /usr/doc/debian/bug-reporting.txt або команду ?bug(1). Якщо ви користуєтесь apt на системі з RPM, будь ласка, користуйтеся http://distro.conectiva.com.br/bugzilla/.

АВТОРИ

apt-get було написано командою APT apt@packages.debian.org та пристосовано до використання з RPM Conectiva S.A. kojima@conectiva.com.br.

ПЕРЕКЛАД

Перекладено Андрієм М. Добровольським dobr@altlinux.ru 20.06.2002