Cum se instalează pachetele RPM pe Ubuntu. Instalarea pachetelor rpm pe Linux

Articolul vorbește despre principalele metode de instalare a noului software pe un sistem Linux existent. Deși versiunile de kituri de distribuție și utilitățile corespunzătoare menționate în acesta sunt deja oarecum depășite, principiile de bază ale gestionării pachetelor software au rămas practic neschimbate.

[Sokolov Roman (romanso AT rt.mipt.ru)]

Instalarea pachetelor software pe Linux pentru începători

Două moduri de a instala software.

Necesitatea de a instala noi pachete software pentru LINUX apare în două cazuri principale:
  • când apare o nouă versiune a unuia dintre pachetele pe care le-ați instalat deja;
  • atunci când este nevoie de a utiliza un pachet care nu este încă instalat pe sistem.
În al doilea caz, poate fi unul dintre pachetele disponibile pe discul de instalare, dar să nu fie instalat în timpul procesului de instalare. Cu toate acestea, cel mai adesea veți găsi software nou pe Internet, mai ales că o mare parte din acest software este gratuit sau shareware. Oricum ar fi, mai devreme sau mai târziu vei fi nevoit să instalezi un nou pachet.

Există două forme principale de distribuție de software pentru LINUX: în cod sursă și sub formă de module executabile. În ambele cazuri, pachetul software poate fi furnizat fie ca arhivă tar-gz, fie ca pachet rpm.

Cel mai simplu mod este să instalați software-ul prezentat sub forma unui pachet rpm care conține fișiere executabile, vom lua în considerare mai întâi această metodă. Remarcăm doar că pentru a instala pachete noi trebuie să vă conectați ca utilizator root.

program rpm.

Numele acestui program (sau comandă) este un acronim pentru Redhat Package Manager. Această decodare este dată în majoritatea cărților și manualelor pe Linux și mi se pare mai corectă și logică, deși capitolul 6 din „Ghidul de referință oficial Red Hat Linux” spune: „Managerul de pachete RPM (RPM), este un sistem de ambalare deschis disponibil. pentru ca oricine să-l folosească și funcționează pe Red Hat Linux, precum și pe alte sisteme Linux și UNIX."

Programul rpm este în anumite privințe similar cu programe precum vrăjitorul de configurare pentru MS Windows. Avantajul utilizării acestui program în comparație cu instalarea arhivelor tar-gz este că va efectua automat toți pașii necesari pentru a instala software-ul: creați directoarele necesare, distribuiți fișierele între ele, creați link-uri. În plus, poate fi folosit nu numai pentru a instala un nou pachet, ci și pentru a actualiza versiunile de software, pentru a obține liste de software instalat și pentru a verifica instalările, precum și pentru a dezinstala pachete individuale (de exemplu, dacă după o perioadă de probă lucrați cu programul pe care decideți să-l renunțați la utilizarea ulterioară). Folosind același program rpm, puteți crea singur un pachet rpm, dar pentru începători probabil că este mai bine să nu faceți acest lucru, ci să folosiți pachete rpm gata făcute.

Pachetele rpm sunt arhive special pregătite destinate procesării de către programul rpm. Numele pachetelor rpm se termină cu sufixul.rpm, de exemplu, xzip-180-1.i386.rpm sau xzip-180-1.src.rpm. După cum puteți vedea, există un alt sufix înaintea sufixului.rpm. Dacă acesta este .i386 sau .i586, atunci pachetul conține fișiere executabile, iar dacă acest sufix este .src, atunci pachetul conține texte sursă care trebuie încă compilate după instalare. De obicei, atât pe CD-urile de instalare, cât și în directoarele de Internet, pachetele rpm cu fișiere executabile sunt localizate în directoare numite RPMS, iar pachetele rpm cu cod sursă sunt localizate în subdirectoarele SRPMS.

Pe Internet, pachetele rpm pot fi găsite pe diverse servere. Din experiența mea, cel mai convenabil server de pe Internet pentru căutarea arhivelor rpm este serverul http://rufus.w3.org. Are instalat un motor de căutare care vă permite să organizați lista de pachete în cel mai convenabil mod pentru dvs.:

  • după numele pachetelor;
  • prin distribuție;
  • pe grupuri de aplicații;
  • după date;
  • de către furnizorii de software (producători).
Volumul total al arhivei pachetelor rpm de pe acest server este mai mare de 66 de gigaocteți. Două servere ftp din Rusia stochează și arhive foarte bogate: ftp://ftp.chg.ru/pub/Linux și ftp://ftp.nc.orc.ru/

