Використання APT. Команди apt та apt-get. Apt-Get. Управління пакетами в Ubuntu

APT (скорочення від Advanced Packaging Tool) – це набір утиліт для встановлення, видалення, оновлення, пошуку пакетів у Linux, а також для керування репозиторіями. APT ще називають пакетним менеджером.

APT використовує репозиторії пакетів. Список репозиторіїв для APT зберігається у файлі /etc/apt/sources.list, а також у директорії /etc/apt/sources.list.d/.

APT використовується в дистрибутивах, заснованих на Dedian та Ubuntu.

Для керування APT існують різні утиліти, Але найпопулярніші їх це утиліти командного рядка apt-get і apt.

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

Чим відрізняються apt та apt-get

Коротко відповімо на дуже популярне питання, а в чому різниця між командами apt та apt-get?

apt це утиліта, яка з'явилася як альтернатива apt-get. Вона виконує практично ті самі функції, що й apt-get, але з нею простіше і зрозуміліше працювати.

Наприклад, усі команди apt мають простий синтаксис: apt назва_команди. А у apt-get є додаткові командинаприклад, apt-cache. Таким чином, при використанні apt, користувачу не потрібно запам'ятовувати додаткові наборикоманд.

Крім спрощення роботи з командами, apt наочно виводить інформацію, начебто дрібниці, але працювати зручніше. Наприклад, apt вміє показувати прогрес бар, а під час виконання apt updateможна побачити, скільки пакетів можна оновити.

Утиліта apt-get більш функціональна, ніж apt. Але для рядового користувача apt буде більш ніж достатньо.

Команда apt

Синтаксис команди apt наступний:

Sudo apt

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

sudo apt update

APT має список репозиторіїв, з яких відбувається встановлення пакетів. Список зберігається в текстовому файлі /etc/apt/sources.list, а також у директорії /etc/apt/sources.list.d/. За виконання команди apt update, APT проходить за списком репозиторіїв і з кожного репозиторію у списку отримує інформацію про пакети, що у репозиторії. Вся ця інформація зберігається у системі.

Якщо виходить нова версія якогось пакета, то APT не дізнається про це, доки не буде виконана команда apt update. Тому, якщо встановити даний пакет(не виконавши попередньо apt update), буде встановлена ​​та версія пакета, інформація про яку зберігається в системі в даний момент.

Чи потрібно виконувати apt update перед встановленням кожного пакета?

Ні, перед встановленням кожного пакета apt updateзвичайно ж виконувати не слід. Достатньо виконувати apt update періодично. Якщо вам потрібно встановити кілька пакетів, то спочатку можна один раз виконати apt updateа потім вже встановлювати пакети.

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

Для оновлення пакетів, встановлених у системі, використовується команда:

Sudo apt upgrade

Ця командатільки оновлює пакети до нових версій, але ніколи не видаляє та не встановлює інші пакети.

Є ще одна команда для оновлення пакетів:

Sudo apt full-upgrade

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

Встановити пакет

Щоб встановити пакет, використовується команда:

Sudo apt install

Встановити кілька пакетів

Для встановлення декількох пакетів їх імена записуються через пропуск:

Sudo apt install

Встановити певну версію пакету

Щоб встановити певну версіюпакета потрібно після назви пакета, через знак рівності, вказати необхідну версію:

Sudo apt install =

Видалити пакет

Для видалення, встановленого пакета, використовується команда:

Sudo apt remove

Видалити пакет та його конфігураційні файли

sudo apt purge

apt purgeпрацює аналогічно apt remove, але видаляє ще й файли конфігурації, що відносяться до пакета. Це означає, що якщо ви встановили якусь програму, налаштували її, а потім видалили командою apt remove, то конфігураційний файл цієї програми залишиться у системі. Якщо ви встановите цю програму знову, можна буде використовувати попередній конфігураційний файл, оскільки він був видалений.

apt purgeне видаляє конфігураційні файли, що зберігаються у вашій домашній директорії.

Якщо ви видалили пакет командою apt remove, то ви можете виконати apt purgeдля цього вже віддаленого пакета, щоб "додалити" його конфігураційні файли.

Видалити пакети, що не використовуються.

sudo apt autoremove

Коли ви встановлюєте пакет, то часто встановлюються додаткові пакети, що є його залежностями. Якщо ви видалите цей пакет, то залежності залишаться в системі. apt autoremoveвидаляє ці залежності, але ті, які не потрібні іншим встановленим пакетам.

Список пакетів

Команда apt list використовується для виведення списку пакетів за якимось критерієм.

Вивести список встановлених у системі пакетів:

Apt list --installed

Вивести список пакетів, що потребують оновлення (у яких вийшла нова версія):

Apt list --upgradable

Вивести список усіх пакетів доступних для вашої системи:

Apt list --all-versions

Пошук пакетів

apt search

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

Можна шукати лише за назвами пакетів для цього використовується опція --names-only :

Apt search --names-only

Пошук пакету з використанням регулярних виразів:

Apt search --names-only "^python"

Інформація про пакет

apt show

Виводить інформацію про пакет. Відображається версія, розмір, опис, залежність та інша інформація.

Редагування списку репозиторіїв

sudo apt edit-sources

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

Таблиця аналогів команд apt та apt-get

Команда
apt
Аналог команди
apt-get
Опис
apt installapt-get installВстановити пакет
apt removeapt-get removeВидалити пакет
apt purgeapt-get purgeВидалити пакет та конфігураційні файли
apt autoremoveapt-get autoremoveВидалити пакети, що не використовуються.
apt updateapt-get updateОновити список пакетів
apt upgradeapt-get upgradeОновити пакети
apt full-upgradeapt-get dist-upgradeОновити пакети (видалити та встановити нові, якщо потрібно)
apt listЗразковий аналог:
dpkg-query --list
Список пакетів
apt searchapt-cache searchПошук пакету
apt showapt-cache showІнформація про пакет

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

У цій статті ми розберемо, як видалити deb пакет Ubuntu, при чому видалити чисто, так, щоб після нього не залишилося слідів у системі. Також поговоримо про повне видалення PPA, оскільки багато пакетів, яких немає в офіційних репозиторіях, ми встановлюємо з PPA.

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

Запустити центр додатків ви можете із панелі значків Unity:

Список усіх встановлених пакетів знаходиться на вкладці Встановлено,тут програми розсортовані за категоріями:

Щоб видалити пакет Ubuntu, достатньо клацнути по ньому лівою кнопкою миші, і коли з'являтися доступні діїнатиснути кнопку видалити:

Для завершення видалення потрібно буде ввести пароль.

Пакет видалено, але не зовсім так, як нам хотілося б. Але про це згодом.

Далі розглянемо пакетний менеджер Synaptic. Це як ні як стороннє програмне забезпечення, але багато його використовують через великий функціонал і зручного інтерфейсу. Якщо програма ще не встановлена, її потрібно встановити за допомогою центру програм або виконавши в терміналі:

sudo apt install synaptic

Запустити програму можна через термінал, виконавши команду:

Переглянути встановлені пакети ви можете вибравши вкладку стан, а потім вибравши Встановлені:

Видалити deb ubuntu ви можете просто натиснувши правою кнопкоюмиші та в контекстному менюна потрібному пакеті та вибравши відзначити для видаленняабо відзначити для повного видалення:

Програма покаже, які пакети будуть видалені, це ті пакети, які залежать від нашого пакета:

Тепер, щоб завершити видалення, залишилося натиснути кнопку Застосувати:

Тепер програма покаже, які пакети будуть видалені. І піде процесвидалення:

Просто видалення та повне видаленнявідрізняється лише тим, що з повному видаленні видаляються конфігураційні файли. Але проблема цих інструментів у тому, що пакети встановлені як залежності та рекомендовані до програми не видаляються та залишаються в системі. Така поведінка спостерігається як у Synaptic, так і в Центрі додатків Ubuntu. Тому ми переходимо до опису самого гнучкого способу – видалення пакетів Ubuntu у терміналі.

Як видалити пакет Ubuntu у терміналі

У нових версіях Ubuntu для керування пакетами, а також видалення можна використовувати новий менеджерпакетів – apt. Команда видалення виглядає так:

