Управление на софтуер във FreeBSD

Тази кратка статия демонстрира как да направите почистване на пакетната система и портнатите приложения на FreeBSD, с цел възстановяване на дисково пространство.

В същото време системата се актуализира и целият неизползван софтуер се премахва.

Целият процес е разделен на серия от интерактивни стъпки, които са описани подробно по-долу.


Актуализиране на пакети:

root@FreeBSD:/root# pkg update

root@FreeBSD:/root# pkg upgrade

Проверка на интегритета на инсталираниоте пакети и зависимостите:

root@FreeBSD:/root# pkg check -sa

root@FreeBSD:/root# pkg check -da

Първата команда проверява чек сумите на всички инсталирани пакети, а втората проверява зависимостите и инсталира липсващите.

 

Следващата команда маха неизползваните пакети или такива, които не са необходими:

root@FreeBSD:/root# pkg autoremove

!!! Използвайте много внимателно, защото често се случва pkg autoremove да изтрие пакет, който се използва, но е инсталиран като зависимост!!!

Преди да използвате pkg autoremove, препоръчвам да използвате:

root@FreeBSD:/root# pkg autoremove -n

Което ще покаже кои пакети ще бъдат премахнати, без да ги премахва.

Почистване на кеша на свалените пакети:

root@FreeBSD:/root# pkg clean

Тази команда изтрива предишните версии на изтеглените пакети. Ако искате да изтриете целия кеш, стартихрайте:  

root@FreeBSD:/root# pkg clean -a.

Ъпдейт на портнатите приложения: При свежа инсталация е необходимо да се убедите, че директорията /usr/ports е празна.

root@FreeBSD:/root# rm -fr /usr/ports/*

След това инсталирате git:

root@FreeBSD:/root# pkg install git

След това инсталирате новата колекция от портнати приложения:

root@FreeBSD:/root# git clone https://git.freebsd.org/ports.git /usr/ports

Това се прави еднократно на свежа инсталация на FreeBSD. След това само се ъпдейтва:

root@FreeBSD:/root# cd /usr/ports/
root@FreeBSD:/usr/ports# git pull

 

След това, ако смятате да използвате колекцията от портнати приложения, трябва да инсталирате portmaster:

root@FreeBSD:/root# cd /usr/ports/ports-mgmt/portmaster/
root@FreeBSD:/usr/ports/ports-mgmt/portmaster# make install clean

root@FreeBSD:/root# portmaster --check-depends

Тази команда проверява зависимостите при инсталираните приложения през колекцията от портнати приложения.

Търси остарели записи в дървото на портовете:

root@FreeBSD:/root# portmaster -y --check-port-dbdir

Почиства портове, които вече не са необходими и зависимости, заедно с несвързани изходни файлове към инсталиран порт:

root@FreeBSD:/root# portmaster -y -s

Почиства изходните файлове:

root@FreeBSD:/root# portmaster -y --clean-distfiles

Ако това е стара система, минала през няколко миграции, може да е по-лесно да изтриете всички изходни файлове ръчно:


root@FreeBSD:/root# rm -fr /usr/ports/distfiles/*

Ако искате можете да вкарате всичко това във скрипт (аз лично не Ви съветвам да го правите) но, ако все пак някой иска:

!/bin/sh



pkg update -q
pkg upgrade -y
pkg check -qy -sa
pkg check -qy -da
pkg autoremove -qy
pkg clean -qy
portsnap fetch update
portmaster --check-depends
portmaster -y --check-port-dbdir
portmaster -y -s
portmaster -y --clean-distfiles