Biblioteca de site rus-linux.net
Vă vom arăta cum să creați cele două tipuri de pachete de distribuție Linux cele mai obișnuite pentru distribuția software-ului și puteți distribui propriile dvs. pachete.
Vă vom îndruma prin procesul de creare a pachetelor software pentru cele două pachete cele mai populare de pachete DEB și RPM. Puteți utiliza aceste metode pentru a crea pachete de software sau chiar a însoți pachetele pentru software-ul pe care îl considerați că nu este observat.
Începem cu un ghid pentru a crea fișiere DEB ((.deb) pentru distribuții derivate din Debian -. În acest scop folosim ca baza noastră Xubuntu După aceea, vom descrie în tehnicile de detaliu necesare pentru a crea pachete RPM pentru utilizare în distribuțiile derivate din Red Hat , și pentru asta vom folosi Fedora.Often puteți crea un pachet pe o singură distribuție și apoi să îl instalați pe o distribuție asociată (de exemplu, Ubuntu> Debian), dar dacă acest lucru este important, atunci ar trebui să încercați singur.
În ceea ce privește programul, vom folosi browserul web Dillo ușor ca exemplu de pachet colectat din codul sursă. Când ansamblul este executat din codul sursă, în cazul în care ansamblul nu merge așa cum ar trebui, puteți ca de obicei să căutați soluții pe Internet. De exemplu, în cazul Dillo 3.0.3, am din cauza neglijenței în arhiva de cod sursă a trebuit să lucreze în echipă, adăugați „LIBS = -lX11“ pentru a construi echipe.
Ansamblul are loc în linia de comandă
Instalare (sau mașină virtuală) a Ubuntu și Fedora
Descrierea pas-cu-pas
Pasul 01: Utilizarea mașinii virtuale
Utilizarea unor instrumente de virtualizare, cum ar fi VirtualBox sau Vmware, este adesea cea mai bună abordare pentru crearea de pachete pentru alte sisteme. Pe de o parte, această abordare vă permite să mențineți o instalare de bază relativ curată, comparabilă cu setările cu care probabil vor funcționa și alții. Acest lucru înseamnă, de asemenea, că, folosind distribuții diferite, puteți obține o colecție de sisteme țintă. În plus, majoritatea instrumentelor de virtualizare vă permit să emulați diferite arhitecturi și, prin urmare, pe o platformă pe 32 de biți, puteți rula sisteme de operare pe 64 de biți, deși performanța va suferi.
Pasul 02: Începând de la zero
Dacă se întâmplă ceva în Ubuntu sau în Fedora, atunci este absolut sigur să ștergeți directorul original și să începeți din nou. Rețineți că instrumentele Debian schimbă arhiva sursă, deci va trebui să începeți cu o nouă copie.
Partea 1: Debian
Pasul 03: Instalați mediul de construcție
Vom începe prin instalarea majorității instrumentelor de care avem nevoie pentru a crea programe din codul sursă. tip:
Acum trebuie să instalăm instrumentele care sunt utilizate pentru a lucra cu pachetele DEB. Faceți acest lucru cu următoarea comandă.
Pasul 04: Creați cheia GPG
Dacă nu ați creat o cheie publică pentru GPG în trecut, trebuie să creați-o chiar acum pentru a putea semna pachetele. Mai întâi introduceți textul gpg -gen -key. Selectați valorile implicite și introduceți numele real și informațiile de contact când vi se solicită. Notați cu atenție toate datele, deoarece mai târziu în fișierul de configurare vom avea nevoie de corespondența lor exactă. După aceea, tastați ls
/.gnupg pentru a vă asigura că noua cheie există (acesta este fișierul name_name_name.gpg). Din aceasta creați o cheie publică:
Importați-l cu:
Pasul 05: Descărcați pachetul
În acest exemplu, vom descărca și vom asambla cea mai recentă versiune a browserului web Dillo. Accesați site-ul web Dillo (www.dillo.org) și descărcați cea mai recentă arhivă .tar.bz. Folosind comanda mkdir
/ srcand creați un director pentru codul sursă și mutați arhiva în el.
Pasul 06: Dezarhivați arhiva
Extrage arhiva folosind tar -xjvf [nume de arhivă] .tar.bz2. Rețineți că respectarea convențiilor de denumire pentru director (numele versiunii pachetului) este importantă pentru scopurile noastre și, din fericire, pachetul Dillo le corespunde. De asemenea, este important ca arhiva cu codul sursă să fie la un nivel deasupra directorului de cod sursă.
Pasul 07: Configurarea pentru Debian
Mutați în script directorul dh_make nou despachetat, care are grijă de majoritatea muncii - pentru a adăuga un fișier de configurare și creează structura de directoare, și acea parte a intrumenrtariya dezvoltator pe care am adaugat mai devreme.
În exemplul nostru, linia de comandă va arăta astfel:
Când vi se solicită, selectați un fișier binar. Scriptul script-helper trebuie să creeze un director numit Debian în directorul sursă.
Pasul 08: Deschideți fișierul de control
Pasul 09: Examinați dependențele existente
Puteți examina ce dependențe sunt necesare pentru a rula programul care vine sub forma unui pachet. Mergeți la directorul sursă și introduceți dpkg-depcheck -d ./configure în terminal. Dacă se procedează astfel, se vor afișa erori care indică ce pachet lipsește pentru ansamblul programului (furnizat separat). Puteți deschide acest pachet prin tastarea sudo apt-get build-DEP [numele pachetului], iar acest lucru ar trebui să ajute, în cazul în care acest pachet în distro depozit acceptat. În cazul în care nu este acceptat, atunci trebuie să rulați în mod repetat comanda dpkg-depcheck -d ./configur și adăugați pachete tastarea manual comanda rsudo apt-get install [numele pachetului].
Pasul 10: Adăugați dependențele la fișierul de control
Când toți pașii de la pasul anterior sunt completați, trebuie să aveți o listă cu toate pachetele necesare. Adăugați această listă de dependență în fișierul de control depinde. Elementele din listă trebuie separate prin virgulă și spațiu.
Pasul 12: Editați fișierul changelog
Pasul 13: Creați un pachet
Dacă totul este configurat corect, putem compila în final pachetul DEB. Accesați directorul de cod sursă și construiți pachetul. care vor fi plasate în catalog
/ src /, tip dpkg-buildpackage -b. De exemplu, creați un pachet utilizând comanda dpkg -I [pachet]. Pentru a testa conformitatea cu politica Debian, folosiți comanda lintian [pachet] pentru a rula programul Lintian. Rețineți că acest instrument este cunoscut ca fiind strict și că depinde de dvs. să decideți dacă unele avertismente minore de neconformitate sunt acceptabile pentru dvs. În final, instalați pactul cu comanda sudo dpgk -i [package].
Partea 2: Crearea pachetelor RPM în Fedora
Pasul 14: Deschideți fișierul de control
Treceți la modul utilizator root prin tastarea su. Începeți cu grupul de instalare Tools Development în yum și apoi utilizați yum pentru a instala gcc-c ++ fedora-packer. Tastați usermod -a -G mock pentru a adăuga utilizatorul dvs. la grupul mock. Acest lucru ne permite să efectuăm procedura de construire fără a trebui să mergem la rolul de utilizator rădăcină.
Pasul 15: Creați mediul de construcție
Apăsați Ctrl + D pentru a ieși din rolul rădăcină. Introduceți rpmdev-setuptree pentru a crea un arbore director (pentru
/ rpmbuild), de care avem nevoie.
Pasul 16: Descărcați arhiva și mutați-o în locația dorită
Descărcați pachetul Dillo de pe site-ul web Dillo și mutați arhiva în directorul corespunzător - tip mv [nume de arhivă]
Pasul 17: Creați fișierul .spec
Red distribuțiile bazate pe Red Hat, cum ar fi Fedora, utilizează fișiere .spec pentru a specifica procesul de construire. Navigați la directorul unde sunt localizate astfel de fișiere utilizând comanda cd
/rpmbuild/SPECS/andcreateablank.spec și creați un fișier gol .spec cu comanda rpmdev-newspec dillo.
Pasul 18: Editați fișierul .spec
Pasul 19: Construiți codul sursă
Dacă pachetul este în general acceptat pe sistem, executați comanda yum-builddep [nume pachet]. În caz contrar, va trebui să repetați comanda de asamblare pentru a primi mesaje de eroare sau pentru a căuta documentația din arhivă cu codul sursă. În directorul SPEC, tastați rpmbuild -ba [numele pachetului] .spec. În cazul în care ansamblul eșuează și se va da rapoarte suplimentare nu dezarhivează fișierul, selectați și copiați lista de fișiere în secțiunea% fișierele .spec fișier și repetați echipa de asamblare. Acum, pachetul va fi în directorul RPMS. Introduceți rpm -ivh [package] pentru ao instala. Tip rpm -qa | grep [package] pentru a vă asigura că acesta este instalat.