sudo apt remove имя_пакета

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

Якщо ви хочете використовувати apt-get, щоб видалити deb ubuntu, то порядок дій трохи інший. Для звичайного видаленняпакету виконайте:

sudo apt-get remove имя_пакета

Щоб видалити пакет разом з конфігураційними файлами, виконайте:

sudo apt-get purge имя_пакета

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

sudo apt-get autoremove

Буде видалено не тільки явно зазначені залежності, але й програми встановлені як рекомендовані.

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

Це дуже просто дізнатися, наприклад по виконуваному файлу, допустимо виконуваний файлпрограми TimeShift знаходиться за адресою /usr/bin/timeshift, тепер дізнаємося про її пакет:

sudo dpkg -S /usr/bin/timeshift

timeshift: /usr/bin/timeshift

Як бачите, пакет так і називається - timeshift. Тепер можна видалити програму Ubuntuодним з вище описаних способів.

Дуже часто ми встановлюємо недостатнє нам програмне забезпечення з PPA, але не всі ці пакети потрібні нам протягом тривалого часу, а при оновленні системи можуть навіть викликати помилки. То як же видалити всі пакети встановлені з PPA? Для цього є спеціальна утиліта: ppa-purge.

Якщо її ще не встановлено, встановлюємо командою:

sudo apt install ppa-purge

Тепер, щоб видалити всі пакети встановлені з певного ppa, використовуйте:

sudo ppa-purge -i ppa:ppaowner/ppaname

ppa:ppaowner/ppaname - зазвичай у такому форматі записуються всі PPA. Протокол:власник/ім'я.

Дізнатися список репозиторіїв можна у програмі джерела додатків:

Такою командою можна одним махом видалити пакети ubuntu, встановлені з ppa:

find /etc/apt/sources.list.d -type f-name "*.list" -print0 | \
while read -d $"\0" file; do awk -F/ "/deb / && /ppa\.launchpad\.net/ (print "sudo ppa-purge ppa:"$4"/"$5)" "$file"; done

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

Але все-таки метод є, як правило, розробники у файлі сценаріїв makefile, крім мети install реалізують мету uninstall, яка дозволяє виконати зворотне дію.

apt-get [ опції ] [ команда ] [ пакет … ]

Опис команди.

apt-get це інструмент командного рядка для керування пакетами і може розглядатися як користувальницький інтерфейсдоapt .