Este necesar doar să rețineți că, dacă utilizați un computer care rulează Windows pentru a descărca pachete de pe Internet, atunci toate numele pachetelor dvs. vor fi cel mai probabil distorsionate. Cert este că Windows „nu-i plac” numele care au mai multe puncte (de exemplu, glib-1.0.6-3.i386.rpm și va înlocui „extra”, în opinia sa, punctele cu caractere de subliniere - glib-1_0_6-3_i386 rpm). Deci, după ce ați primit pachetul (când îl transferați pe un PC care rulează Linux), trebuie să eliminați aceste „remedieri” revenind la numele UNIX.

Deci, ați găsit și descărcat arhiva rpm cu versiunea executabilă a pachetului de care aveți nevoie. Dacă instalați un pachet complet nou (nu ați avut versiuni anterioare ale acestui software pe computer), atunci pentru a instala pachetul din această arhivă, trebuie doar să mergeți la directorul în care se află arhiva și să dați comanda (de cele mai multe ori nerăbdător: nu vă grăbiți să urmați această recomandare, mai citiți cel puțin câteva paragrafe)

Rpm -i rpm archive_name Dacă ați avut instalată o versiune anterioară a pachetului, atunci în cel mai simplu caz trebuie să lansați o comandă în următorul format: rpm -U --force rpm archive_name Aici parametrul -U spune programului că trebuie să actualizeze pachetul, iar opțiunea --force necesită necondiționat (și fără întrebări inutile) să actualizeze toate fișierele incluse în pachet. Rețineți că aceasta este o cerință foarte puternică și, în unele cazuri, poate fi mai bine să păstrați unele fișiere (de exemplu, de configurare) din versiunea anterioară. Dacă instalarea decurge normal și nu apar mesaje suplimentare, atunci după ce programul se închide (după ce apare promptul shell), puteți utiliza pachetul nou instalat.

Din păcate, lucrurile nu sunt întotdeauna atât de simple. Permiteți-mi să vă dau un exemplu concret. Aveam RedHat Linux versiunea 5.2 instalată, iar programul Midnight Commander (mc) era versiunea 4.1.36. Pe serverul ftp am văzut versiunea 4.5.30 a acestui program (pachetul mc-4.5.30-12.i386.rpm) și, firește, am decis să o instalez. Cu toate acestea, s-a dovedit că acest lucru necesită instalarea altor 4 pachete, ceea ce mi-a spus rpm:

Eroare: dependențe neîndeplinite: redhat-logos necesare pentru mc-4.5.30-12 libglib-1.2.so .0 necesar pentru mc-4.5.30-12 libc.so.6(GLIBC_2.1) necesar pentru mc-4.5.30 -12 libc.so.6(GLIBC_2.0) este necesar pentru mc-4.5.30-12 Acest lucru nu este surprinzător dacă vă amintiți că în timpul instalării inițiale a Linux, programul de instalare a verificat și interdependența pachetelor și s-a oferit să instaleze cei lipsă. Totuși, în cazul instalării, toate pachetele necesare sunt pe același disc și aici a trebuit să caut mai întâi pachetele necesare. Am găsit două pachete (redhat-logos-1.0.5-1.noarch.rpm și glibc-2.1.1-6.i386.rpm) fără dificultate, după care rpm-ul a încetat să mai ceară GLIBC_2.0. Dar cu libglib.so .1 s-a dovedit mai complicat. În primul rând, nu am putut găsi un pachet cu acest nume. După cum se dovedește, un astfel de pachet nu există, fișierul libglib.so .1 este inclus în pachetul glib-1.0.6-3.i386.rpm. În timp ce îmi dădeam seama, am mai învățat că pentru a afla ce fișiere va instala un anumit pachet, trebuie să lansați comanda rpm -qpl rpm_archivename și pentru a obține informații despre pachet, trebuie să lansați comanda rpm -qpi rpm_archivename Chestia este că fișierele RPM, pe lângă arhiva propriu-zisă, conțin informații despre pachet, inclusiv numele, versiunea și o scurtă descriere. Folosind același program rpm puteți vizualiza aceste informații suplimentare. De exemplu, pentru pachetul glib-1.0.6-3.i386.rpm obținem următoarele rezultate: rpm -qpi glib-1.0.6-3.i386.rpm Ieșirea va fi cam așa: Nume: glib Relocari: (nu se poate reloca) Versiune: 1.0 .6 Furnizor: Red Hat Software Lansare: 3 Data construirii: Sâmbătă, 10 octombrie 1998 04:49:03 Data instalării: (neinstalat) Gazdă build: porky.redhat.com Grup: Biblioteci Sursa RPM: glib-1.0.6-3 .i386.rpm Dimensiune: 55305 Ambalator: Red Hat Software< [email protected]> Rezumat: Bibliotecă la îndemână de funcții utilitare Descriere: Bibliotecă la îndemână de funcții utilitare. Bibliotecile de dezvoltare și anteturile sunt în gtk+-devel. Dacă dați comanda: rpm -qpl glib-1.0.6-3.i386.rpm va fi afișată o listă de fișiere incluse în pachet indicând unde vor fi instalate: /usr/lib/libglib.so.1 /usr /lib/libglib .so.1.0.6 RPM oferă, de asemenea, un sistem de interogare puternic pentru pachetele instalate pe sistem. Folosind comanda rpm -qa veți obține o listă cu toate pachetele instalate pe sistem (lista va fi foarte mare, deci este mai bine să trimiteți imediat rezultatul la filtrul mai mult). Puteți căuta informații despre un pachet individual sau despre fișiere individuale. De exemplu, puteți găsi cu ușurință cărui pachet îi aparține și de unde provine: rpm -qf /etc/bashrc bash-1.14.7-16. Dacă sunteți îngrijorat că ați șters accidental un fișier important dintr-un pachet instalat, verificați doar acest lucru: rpm -Va Veți fi avertizat cu privire la orice anomalie. Apoi puteți reinstala pachetul dacă este necesar. Orice fișiere de configurare vor fi salvate.

