Тази кратка статия демонстрира как да направите почистване на пакетната система и портнатите приложения на 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