командамислужать: o update o upgrade o dselect-upgrade o dist-upgrade o install пакет1 [пакет2] […] o remove пакет1 [пакет2] […] o source пакет1 [пакет2] […] o check o clean o autoclean update updateвикористовується для повторної синхронізації файлів описів пакетів із їх джерелом. Опис доступних пакетів буде отримано з джерел, зазначених у /etc/apt/sources.list. Наприклад, при використанні архіву Debian ця команда розшукує та переглядає файли Packages.gzтаким чином стає доступна інформаціяпро нові та оновлені пакети. Перед upgradeі dist-upgradeзавжди має виконуватися update. Будь ласка, пам'ятайте, що індикатор прогресу показує не точну інформаціюоскільки розмір файлів пакетів заздалегідь не відомий. upgrade upgradeвикористовується для встановлення новітніх версій всіх встановлених пакетів системи з джерел, зазначених у /etc/apt/sources.list. Будуть розшукані новітні версіївстановлених у теперішній моментпакетів та зроблено оновлення; у жодному разі не буде видалено жодного встановленого пакета або встановлено нового пакета, який не має вже встановленої в системі попередньої версії. Поточні версіївстановлених пакетів, якщо вони не можуть бути оновлені новими версіями без зміни статусу інших пакетів, будуть залишені в незмінному вигляді. Для того щоб apt-getдізнався про існування доступних нових версіях пакетів, даній команді має передувати команда update. dselect-upgrade dselect-upgrade використовується спільно з традиційним інструментомкерування пакетами в Debian GNU/Linuxdselect . dselect-upgrade слід змін, які робитьdselectз полем Status доступних пакетів та виконує дію, необхідну для реалізації цього стану (наприклад, видалення старих та встановлення нових пакетів). dist-upgrade dist-upgrade, на додаток виконує функцію upgrade, а також розумно управляє зміною залежностей із новими версіями пакетів; apt-getмає «розумну» систему розв'язання конфліктів і вона буде у разі потреби намагатися провести оновлення найважливіших пакетів за рахунок менш важливих. Файл /etc/apt/sources.listмістить список джерел отримання пакетів, з яких будуть отримані файли пакетів. install installвстановлює один або більше пакетіввідзначених до встановлення. Кожен пакет— це ім'я пакета, а не повне ім'я файлу, що містить цей пакет (наприклад, системі Debian GNU/Linux, як пакет може бути вказано ім'я ldso, а не ldso_1.9.6-2.deb). Усі пакети, що вимагаються заданим пакетом (пакетами), зазначеними до установки, також будуть отримані та встановлені. Файл /etc/apt/sources.listвикористовується визначення місцезнаходження необхідних пакетів. Якщо до імені пакета додається символ перенесення (без пробілу, що розділяє), то заданий пакет буде видалений, якщо він встановлено. Ця особливість може бути використана для перекриття рішення зробленого системою вирішення конфліктів apt-get. Якщо немає пакетів, що збігаються з заданим виразомі вираз містить один із символів '.', '?' або '*', то воно розглядається як шаблон для регулярних виразів POSIXі вже цей шаблон застосовується до всіх імен пакетів у базі даних. Будь-які пакети, що збігаються з шаблоном, будуть потім встановлені (або видалені). Зауважимо, що, наприклад, підрядок 'lo*' збігається з 'how-lo' і 'lowest'. Якщо це небажано, випереджайте їх символом '^'. remove removeідентична installкрім того, що пакети замість установки видаляються. Якщо до імені пакета додається знак плюс (без пробілу, що розділяє), то зазначені пакети будуть встановлені. source sourceзмушує отримувати пакети із вихідними текстами. APT перевірить доступні пакети щодо отримання їх вихідних текстів. Потім він шукає та копіює в поточний каталог найновішу доступну версію цих вихідних текстів. Пакети вихідних текстів обслуговуються окремо від бінарних через введення рядків deb-srcабо rpm-srcу файл /etc/apt/sources.list. Передбачається, що для отримання вихідних текстів, ви використовуватимете джерело, відмінне від того, з якого ви отримуєте готові пакети. Якщо задана опція -compile, то пакет з вихідними текстами буде скомпільований в бінарний deb-пакет за допомогою утиліти dpkg-buildpackage або, на системах, що використовують RPM, за допомогою rpm -ba буде зібраний бінарний пакет. Якщо встановлено опцію —download-only, то пакет із вихідними текстами не буде розпакований. Зауважимо, що пакети з вихідними текстами не відстежуються як бінарні пакети, вони існують тільки в поточному каталозі, що дуже схоже на просте викачування архівів вихідних текстів. check check- Це діагностичний інструмент; він оновлює кеш пакетів і перевіряє пакети, які недо-встановлені через будь-які причини. clean clean очищує локальне сховищеотримані файли пакетів. Команда видаляє все, але залишає файли з/var/cache/apt/archives/ і /var/cache/apt/archives/partial/ . Коли APT використовується як один із методівdselect , clean запускається автоматично. Ті, хто не користується dselect, для звільнення місця на диску можуть час від часу використовуватиapt-get clean . autoclean Як і clean, autocleanочищає локальне сховище одержаних файлів пакетів. Відмінність полягає в тому, що ця команда видаляє тільки файли пакетів, які більше не можуть бути отримані і використані. Це дозволяє обслуговувати кеш протягом тривалого без втрати контролю над ним.

Опції

Усі опції командного рядка можуть бути встановлені за допомогою файлу налаштувань; описи показують, який елемент налаштування треба встановити. Для логічних опцій ви можете перекрити файл з налаштуваннями, використовуючи конструкцію виду -f-, -no-f, -f=noчи деякі інші варіації.

-d, -download-only Тільки викачувати; файли пакетів будуть лише викачуватись, але не розпаковуватимуться і встановлюватимуться. -f, -fix-broken Правити; спроба виправити систему із порушеними залежностями. Ця опція, коли використовується при операціях встановлення та видалення, може опускати деякі пакети, щоб дозволити APT вирішити проблему. Будь-який вказаний пакет має повністю виправляти проблему. Ця опція іноді потрібна при запуску APT вперше; APT сам не дозволяє порушеним залежностям пакетів існувати в системі. Можливо, що структура залежностей у системі може бути порушена і вимагати виправлення вручну (що зазвичай досягається використанням dselect або dpkg-remove для видалення деяких пакетів). Використання цієї опції разом з -m у деяких ситуаціях призведе до виведення повідомлення про помилку. -h, -help Допомога; видати підказку та завершити роботу. -v, -version Повідомити версію програми. -m, -ignore-missing, -fix-missing Ігнорувати відсутні пакети; Якщо пакети не можуть бути отримані або їх повна перевіркапісля отримання закінчилося невдало (ушкоджений файл пакета), стан пакета повертається до попереднього і результат обробляється. Використання цієї опції спільно з -f у деяких випадках може призвести до помилки. Якщо будь-який пакет вибирається до установки (наприклад, якщо він вказаний у командному рядку) і він не може бути отриманий, то без будь-яких повідомлень буде відновлено вихідний стан. -no-download Забороняє отримання пакетів. Найкраще використовувати разом з —ignore-missing для того, щоб змусити APT використовувати тільки ті файли, які вже отримані. -q, -quiet Проводиться висновок, придатний для протоколювання, в якому опускаються індикатори ходу виконання завдання. Вказівка більшого числаопцій -q призведе до урізаного висновку, максимально ви можете вказати їх у два рази. Ви також можете використовувати конструкцію -q=#для встановлення потрібної кількості повідомлень виводу, перекриваючи файл з налаштуваннями. Зауважимо, що рівень 2 неявно включає -y, ви ніколи не повинні використовувати -qq без модифікатора, який забороняє дії, такі як -d, -print-uris або -s, оскільки APT може зробити щось несподіване для вас.
-s, -simulate, -just-print, -dry-run, -recon, -no-act Не виконувати жодних дій; виконує симуляцію подій, які мають відбуватися, але які реально не будуть виконані та не змінять стан системи. У режимі симуляції на екран будуть виведені серії рядків, які відображатимуть операції dpkg, Налаштування (Conf), Видалення (Remv), Розпакування (Inst). У квадратних дужках будуть зазначені пакети, які недо-встановлені з якихось причин разом зі списком (або без нього) укладених у квадратні дужки причин. -y, -yes, -assume-yes Автоматично відповідати "так" у відповідь на запит програми; на всі запити, які виводитиме програма, буде автоматично видаватися відповідь «так». При виникненні небажаної ситуації, як-от: зміни пакета в стані утримання або видалення необхідного для роботи системи пакета, apt-getаварійно завершуватиме свою роботу.
-u, -show-upgraded Показати оновлені пакети; Видає список усіх оновлених пакетів. -b, compile, build Компілювати пакети вихідних текстів після отримання. -ignore-hold Ігнорувати стан утримання. Це змусить apt-getігнорувати стан утримання, в якому знаходиться пакет. Це може бути корисним разом із командою dist-upgradeдля перекриття великої кількостінебажаних пакетів у стані утримання.
-no-upgrade Не оновлювати пакети; Коли ця опція використовується разом із командою installто no-upgradeзапобігає оновленню вже встановлених пакетів. -force-yes Примусове виконання заданої операціїнезважаючи ні на що. Це небезпечна опція, яка змусить apt продовжувати виконання операції без будь-яких діалогів із користувачем, навіть якщо виникне потенційна можливість помилки. Вона не повинна використовуватися крім як у спеціальних ситуаціях. Використання force-yesпотенційно здатне знищити вашу систему!
-print-uris Замість копіювання файлів для установки друкуються їх URI. Кожен URI буде мати шлях, ім'я файлу, розмір та очікуваний хеш md5. Зауважимо, що ім'я файл не завжди збігається з ім'ям файлу на віддаленому сайті. Опція також працює і з командою source.
-purge Використовувати purge (зачищення) замість remove (видалення) для всіх пакетів, які будуть видалені. -reinstall Перевстановлення пакетів, які вже є новітніми версіями. -list-cleanup Ця опція за замовчуванням увімкнена, використовуйте -no-list-cleanupдля її вимикання. Коли apt-getбуде автоматично керувати вмістом /var/lib/apt/lists, щоб переконатися, що застарілі файли видалені. Вимкніть цю опціюякщо ви часто змінюєте ваш список джерел. -trivial-only Виконує лише тривіальні операції. Логічно це може бути віднесено до —assume-yes, тільки —assume-yes видаватиме відповідь «так» на будь-яке запрошення, а —trivial-only відповідатиме «ні». -no-remove Якщо якісь пакети відзначені для видалення, то apt-getнегайно, без запитань, завершить роботу. -diff-only, -tar-only Отримати тільки diff або tar-файл з архіву вихідних текстів. -c, -config-file Файл із налаштуваннями; Задати файл із налаштуваннями.apt-get буде читати файл з налаштуваннями за замовчуванням і потім вказаний файлз налаштуваннями.

ФАЙЛИ

Довгий час мене гладив незнання того, як зробити деякі елементарні речі в дебіановських менеджерах пакетів, але, як часто буває, запитати поряд було не в кого, а до написання будь-куди руки не доходили. І ось нарешті питання визріли і я написав своє запитання у дебіанівську розсилку. Природно виявилося, що пропустив щось очевидне, але й дізнався багато неочевидних корисностей, тому вирішив накидати шпаргалку, може кому знадобиться.

Коротка довідка Debian адміністратора

Основне та загальновідоме
Отримання інформації про нові/оновлені пакети
sudo aptitude update
Оновлення
sudo aptitude safe-upgrade
Пошук пакету за іменами пакетів
aptitude search key_word
Пошук пакету за точною назвою
aptitude search "^name$"
Пошук за описом
aptitude search "?description("key_word")"
Інформація про пакет
aptitude show package_name
Встановлення
sudo aptitude install package_name
Вилучення
sudo aptitude remove package_name
Повне видалення (разом із конфігами)
sudo aptitude purge package_name
Очистити кеш завантажених пакетів (звільнити місце)
aptitude autoclean # видаляться лише пакети неактуальних версій aptitude clean # очиститься весь кеш
Встановлення окремо завантаженого/створеного пакета (для створення пакету зі сторонніх вихідних джерел потрібно використовувати утиліту checkinstall з прапором -D)
sudo dpkg -i /path/to/package.deb
Для отримання додаткової інформації
man aptitude sudo aptitude install aptitude-doc-en
і дивимося документацію (/usr/share/doc/aptitude/html/en/index.html), кому швидку довідку за пошуковими шаблонами, тому сюди - /usr/share/doc/aptitude/html/en/ch02s04.html. Якщо ліньки ставити доку, то в мережі вона є .
Вступна на Debian Wiki: wiki.debian.org/Aptitude
А тепер те, що не очевидно чи вимагає повного прочитання документації
1. Як після update подивитися, які пакети будуть оновлені?
aptitude search ?upgradable
також можна юзати (якщо поставити)
sudo daptup
але після його встановлення точно буде поводитися і звичайний update

2. Як дізнатися, що змінилося в пакетах, які будуть оновлені?
Можна пробувати
sudo aptitude changelog package_name
для кожного пакета.
Але краще поставити apt-listchanges, тоді перед будь-якою установкою оновлень буде показаний список змін, за замовчуванням налаштування не дуже зручні, тому краще переналаштувати під себе, наприклад, вибрати формат виводу (поки використовую текст, при великих оновленнях напевно pager краще), не надсилати листів, питати підтвердження, виводити всю інформацію. Для цього потрібно запустити
sudo dpkg-reconfigure apt-listchanges
3. Що робити, якщо оновлення щось поламало і потрібно відкотитися?
Відкату немає, можна спробувати знайти попередня версіяпакету
sudo aptitude version package_name
та встановити її
sudo aptitude install package_name=version
4. Як знайти всі пакети, встановлені вручну?
є варіант команди (aptitude search "~i!~M"), але на жаль він не дає бажаного результату, тому питання залишається відкритим, є купа способів заснованих на аналізі логів
/var/log/aptitude (+ ротовані шматки) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ ротовані шматки)
але простого і готового рішенняні, так інформація теоретично може бути втрачена при ротаціях, потрібно конфігурувати

5. Як переглянути список файлів у пакеті?
якщо пакет встановлений
dpkg -L package_name
для будь-яких пакетів поставити apt-file та
apt-file list package_name
6. Як подивитися, якому пакету належить файл?
dpkg -S file_name
7. Як видалити всі пакети, де є key у назві пакета?
sudo aptitude purge ~ikey
8. Як видалити конфіги, що залишилися, від видалених пакетів?
sudo aptitude purge ~c
9. Як знайти пакет пакет, в якому міститься файл lib.so:
apt-file search lib.so
10. Як конвертувати rpm пакету deb?
alien --to-deb /path/to/file.rpm
11. Як знайти список встановлених ядер?
dpkg --list linux-* | grep ii
12. Як встановити пакет testing або experimental?
На цю тему потрібно писати окремо (наприклад так), але якщо коротко, команди для цього є
sudo aptitude -t testing package_name
або
sudo aptitude package_name/testing
13. Як видалити метапакет, але залишити одну із залежностей?
доведеться почитати документацію про ключ unmarkauto або глянути сюди.

14. Як дізнатися що потрапило в файлову системуповз систему управління пакетами?
Є утиліта cruft, хоча питання інтерпретації результатів (файлу report) поки що відкрите
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Які є додаткові репозиторії?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - безліч всяких

