Управління пакетами в debian - debian help

Базова конфігурація

APT використовує який містить список "джерел" з яких можуть бути отримані пакети. Це файл /etc/apt/sources.list. Записи в цьому файл зазвичай слідують формату:

Звичайно, зазначені вище записи наведені тільки для прикладу і не повинні використовуватися. Перше слово кожної лінії, deb чи deb-src, показують тип архіву: чи є цей рядок посиланням на бінарні пакети (deb), які є прекомпілірованние пакетами, які ми зазвичай використовуємо, або це це посилання на вихідні коди оригінальних програм, плюс контрольні файли Debian (.dsc) і diff.gz, що містять зміни необхідні для "дебіанізації" програми.

Тут представлені рядки, необхідні для базової установки Debian. Перший блок вказує на регіональний архів основних файлів, другий - на оновлення безпеки, а третій на поновлення Debian.

Рядки, що починаються з deb - посилання на архіви бінарних пакетів, що починаються з deb-src - посилання на архіви вихідних кодів пакетів.

Файл /etc/apt/sources.list може містити різні типи рядків. APT вміє використовувати архіви наступних типів: http, ftp, file (локальні файли, тобто директорії, що містять примонтировать файлові системи типу ISO9660) та ssh, наскільки мені відомо.

Не забудьте запустити команду apt-get update після зміни файлу /etc/apt/sources.list. Ви повинні зробити це щоб APT міг отримати списки пакетів із зазначених вам джерел. Коли ви встановлюєте пакет APT отримує необхідні файли з хостів перерахованих в /etc/apt/sources.list, зберігає їх у локальному репозитарії (/ var / cache / apt / archives /) і переходить до установки.

Базові програми для управління пакетами

dpkg - установник пакетних файлів Debian
apt-get - утиліта командного рядка для APT
aptitude - має як псевдографічний інтерфейс, так і варіант для командного рядка
synaptic - графічний (gui) інтерфейс для APT
dselect - менеджер пакетів на основі меню
tasksel - установник завдань

Для установки програм за допомогою apt виконайте наступне:

Утиліта має наступні параметри:

-h - відобразити довідку
-d - тільки завантажити пакети, але не встановлювати їх
-f - спробувати продовжити, якщо тести цілісності не пройдено
-s - нічого не робити, тільки провести симуляцію установки
-y - відповідати Та на всі питання і нічого не питати
-u - також відобразити список оновлюваних пакетів.

Приклади використання apt-get

Якщо ви як-небудь пошкодили встановлений пакет або просто хочете оновити пакет до останньої версії, яка доступна, ви можете використовувати параметр --reinstall, наприклад, так:

Оновлення списку пакетів з джерел, перерахованих у вашому файлі sources.list:

Оновлення програм за допомогою APT:

Щоб змінити список дзеркал APT:

Шукати пакет в локальному кеші:

Видалити програму за допомогою APT:

Оновити список пакетів:

Оновити доступні списки пакетів:

Оновити всі встановлені пакети:

Показати всі встановлені і видалені пакети:

Показати статус установки пакета:

Показати всі пакети, що задовольняють масці:

Показати пакети, які містять рядок:

Показати список файлів в пакеті:

Показати статус пакета:

Детальніше про твіт пакета:

Показати пов'язані пакети:

Встановити пакет з deb файлу:

Вичистити пакет з системи разом з файлами:

Повторно запустити конфігурацію для пакета:

Отримати вихідні коди пакету:

Визначає залежності для початкових кодів і встановлює їх, якщо потрібно:

Встановити пакет із зазначеного релізу:

Запобігає завантаження зазначеної програми при старті системи:

Параметр -u показує список оновлюваних пакетів:

Як дізнатися, які пакети можуть бути оновлені?

apt-show-versions - це програма, яка показує, які пакунки в системі можуть бути оновлені і, крім того, деяку корисну інформацію.

Управління пакетами з допомогою aptitude

Aptitude є зараз кращою системою для роботи з APT (Advanced Package Tool). Вона запам'ятовує, які пакунки були встановлені безпосередньо Вами, а які пакети були встановлені за рахунок залежностей. Недавні пакети будуть автоматично видалені системою aptitude, коли вони будуть вже не будуть вимагатися будь-якого пакету, встановленому безпосередньо. Aptitude має просунуті функції фільтрації пакетів, але вони можуть бути складні в налаштуванні.