RPM este un utilitar foarte util și, după cum puteți vedea, are diverse opțiuni. Am dat doar câteva exemple. În total, rpm are 16 moduri de operare principale, pe care este logic să le combinați în 6 grupuri (după două puncte este dat formatul de comandă pentru modul corespunzător):

Interogări: Interogare: rpm [--query] Afișează etichete de interogare (Querytags): rpm [--querytags] Instalare și suport pentru pachetele instalate: Instalare: rpm [--install] + Actualizare: rpm [--freshen|-F] + Dezinstalare: rpm [--uninstall|-e] + Verificare: rpm [--verify|-V] + Semnături (pachetele sunt semnate cu o semnătură digitală electronică în format PGP pentru a asigura imuabilitatea și păstrarea dreptului de autor al pachetelor): Semnătură verificare: rpm [ --verify|-V] + Demisia: rpm [--resign] + Adăugarea unei semnături: rpm [--addsign] + Lucrul cu baza de date: Inițializarea bazei de date: rpm -i [--initdb] Rebuild Baza de date: rpm -i [- -rebuilddb] Crearea pachetelor rpm: Creare pachet: rpm [-b|t] + Recopilare pachet: rpm [--rebuild] + Construire pachet din Tarball: rpm [--tarbuild] + Diverse: Afișare Configurarea programului rpm: rpm [ --showrc] Setați utilizatori: rpm [--setperms] + Setați grupurile: rpm [--setgids] + O descriere mai detaliată a comenzii rpm poate fi găsită în RPM-HOWTO, man și info pagini. Nu este prezentat aici, în principal pentru că în modurile grafice există programe ceva mai convenabile și „umane” pentru gestionarea software-ului instalat în sistem și a proceselor de actualizare a acestuia, care vor fi discutate în următoarele subsecțiuni.

Notă:

Am folosit a treia versiune de RPM. În prezent există deja versiunea 4, dar următorul mesaj a apărut pe lista de corespondență blackcat-list:

> Are cineva experiență în instalarea rpm 4.x? > Aș dori să instalez pachete din distribuția Red Hat 7.0. Pan Kanevsky însuși ;-) nu a sfătuit instalarea 4.x rpm-3.0.5-9.6x înțelege structura 4.x și instalează pachete 4.x

Instalarea software-ului din codul sursă

În unele cazuri, modulele aplicației executabile pot fi furnizate și ca arhive tar-gz. În acest caz, instalarea aplicației este doar puțin mai complicată decât în ​​cazul instalării dintr-un pachet rpm: trebuie doar să implementați arhiva și cel mai adesea puteți lansa deja aplicația rezultată. Este puțin mai dificil să instalezi o aplicație dacă vine în cod sursă. Vom analiza acest caz în această secțiune.

Informații esențiale despre programarea C

Merită să începem cu faptul că sistemul de operare UNIX s-a născut simultan cu limbajul de programare C. Mai mult, limbajul C a fost creat special pentru dezvoltarea acestui sistem de operare, o parte semnificativă a UNIX a fost scrisă în limbajul C. Prin urmare, și tot în conformitate cu principiul distribuției libere a codurilor sursă, multe aplicații pentru Linux sunt distribuite ca texte în C. Desigur, pentru a instala o astfel de aplicație pe sistem și a o rula, aceasta trebuie compilată. Programul gcc este folosit de obicei pentru a efectua proceduri de compilare (deși există unele alternative).

