PKGSRC
Фреймворк для управління портативним програмним забезпеченням
Що таке pkgsrc ?
Pkgsrc (Package Source) це фреймворрк для управління програмного забезпечення,
спочатку розроблена для NetBSD. З тих пір була перенесена на багато операційних
систем, такі як Linux, Solaris, AIX, FreeBSD, Windows, Interix, OSF\1, Minix, HaikiOS ...
PKGSRC впорядкований ієрархією каталогів і файлів Makefile, який виконується для
встановлення програмного забезпечення та всі його залежності від коду до бінарного файлу.
Крім того деякі програми доступні для автоматизування та обслуговування.
Операційні системи
Операційні системи що пітримують pkgsrc, але не обмежуються ними:
NetBSD
Solaris / SmartOS / illumos
Linux (OpenSUSE, Slackware, Fedora, RHE, Debian)
Darwin (Mac OS X)
FreeBSD
OpenBSD
IRIX
AIX
DragonFlyBSD
OSF/1
HP-UX
QNX
Haiku
MirBSD
Minix3
Cygwin
GNU/kFreeBSD
Ієрархія каталогів pkgsrc:
////////////////////////////////////
Навіщо вам потрібем pkgsrc ?
На сучасних комп'ютерах кілька сотень програм встановлюються.
Все це програмне забезпечення підтримується для оновлень, слідкування за безпекою
виправлень помилок та інше. З ростом залежностей між пакетами зростає
проблема для створення пакету, та його робота з іншими пакетами. Робити цю роботу
практично не можливо - особливо коли потрібно підтримувати різні ОС та різні архітектури та різні версії.
Для встановлення програмного забезпечення вручну, потрібно знати всі необхідні інструменти для
збирання пакетів, від автоматичного збирання, до стабільної роботи пакету.
Ніхто не хоче проводити цілий робочий день тільки, щоб з'ясувати, який буде набір інструментів для встановлення, для даної програми.
З PKGSRC всі ці завдання можуть бути автоматизовані і об'єднані - навіть в гетерогенній мережі з різнимим ОС і архітектурами.
Окремі пакети з ОС
Деякі ОС зберігають файли конігурації разом по всій системі, це робить технічне ослуговування
складніше, ніж вона вже є. PKGSRC відокремлює ОС від пакетів, все є в єдиному каталозі в /usr/pkg/.
Конфігураційні файли і бінарні файли зберігаються в порядкованій ієрархії каталогу, яка використовуєтсья виключно пакетами.
/usr/pkg/bin - бінарні пакети
/usr/pkg/etc - конфігураційні файли для програми
/usr/pkg/lib - бібліотеки
/usr/pkg/man - файли допомоги
/usr/pkg/sbin - системні бінарні файли
/usr/pkg/share - додаткові файли, наприклад документація
Попередньо скомпільовані пакети або компіляція джерельного ?
Не залежно від того, як ви вважаєте за краще програмне забезпечення - pkgsrc вам може в цьому допомогти.
Якщо ви хочите встановити бінарні пакети, потрібно просто налаштувати одну змінну оточення і pkgsrc буде використовувати бінарні файли.
Багато ентузіастів з усього світу компілюють програмне забезпечення з pkgsrc для різних ОС та платформ.
Ці пакети будуть завантажені на ftp://ftp.pkgsrc.org і вільно доступні всім користувачам. Компіляція з вихідних текстів так само легко, як за допомогою
бінарних пакетів. PKGSRC автоматично вирішить усі проблеми з залежностями, завантажити код та встановити його. Через pkgsrc можнастворити бінарні пакети.
Ці пакети можуть бути встанволені в інших машинах. Можна зібрати пакет для повільних машин на виділеному сервері чи навіть кросплатформений пакет.
Один файл з правилом для усіх!
Весь процес складання управляється через один текстовий файл!
У /etc/mk.conf, всі необхідні змінні оточення можуть бути скориговані.
Ці змінні визначають глобальні параметри, який
компілятор і які каталоги слід використовувати під час компіляції
або там, де повинні бути встановлені сторінки людини пакетів. в
Крім глобальних опцій, специфічні для пакета параметри можуть бути
використовуватися для настройки пакетів, наприклад які залежності, або яка
версія повинна бути використана.
Як використовувати Pkgsrc?
Отримати Pkgsrc з pkgsrc.org через CVS або FTP і розархівувати його на
ваш жорсткий диск. Pkgsrc є ієрархією каталогів і файлів,
відсортовані за категоріями. Щоб встановити пакет, просто введіть
певний каталог і тип make install clean clean-depends -
Pkgsrc інше зробить за вас!
Які Make методі можна застосувати ?
• make fetch: отримати код
• make checksum: перевірка коду
• make install-depends: установка залежностуй
• make extract: розархівувати пакет
• make patch: застосовувати патчі до вихідних файлів
• make configure: конфігурація коду
• make build: компіляція пакету
• make install: встановлення програми
• make package: створення бінарного пакету з коду
• make clean: очищення робочої папки
• make clean-depends: видалення робочої директорії та файлів залежностей
• make deinstall: видалення пакету
• make replace: заміна пакету на нову версію
• make update: оновлення пакету з залежностями
• make fetch-list:згенерувати скрипт для вилучення коду за допомогою FTP
• make show-options: показати доступні пакети
Додаткові програми
• pkg_admin виконувати різні адміністративні завдання
• pkg_add, pkg_delete встановлення та оновлення програми пакету
• pkg_chk перевірка на оновлення пакету
• pkg_tarup tars up installed software packages
• pkgfind пошук пакету по слову
• pkg_view установки пакетів в ізольованому оточенні
• cdpack створення компакт-дисків з бінарними пакетами
• pkg_select текстовий користувацький інтерфейс для Pkgsrc
Безпека
Як і проект NetBSD, Pkgsrc підкреслює безпеку. всі
вихідні файли і патчі підписані як з SHA1 і
RipeMD160 контрольна сума. Обидві контрольні суми перевіряються перед
розпакуванням коду і процесі установки, якщо зупиниться -
контрольні суми не збігаються.
На додаток до контрольних сумах, підписи OpenPGP можуть бути використані для
перевірити цілісності вихідних файлів. За допомогою включення цієї процедури,
майже неможливо записати троянських коней в пакетах.
Для пошуку небезпечних пакетів легко, проект Pkgsrc підтримує
список вразливостей. Цей текстовий файл містить список небезпечною
пакетів і їх уразливості. За допомогою аудиту програми
пакетів, список може бути залучена і автоматично порівнюються
для встановлених пакетів. Це завдання може бути автоматизована
з cron і може поліпшити вашу безпеку систем різко.
Установка як користувач
З Pkgsrc, користувач без root привілеїв можна встановити пакети
в його домашній каталог.
Документація
Вся система документована. Керівництво Pkgsrc вільно
доступна на http://www.NetBSD.org/Documentation/pkgsrc/
або як Pkgsrc / DOC / pkgsrc.txt.