Система портежей. Керівництво користувача, Linux, Операційні системи, статті

Автори:
Daniel Robbins
Thomas Flavel
John P. Davis

Переклад: Олексій Федорчук
Редактор: Іван Зенков

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

Швидкий старт

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

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

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

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

$ emerge rsync

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

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

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

PORTDIR_OVERLAY = “/ каталог / де / перебувають / ваші / ebuilds”

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

Оновлення Portage

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

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

$ emerge -up system

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

$ emerge -u system

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

Введення в emerge

emerge –pretend

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

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

$ emerge -p xchat
These are the packages that I would merge, in order.
Calculating dependencies……… done!
[ebuild U] sys-libs/zlib-1.1.3-r2 to /
[ebuild U] dev-libs/glib-1.2.10 to /
[ebuild N ] media-libs/jpeg-6b-r2 to /
[ebuild N ] x11-base/xfree-4.0.3-r3 to /
[ebuild N ] x11-libs/gtk+-1.2.10-r1 to /
[ebuild N ] media-libs/giflib-4.1.0-r3 to /
[ebuild N ] media-libs/tiff-3.5.6_beta to /
[ebuild N ] media-libs/imlib-1.9.10 to /
[ebuild N ] net-irc/xchat-1.4.3 to /

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

USE і emerge

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

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

$ emerge -p xchat
These are the packages that I would merge, in order.
Calculating dependencies………………………. done!
[ebuild N ] media-libs/jpeg-6b-r2 to /
[ebuild N ] gnome-base/libghttp-1.0.9 to /
[ebuild N ] media-libs/audiofile-0.2.1 to /
[ebuild N ] media-sound/esound-0.2.22-r2 to /
[ebuild N ] gnome-base/gnome-env-1.0 to /
[ebuild N ] gnome-base/libxml-1.8.11 to /
[ebuild N ] gnome-base/ORBit-0.5.8 to /
[ebuild N ] gnome-base/oaf-0.6.5 to /
[ebuild U] dev-libs/glib-1.2.10 to /
[ebuild N ] net-libs/libwww-5.3.2-r1 to /
[ebuild N ] media-libs/giflib-4.1.0-r3 to /
[ebuild N ] dev-util/guile-1.4-r3 to /
[ebuild U] sys-libs/zlib-1.1.3-r2 to /
[ebuild N ] x11-base/xfree-4.0.3-r3 to /
[ebuild N ] x11-libs/gtk+-1.2.10-r1 to /
[ebuild N ] media-libs/tiff-3.5.6_beta to /
[ebuild N ] media-libs/imlib-1.9.10 to /
[ebuild N ] gnome-base/gnome-libs-1.2.13 to /
[ebuild N ] gnome-base/glibwww-0.2-r1 to /
[ebuild N ] gnome-base/gdk-pixbuf-0.11.0 to /
[ebuild N ] gnome-base/gconf-1.0.0 to /
[ebuild N ] gnome-base/gnome-vfs-1.0.1 to /
[ebuild N ] gnome-base/control-center-1.4.0.1 to /
[ebuild N ] gnome-base/scrollkeeper-0.2 to /
[ebuild N ] dev-util/xml-i18n-tools-0.8.1 to /
[ebuild N ] gnome-base/libglade-0.16-r1 to /
[ebuild N ] gnome-base/gnome-core-1.4.0.4 to /
[ebuild N ] net-irc/xchat-1.4.3 to /

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

Установка xchat

$ emerge xchat

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

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

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

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

$ emerge -u xchat

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

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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*