articole
06.08.03 03:50Cream pachete proprii in Slackware.
Ultima modificare: 23.01.04 03:08

Instaland programele din surse , apare problema dezinstalarii , a reinnoirilor acestor programe .
Majoritetea distributiilor au un manager de pachete , precum este rpm,deb (sa nu luam in considerare GoboLinux) .
In acest articol va fi discutat procesul crearii pachetelor tgz , formatul nativ al Slackware Linux.
Managerul de pachete in Slackware este pkgtool (se discuta despre introducerea in versiunile urmatoare si a
swaret, care va completa utilitarul pkgtool) (N.A deja a fost introdus, il gasiti in directorul extra/ de pe CD-ul Slackware, alte utilitare - slackpkg,slapt-get).
Metoda 1 (makepkg):

Odata downloadat un program , mai intii dezarhivam sursele , de dorit in /tmp (in sistemul meu la
initiere se sterge automat continutul directorului /tmp , pentru a nu duce permanent contul spatiului
pe hard disk ) .

Odata dezarhivate , intram in directorul ce contine sursele , citim INSTALL, README (daca exista).
Urmeaza crearea fisierului Makefile , care se executa prin comanda
./configure --optiuni-ale_programului --prefix=/usr

(unele programe tind sa-si instaleze binarele in /usr/local/bin ...).
Odata creat Makefile , trecem la compilarea propriu zisa , prin comanda make. Daca totul a decurs cum
trebuie , avem binarele programului respetiv compilate .
Odata ce ne-am apucat sa cream propriile pachete , ne trebuie un director unde vom face acest lucru.
O ideie ar fi crearea unui director /build , in care cream inca unul - usr ->>
mkdir /build;cd /build;mkdir usr

Ne intoarcem in tmp , in directorul cu sursele programului si executam comanda make install
prefix=/build/usr
(nu --prefix,ci prefix) , sau , daca nu merge ,
make install root=/build/usr .
Astfel avem binarele , documentatia, librariile programului instalate in /build/usr/lib , /build/usr/bin,
/build/usr/sbin , /buil/usr/share/doc , etc.
Intram in /build , si daca dorim sa avem inclus in pachet si descrierea sa , cream directorul install -
mkdir install , intram in el si cu ajutorul unui redactor (vi,pico,emacs) cream fisierul slack-desc, care
trebuie sa contina ceva de genul:

root@office:/tmp/rxvt/install# cat slack-desc
# HOW TO EDIT THIS FILE:

# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.

|-----handy-ruler------------------------------------------------------|
rxvt: rxvt (terminal emulator)

rxvt:

rxvt: rxvt is a color vt102 terminal emulator intended as an xterm
rxvt: replacement for users who do not require features such as Tektronix
rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt
rxvt: uses much less memory -- a significant advantage on a machine serving
rxvt: many X sessions. Also included is rclock, an analog clock for X.
rxvt:

rxvt:

rxvt:

rxvt:

Ne intoarcem in /build si prin comanda makepkg nume_program.tgz cream pachetul propriu zis , care la
nevoie va putea fi dezinstalat, upgradat prin comenzile removepkg, respectiv upgradepkg. Atentie la
permisiile si proprietarul fisierelor din pachetul nou creat (putei alege aceasta dupa executarea makepkg).
Nu este bine sa includem si versiunea programului la makepkg, deoarece pot apare confuzii la upgradarea
ulterioara a acetui pachet, astfel makepkg httpd-2.0.47.tgz nu e bine , ci makepkg httpd.tgz (dupa
aceasta putem sa schimbam denumirea pachetului creat , fara nici o problema).
In privinta dependintelor - putem apela la ajutorul symlinkurilor - redactand la nevoie fisierul doinst.sh
din directorul /build/install .

Mai multa informatie puteti obtine apeland man pkgtool sau man makepkg.

Metoda 2 (checkinstall):

Voi scrie cat mai curand posibil despre asta.
Pana atunci incercati acest tutorial, e valabil si pentru tgz -urile din Slackware.

Sper ca acest articol va va ajuta sa va mentineti ordinea in sistem.

Autor: GRisha
Comentarii: 0

Adauga Comentariu:
Nume:
E-mail:
Cometariu: