Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Iron
  • Osnove upravljanja paketima: apt, yum, dnf, pkg. Korištenje Yum-a sa proxy serverom

Osnove upravljanja paketima: apt, yum, dnf, pkg. Korištenje Yum-a sa proxy serverom

Yum i RPM su sjajni alati za upravljanje paketima, ali imaju nekoliko nejasnih opcija i funkcija koje vam omogućavaju da radite neke prilično cool stvari. Ne morate ih koristiti, ali možda će vam jednog dana dobro doći.

1. Prikaz tipa arhitekture u rezultirajućem RPM-u

Ova jednostavna mala stvar je prilično laka za postizanje i bit će vrlo korisna za ljude koji koriste x86_64 sisteme. Jedan red u ~ / .rpmmacros će vam kasnije uštedjeti nevolje.

Echo "% _query_all_fmt %% (ime) - %% (verzija) - %% (izdanje). %% (arh)" >> ~ / .rpmmacros

2. Zahtjev za pakete koji nisu iz CentOS-a

Želite li dobiti listu paketa instaliranih iz skladišta trećih strana osim CentOS-a?

Rpm -qa --qf "% (NAME)% (VENDOR) \ n" | grep -v CentOS

3. Resetirajte dozvole fajla

Imate li potpunu zbrku s dozvolama za datoteke u paketu? Nema veze, RPM će se pobrinuti za to.

Rpm --setperms

4. Pregledajte promjene

Budući da CentOS i dobavljač originalnog koda objavljuju sigurnosna ažuriranja, brojevi verzija mogu biti zbunjujući kada pogledate CVE popravke. Provjera promjena u paketu je dobar način vidi da li su ispravke napravljene ili ne. Još jednom, RPM dolazi u pomoć.

Rpm -q --promjena | manje

Korištenje "manje" je opciono, ali za neke pakete, kao što je kernel, promjene mogu biti prilično opsežne. Stoga ovaj dodatak čini zaključak čitljivijim.

5. Gdje je dokumentacija?

Da biste brzo dobili dokumentaciju povezanu s paketom, možete koristiti sljedeće dvije opcije:

  • Ovo će vam pokazati dokumentaciju sadržanu u tom rpm. Ako imate samo ime datoteke onda:
rpm -qdf / putanja / do / datoteke
  • i rpm će vam pokazati dokumentaciju za paket koji posjeduje tu datoteku.

6. Porijeklo paketa

Ponekad želite da znate gde ste dobili paket ili pakete, koliko paketa ima u vašem sistemu od određenog spremišta ili dobavljača. Postoji nekoliko parametara pretraživanja koje možete koristiti. Iako nisu 100% savršeni, ipak mogu pomoći. Većina paketa iz spremišta ima oznake sa ID-om u redu Izdanje. Na primjer, rpmforge koristi rf kao identifikator. Možete koristiti ovo da vidite šta ste instalirali odatle:

Rpm -qa release = "* rf *"

i ako želite vidjeti koliko ste paketa instalirali od Johnny Hughesa možete koristiti:

Rpm -qa packager = "Johnny *"

Ova metoda radi za većinu kategorija kao što je rpm -qi

Ova komanda će vratiti cijelu listu instalirane pakete.

7. Izvucite samo jednu datoteku

Ako trebate da izdvojite samo jednu datoteku iz rpm-a bez ponovnog instaliranja cijelog paketa, to možete učiniti pomoću rpm2cpio. Na primjer, da izdvojite samo jednu datoteku iz logrotate rpm, koristite sljedeće:

Rpm2cpio logrotate-1.0-1.i386.rpm | cpio -ivd etc / logrotate.conf

8. Zahtjev za datum instalacije paketa

Korisno je pronaći stare pakete nakon nadogradnje koji nisu nadograđeni.

Rpm -qa --last> ~ / RPMS_by_Install_Date

Možete koristiti "manje" u izlazu da pronađete sve RPMS-ove starije od datuma instalacije. Koristeći također grep - navedite pakete i datum instalacije.

