Управління пакетами в ubuntu

Несподівана помилка в моїй замітці "Байфлайер в Ubuntu" викликала потік листів, що мене засмутило і. обрадувало: інтерес до Ubuntu і, отже, до "Лінукс" серед простих користувачів в Білорусі, виявляється, росте.

Перше, з чим стикається користувач, вперше випробувавши лінуксную ОС після Windows, - незвичайність поняття "пакет". Однак нічого незрозумілого в ньому немає. Пакетна система роботи з лінуксним софтом породжена філософією UNIX "роби тільки одну річ". Грубо кажучи, пакет - це архів, який містить версію формату пакета, стислу заархівовані керуючу інформацію і стислі заархівовані встановлюються файли. Коротше, архів в архіві. При цьому пакет містить тільки оригінальні файли, а всякого роду часто зустрічаються загальновживані файли включати в пакет не прийнято. Тому керуюча інформація може включати в себе посилання на інші пакети, необхідні для роботи, тобто обумовлювати так звані "залежності". Приклад пакета: opera_11.01.1190_i386.deb. Тут opera - найменування пакету, 11.01.1190 - його версія, i386 - ознака, що пакет призначений для комп'ютера c чіпсетом архітектури Intel не нижче 386, deb вказує, що пакет призначений для ОС, сумісних з Debian GNU / Linux. Нерідко цікавляться, чи буде пакет, позначений як i586 або i686, працювати на конкретному интеловский комп'ютері. Дізнайтеся клас свого процесора командою

і зверніть увагу на значення параметра cpu family. Це число повинне бути більше або дорівнює першій цифрі, наступного за символом i в позначенні пакету. З процесорами AMD простіше: пакети позначаються як AMD64 або AMD32, в залежності від розрядності процесора. І ще: не встановлюйте 64-розрядні пакети, якщо ваша ОС 32-розрядна: можуть бути проблеми. Втім, при установці пакетів з репозиторіїв цього не повинно статися. Ось, власне, і все, що на перших порах треба знати про поняття "пакет".

ОС Ubuntu, нащадок ОС Debian, забезпечує користувачеві кілька інструментів для управління пакетами. Основу складають утиліта apt (акронім від "Advanced package tool") і низкоуровневая утиліта dpkg (акронім від "Debian package tool"). Крім того, Ubuntu пропонує і інші інтерфейси до системи пакетів Debian GNU / Linux. До них відносяться в порядку зростання рівня: псевдографічний aptitude, графічний Synaptic і, нарешті, "Центр Додатків Ubuntu", який, на відміну від інших, працює тільки з додатками. Не буду розглядати графічні інтерфейси, їх освоїти легко, але можливості "не ті". Також залишу в спокої aptitude як похідне від apt. Часом зустрічаються твердження, що aptitude краще задовольняє залежності, ніж apt, вважаю просто непорозуміннями. Крім кого, починаючи з версії Ubuntu 10.10, aptitude видалений з дистрибутива. На моє переконання, щоб бути впевненим користувачем Ubuntu, освоювати слід apt та dpkg. Решта приходить само собою.

спочатку визначить, чи не встановлена ​​інша версія virtualbox, якщо так, то з санкції користувача "знесе" її і встановить саме virtualbox-4.0. А ось команда

просто спробує встановити з репозиторіїв найсвіжішу версію цієї чудової віртуальної машини. При установці пакети спочатку потрапляють в кеш / var / cache / apt / archives, потім встановлюються куди треба. Якщо дуже цікаво, куди, то це завжди можна дізнатися командою whereis, наприклад, whereis virtualbox. У міру дорослішання вашої збірки Ubuntu в кеші накопичується багато потрібного і непотрібного. Останнє займає місце і може бути видалено, про що трохи пізніше.

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

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

"Знесе" і конфігураційні файли, і сам пакет в кеші.

Багато пакети ОС Ubuntu оновлює в порядку штатної процедури оновлення, але тільки ті, які підтримує компанія Canonical, а також ті, для яких оновлення надаються спільнотою Ubuntu. Решта пакетів в межах мажору версії можна оновлювати самостійно. Наприклад, команда

оновить ваш раніше встановлений браузер Opera, підвищивши мінор версії, якщо, звичайно, така існує в репозиторії, прописаному в /etc/apt/sources.list. При оновленні програми будується дерево залежностей, перевіряються поновлення для них і нерідко оновлюється не основний пакет, а тільки тих пакунків, які він залежить. Необов'язкова опція -u дозволяє бачити, що саме оновлюється. До речі, тепер для додавання репозиторіїв немає необхідності редагувати файл /etc/apt/sources.list, досить скористатися командою add-apt-repository _істочнік_. Наприклад, можна додати джерело deb-пакетів від Google ось такою командою:

Після додавання нового джерела пакетів ніколи не забувайте проіндексувати список джерел командою

Якщо ви не знаєте або забули, яка версія пакету встановлена ​​і які бібліотеки він використовує, то не соромтеся задати системі питання, наприклад, командою apt-cache search _імя_пакета_, при цьому мажор версії пакету, природно, не вказується, наприклад,

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

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

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

Маючи в розпорядженні apt-file, неважко знайти директорії, порушені установкою конкретного додатка, наприклад, virtualbox-4.0:

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

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

Якщо треба переконатися, чи все в порядку з пакунками, встановленими в системі, то це перевіряють командою

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

Я перерахував apt-мінімум, яким повинен володіти користувач Ubuntu, який бажає вільно управляти пакетним господарством своєї системи, поповнюється з репозиторіїв. Однак, крім пакетів з репозиторіїв, є величезна кількість і інших deb-пакетів, які розробники пропонують на своїх сайтах. Щоб скористатися цим багатством, потрібно спуститися рівнем нижче.

і виявляти залежності командою:

Незручно! Простіше файли з пакету перемістити з директорія завантажень в вищезгаданий кеш і встановити його звідти утилітою apt-get install, що не вказуючи шлях. Проте, dpkg - досить гідна утиліта. Ось як без aptitude найпростіше дізнатися, які пакети встановлені в системі? Немає проблем:

За допомогою dpkg можна легко дізнатися, яка саме версія пакету встановлена ​​в системі та чи встановлено пакет взагалі; наприклад, команда

виводить встановлену версію віртуальної машини virtualbox, випереджаючи її суфіксом ii, але також виводить і стару версію пакета, якщо він не віддалявся з кешу, випереджаючи його ім'я суфіксом rc. Більш детальну інформацію про версії пакетів, в порівнянні з попередньою командою, можна отримати, залучаючи grep:

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

Утиліта dpkg також при бажанні дозволяє подивитися вміст пакета:

Навіщо щось компанія Canonical прибрала з дистрибутива Ubuntu таку потрібну утиліту gdebi, яка дозволяла швидко встановити скачаний deb-пакет подвійним кліком по ньому. Зараз ми це виправимо командою

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

Зрозуміло, управляти пакетами можна і мишею, скориставшись "Сінаптіком" або "Центром Додатків". Але якщо ви бажаєте містити систему в чистоті - не полінуйтеся, вивчіть, як можна управляти пакетами через термінал. Це необхідно, якщо хочете стати Володарем Системи.

Версія для друку

Схожі статті