Оновлюємо пакети через portmaster, виконую установку, настройку, супровід серверів

Час від часу доводиться оновлювати ПО з тих чи інших причин (знайшли уразливість або додався новий функціонал). Є чудово утиліта portupgrade. Але вона написана на ruby. а значить при установці потрібно буде ставити ruby. Що не завжди виправдано, коли у вас не планується використовувати ruby.

Що ж робити? Вихід є. Будемо використовувати утиліту portmaster. Вона написана на shell. а значить досить швидко буде виконуватися і не вимагає залежностей. Нижче буде представлений короткий огляд можливостей даної утиліти з прикладами.

За замовчуванням вона не йде в базовій поставці FreeBSD. тому її потрібно встановити окремо. Наприклад, через порти:

#cd / usr / ports / ports-mgmt / portmaster make install clean

Вилізе діалогове вікно з вибором установки доповнень для оболонок bash / zsh. Якщо ви ними не користуєтеся - можете нічого не вибирати.

Після установки рекомендую пройтися по конфігураційному файлу /usr/local/etc/portmaster.rc і виставити такі змінні:

Як бачимо, є 2 нових пакета, які можна оновити.

Назва пакета має бути повністю, разом з версією. Наприклад, php5-sockets-5.3.6

При цьому якщо потрібно оновити залежності, portmaster про це попередить і видасть запит. продовжувати чи ні.

Без параметрів portmaster буде оновлювати так само і залежні пакети. Якщо потрібно оновити тільки деякі пакети, то використовуйте опцію '-i'. яка дозволить вибрати будь пакети потрібно оновити.

4) Заміна версії пакету інший.

Дуже зручно, коли потрібно оновитися не в межах поточної гілки, а через гілку. Наприклад, оновити php5.2 до php5.3. У портах ці версії рознесені по різних гілках. Робимо так:

#portmaster -o dev / php5 dev / php52

5) Оновлення всіх пакетів, для яких доступні оновлення.

де параметр '-d' означає видаляти старі версії пакетів

6) Вибір джерела оновлень: пакети або порти.

Якщо для вас збірка з портів займає багато часу, можна вказати portmaster'y пробувати оновлюватися спочатку через пакети, і якщо немає потрібної версії, тоді -через порти:

#portmaster -P vim

Якщо вказати ключ '-PP' то буде проведено оновлення ТОЛЬКО ИЗ ПАКЕТІВ. Якщо потрібної версії не виявиться, тоді пакет не буде оновлено.

7) Видалення порту і всіх залежностей невикористовуваних іншими

# Portmaster -e exim portmaster -s exim

Навігація по публікаціям