9. Zahtjev za dostupne pakete iz spremišta

Pronađite sve pakete dostupne iz određenog spremišta, kao što je RPMforge. Paketi koji su već instalirani iz ovog spremišta neće biti prikazani.

Yum --onemogućite "*" --omogućite "rpmforge" listu koja je dostupna

10. Pretražujte sa YUM u spremištu paketa za dati niz

Potražite pakete koji sadrže željeni niz u nazivu ili opisu paketa.

Yum search buildrpmtree | manje

11. Korištenje Yum-a sa proxy serverom

Da bi Yum radio preko proxy servera, dodajte sljedeći parametar u /etc/yum.conf:

Proxy = http: // vašproxy: 8080 /

gdje - vaš proxy je ime proxy servera, a 8080 je port proxy servera. Ako server zahtijeva autentifikaciju, možete navesti prijavu kao:

Proxy = http: // korisničko ime: [email protected]:8080/

RPM Package Manager vam omogućava da koristite varijable proxy okruženja. Može se postaviti u /etc/profilu ili specifično za određenog korisnika u datoteci ~ / .bash_profile ::

Izvoz http_proxy = http: // vašproxy: 8080 / izvoz ftp_proxy = http: // vašproxy: 8080 /

Za korištenje wget preko proxy add sledeći redovi u / etc / wgetrc

Http_proxy = http: // vašproxy: 8080 / ftp_proxy = http: // vašproxy: 8080 /

U oba slučaja, korisničko ime i lozinka se mogu navesti kao u gornjem primjeru.

12. Korištenje Yum-a za instaliranje lokalnog paketa, automatski provjeravajući i zadovoljavajući ovisnosti

yum --nogpgcheck localinstall ime paketa.arch.rpm

13. Dobivanje i ponovna izgradnja paketa bez root-a

Ponekad samo trebate ponovo izgraditi određeni paket - možda samo dodati opcije konfiguracije koje jednostavno ne postoje u glavnom paketu. Ili zato što ste pronašli traženi paket koji nije u spremištu, već na RPMs developer stranici za drugu distribuciju. Dakle, morate nabaviti src.rpm i ponovo ga izgraditi za sebe. Ali vi zaista ne želite da ovo radite kao superkorisnik. Dakle, kako ponovo izgraditi svoje pakete u svom kućni imenik pod vlastitim računom.

13.1 Metoda A

Prvo morate konfigurirati direktorij za rad. Njegova struktura je prilično slična direktoriju /usr/src/redhat:

$ cd $ mkdir -p redhat / (SRPMS, RPMS, SPECES, BUILD, SOURCES) $ ls redhat / BUILD RPMS IZVORI SPECS SRPMS $

Koristeći rpm makro, izvršit ćemo zamjenu kako bi rpmbuild saznao za nas i šta treba sastaviti:

$ echo "% _topdir / home / testuser / redhat" >> .rpmmacros $ echo "% packager Test User" >> .rpmmacros $ cat .rpmmacros% _topdir / home / testuser / redhat% packager Test korisnik $

Upravo. Sljedeći korak je postavljanje rpmbuild --rebuild foo.src.rpm, a rezultat će biti u ~ / redhat / RPMS / i386 (ili bilo koju arhitekturu sa kojom ste napravili paket).

13.2 Metoda B

Za CentOS-4, konfigurišite kbs-Extras repo (opciono dodajte kbs-Misk) sa stranice i "yum install fedora-rpmdevtools" kao root koristeći "sudo" ili "su -". Kreirajte korisnika (možda ćete želeti da koristite poseban nalog da biste izbegli probleme u svom normalnom kućnom direktorijumu) i izvršite "fedora-buildrpmtree" i ~ / rpmbuild / ... u stablu direktorijuma i datoteka ~ / .rpmmacros će biti automatski generirano. (Obratite pažnju na "rpmbuild" u odnosu na "RedHat" u metodi A.)