Compilatorul GNU C gcc conține 4 componente principale care corespund celor patru etape de conversie a codului sursă într-un program executabil. Prima componentă este preprocesorul, care modifică codul sursă al programului înainte de compilare conform comenzilor preprocesorului conținute în programul C. Aceste comenzi efectuează înlocuiri simple de text. Al doilea este compilatorul în sine, care procesează codul sursă și îl convertește în cod în limbaj de asamblare. A treia componentă este asamblatorul, care generează codul obiect. Și, în cele din urmă, a patra componentă este linkerul, care asamblează fișierul executabil din fișierele de cod obiect. Faptul este că programele mari sunt de obicei scrise în părți, sub forma multor fișiere separate care conțin codul sursă al părții corespunzătoare. Compilatorul procesează fiecare astfel de fișier separat și creează module obiect separate (fișierele acestor module au de obicei extensia .o). Crearea unui singur program executabil din astfel de module este sarcina linkerului. Cu această abordare, dacă un programator face o corecție la un modul, nu este nevoie să recompilați întregul program: este suficient să compilați modulul corectat și să rulați din nou linkerul.

Pentru a efectua operații standard, programatorul poate folosi funcții din bibliotecile standard. Cel mai comun exemplu este biblioteca libc, care conține funcții care îndeplinesc sarcini precum gestionarea memoriei și operațiuni I/O. Programatorii își pot crea propriile biblioteci și le pot folosi atunci când scriu programe noi.

Bibliotecile pot fi statice, partajate și dinamice. O bibliotecă statică este o bibliotecă al cărei cod este încorporat într-un program atunci când este compilat. Codul unei biblioteci partajate nu este încorporat în program, ci este încărcat în memorie simultan cu programul, iar programul obține acces la funcțiile acestei biblioteci. Bibliotecile dinamice sunt un tip de biblioteci partajate; numai funcțiile de bibliotecă sunt încărcate în memorie numai atunci când funcția corespunzătoare este apelată din program. În timpul execuției programului, acestea pot fi descărcate și înlocuite cu alte funcții din aceeași bibliotecă sau din altă bibliotecă. Numele de biblioteci statice au de obicei sufixul .a, în timp ce numele bibliotecii partajate au de obicei sufixul .so urmat de un număr de versiune majoră și minoră. Numele poate fi orice șir care caracterizează în mod unic biblioteca. De obicei, numele bibliotecii încep cu lib. Exemple: libm.so.5 - bibliotecă matematică generală, libX11.so .6 - bibliotecă pentru lucrul cu sistemul X Window. Biblioteca libc.so.5 este conectată automat, în timp ce majoritatea celorlalte biblioteci trebuie specificate în mod explicit pe linia de comandă atunci când este invocat gcc. Acest lucru se face prin opțiunea -l urmată de o parte unică a numelui bibliotecii, de exemplu, pentru a apela o bibliotecă matematică, trebuie doar să specificați -lm.

Multe biblioteci de sistem sunt situate în directoare de sistem, cum ar fi /usr/lib/ și /lib/, dar unele pot fi localizate în alte directoare. O listă a acestor directoare este plasată în fișierul /etc/ld.so.conf. De fiecare dată când o bibliotecă partajată este schimbată sau reinstalată, trebuie să rulați comanda ldconfig pentru a actualiza fișierul /etc/ld.so.conf și referințele acestuia. Dacă biblioteca este instalată dintr-un pachet RPM, acest lucru se face de obicei automat, deși nu întotdeauna.

Atunci când compilați programe mari care folosesc fragmente de cod sursă situate în fișiere diferite, poate fi foarte dificil să țineți evidența fișierelor care trebuie recompilate și care trebuie doar legate. În astfel de cazuri, utilitarul make este foarte util, care determină automat dacă fișierul codului sursă trebuie compilat pe baza datei ultimei modificări. Utilitarul make operează pe fișiere în funcție de dependența acestora unul de celălalt. Aceste dependențe sunt definite de un fișier numit makefile. O linie makefile constă din trei părți: numele fișierului țintă, o listă de fișiere de care depinde și o comandă. Dacă orice fișier din listă s-a schimbat după fișierul țintă, atunci comanda specificată în linie este executată. Pe o linie pot fi specificate mai multe comenzi. De obicei, o comandă este un apel către compilator pentru a compila un fișier cu cod sursă sau pentru a lega fișiere cu codul obiect. Liniile care definesc dependențele sunt separate unele de altele printr-o linie goală.

Instalarea pachetelor software din textele sursă

Acum că avem o primă impresie despre modul în care sunt compilate programele C, putem continua să vedem cum să gestionăm pachetele software distribuite ca cod sursă. Primul lucru de spus în acest sens este că pentru a instala astfel de pachete trebuie, desigur, să ai gcc-ul și să faci utilitare pe sistemul tău.

