ABS
| Rezumat |
|---|
| Arch Build System este un sistem bazat pe porturi pentru crearea și împachetarea software-ului din codul sursă. Acest articol conține o prezentare generală a ABS urmată de instrucțiuni de folosire detaliate. |
| Prezentare generală |
| Pachetele din Arch Linux sunt construite folosind makepkg și un script personalizat pentru fiecare pachet (cunoscut sub numele de PKGBUILD). Odată ce a fost construit, programul poate fi instalat și gestionat de către pacman. PKGBUILD-urile pentru software-ul din depozitele oficiale sunt disponibile în ierarhia ABS; alte mii de pachete sunt disponibile (fără suport oficial) în AUR. |
| Resurse |
| ABS FAQ |
| Arch Packaging Standards |
| Creating Packages |
| Kernel Compilation with ABS |
ABS - Sistem de Arhitectură Build
Cuprins |
Ce este ABS?
ABS este Arch Build System (Sistem de Construire Arch). El este un sistem de tip 'ports' (porturi), și este folosit pentru construirea și împachetarea software-ului din cod sursă. În timp ce pacman este un instrument specializat pentru managementul pachetelor binare Arch, (inclusiv pachete construite cu ABS), ABS este un instrument specializat în compilarea sursei într-un pachet instalabil Pkg.tar.gz.
Ce este un sistem de tip 'ports'?
'Ports' este un sistem utilizat de către FreeBSD, care face ca descărcarea, construirea şi instalarea de software din surse terţe să fie foarte uşoară. Un 'port' este un mic director în computerului utilizatorului, numit după software-ul corespondent care trebuie instalat și care conţine câteva fişiere cu instrucţiuni pentru descărcare şi instalarea unei aplicații din sursă, de obicei navigând în director, sau port, şi folosind “make şi “make install”. Apoi sistemul va descărca, compila şi instala software-ul dorit.
ABS este un concept similar.
ABS este construit dintr-un director arbore (ABS TREE), cu reşedinţa în /var/ABS, care conţine mai multe subdirectoare, fiecare într-o categorie, şi fiecare pachet în parte cu numele respectiv. Acest arbore reprezintă (dar nu conţine) toate software-ul oficial Arch, prin SVN sistem. Poate face referire la pachetul-numit din subdirector ca respectiv "ABS" în special la cel care vă referiţi ca "port". Aceste ABS sau subdirectoare, nu conţin pachete de programe, nici pachete sursa, ci mai degrabă, să conţină un fişier PKGBUILD, (şi, uneori, alte fisiere). Un PKGBUILD este un simplu script Bash - un fişier text care conţine instrucţiunile de compilare şi de arhivare, precum şi URL-ul de la sursa corespunzătoare arhivei pentru a putea fi descărcată. (Cea mai importantă componenta a ABS-ului este PKGBUILDs) Prin folosirea comenzii de ABS makepkg, mai întâi software-ul este compilat, apoi arhivat (packaged) în interiorul directorului creat înainte de a fi instalat. Acum aveţi posibilitatea de a utiliza Pacman, Arch Linux Package Manager pentru a instala, actualiza, şi sterge noul pachet.
Trecere în revistă
Instalaţi ABS cu pacman-Sy ABS. Rulați “ABS” ca root. Se creează astfel arborele ABS care se sincronizează cu serverul Arch Linux. Dacă vreţi să construiți un pachet din sursă trebuie să copiați fişierele (de obicei le găsiţi în /var/abs/<reop> / <pkgnume>) într-un director, să navigaţi la acel director, să editaţi PKGBUILD ( dacă doriţi sau este necesar) după care folosiţi comanda makepkg.
În conformitate cu instrucţiunile din PKGBUILD, makepkg va descărca corespunzător sursa arhivată, dezarhivează arhiva, aplică eventualele patch-uri, iar în funcţie de CFLAGS specificate în makepkg.conf se compilează programul si apoi comprimă fişierele într-un pachet cu extensia Pkg.tar.gz.
PKGBUILDs pot fi personalizat pentru a se potrivi nevoilor unice de configurare, sau pentru aplicarea de patch-uri. Instalarea este la fel de uşoară folosind comanda pacman -U <. Pkg.tar.gz fişier>. Pentru a şterge un pachet se foloseste tot comanda pacman.
Puteţi folosi, de asemenea, makepkg pentru a vă face propriul personalizator de pachete din AUR sau din alte surse.
Cu ABS Tree în loc, un utilizator Arch are toate pachetele distribuţiei disponibile la îndemână, pentru a compila de la sursă, în mod automat un pachet ca Pkg.tar.gz şi, în final instalarea acestuia cu pacman.
ABS Prezentare generală
'ABS' poate fi folosit ca umbrella term, deoarece nu este inclus şi se bazează pe o serie de alte componente. Prin urmare, deşi nu este corect din punct de vedere tehnic, "ABS" se poate referi la următoarea structură şi instrumente ca un complet set de instrumente:
- Arborele ABS: ABS directorul de structură; o ierarhie SVN în / var / ABS / (local) machine. Directorul conţine numeroase subdirectoarele cu numele fiecărui soft oficial a distribuţiei Arch Linux, specificate în / etc / abs.conf, dar nu şi pachetele în sine.
- ABS: Un set de instrumente pentru a prelua şi de a construi Arch Linux PKGBUILD-uri. Un exemplu PKGBUILD este de asemenea inclus.
- makepkg: comandă ABS care citeşte PKGBUILD, compilează o sursă, după care creează pachetul .pkg.tar.gz.
- pacman: Pacman este complet separat de ABS, dar este necesar fiind invocat prin makepkg sau manual, pentru a instala sau elimina pachetele construite, precum şi pentru preluare de dependenţe.
- AUR: The Arch User-Community Repository este separat de ABS, dar AUR oferă PKGBUILD-uri [neoficiale] ce pot fi construite folosind instrumentul ABS makepkg pentru a compila pachetul software.. AUR conţine peste 8000 de contributii PKGBUILD care nu sunt disponibile în pachetele oficale ale distribuţiei Arch Linux. Dacă aveţi nevoie să construiţi un pachet în afara distribuţiei oficiale al arborelui Arch, le puteţi gasi în pagina AUR.
De ce aş vrea să utilizez ABS?
The Arch Build System (ABS scurt) este folosit pentru:
- Pentru a recompila un pachet, pentru orice motiv.
- Crează şi instalează pachete noi din sursă pentru programe fără nici un pachet disponibil.
- Particularizaţi pachete existente pentru potrivirea nevoilor dumneavoastră (activarea sau dezactivarea opţiuni, patching).
- Recompilaţi întregul sistem, folosind compilator cu flaguri, "a la FreeBSD" (p.e cu pacbuilder)
- Curaţă şi instalează propriul kernel.
- Copiază modulele kernelului pentru kernelul personalizat.
- Uşor de compilat şi de instalat o nouă, veche, beta, sau de dezvoltare versiune a unui pachet, prin editarea versiunii în PKGBUILD.
ABS nu este necesar să se folosească în distribuţia Arch Linux, dar este util pentru automatizarea anumitor sarcini de sursa de compilare.
Instalare de pachete
Pentru a utiliza ABS, mai întâi trebuie să instalaţi ABS; aceasta se poate face prin simpla comandă:
pacman -S abs
Înainte de a putea construi ceva aveți nevoie de asemenea de pachetele necesare compilării. Acestea sunt incluse în grupul base-devel. Acest grup poate fi instalat cu:
pacman -S base-devel
/etc/abs.conf
Ca root editați /etc/abs.conf pentru a include pachetele dorite:
vim /etc/ abs.conf
Scoateţi din partea din faţă semnul ! pentru pachetele care vor fi incluse: REPOS=(core extra community !testing)
Creaţi Arborele ABS
Ca root tastaţi comanda:
ABS
După tastarea acestei comenzi, abs este acum creat în /var/abs Comanda ABS se folosește de asemenea pentru a sincroniza periodic ABS şi pentru actualizarea Arborele ABS.
/ etc / makepkg.conf
Acest fişier conţine configuraţiile compilatorului. Când rulaţi ABS pentru prima dată, se sincronizează arborele ABS cu Arch Linux server. Deci, ce este mai exact Arborele ABS: Este un SVN, ierarhia directorului află în / var / ABS, ea arată astfel:
ABS structură
| -- core/ | || -- base/ | || || -- acl/ | || || || -- PKGBUILD | || || -- attr/ | || || || -- PKGBUILD | || || -- ... | || -- devel/ | || || -- abs/ | || || || -- PKGBUILD | || || -- autoconf/ | || || || -- PKGBUILD | || || -- ... | || -- ... | -- extra/ | || -- daemons/ | || || -- acpid/ | || || || -- PKGBUILD | || || || -- ... | || || -- apache/ | || || || -- ... | || || -- ... | || -- ... | -- community/ | || -- ...
Deci, arborele ABS are exact aceeaşi structură ca pachetul de bază de date:
- primul nivel directorele reprezintă categorii
- al doilea nivel, directoarele ABS contin pachetele pe care vom dori să le instalăm.
- PKGBUILD conţine toate informaţiile necesare cu privire la pachet.
- în plus, un director ABS pot conţine patch-uri şi / sau alte fişiere necesare pentru construirea de pachete.
Creaţi un director
Trebuie să creaţi un director unde veţi compila pachet-ul dorit
mkdir-p $ HOME / ABS
Acum, că ştii ce este Arborele ABS, cum putem să-l utilizăm?
Metoda tradiţională
Metoda pentru instalarea unui pachet:
- Dezarhivare pachet:
tar-xzf foo-0.99.tar.gz tar-xjf foo-0.99.tar.bz2
- Intrare în director
CD-foo 0.99
- Configurare pachet:
./configure [[opţiune]]
- Compilare sursă:
make
- Instalează pachet:
make install
- Dezinstalare pachet:
make uninstall
Metoda ABS (exemplu instalare slim):
Copiaţi pachet-ul slim din ABS
cp -r /var/abs/extra/slim/ /home/yourusername/abs
- Intraţi in director
cd /home/yourusername/abs/slim
- Modificaţi PKGBUILD (opţional)
nano PKGBUILD
- Instalaţi pachet-ul:
makepkg -s
- Instalati pachet-ul ca root:
pacman -U slim 1.3.0-2-i686.pkg.tar.gz
- Pentru ştergere:
pacman –R slim