Za CentOS-5, paket rpmdevtools nije dostupan. U FC6 SRPM rpmdevtools-5.3-1.fc6.src.rpm se gradi i pokreće.

Ispod je makro za dobivanje pravih imena nekih paketa (zamijenite odgovarajuću distribuciju za "el4" svojom):

$ echo "% dist .el4" >> .rpmmacros

14. Prikaz prioriteta za sva instalirana spremišta

Možete dobiti listu svih repozitorija koje ste instalirali - yum repolist all... Međutim, ne prikazuje indeks prioriteta. Evo linije potrebne za ovo. Ako nijedan broj nije naveden, on podrazumevano ima najniži prioritet (99).

Cat /etc/yum.repos.d/*.repo | sed -n -e "/ ^ \ # yum lista" vim * "Instalirani paketi vim-minimal.i386 2: instaliran 7.0.109-7.el5 Dostupni paketi vim-X11.i386 2: 7.0.109-7.el5 base vim-augeas.i386 0.9.0-2.el5.rf rpmforge vim-clustershell.noarch 1.5.1-1.el5 epel vim-common.i386 2: 7.0.109-7.el5 base vim-enhanced.i386 2: 7.0.109-7.el5 baza vim-halibut.i386 1.0-2.20100504svn8934.el5.1 epel vim-puppet.noarch 2.7.9-1.el5.rf rpmforge

16. Prikaži sve instalirane GPG ključeve

Prikaži listu svih ključeva sa odgovarajućim informacijama o spremištu:

Rpm -q gpg-pubkey --qf "% (ime) -% (verzija) -% (izdanje) ->% (sažetak) \ n"

17. Potpisivanje paketa

Želite li potpisati svoj paket koji ste sastavili kako bi drugi mogli provjeriti njegovu valjanost? To možete učiniti vrlo jednostavno. Provjerite dokumentaciju.

Napomena: za CentOS 5 i 4, biće bolje da koristite DSA ključ za potpisivanje (jer je bilo problema sa verifikacijom za RSA verziju 4).

18. YUM metapaket

Metapaket je poseban paket koji ne sadrži nikakav softver, ali ima određeni skup softvera u svojim zavisnostima. Na primjer: instaliranje X na server.

Da biste vidjeli listu svih metapaketa, trebate pokrenuti naredbu: yum grouplist... Ali ako imate rusku lokaciju, onda će lista biti izdana na ruskom. Za listu onih koji se mogu instalirati (na engleskom), postavite jezik izlaza komande na engleski:

LANG = C yum grupna lista

19. Kako izlistati instalirane pakete

Instalirani paketi mogu prikazati komande

Yum lista je instalirana

Na primjer, da dobijete listu instaliranih paketa iz spremišta:

# instalirana yum lista | grep ius php71u-cli.x86_64 7.1.17-1.ius.el6 @ius php71u-common.x86_64 7.1.17-1.ius.el6 @ius php71u-embedded.x86_64 @ius 7.1.17-6. php71u-fpm.x86_64 7.1.17-1.ius.el6 @ius 7.1.17-1.ius.el6 @ius php71u-gd.x86_64 7.1.17-1.ius.el6 @ius php71u-intl.x71.el6 17-1.ius.el6 @ius php71u-json.x86_64 7.1.17-1.ius.el6 @ius php71u-mbstring.x86_64 7.1.17-1.ius.el6 @ius php71u-pdo.x86_.17- 1.ius.el6 @ius 3.4.3-2.ius.el6 @ius php71u-pgsql.x86_64 7.1.17-1.ius.el6 @ius php71u-xml.x86_64 7.1.17-1.ius.el6 @ius php71u-xmlrpc.x86_64 7.1.17-1.ius.el6 @ius

Danas bih želeo da ukratko opišem komande menadžera paketa yum- zvanična verzija FreePBX-a je bazirana na CentOS-u sa standardno instaliranim yum-om. Koristan je za instaliranje, uklanjanje, ažuriranje paketa.

Instaliranje paketa

Na primjer, da instalirate paket mc potrebno je da unesete komandu yum install mc. Nakon unosa naredbe, sistem će tražiti potvrdu. Da bi potvrda bila standardno odobrena, potrebno je da dodate ključ -y, na primjer yum –y instaliraj mc:

# yum install mc Učitani dodaci: fastestmirror Brzine učitavanja ogledala iz keširane datoteke hosta * baza: mirror.corbina.net * epel: mirror.datacenter.by * dodaci: mirror.corbina.net * ažuriranja: mirror.corbina.net Rješavanje ovisnosti - > Pokretanje provjere transakcije ---> Paket mc.x86_64 1: 4.8.7-11.el7 će biti instaliran -> Završeno rješavanje ovisnosti Zavisnosti riješene =================== == =================================================== =========== Paket Arch Verzija Veličina spremišta ================================= == ============================================ Instalacija: mc x86_64 1: 4.8.7-11.el7 base 1,7 M Sažetak transakcije ================================== ===== ======================================== Instaliraj 1 paket Ukupna veličina preuzimanja: 1,7 M Instalirana veličina : 5,6 M Da li je ovo u redu: y Preuzimanje paketa: mc-4.8.7-11.el7.x86_64.rpm | 1,7 MB 00:00 Pokretanje provjere transakcije Pokretanje testa transakcije Test transakcije je uspio Pokretanje transakcije Instaliranje: 1: mc-4.8.7-11.el7.x86_64 1/1 Provjera: 1: mc-4.8.7-11.el7.x86_64 1 / 1 Instalirano: mc.x86_64 1: 4.8.7-11.el7 Završeno!

Uklanjanje paketa

Da biste uklonili paket, odnosno, potrebno je da unesete naredbu yum remove mc. Isto tako, možete koristiti tipku -y za potvrdu:

# yum ukloni mc Učitani dodaci: fastestmirror Rješavanje ovisnosti -> Pokretanje provjere transakcije ---> Paket mc.x86_64 1: 4.8.7-11.el7 će biti obrisan -> Završeno rješavanje ovisnosti ovisnosti riješeno ====== == =================================================== ====================== Paket Arch Verzija Repozitorija Veličina ====================== == =================================================== ======= Uklanjanje: mc x86_64 1: 4.8.7-11.el7 @base 5.6 M Sažetak transakcije ======================= == =================================================== ====== Ukloni 1 paket Instalirana veličina: 5,6 M Da li je ovo u redu: y Preuzimanje paketa: Pokretanje provjere transakcije Pokretanje testa transakcije Test transakcije je uspio Pokretanje transakcije Brisanje: 1: mc-4.8.7-11.el7.x86_64 1/ 1 Provjera: 1: mc-4.8.7-11.el7.x86_64 1/1 Uklonjeno: mc.x86_64 1: 4.8.7-11.el7 Završeno!

Ažuriranje paketa

Pretpostavimo da jeste stara verzija mysql i trebate ga ažurirati - ovdje se koristi naredba ažurirati... Cijela komanda će izgledati ovako: yum update mysql.

Potražite paket

Ako želite provjeriti da li je određeni paket instaliran na serveru i dostupan za instalaciju, koristite naredbu lista... Cijela komanda će izgledati ovako: yum list mysql. Također možete odrediti tačnu verziju paketa ako vam je potrebna detaljnija pretraga.

Prikaz informacija o paketu

Ako želite da prikažete informacije o paketu, koristite naredbu info... Cijela komanda će izgledati ovako: yum info mc.

Ispis informacija o svim dostupnim i instaliranim paketima

Da biste to učinili, koristite naredbu lista sa modifikatorima. Za povlačenje dostupnih paketa: yum lista | manje i za prikaz svih instaliranih - yum lista instaliranih | manje

Ispitivanje dostupna ažuriranja za pakete i samo ažuriranje

Za provjeru koristite naredbu check-update, a za ažuriranje - ažurirati... Ispod su tri primjera upotrebe naredbi:

  • yum check-update mysql - provjerite ažuriranja mysql paketa;
  • yum lista ažuriranja - prikazuje listu ažuriranja;
  • yum update mc - ažuriranje Midnight Commander-a;
  • yum –y update - ažuriranje svih instaliranih paketa;
Grupni paketi i operacije s njima

U Linuxu se neki paketi skupljaju u takozvane grupne pakete – npr. DNS server imena, Urednici, Java Development itd. Uz yum, možete instalirati grupne pakete koristeći naredbu groupinstall- primjer ispod yum groupinstall 'Klustering. Ukratko ću opisati ostale naredbe za manipulaciju grupnim paketima:

  • yum grouplist - prikazuje sve grupne pakete dostupne za instalaciju;
  • yum groupupdate 'Baza' - ažuriranje određenog grupnog paketa, u u ovom slučaju- Baza;
  • yum groupremove ‘Editors’ - ukloniti grupni paket;
Spremišta u yum

Pretraga paketa se odvija u takozvanim repozitorijumima, u nastavku ću dati nekoliko komandi za rad sa njima - princip je isti kao i kod paketa (na primer komande liste). Sva aktivna spremišta se prikazuju pomoću naredbe yum repolist, a neaktivna spremišta se također prikazuju pomoću naredbe yum repolist all

Za instaliranje paketa iz određenog spremišta, nije bitno da li je aktivan ili neaktivan, koristi se ključ --enablerepo... Kao primjer - phpmyadmin instalacija: yum –enablerepo = epel install phpmyadmin

Terminal u yum-u i istoriji

Ako ćete obaviti puno operacija s paketima, tada možete odmah ući u yum shell koristeći komandu yum shell i koristeći komande koje već znate (samo bez prva tri slova), možete instalirati \ ukloniti \ ažurirati \ bilo koje pakete. Takođe zanimljiva karakteristika je mogućnost pregleda istorije instalacije u yum-u - korišćenjem komande yum history.

Je li vam ovaj članak bio od pomoći?

Molim te reci mi zašto?

Žao nam je što vam članak nije bio od koristi: (Molimo, ako ne otežava, navedite zašto? Bićemo veoma zahvalni na detaljnom odgovoru. Hvala što ste nam pomogli da postanemo bolji!

Svrha Yum

Yum je kreiran za rješavanje sljedećih zadataka:

  • Traženje paketa u spremištima
  • Instaliranje paketa iz spremišta
  • Instaliranje paketa iz .rpm datoteka, rješavanje ovisnosti korištenjem spremišta
  • Ažuriranje sistema
  • Uklanjanje nepotrebnih paketa
  • U stvari, yum je omotač spremišta za rpm.

Osnovne operacije paketa

Pretraživanje spremišta

Postoje tri naredbe koje se koriste za pretraživanje spremišta koristeći yum: list, search i provide.

Najlakši način za pronalaženje je korištenje naredbe list. Naredba list gleda imena paketa i verzije za podudaranja. Na primjer, da vidite pakete pod nazivom tsclient, koristite:

Yum lista tsclient

Naredba pretraživanja pretražuje ime paketa i opis za navedeni niz. Na primjer, za traženje paketa povezanih s PalmPilot, unesite:

Yum search PalmPilot

Naredba provide vam omogućava da tražite pakete koji sadrže specificirani fajl... Na primjer, da biste potražili pakete koji sadrže libneon, unesite:

Yum pruža libneon

Da li sve naredbe pretraživanja podržavaju zamjenske znakove? i * (izbjegnite ih sa \ za ispravno rukovanje bash). Na primjer, da tražite pakete koji počinju sa tsc, upišite:

Yum lista tsc \ *

za traženje paketa koji sadrže datoteke u / etc / httpd direktoriju

Yum pruža / etc / httpd \ *

ili za traženje određenih naredbi/programa, na primjer za traženje mc (ponoćni komandant)

Yum pruža \ * / mc

kao rezultat, dobijamo sledeći izlaz

1: mc-4.7.4-1.fc14.i686: tekstualna konzola prilagođena korisniku file manager i vizualna ljuska Repozitorijum: baza Podudaranja sa: Ime datoteke: / usr / share / mc Ime datoteke: / usr / libexec / mc Ime datoteke: / etc / mc Ime datoteke: / usr / bin / mc

Instaliranje paketa sa Yum

Parametar install se koristi za instaliranje paketa pomoću yum

Za instaliranje tsclient unesite:

Yum install tsclient

Yum će automatski riješiti (ako može) ovisnosti i ponuditi da ih instalira:

=================================================== =========================== Paket Arch Verzija Repozitorija Veličina =================== =================================================== ========= Instaliranje: tsclient i386 0.132-6 base 247 k Instaliranje za zavisnosti: rdesktop i386 1.4.0-2 base 107 k Sažetak transakcije =============== =================================================== ============ Instaliraj 2 paketa (a) Ažuriraj 0 paketa (a) Ukloni 0 paketa (a) Ukupna veličina preuzimanja: 355 k Da li je ovo u redu:

Instaliranje paketa iz .rpm datoteka

Naredba localinstall je ranije korištena za instaliranje .rpm paketa s automatskim razrješenjem ovisnosti. Sada možete koristiti redovnu instalaciju. Dakle komanda:

Yum install foo.rpm

će automatski pronaći zavisnosti foo.rpm paketa u spremištima (ako može) i ponuditi da ih instalira.
Može doći do problema u odsustvu ili nepoznatom GPG potpisu RPM paketa, što će rezultirati odbijanjem instalacije i, kao posljedicom, sljedećom greškom

Javni ključ za foo.rpm nije postavljen

Da biste ovo zaobišli (ako vjerujete izvoru koji pruža paket), morate isključiti provjeru GPG ključeva dodavanjem parametra --nogpgcheck na kraju naredbe

Ažuriranje sistema

Ažuriranje sistema se vrši pomoću jedne naredbe - ažuriranje. Na ovaj način:

Yum update

će ažurirati cijeli vaš sistem. I tim

Yum update foo

Sa obje metode, performanse se održavaju.

Korištenje Yum-a sa proxy serverom

Da bi Yum radio preko proxy servera, dodajte sljedeći parametar u /etc/yum.conf:

Proxy = http: // vašproxy: 8080 /

gdje - vaš proxy je ime proxy servera, a 8080 je port proxy servera. Ako server zahtijeva autentifikaciju, možete navesti prijavu kao:

Proxy = http: // korisničko ime: [email protected]:8080/

RPM Package Manager vam omogućava da koristite varijable proxy okruženja. Ovo se može postaviti u /etc /profilu ili specifično za korisnika u ~/.bash_profile ::

Izvezi http_proxy = http: // vašproxy: 8080 /
izvoz ftp_proxy = http: // vašproxy: 8080 /

Da biste koristili wget kroz proxy, dodajte sljedeće redove u / etc / wgetrc

Http_proxy = http: // vaš proxy: 8080 /
ftp_proxy = http: // vaš proxy: 8080 /

U oba slučaja, korisničko ime i lozinka se mogu navesti kao u gornjem primjeru.

Korištenje Yum-a za instalaciju lokalnog paketa, automatski provjeravajući i zadovoljavajući ovisnosti

yum --nogpgcheck localinstall ime paketa.arch.rpm

Prikaz prioriteta za sva instalirana spremišta

Možete dobiti listu svih repozitorija koje ste instalirali - yum repolist all... Međutim, ne prikazuje indeks prioriteta. Evo linije potrebne za ovo. Ako nijedan broj nije naveden, on podrazumevano ima najniži prioritet (99).

Cat /etc/yum.repos.d/*.repo | sed -n -e "/ ^ \)

Top srodni članci