Većina modernih operativnih sistema sličnih Unixu nudi centralizovane mehanizme za pronalaženje i instaliranje paketa. Softver se obično distribuira u obliku paketa koji se čuvaju u spremištima. Paketi sadrže glavne komponente operativni sistem, kao i zajedničke biblioteke, aplikacije, usluge i dokumentacija.
Sistem upravljanja paketima izvan instalacije softver, pruža mnoge druge funkcije i alate za nadogradnju već instaliranih paketa. Spremišta paketa osiguravaju da je kod prošao neophodna verifikacija za upotrebu u sistemu, i šta instalirane verzije softver su odobrili programeri.
Prilikom postavljanja serverskog ili razvojnog okruženja, bolje je potražiti pakete u službenim spremištima. Paketi u stabilna verzija distribucija može biti zastarjela, posebno ako se softver brzo ažurira.
Upravljanje paketima je vitalna vještina za sistem administratori i programeri.
Ovaj vodič pokriva osnove upravljanja paketima: pronalaženje, instaliranje i ažuriranje paketa za različite distribucije.
Sistemi za upravljanje paketima: Kratak pregled
Većina sistema za upravljanje paketima izgrađena je na skupovima datoteka paketa. Datoteka paketa je obično arhiva koja sadrži kompajlirane binarne datoteke, instalacione skripte i druge resurse koji čine program. Paketi takođe sadrže vredne metapodatke, uključujući njihove zavisnosti (lista paketa potrebnih za pokretanje programa).
operativni sistem | Format |
Debian | .deb |
Ubuntu | .deb |
CentOS | .rpm |
Fedora | .rpm |
FreeBSD | portovi, .txz |
CentOS, Fedora i drugi Red Hat sistemi koriste RPM fajlovi. CentOS koristi yum manager za interakciju sa paketima i repozitorijumima. IN najnovije verzije Fedora yum je zamijenjen moderniziranim dnf menadžerom. Na Debian i Debian sistemima (Ubuntu, Linux Mint, Raspbian) koristi .deb format. APT (Advanced Packaging Tool) menadžer paketa pruža komande koje se koriste za najčešće operacije: pretraživanje spremišta, upravljanje ažuriranjima, instaliranje skupa paketa i njihovih zavisnosti. APT komande rade kao front-end uslužni programi niži nivo dpkg, koji upravlja instalacijom pojedinačnih .deb paketa na lokalni sistem; ako je potrebno, ovaj uslužni program se može eksplicitno pozvati.
Sistem binarne datoteke FreeBSD-om upravlja naredba pkg. Osim toga, FreeBSD pruža kolekciju portova, lokalna struktura direktorije i alati koji vam omogućavaju da izvučete, prevedete i instalirate pakete izvorni kod koristeći makefile. Obično je lakše koristiti pkg manager, ali ponekad prethodno kompajlirani paketi nisu dostupni.
Ažuriranje liste paketa
Većina sistema održava lokalnu bazu podataka o paketima dostupnim u udaljenim spremištima. Preporučuje se da ažurirate ovu bazu podataka prije instaliranja ili ažuriranja paketa. Djelomični izuzeci ovog obrasca su yum i DNF, koji provjeravaju ažuriranja paketa prije izvođenja nekih operacija.
operativni sistem | Tim |
Debian/Ubuntu | sudo apt-get update |
CentOS | yum check-update |
Fedora | dnf check-update |
FreeBSD paketi | sudo pkg ažuriranje |
FreeBSD portovi | sudo portsnap dohvati ažuriranje |
Ažuriranje instaliranih paketa
Održavanje instaliranog softvera ažurnim bez pomoći sistema za upravljanje paketima je prilično radno intenzivan zadatak. Morat ćete sami pratiti ažuriranja paketa i sigurnosna obavještenja za stotine različitih paketa. Naravno, menadžer paketa neće riješiti sve probleme koji se mogu pojaviti prilikom ažuriranja softvera, ali će pomoći da većina komponenti sistema bude ažurirana sa samo nekoliko naredbi.
IN FreeBSD sistem Možda će biti potrebno ažuriranje instaliranih portova ručna podešavanja. Prije ažuriranja portmastera, preporučuje se da se upoznate sa /usr/ports/UPDATING.
Sistem | Tim |
Debian/Ubuntu | sudo apt-get upgrade |
sudo apt-get dist-upgrade | |
CentOS | sudo yum update |
Fedora | sudo dnf upgrade |
FreeBSD paketi | sudo pkg upgrade |
FreeBSD portovi | manje /usr/ports/UPDATING |
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a |
Pretražite pakete
Većina distribucija pruža grafičko ili meni vođeno sučelje za kolekcije paketa. Omogućava vam da pretražujete kategorije i tražite novi softver. Međutim, najčešće najbrže i najviše efikasan način Pronalaženje paketa je pretraga pomoću alata komandne linije.
Sistem | Tim |
Debian/Ubuntu | apt-cache pretraga search_string |
CentOS | yum search search_string |
yum pretraži sve search_string | |
Fedora | dnf pretraga search_string |
dnf pretraži sve search_string | |
FreeBSD (paketi) | pkg pretraga search_string |
pkg pretraga -f string_pretraga | |
pkg pretraga -D string_pretraga | |
FreeBSD (portovi) | cd /usr/ports && izvrši pretragu ime=paket |
cd /usr/ports && napravi ključ za pretragu=string_pretraživanja |
Informacije o paketu
Kada odlučujete kako instalirati paket, potražite pomoć od Detaljan opis paketi. Ovaj tekst čitljiv ljudima često sadrži korisne metapodatke: brojeve verzija, listu zavisnosti itd.
Sistem | Tim |
Debian/Ubuntu | apt-cache show paket |
dpkg -s paket | |
CentOS | yum info paket |
yum deplist paket | |
Fedora | dnf info paket |
dnf repoquery --zahtijeva paket | |
FreeBSD (paketi) | pkg info paket |
FreeBSD (portovi) | cd /usr/ports/category/port && cat pkg-descr |
Instaliranje paketa iz spremišta
Znajući naziv potrebnog paketa, možete ga vrlo brzo instalirati pomoću jedne naredbe. Također možete navesti sve pakete koje je potrebno instalirati u jednoj komandi.
Sistem | Tim |
Debian/Ubuntu | sudo apt-get instalacioni paket |
sudo apt-get install paket1 paket2 ... | |
sudo apt-get install -y paket | |
CentOS | sudo yum instalacioni paket |
sudo yum instaliraj paket 1 paket 2 ... | |
sudo yum install -y paket | |
Fedora | sudo dnf instalacioni paket |
sudo dnf instaliraj paket 1 paket 2 ... | |
sudo dnf install -y paket | |
FreeBSD (paketi) | sudo pkg instalacioni paket |
sudo pkg instaliraj paket1 paket2 ... | |
FreeBSD (portovi) | cd /usr/ports/category/port && sudo make install |
Instaliranje paketa iz lokalnog sistema datoteka
Ponekad programeri ili dobavljači nude batch fajlovi za preuzimanje, čak i ako aplikacija nije službeno upakovana za dati operativni sistem.
Obično se ovi paketi mogu preuzeti pomoću web pretraživača ili curl utilities V komandna linija. Nakon što se paket preuzme, može se instalirati pomoću jedne naredbe.
Na sistemima sličnim Debianu, pojedinačnim datotekama paketa upravlja dpkg. Ako paket ima zavisnosti koje nisu instalirane na sistemu, gdebi ih može preuzeti iz zvaničnog spremišta.
Na CentOS i Fedora sistemima za instalaciju odvojeni fajlovi i obradu potrebnih zavisnosti, koriste se yum i dnf.
Sistem | Tim |
Debian/Ubuntu | sudo dpkg -i paket.deb |
sudo apt-get install -y gdebi&& sudo gdebi package.deb | |
CentOS | sudo yum install package.rpm |
Fedora | sudo dnf install package.rpm |
FreeBSD (paketi) | sudo pkg add package.txz |
sudo pkg add -f paket.txz |
Uklanjanje paketa
Upravitelj paketa tačno zna koje datoteke svaki paket nudi, tako da može lako ukloniti sve nepotrebne programe.
Danas bih želeo da ukratko opišem komande menadžera paketa yum- zvanična verzija FreePBX bazirana je na CentOS-u, koji ima instaliran yum po defaultu. Koristan je za instaliranje, deinstaliranje i 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, morate dodati 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 Rešavanje zavisnosti -- > Pokretanje provjere transakcije ---> Paket mc.x86_64 1:4.8.7-11.el7 će biti instaliran --> Završeno rješavanje ovisnosti Zavisnosti riješene =================== =================================================== === ============ Veličina spremišta verzije Arch paketa =============================== ==== =============================================== =============== 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 uspješan 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, u skladu s tim, trebate unijeti naredbu yum remove mc. Možete koristiti prekidač za potvrdu -y na isti način:
# yum ukloni mc Učitane dodatke: fastestmirror Rešavanje zavisnosti --> Pokretanje provere transakcije ---> Paket mc.x86_64 1:4.8.7-11.el7 će biti obrisan --> Završeno rešavanje zavisnosti Rešene zavisnosti ====== =================================================== === ======================= Paket Arch Verzija Repozitorija Veličina ==================== == ================================================= ===== ========= Uklanjanje: mc x86_64 1:4.8.7-11.el7 @base 5.6 M Sažetak transakcije ================== ===== ============================================== ======== ======== Uklonite 1 instalirani paket Veličina: 5,6 M Da li je ovo u redu : y Preuzimanje paketa: Pokretanje provjere transakcije Pokretanje testa transakcije Test transakcije 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 naredba ć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 .
Prikaz informacija o svim dostupnim i instalirane pakete
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. U nastavku su tri primjera korištenja naredbi:
- yum check-update mysql - provjerava 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 i tako dalje. Uz yum možete instalirati grupne pakete koristeći naredbu groupinstall- primjer ispod yum groupinstall 'Klustering. Ukratko ću opisati preostale naredbe za manipuliranje 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’ - uklanjanje grupnog paketa;
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 sa paketima (na primer komande liste). Sva aktivna spremišta se prikazuju pomoću naredbe yum repolist; neaktivna spremišta se također prikazuju pomoću naredbe yum repolist all
Za instaliranje paketa iz određenog spremišta, bilo aktivnog ili neaktivnog, koristite ključ --enablerepo. Kao primjer - phpmyadmin instalacija: yum –enablerepo=epel install phpmyadmin
Yum terminal i istorija
Ako ćete izvoditi puno operacija s paketima, tada možete odmah ući u yum shell koristeći komandu yum shell i koristeći komande koje su vam već poznate (samo bez prve tri slova, odnosno), možete instalirati\ukloniti\ažurirati\bilo koje pakete. Još jedna zanimljiva karakteristika je mogućnost pregleda istorije instalacija u yum-u pomoću komande yum history.
Je li vam ovaj članak bio koristan?
Molim te reci mi zašto?
Žao nam je što vam članak nije bio od koristi: (Molimo, ako nije teško, navedite zašto? Bićemo veoma zahvalni na detaljnom odgovoru. Hvala što ste nam pomogli da postanemo bolji!
Svrha Yum
Yum je dizajniran za rješavanje sljedećih problema:
- 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 omot za rpm koji omogućava rad sa repozitorijumima.
Osnovne operacije na paketima
Pretražite spremišta
Postoje tri naredbe koje se koriste za pretraživanje spremišta koristeći yum: list , search i provide .
Najlakši način pretraživanja je korištenje naredbe list. Naredba list pregledava imena paketa i verzije za podudaranja. Na primjer, za pregled paketa 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 koji se odnose na 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 za pretraživanje podržavaju zamjenske znakove? i * (escapirajte ih znakom \ za bash da biste ih ispravno obrađivali). Na primjer, da tražite pakete koji počinju sa tsc, unesite:
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 Spremište: base Odgovara: Ime datoteke: /usr/share/mc Ime datoteke: /usr/libexec/mc Ime datoteke: /etc/mc Ime datoteke: /usr/bin/mc
Instaliranje paketa pomoću Yum
Da biste instalirali pakete koristeći yum, koristite parametar install
Da instalirate tsclient, unesite:
Yum install tsclient
Yum će automatski riješiti (ako može) ovisnosti i ponuditi da ih instalira:
Instaliranje paketa iz .rpm datoteka
Naredba localinstall se koristila za instaliranje .rpm paketa s automatskom razlučivanjem ovisnosti. Sada možete koristiti redovnu instalaciju. Dakle komanda:
Yum install foo.rpm
će automatski pronaći zavisnosti paketa foo.rpm u spremištima (ako može) i ponuditi da ih instalira.
Problem može nastati u odsustvu ili nepoznatom GPG potpisu RPM paketa, što će rezultirati odbijanjem instalacije i, kao rezultat, sljedećom greškom
Javni ključ za foo.rpm nije instaliran
Da biste ovo zaobišli (ako vjerujete izvoru koji pruža paket) morate onemogućiti provjeru GPG ključa dodavanjem parametra --nogpgcheck na kraju naredbe
Ažuriranje sistema
Sistem se ažurira pomoću jedne naredbe - ažuriranje. ovako:
Yum update
će ažurirati cijeli vaš sistem. I tim
Yum update foo
Kada koristite obje metode, performanse se održavaju.
Korištenje Yum-a sa proxy serverom
Da biste prisilili Yum da radi preko proxy servera, morate dodati sljedeći parametar u /etc/yum.conf:
Proxy=http://yourproxy: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://username:password@yourproxy:8080/
RPM Package Manager vam omogućava da koristite proxy promenljive okruženja. Ovo se može postaviti u /etc/profile ili specificirati za određenog korisnika u datoteci ~/.bash_profile::
Izvezi http_proxy=http://yourproxy:8080/
izvoz ftp_proxy=http://yourproxy:8080/
Da biste koristili wget preko proxyja, dodajte sledeći redovi u /etc/wgetrc
Http_proxy = http://vašproxy:8080/
ftp_proxy = http://vašproxy:8080/
U oba slučaja, login i lozinka se mogu postaviti 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.rpmPrikaži prioritete za sva instalirana spremišta
Možete dobiti listu svih repozitorija instaliranih na vama - yum repolist all. Međutim, ne prikazuje indeks prioriteta. Evo linije koja je potrebna za ovo. Ako broj nije naveden, podrazumevani je najniži prioritet (99).
Cat /etc/yum.repos.d/*.repo | sed -n -e "/^\)