Оновлення локального кеша доступних пакетів (раніше: apt-get update):

Оновити доступні пакети (раніше: apt-get upgrade):

Оновити доступні пакети, навіть якщо це означає видалення частини пакетів (раніше: apt-get dist-upgrade):

Встановити пакет (раніше: apt-get install):

Видалити пакет (раніше: apt-get remove):

Видалити пакет і конфігураційні файли (раніше: apt-get -purge remove):

Шукати пакет з текстом "string" в імені або описі (раніше: apt-cache search string):

Показати детальну інформацію про пакет (раніше: apt-cache show pkgname):

Видалити завантажені файли пакетів (раніше: apt-get clean):

Видалити тільки файли пакетів старих версій, але пакети поточних версій залишити (раніше: apt-get autoclean):

Зафіксувати пакет на поточній версії і не оновлювати його автоматично (раніше: чи не зрозуміла команда echo-to-file):

Щоб зняти фіксацію слід використовувати параметр unhold.

оптимізований sources.list

Взагалі кажучи, зусилля для створення оптимізованого sources.list не дають особливого поліпшення.

apt-spy створює sources.list автоматично, на основі затримок і пропускної здатності. netselect-apt створює більш повний sources.list, але використовує більш простий метод вибору кращого дзеркала (порівняння часу пінгів).

Команда dpkg-divert

Файлові "відхилення" (divertions) - це спосіб змусити dpkg не встановлювати файл в директорію за замовчуванням, але встановлювати в змінену директорію. "Відхилення" можуть бути використані за допомогою дебіановскіх скриптів управління пакетами для переміщення файлу в інше місце коли він викликає конфлікти. Системні адміністратори також можуть використовувати "відхилення" для придушення конфігураційного файлу пакета або в разі, коли деякі файли (що не позначені як conffiles) повинні бути збережені системою dpkg під час установки нової версії пакету, що містить ці файли.

Що робити, якщо команда dpkg зламана

Зламаний dpkg унеможливлює встановлення будь-яких .deb файлів. Процедура, описана нижче, допоможе вам в цій ситуації. Вам знадобиться будь-яка команда для серфінгу сайтів, наприклад, links.

Локальний архів пакетів

Для того, щоб створити локальний архів пакетів, сумісний з APT і системою dselect, пакети повинні бути створені і занесені в особливе дерево директорій.

Локальний deb репозитарій, схожий на офіційний архів Debian, може бути створений таким чином:

Іншим способом, швидкий і брудний локальний deb архів може бути створений так:

До цих архівів можна отримати віддалений доступ, якщо надати доступ до цих тек за допомогою HTTP або FTP і внести відповідні зміни в файл /etc/apt/sources.list

Команда auto-apt

auto-apt - це додаток для установки пакетів на вимогу.

Основні помилки при управлінні пакетами

Помилки завжди трапляються, багато хто з них через не уважності користувачів. Нижче представлені найбільш часто зустрічаються помилки і інформація про те, що робити при їх виникненні.

1. Якщо Ви отримали представлене нижче повідомлення, коли намагалися виконати команду виду apt-get install package

то ви забули виконати команду apt-get update після того, як внесли зміни в файл /etc/apt/sources.list.

2. Якщо помилка виглядає як ця:

в момент, коли ви намагаєтеся скористатися одним з методів apt-get, крім source, то у вас немає прав суперкористувача, тобто ви працюєте під звичайним користувачем.

Існує помилка схожа на подану вище, яка виникає коли ви запускаєте дві копії apt-get в один і той же час або якщо ви навіть намагаєтеся запустити apt-get якщо активні процес dpkg. Єдиний метод, який може використовуватися одночасно з іншими - це метод source.

3. Якщо установка переривається в середині процесу і ви виявляєте, що більше немає можливості встановлювати або видаляти пакети, спробуйте скористатися наступними двома командами:

і потім спробуйте заново провести установку. Може знадобитися виконати другу з наведених вище команд більше ніж один раз. Це може бути хорошим уроком для тих пріключенцев, які люблять використовувати »не стабільний" софт.

4. Якщо ви отримали помилку

під час роботи apt-get update, то додайте наступний рядок в файл /etc/apt/apt.conf: