5 Управління пакетами
наступний: 6 Система X Window вище: український Debian 3.0 FAQ попередній: 4 Налаштування додатків nbsp Зміст
5.1 Що таке stable. testing. unstable гілки Debian?
Це напрямки роботи над Debian.
- stable (стабільний) дистрибутив - офіційно випущений дистрибутив, в нього зазвичай зміни не вносяться. Знайдені помилки розміщуються в окремому депозитарії, і періодично вносяться в сам дистрибутив, формуючи новий випуск. Принципова ідея стабільного дистрибутива - все його установки схожі один на одного. Саме цей дистрибутив можна зазвичай знайти на CD і DVD. На даний момент в stable є Debian GNU / Linux 3.0r0, кодове ім'я Woody.
Раніше була ротація кодових імен: наприклад, Woody спершу був unstable. потім testing і тепер stable. Тепер ця ротація має місце тільки в стабільному і тестируемом дистрибутивах. Прийнято рішення нестабільний дистрибутив завжди називати Sid.
Debian підтримує попередній і поточний стабільний дистрибутиви. Більш старі дистрибутиви потрапляють в архів. Над ними не здійснюється робота щодо виправлення помилок.
5.3 Що таке experimental?
Це частина архіву Debian. яка не входить в офіційний дистрибутив. У experimental знаходяться кандидати на входження в Sid. які не проходять по критеріям якості або мають серйозні конфлікти залежностей з іншими пакетами.
5.4 Що таке non-free і contrib?
Debian це проект зі створення дистрибутива GNU / Linux, що складається з вільного програмного забезпечення. Вимоги до ліцензії, за якими той чи інший продукт може вважатися вільним, описані в документі Debian Free Software Guides (DFSG).
Програмне забезпечення, яке не є вільним, не може входити в офіційну поставку Debian. і не є частиною дистрибутива.
Проте, проект Debian з метою уникнення конфлікту інтересів з користувачами (які не завжди цінують свою свободу), надає свої ресурси: файл-сервери, дзеркала, система відслідковування помилок, списки розсилки деяким пакетам з закритим програмним забезпеченням. Дані пакети розміщуються в частині дистрибутива, що має назву non-free. При складанні дистрибутива на CD прийнято non-free виділяти в окремий диск або не включати в дистрибутив зовсім.
Також существет вільне програмне забезпечення, яке вимагає для своєї роботи невільні бібліотеки або програми. Це програмне забезпечення вважається частиною дистрибутива, і розміщується в розділі contrib.
Раніше архів дистрибутива вдавав із себе дерево каталогів, де пакети були розсортовані по назначанія. Потім було прийнято рішення для нестабільного і для testing використовувати структуру типу pool / main / буква або libбуква / пакет.deb. Ця система виявилася дуже зручною і гнучкою. Тому тепер Debian матиме структуру цього класу для всіх дистрибутивів.
5.6 Як додати http або ftp дзеркало Debian?
Існують два способи вказівки шляху до архіву пакунків Debian.
У разі якщо вам потрібно вказати шлях до архіву пакунків Debian. побудованому у вигляді стандартної структури (наприклад, офіційне дзеркало), треба в файл /etc/apt/sources.list додати рядок виду:
deb protocol: // host branch sections
deb-src protocol: // host branch sections
- protocol - протокол (file, http, ftp)
- host / path - hostname дзеркала і шлях до ієрархії Debian
- branch - гілка (stable, testing, unstable)
- sections - список розділів дистрибутива розділений пробілами (зазвичай main contrib non-free)
Якщо ж вам потрібно вказати шлях до каталогу з пакетами (наприклад програма, яка не є частиною Debian), то слід внести в файл /etc/apt/sources.list наступні рядки:
deb protocol: // host / path path-to-archive / deb-src protocol: // host / path path-to-archive /
- protocol - протокол (file, http, ftp)
- host / path - hostname дзеркала і шлях до ієрархії Debian
- path-to-archive - шлях до каталогу з файлом Packages.gz, зверніть увагу на те, що `` / '' обов'язковий
Рядок deb-src не обов'язкова, і потрібна тільки в разі, якщо ви збираєтеся самостійно перекомпілювати будь-якої пакет.
Більш детальну інформацію ви можете знайти в документації на apt і в списках розсилки Debian. присвячених створенню `` допоміжних '' депозитаріїв Debian.
5.7 Я додав новий рядок в /etc/apt/sources.list але пакети не ставляться!
Якщо компакт диск створений стандартними засобами і має стандартну структуру каталогів Debian (наприклад, будь-який з дисків створених debian-cd або jigdo), досить ввести команду
і `` познайомити '' apt з новим диском.
5.9 Як отримати образи компакт-дисків Debian?
Можна завантажити ISO9660 образи дисків на будь-якому з дзеркал, яке ви знайдете на сайті Debian. але чи готові ви до того, що після скачування образу в 650 мегабайт, його md5 сума буде неправильною. )
Існують два більш приємних способу роздобути образи дисків Debian.
- купити копію офіційних дисків
- скористатися програмою jigdo
Якщо ж ви вирішили завантажити образи Debian. настійно рекомендую скористатися програмою jigdo. Вона є як під практично будь-який * NIX. так і під Windows. Її принцип роботи полягає в тому, що ви повинні завантажити `` заготовку '' диска в
50 мегабайт, і вказати дзеркало з якого завантажити файли дистрибутива. jigdo самостійно завантажить файли, складе їх певному місці для подальшого використання, а потім збере з них диск ідентичний тому, з якого робилася заготовка, що і підтвердить потім, перевіривши md5 суму.
Використовуючи jigdo і маючи поблизу гарне дзеркало Debian ви зможете мати завжди диски зі свіжим testing або диски з тієї чи іншої альтернативної комплектацією.
Якщо ви правильно вказали джерела пакетів в /etc/sources.list і виконали команду apt-get update. досить виконати команду apt-get dist-upgrade.
apt-get install Имя_Пакета
При установці пакета завжди перевіряються залежності, і якщо становленнЯ пакета вимагає установки або видалення інших пакетів, вам буде запропоновано ознайомитися з можливими наслідками.
У разі, якщо ви маєте просто файл пакета, і впевнені, що все залежить задоволені, можна встановити пакет командою
dpkg -i імя_пакета.deb
apt-get remove Имя_Пакета
якщо ви хочете залишити файли налаштувань, або
apt-get remove -purge Имя_Пакета
якщо ви хочете видалити пакет так, ніби він у вас і не був встановлений.
При видаленні пакета завжди перевіряються залежності, і якщо видалення пакета вимагає установки або видалення інших пакетів, вам буде запропоновано ознайомитися з можливими наслідками. приклад:
5.13 Як мені зробити власний .deb пакет?
Я розгляну тут простий спосіб, заснований на ручному складанні пакету, без використання специфічних утиліт типу deb-make та інших.
Для початку, ви повинні мати, то що вам потрібно встановити за допомогою зібраного вами пакету. Шлях це буде якась утиліта, що розширюють можливості системи. (З тим же успіхом - це можуть бути додаткові файли шрифтів або ще що-небудь). Нехай ця утиліта називається probe. Покладемо, що до цієї утиліті ви написали сторінку керівництва man з назвою probe.1 і крім того покладемо, що є якийсь файл, де розібраний приклад роботи з даною утилітою з ім'ям example. Шлях файл з прикладом і сторінка керівництва називаються супроводжуючими файлами.
Важливо, щоб ви представляли, де повинна бути розміщена ця утиліта і супроводжуючі її файли. Зазвичай виконувані файли розміщують в / usr / bin. Сторінки керівництва man розміщують в /usr/man/man.1. а всякі приклади в / usr / lib / імя_утіліти. Нехай так буде і в нашому випадку.
Отже, виконуємо наступні кроки:
- Створюємо тимчасовий каталог з ім'ям DEB
- Створюємо в цьому каталозі підкаталоги, в які потрібно помістити утиліту і супроводжуючі файли
Створюємо в цьому каталозі підкаталоги, в які потрібно помістити утиліту і супроводжуючі файли. При цьому каталоги створюються так, як ніби DEB є кореневим каталогом. Таким чином, в нашому випадку, файли повинні бути розміщені таким чином:
Ось для чого вони потрібні:
Скрипт, що виконується після видалення пакета
Незайвим буде нагадати, що скрипти повинні мати права на виконання, інакше нічого виконується у вас не буде.
Я розгляну тут простий спосіб, заснований на ручному складанні пакету, без використання специфічних утиліт типу deb-make та інших.
Зверніть увагу. перед фразою This is my utility пробіл. Він вказує, що дана фраза є продовженням опису.
Якщо його не поставити, то при складанні пакету ви отримаєте повідомлення про помилку.
- Створіть та заповніть решту файли, зазначені в таблиці, якщо ВАШОМУ пакету це потрібно (в даному випадку вони не потрібні).
- Для генерації .deb пакета наберіть команду
dpkg -b імя_каталога імя_пакета.deb
У нашому випадку ця команда буде виглядати так:
dpkg -b DEB probe-1.0.deb
Якщо ви правильно виконали всі описані вище інструкції, то ви отримаєте файл probe-1.0.deb. який ви можете встановити через команду
dpkg -i probe-1.0.deb.
5.14 Мені потрібна програма foo. а вона не входить в стабільний дистрибутив bar / не є частиною архіву Debian. Що мені робити?
Якщо ця програма не входить в Debian. зверніться до списку розсилки та сайту її розробників.
Якщо ж програму ще ніхто не зібрав (або не розмістив в зібраному вигляді в Internet), спробуйте самі! Якщо у вас вийде - розмістіть готові пакети, вихідні тексти і патчі у вигляді депозитарію Debian. і повідомте з відповідного списку розсилки про це.
У разі, якщо програма є не входить в Debian. її ліцензія не суперечить DFSG. і у вас є бажання, можливість і час підтримувати її для всіх платформ, підтримуваних Debian. спробуйте стати 2 Debian Developer - увійдіть в співтовариство розробників Debian.