Procesul de instalare a pachetului în sine constă din următorii pași:

  1. Mergeți (folosind comanda `cd') la directorul care conține codul sursă al pachetului de instalat.
  2. Rulați comanda `./configure', care configurează pachetul în funcție de sistemul dvs. Procesul de rulare a acestei comenzi durează destul de mult, iar comanda afișează mesaje pe ecran care vă spun exact ce caracteristici ale sistemului sunt testate.
  3. Rulați comanda „make” pentru a compila pachetul.
  4. Puteți rula apoi o comandă opțională „make check”, care face ca rutinele de autotestare care vin cu pachetul să ruleze.
  5. Rulați comanda „make install” pentru a instala programele, fișierele de date și documentația.
  6. Pasul final este să rulați comanda „make clean”, care elimină obiectul intermediar și fișierele binare din directorul sursă. Pentru a elimina fișierele temporare pe care comanda „configure” le-a creat (după care pachetul poate fi compilat pentru un alt tip. de computer), trebuie să rulați comanda „make distclean”.
În cele mai multe cazuri, rularea acestei secvențe de comenzi este suficientă pentru a instala noul pachet.

Cât spațiu pe disc a mai rămas?

Când instalați pachete noi, apare o problemă foarte familiară tuturor utilizatorilor de computere: lipsa spațiului pe disc. Prin urmare, înainte de a instala un nou pachet, trebuie mai întâi să răspundeți la întrebarea: există suficient spațiu pe disc pentru a găzdui acest software?

Programul rpm vă permite să determinați cât spațiu este necesar pentru a instala un pachet: pentru a face acest lucru, trebuie să dați o solicitare precum rpm -qpi package_name și în linia Size veți vedea câți octeți va lua pachetul. Rămâne să aflăm dacă există atât de mult spațiu liber pe disc.

Pentru a determina cantitatea de spațiu liber pe disc, puteți utiliza comanda df. Dacă este dată fără argumente, această comandă vă va spune cât spațiu pe disc este pe toate sistemele de fișiere montate, cât este în uz și cât este încă liber. Unitatea de măsură este bloc de 1 kilobyte. Dacă doriți să obțineți informații despre cantitatea de spațiu liber în megaocteți mai familiari, lansați comanda cu parametrul -h:

Df -h Informații despre cantitatea de spațiu liber de pe un anumit disc pot fi obținute prin specificarea numelui fișierului dispozitivului ca parametru: df -h /dev/hda2 Dacă în loc de numele fișierului dispozitivului specificați numele complet (inclusiv calea) a unui fișier sau director arbitrar, apoi obțineți date despre cantitatea de spațiu folosit și liber în sistemul de fișiere care conține fișierul specificat (director).

Dacă mai există spațiu, atunci puteți continua la instalarea pachetului. Este mai rău pentru proprietarii de computere cu discuri mici: de fiecare dată trebuie să se gândească la cum să facă loc unui nou program, cu alte cuvinte, ce poate fi deja eliminat de pe disc. Puteți șterge fișiere individuale, dar, desigur, din punctul de vedere al eliberării spațiului, este mai eficient să ștergeți directoare sau pachete întregi.

Fișierele (directoarele) sunt șterse dacă nu mai aveți nevoie de ele (fișierele plasate în ele). Desigur, cele mai mari directoare (sau fișiere) sunt selectate pentru ștergere, iar aici comanda du (utilizarea discului) este utilă.

Comanda du vă permite să aflați cât spațiu ocupă un anumit fișier sau subdirector. Pentru a face acest lucru, trebuie să dați o comandă în următorul format (în exemplu aflăm dimensiunea directorului /usr/lib)

Du -ks /usr/lib Rezultatul executării acestei comenzi va fi ceva asemănător cu această linie 91418 /usr/lib, ceea ce înseamnă că directorul /usr/lib ocupă 91418 kiloocteți (opțiunea k specifică că volumul trebuie returnat în kiloocteți) . Opțiunea s este specificată astfel încât să fie afișat doar volumul total al directorului. Dacă o omiteți, veți obține date despre dimensiunea fiecărui subdirector și fișier din directorul specificat, iar aceasta este o mulțime de informații. Cu toate acestea, ultima linie va afișa în continuare volumul total al directorului, așa că dacă sunteți fascinat de pâlpâirea liniilor de pe ecran, vă puteți oferi această mică plăcere.

Dacă s-ul mic este înlocuit cu un S mare, atunci vor fi afișate doar informații despre dimensiunea subdirectoarelor (dar nu și fișierele), ceea ce uneori este de asemenea util. Puteți afla despre alte opțiuni ale acestor comenzi pe paginile de manual corespunzătoare sau folosind comanda info.

Acum știți cum să determinați cât spațiu pe disc va ocupa pachetul instalat și cât spațiu liber există pe disc. Să ne uităm la ce poți face dacă nu există suficient spațiu liber. Trebuie remarcat faptul că, cu o instalare standard a sistemului de operare Linux, pe disc se formează un număr mare de fișiere de care nu veți avea niciodată nevoie deloc. În același timp, este destul de dificil să le găsiți pe acelea de care nu aveți nevoie într-o masă uriașă de fișiere (mai ales că sunt ascunse adânc în sălbăticia structurii directoarelor). Prin urmare, voi vorbi pe scurt despre experiența mea în căutarea fișierelor inutile, în speranța că această experiență va fi utilă cititorului.

Eliberând spațiu pe disc

Într-o zi a trebuit să instalez Linux (Black Cat 6.0) pe un computer 486 cu un hard disk de 350 MB. Deși în timpul instalării am încercat să selectez configurația software minimă posibilă, totuși, după finalizarea instalării, discul era plin în proporție de 90%. Voi enumera pe scurt acțiunile care mi-au permis să eliberez suficient spațiu pe disc pentru a instala pachete noi.
  1. Primul pas este să vă gândiți la eliminarea unor pachete software instalate în timpul instalării sistemului. Pentru a decide ce pachet sau pachete pot fi eliminate, lansați comanda: >rpm -qa --queryformat „%15(SIZE) %(NAME)\n” | sort -nr %rpm -q -a > pachete Fișierul pachetelor rezultat va conține o listă cu toate pachetele software instalate pe sistem. Această listă poate fi analizată pentru a identifica pachetele de care nu aveți nevoie și pentru a le elimina folosind comanda rpm cu parametrul -e. Aceasta va șterge toate fișierele și directoarele create în timpul instalării pachetului. Această metodă este cea mai sigură, deoarece programul rpm va verifica mai întâi dacă acest pachet este utilizat de orice alt program și, dacă există o astfel de dependență, va emite un avertisment adecvat și va refuza să elimine ceva.

    De exemplu, în fișierul pachetelor obținute în acest fel, am găsit o mențiune despre pachetul AfterStep-APPS-990329-2. Prin rularea comenzii:

    % rpm -qi AfterStep-APPS Am aflat că acest pachet conține niște applet-uri pentru managerul de ferestre AfterStep. Deoarece nu am folosit un astfel de manager, am șters acest pachet, precum și pachetul AfterStep în sine, folosind comenzile: % rpm -e AfterStep % rpm -e AfterStep-APPS Acest lucru a eliberat aproximativ 5800 KB (voi doar rețineți că ștergerea pachetelor trebuie efectuată cu drepturi root -A). Folosind această tehnică, puteți elimina toate pachetele pe care nu le utilizați. De exemplu, am eliminat pachete precum gnome-core, gnome-libs, gnome-audio, deoarece folosesc KDE mai degrabă decât Gnome ca mediu grafic. Rețineți că atunci când am încercat să elimin gnome-core, rpm a refuzat să facă acest lucru, spunând că o parte a acestui pachet este folosită de pachetul xmms-gnome. Și mai multe dependențe neîndeplinite sunt create atunci când încercați să eliminați gnome-libs. Totuși, întrucât toate pachetele menționate în aceste postări erau legate într-un fel sau altul de Gnome, mi-am asumat riscul să le elimin pe toate, precum și alte pachete care erau legate de ele. Ca rezultat, aproximativ 7800 KB de spațiu pe disc a fost eliberat.

  2. Căutând în directorul /usr/man, am găsit două subdirectoare cu pagini de manual în franceză și spaniolă. După îndepărtarea lor, au fost eliberați aproximativ 100 KB.
  3. În directorul /usr/lib/kbd/keymaps, se pare că puteți elimina subdirectoarele care stochează tabele de layout de tastatură destinate altor tipuri de microprocesoare și în /usr/lib/kbd/keymaps/i386 - subdirectoare pentru layout-uri altele decât din qwerty.

    În același mod, sunt șterse dispozițiile de tastatură pentru diverse limbi pe care nu le utilizați (de ce am nevoie de chineză sau thailandeză, nu știu un singur cuvânt dintre ele!). Aceste fonturi se află în directorul /usr/lib/kbd/keymaps/i386/qwerty.

    Puteți încerca să eliminați fonturile inutile din /usr/lib/kbd/consolefonts, dar dacă la începutul tabelului de dispunere a tastaturii este indicat pentru ce limbă este folosită, atunci trebuie să judecați scopul fișierului cu fonturi după Nume.

    Deoarece sistemul instalează în mod implicit instrumente de localizare pentru diferite țări (de care probabil nu veți avea nevoie), puteți elimina toate subdirectoarele din directorul /usr/share/locale care corespund limbilor de care nu aveți nevoie. Există aproximativ 16 megaocteți în total, așa că ștergerea a ceea ce nu aveți nevoie poate duce la aproximativ 15 megaocteți de spațiu eliberat. Chiar și mai mult de 2 megaocteți pot fi obținuți prin curățarea directoarelor /usr/share/i18n/locales și /usr/share/i18n/charmaps

  4. Directorul /usr/share/doc/HTML/ are subdirectoare cu documentație în diferite limbi, multe dintre care probabil nu aveți nevoie. Am lăsat în acest director doar trei subdirectoare en, ru default, iar ultimul este doar un link către subdirectorul en, deci de fapt au rămas doar 2 subdirectoare acolo. Eliminarea acestei documentații a eliberat aproximativ 500 KB.

În acest articol, vă vom arăta cum puteți instala pachete RPM pe Ubuntu. Ubuntu bazat pe Debian și sistemele bazate pe RedHat, cum ar fi CentOS, sunt practic similare ca design. Cu toate acestea, există câteva diferențe ici și colo. De exemplu, sistemul RedHat se bazează pe utilizarea fișierelor .rpm pentru a reprezenta pachete software, în timp ce sistemul Debian se bazează pe utilizarea fișierelor .deb. Aceste tipuri de fișiere sunt diferite ca design și nu pot fi instalate în afara tipului lor de sistem de operare respectiv (de exemplu, instalarea unui fișier .deb pe , sau instalarea unui fișier .rpm pe Ubuntu). Cu toate acestea, există modalități de a importa aceste pachete pentru alte tipuri de sisteme.

Există două moduri de a instala un pachet RPM: fie prin conversia fișierului .rpm într-un fișier .deb, fie prin instalarea directă a fișierului .rpm. Ambele metode sunt destul de simple, dar instalarea pachetelor RPM pe sistem poate cauza unele probleme, în funcție de software-ul instalat (mai multe despre asta mai jos).

1. Adăugați depozitul Universe

Pentru prima metodă, veți avea nevoie de un pachet software numit „Alien”, care este un software conceput pentru a converti fișierele .rpm în fișiere .deb. Pentru a instala Alien, va trebui să adăugați un depozit de software numit „Univers”. Deschideți un terminal și introduceți:

Universul Sudo add-apt-repository

2. Actualizați apt-get

Introduceți parola contului dvs. de utilizator când terminalul vă solicită să faceți acest lucru. Acum trebuie să actualizați apt-get, astfel încât depozitul să poată fi utilizat.

Sudo apt-get update

3. Instalați pachetul Alien

Sudo apt-get install alien

4. Convertiți .rpm în .deb

După instalare, asigurați-vă că ați descărcat fișierul .rpm pentru pachetul software. Accesați folderul în care se află fișierul .rpm. Dacă aveți gata fișierul .rpm, rulați următoarea comandă:

Sudo extraterestru .rpm

5. Instalați pachetul convertit

Poate dura ceva timp pentru ca fișierul să fie convertit. După ce ați făcut acest lucru, instalați fișierul, de obicei folosind DPKG:

Sudo dpkg -i .deb

Ar trebui să se instaleze ca fișier normal .deb. Acum puteți utiliza software-ul nou instalat.

6. Instalați pachetul RPM direct pe sistem

Pentru o altă metodă, Alien este și un software folosit pentru a instala pachete RPM direct pe sistem. Doar rulați următoarea comandă în același folder cu RPM-ul pe care doriți să îl instalați.

Sudo alien -i .rpm

Dă-i un minut și ar trebui să se instaleze pe sistemul tău fără probleme.

Probleme posibile

Rețineți că, în general, nu este o idee bună să instalați pachete care nu au fost destinate sistemului dumneavoastră. Acest lucru poate duce la probleme de dependență și poate duce la erori sau chiar blocări. Dacă programul pe care îl instalați are unele dependențe care trebuie instalate, va trebui să le instalați mai întâi.

Toate aceste pachete convertite nu fac decât să mărească șansele ca software-ul să nu funcționeze corect, așa că faceți acest lucru pe propriul risc. Dacă nu există un .deb de înlocuire disponibil, atunci compilarea codului sursă pe computer poate fi cea mai bună alegere ori de câte ori este posibil.

Mai devreme sau mai târziu trebuie să instalăm software care nu este din depozitele oficiale. Nu toate pachetele sunt disponibile acolo, iar cele mai noi versiuni ale programelor nou lansate nu sunt întotdeauna disponibile. Foarte des, dezvoltatorii postează pachete pentru cele mai populare distribuții pe site-ul lor oficial. De obicei, acestea sunt deb și rpm. Acesta din urmă este puțin mai puțin comun, dar dacă utilizați o distribuție bazată pe Red Hat, acesta este formatul de pachet de care aveți nevoie. De asemenea, puteți găsi adesea biblioteci și alte componente online care nu sunt disponibile în depozitele pachetate.

Anterior, ne-am uitat deja la instalarea pachetelor deb în Ubuntu. Și acest articol va discuta în detaliu despre instalarea pachetelor rpm în Linux.

RPM sau RPM Package Manager este un manager de pachete utilizat în distribuțiile Linux bazate pe Red Hat. Formatul de fișier al acestui manager de pachete are același nume.

Acest format nu este foarte diferit de același Deb. Puteți vedea comparația lor detaliată în articolul ce. Aici, voi observa doar că fișierul rpm este o arhivă cpio obișnuită, care conține fișierele de program în sine, precum și metadate care descriu unde ar trebui să fie instalate. Baza de date a tuturor pachetelor instalate se află în directorul /var/lib/rpm. Printre caracteristici, se poate remarca faptul că rpm nu acceptă pachete recomandate, precum și dependențe de format.

Pentru a gestiona pachetele, la fel ca în sistemele Debian, există o consolă, utilitar de nivel scăzut cu același nume - rpm. Vom lua în considerare acest lucru în continuare în articol. Diferite sisteme folosesc manageri de pachete diferiți, de exemplu Red Hat folosește Yum, Fedora folosește DNF și OpenSUSE folosește zypper, dar toate aceste sisteme vor rula utilitarul rpm.

Instalarea pachetelor RPM pe Linux

Să ne uităm mai întâi la sintaxa utilitarului rpm în sine:

$ rpm -mod pachet de opțiuni

Utilitarul poate funcționa într-unul dintre moduri:

  • -q- solicitarea, obtinerea de informatii;
  • -i- montaj;
  • -V- verificarea pachetului;
  • -U- Actualizați;
  • -e- ștergere.

Să luăm în considerare doar cele mai interesante opțiuni de program de care vom avea nevoie în acest articol:

  • -v- arata informatii detaliate;
  • -h- afișarea unei bare de stare;
  • --forta- executa o actiune cu forta;
  • --noduri- nu verifica dependentele;
  • --înlocuiește fișierele- înlocuiți toate fișierele vechi cu altele noi fără avertismente;
  • -i- obțineți informații despre pachet;
  • -l- lista fișierelor pachetelor;

Acum că aveți deja o idee despre cum să lucrați cu acest utilitar, puteți lua în considerare instalarea pachetului rpm pe Linux. Cea mai simplă comandă de instalare va arăta astfel:

sudo rpm -i nume_pachet.rpm

Pentru a lucra cu directorul curent al comenzii, trebuie să existe un folder cu un pachet. Aici setăm modul de instalare și transferăm fișierul pachetului. Dacă instalarea are succes, utilitarul nu va afișa nimic dacă apare o eroare, veți ști despre aceasta.

Pentru a vizualiza informații mai detaliate în timpul procesului de instalare, utilizați opțiunea -v:

sudo rpm -iv nume pachet.rpm

De asemenea, puteți activa afișarea barei de stare în timpul procesului de instalare:

sudo rpm -ivh nume pachet.rpm

Pentru a verifica dacă pachetul este instalat, trebuie să folosim deja modul de interogare:

sudo rpm -q nume pachet

De asemenea, puteți elimina imediat pachetul dacă nu aveți nevoie de el:

sudo rpm -e nume pachet

Dar rpm, ca dpkg, are un dezavantaj semnificativ. Programul nu poate rezolva dependențele. Dacă pachetul necesar nu este în sistem, veți primi pur și simplu un mesaj de eroare și pachetul nu va fi instalat.

Pentru a descărca automat dependențele în timpul instalării rpm linux, trebuie să utilizați managerul de pachete al distribuției. Să ne uităm la câteva comenzi pentru cele mai populare distribuții RPM. Pe RedHat și alte distribuții care folosesc Yum, utilizați această comandă:

sudo yum --nogpgcheck localinstall packagename.rpm

Prima opțiune dezactivează verificarea cheii GPG, iar a doua spune că vom instala un pachet local. În Fedora, dnf face lucrurile și mai ușoare:

sudo dnf install package_name.rpm

Managerul de pachete Zypper și OpenSUSE fac la fel de bine:

sudo zypper install packagename.rpm

Așa este cât de ușor este să instalezi un rpm cu dependențe. Dar nu tuturor le place să lucreze în consolă, mulți utilizatori noi doresc să folosească o interfață grafică pentru a rezolva toate sarcinile, inclusiv aceasta. În continuare ne vom uita la mai multe astfel de utilități.

Instalarea fișierului RPM în GUI

Dacă utilizați OpenSUSE, acest lucru este foarte ușor. Configuratorul universal de sistem YaST, printre altele, vă permite să instalați pachete rpm. Puteți face acest lucru utilizând managerul de fișiere selectând elementul din meniul contextual pentru fișierul deschis cu Yast sau rulând comanda:

yast2 -i nume_pachet.rpm

În Fedora, puteți utiliza managerul de aplicații al distribuției în același scop. Anterior, existau mai multe utilități universale pentru rezolvarea acestei probleme, dar acum toate sunt depășite.

concluzii

Acum știi cum să instalezi un fișier rpm în Linux. De fapt, este foarte simplu și nu există doar o singură cale, ci mai multe. Deși există puțin mai puține utilități grafice aici decât în ​​Ubuntu. Dar utilitățile consolei sunt complet suficiente. Dacă aveți întrebări, întrebați în comentarii!