система портежей

Система портежей. Інструкція користувача

Це керівництво коротко охоплює принцип установки нових пакетів і підтримки вашої системи в належному вигляді.

Завантаження дерева Portage

Після установки Gentoo Linux та ігор з системою ви можете виявити деякі баги в деяких пакетах, або захотіти встановити більш пізні версії цих пакунків, або оновити існуючі пакети. Для цього вам буде потрібно завантажити наше Portage дерево. Ми підтримуємо анонімний rsync-сервер, з якого можна отримати останню версію цього дерева. І тут розповідається, як це зробити.

Наступну команду використовуйте для синхронізації системи Portage:

Отримання нового Portage дерева

Будь ласка, зверніть увагу, що emerge rsync автоматично викликає опцію / - clean /, яка видалить будь-яке з ваших особистих змін або доповнень до дерева / usr / portage, якщо Ви бажаєте тримати ваші власні ebuilds скрипти окремо від головного дерева Portage, будь ласка використовуйте функцію PORTDIR_OVERLAY

Додайте цей рядок в /etc/make.conf

Якщо ви вносите регулярні зміни, усуваючи помилки і деякі дефекти в своєму дереві Portage, то можливо ви б хотіли стати учасником групи супроводу Gentoo Linux. Для додатково інформації, зв'яжіться будь ласка з Daniel Robbins або Seemant Kulleen.

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

Це покаже вам які пакети необхідно оновити

Це оновить необхідні пакети

Після цього ви отримуєте більш сучасну версію Protage, і готові до того, щоб використовувати нашу ebuild-систему для оновлення вашого встановленого програмного забезпечення.

Введення в emerge

Перед установкою пакета, було б гарною ідеєю подивитися які залежно потрібні для установки, які пакети необхідно оновити і т.д. emerge --pretend або emerge -p зробить це для вас.

Використання emerge -p

В даному випадку ми приймаємо, що / xchat / встановлюватиметься на машині без XFree. Тобто emerge --pretend правильно встановлює, що багато залежності повинні бути задоволені в першу чергу. Зокрема, що sys-libs / zlib і dev-libs / glib повинні бути оновлені, і що інші (включаючи, зрозуміло, x11-base / xfree) повинні бути зібрані

Вище команда emerge --pretend була виконана в системі, в якій значення gnome не було визначено в змінної USE файлу /etc/make.conf. Це означає, що опциональная підтримка GNOME, якщо це середовище зафіксовано і він не буде доступна. Однак для xchat таку підтримку включити можна, якщо виконати команду emerge --pretend після додавання значення gnome в змінну оточення USE файлу /etc/make.conf. У цьому випадку висновок команди:

Використання emerge c USE змінними

Як можна бачити, після додавання gnome до змінної USE, команда emerge розпізнає, що xchat повинен включати підтримку GNOME. І звичайно, для реалізації цієї підтримки GNOME попередньо повинен бути встановлений. Команда emerge показує все це і додає різні пакети, необхідні GNOME, в список кандидатів на збірку. У той же час, якщо змінна USE визначена не цілком правильно, це може викликати те, що emerge не розпізнає включення або виключення різних опціональних розширень. Внаслідок цього рекомендується завжди випереджати дійсне виконання команди emerge командою emerge --pretend, особливо для нових, не надто знайомих ebuild скриптів. Тоді ви будите знати, що вам слід очікувати. :) Тільки після цього слід виконувати дійсну збірку з пропуском опції --pretend, що робиться в такий спосіб

Після того, як всі необхідні залежностями пакети будуть зібрані (якщо вони є, не всі пакети можуть бути в наявності), вихідні коди xchat будуть завантажені (в каталог / usr / portage / distfiles), верифіковані на предмет контрольних сум, розпаковані, скомпільовані і встановлені в тимчасовий каталог. Потім, він буде поміщений в локальну файлову систему і в базі даних пакетів буде створений файл /var/db/pkg/net-irc/xchat-1.4.3/CONTENTS, що містить список всіх встановлених файлів і їх контрольних сум.

оновлення пакетів

Стандартний спосіб поновлення пакетів в Portage це використання emerge --update або emerge -u.

Використання emerge -u

В системі Portage це зветься безпечним видаленням; воно поширюється тільки на незв'язані оригінальні файли. Якщо якийсь файл перезаписується або модифікується в цей самий час, це буде відображено в файлової системі (зазвичай таке буває, якщо встановлювалася нова версія пакету) .І, відповідно, якщо виконати unmerge до старої версії xchat після складання нової, то виконуваний файл xchat НЕ буде видалений з файлової системи, так як має інші тимчасові атрибути і контрольну суму. Тобто безпеку такого видалення дійсно велика, тому що забезпечує доступність будь-якої версії в будь-який час. Якщо видалити стару версію перед установкою нової, програма не буде доступна якийсь час, поки остання скачується, компілюється і т.д

Система портежей має спеціальну особливість, іменовану захистом конфігураційних файлів (config file protection). Її призначення - запобігти зміні інсталюється пакетами існуючих конфігураційних файлів. За замовчуванням захист конфігураційних файлів діє на файли з каталогу / etc і з конфігураційних каталогів KDE. Інші каталоги можуть бути додані в майбутньому. Деталі дивіться по команді emerge --help config.

Схожі статті