Crearea pachetelor din porturi în FreeBSD

Crearea pachetelor din porturi în FreeBSD

access_time 2012/06/20

Cea mai potrivită și recomandată metodă de a instala softul necesar în FreeBSD este colecția de porturi. Desigur, există și pachete, însă ele pot fi ceva mai vechi decât porturile sau, nu au fost incluse opțiunile necesare.

Însă, compilarea softului devine irațională în cazul când este necesar să-l instalezi pe mai multe servere sau stații de lucru.

O soluție bună este de a folosi o mașină virtuală (VirtualBox, VMware, etc) pe care va fi compilat tot softul necesar, iar apoi – crearea package-ului, pentru ca apoi să fie distribuite și instalate cu pkg_add.

Primul pas este identificarea versiunii instalate pe prima mașină

# pkg_version -vs portupgrade
portupgrade-2.4.9.3,2 = up-to-date with port

Acum că am denumirea, pot trece la crearea package-ului. Majoritatea softului are dependențe, așa că recomand crearea unui directoriu aparte penru stocarea întregului set de package-uri.


# mkdir /usr/tmp
# cd /usr/tmp
# pkg_create -Rb portupgrade-2.4.9.3,2
# ll -h
total 4876
-rw-r--r-- 1 root wheel 2M Jun 20 08:02 db41-4.1.25_4.tbz
-rw-r--r-- 1 root wheel 93k Jun 20 08:02 portupgrade-2.4.9.3,2.tbz
-rw-r--r-- 1 root wheel 2.5M Jun 20 08:02 ruby-1.8.7.352_2,1.tbz
-rw-r--r-- 1 root wheel 169k Jun 20 08:02 ruby18-bdb-0.6.6.tbz

Acum că avem package-urile necesare, me putem transfera pe restul serverelor pentru a fi instalate cu

pkg_add portupgrade-2.4.9.3,2.tbz

Dacă sistemul destinație are deja instalat acest package și e necesar doar de upgrade, aceasta poate fi făcută cu ajutorul lui portupgrade :). Pentru aceasta este nevoie ca toate packge-urile să fie amplasate în /usr/ports/packages/All loc de unde portupgrade le va lua, în cazul care indici folosirea de package-uri.

portupgrade -P portupgrade

Îcă o recomandare la upgrade este de a folosi portupgrade cu opțiunea -b pentru a crea copii de rezervă a package-urilor existente (versiunea veche), așa că, dacă ceva merge prost, poți reveni la versiunea inițială.

Plus, e necesar ca systemul sursă și cel destinațe să fie cât mai apropiat similare (versiunea de OS, setul de soft instalat, etc) pentru a evita incompatibilități la upgrade, căci o dependență instalată strâmb poate duce la stricarea altor aplicații, care vor trebui upgradate și ele.

 

folder_openAssigned tags
content_copyCategorized under