Advanced Packaging Tool- Набір утиліт для управління програмними пакетамив операційні системина основі Debian. APT надає дружню надбудову над DPKG і дозволяє:

    Встановлювати, видаляти та оновлювати пакети

    Вирішувати залежності

    Шукати пакети за заданими критеріями

    Переглядати детальну інформаціюпро пакет

    Маніпулювати ключами від репозиторіїв

APT є однією з базових програмта включена до складу Ubuntu.

Налаштування

Усі файли налаштувань APT зберігаються у директорії /etc/apt.

apt.conf

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

man apt.conf

apt.conf.d

Директорія містить у собі файли конфігурації, аналогічні синтаксису. За допомогою цієї директорії можна швидко і зручно маніпулювати налаштуваннями APT, додаючи або видаляючи підготовлені файли з налаштуваннями.

auth.conf

sources.list

sources.list.d

Директорія з файлами репозиторій за призначенням аналогічних sources.list. Кожен репозиторій описується окремому файлі.

Використання

В APT входить кілька утиліт, які виконують окремі завдання.

Починаючи з версії Ubuntu 16.04 доступна нова утиліта apt , яка містить команди, що найчастіше використовуються з apt-get і apt-cache . Утиліта apt призначена для користувачів, тоді як apt-get можна розглядати як інструмент нижчого рівня.

apt-get

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

Основні команди:

    Update - Оновити інформацію про пакети, що містяться у репозиторіях.

    Install foo - Встановити пакет foo. Завантаження, встановлення та налаштування відбуваються автоматично. Якщо для налаштування пакета foo потрібні додаткові відомості, буде показано запит користувача.

    Upgrade – Оновлення пакетів, для яких у репозиторії доступні нові версії.

    Dist-upgrade - Оновлення пакетів, які потребують дозволу залежностей (встановлення додаткових або видалення пакетів, що конфліктують).

    Remove foo - Видалення пакета foo із системи.

    Purge foo - Видалення пакета foo та очищення системи від нього конфігураційних файлів. Файли налаштувань у домашніх каталогах користувачів видалені не будуть.

    Autoremove - Видалення пакета, який більше не потрібний у системі. Використовується для очищення системи від непотрібних пакетів. Факт, що пакет більше не потрібен, визначається так: якщо пакет був встановлений не сам по собі, а як залежність для іншого пакета, який згодом був видалений, значить цей пакет теж не потрібен у системі.

    Source foo - отримання вихідних текстів пакета foo.