Встановлення додаткових програм із пакетів (packages)
"Пакети" - це архіви типу *.tgz (tar-архів, стислий GNU zip'ом), у яких лежать вже зібрані бінарники. А також мануали до них, необхідні конфіги і т.п.
Звичайно, бінарники зібрані під конкретну версію системи, тому бажано їх не плутати. Хоча це не завжди критично.
Також у цих архівах лежать кілька допоміжних файлів, які дозволяють встановлювати їх автоматично.
Використовуючи ці файли, утиліта встановлення пакетів розкладає все на свої місця та реєструє пакет.
Крім того: Деякі пакети "спираються" на інші. Тобто для нормальної роботи пакета необхідно, щоб у вас уже було встановлено якийсь інший пакет або пакети (зазвичай бібліотеки). Звісно, у разі програма установки перевіряє наявність всього необхідного. Під час встановлення деяких пакетів потрібно виконати якісь додаткові дії крім просто розкладання файлів по директоріям. У такому випадку пакет додається "інсталяційний скрипт" (командний файл), який утиліта установки і запустить в потрібний момент.
У директорії /var/db/pkg створюється директорія з тією самою назвою, що й пакет, у якому розміщуються кілька файлів. У цих файлах знаходиться
- короткий опис пакета;
- список всіх файлів з пакета, із зазначенням - де який лежить;
- додаткові скрипти, що виконуються при інсталяції пакета та при видаленні (якщо, звичайно, такі є);
- і якщо файли цього пакета використовуються іншими пакетами, то тут же зазначається, ким пакет використовується. (Звичайно, ці записи з'являться потім, коли ви встановлюватимете "підлеглі" пакети).
Всі ці дані використовуються відповідними утилітами, які
- додають пакети
- видаляють пакети
- показують різноманітну інформацію про встановлені пакети
Далі все зробиться автоматично. Хоча, якщо в пакеті є "інсталяційний скрипт", він, можливо, захоче поставити вам кілька запитань.
Ще, можливо, вам доведеться потім "вручну" відредагувати конфігураційні файли. Але це вже залежить від програми, яку ви ставите.
Точне ім'я пакета можна переглянути в /var/db/pkg . (Навіть якщо ви щодня користуєтеся програмою elm, наприклад, це ще не означає, що ви безпомилково назвете ім'я пакета, звідки його поставили - elm-2.4ME+8 :-)
При видаленні пакета можуть виникнути певні труднощі.
По-перше, якщо пакет використовується іншими пакетами, утиліта відмовиться видаляти його. Однак її можна змусити це зробити за допомогою ключа -f.
По-друге, якщо при встановленні пакета для нього спеціально створювалися будь-які директорії, зазвичай, при видаленні пакета вони не видаляються. Знову ж таки, утиліту видалення можна змусити це робити ключем -d.
І, нарешті, деяке "сміття" все одно може залишитися. Наприклад, якщо для якоїсь програми кожен користувач може мати власний конфіг у домашній директорії, природно ніхто їх підчищати не буде.
man pkg_add - встановлення пакетів man pkg_delete - видалення пакетів man pkg_info - виведення інформації про встановлені пакети Ну, і ті, які будуть вказані в цих мануалах у розділі See Also (дивись також.).