Upravljanje paketima u Ubuntu i Debianu s Apt-Get i Apt-Cache. APT menadžer paketa Apt dobija y vrijednost naredbe

Apt-get uslužni program je moćan besplatni konzolni program koji se koristi i radi sa bibliotekom APT (Advanced Packaging Tool) za instaliranje novih softverskih paketa, uklanjanje postojećih, nadogradnju instaliranih i nadogradnju cijelog operativnog sistema.

Uslužni program apt-cache konzole se koristi za pretraživanje keša za APT softverske pakete. razgovor jednostavnim riječima, ovaj alat se koristi za traženje paketa, prikupljanje informacija o paketima i pronalaženje paketa dostupnih za instalaciju operativni sistemi baziran na Debianu ili Ubuntuu.

Kako mogu dobiti listu svih dostupnih paketa?

Da vidite sve dostupne pakete, pokrenite sljedeću naredbu:

apt-cache pkgnames

Kako mogu pronaći naziv i opis paketa.

Da biste pronašli naziv i opis paketa prije instaliranja, koristite oznaku "pretraži". Korištenje "search" sa apt-cacheom će prikazati listu odgovarajućih paketa sa kratak opis. Na primjer, ako želite pronaći opis vsftpd paketa: da biste to učinili, naredba bi bila:

apt-cache pretraga vsftpd

Da biste pronašli i izlistali sve pakete čije ime počinje sa vsftpd, možete koristiti sljedeću naredbu:

apt-cache pkgnames vsftpd

Kako mogu vidjeti informacije o paketu?

Na primjer, ako želite vidjeti informacije o paketu, sa kratkim opisom koji prikazuje broj verzije, kontrolne sume, veličinu, veličinu nakon instalacije, kategorije i tako dalje, možete koristiti podnaredbu "show", kao što je prikazano u nastavku:

apt-cache show netcat

Kako mogu provjeriti zavisnosti paketa?

Da biste provjerili ovisnosti određenog paketa, možete koristiti podnaredbu showpkg da vidite jesu li te ovisnosti instalirane ili ne. Na primjer, koristite naredbu showpkg zajedno s imenom paketa.

apt-cache showpkg vsftpd

Kako mogu vidjeti statistiku keša?

Podkomanda stats će prikazati punu statistiku o kešu, kao što je ukupan broj paketa pronađenih u kešu. Koristite ovu naredbu:

apt-cache statistika

Kako ažurirati listu paketa u sistemu?

Naredba ažuriranje se koristi za sinkronizaciju i ažuriranje datoteka indeksa paketa. Sinhronizacija se dešava sa izvorima navedenim u datoteci /etc/apt/sources.list. Ova naredba se može koristiti, na primjer, za praćenje važnih ažuriranja paketa.

Sudo apt-dobi ažuriranje

Kako ažurirati pakete u sistemu?

Komanda upgrade se koristi za nadogradnju svega na čemu je instalirano ovog trenutka softver na vašem sistemu. Ponekad se može dogoditi da se ažuriranje ne može instalirati zbog nekog drugog paketa koji zahtijeva stariju verziju.

sudo apt-get upgrade

Ali ako želite nadograditi bez obzira na zahtjeve paketa, koristite podnaredbu dist-upgrade:

sudo apt-get dist-upgrade

Kako mogu instalirati ili ažurirati bilo koji određeni paket?

Podnaredba install se koristi za instaliranje ili nadogradnju paketa.

sudo apt-get install netcat

Kako mogu instalirati više paketa odjednom?

Možete unijeti nazive nekoliko paketa da biste ih instalirali istovremeno. Na primjer, da instalirate nethogs i goaccess pakete, možete pokrenuti sljedeću naredbu:

sudo apt-get install nethogs goaccess

Kako instalirati više paketa po imenu "maske".

Sa regularnim izrazima možete dodati više paketa koristeći posebne znakove. Na primjer, možete koristiti zvjezdicu da instalirate sve pakete koji sadrže niz "name" u svom nazivu:

sudo apt-get install *name*

Kako instalirati pakete bez ažuriranja.

Korištenje oznake --no-upgrade će spriječiti već nadogradnju instalirane pakete.

sudo apt-get install packageName --no-upgrade

Kako ažurirati samo određene pakete?

Oznaka --only-upgrade neće instalirati nove pakete, već će samo nadograditi postojeće.

sudo apt-get install ime paketa --only-upgrade

Kako mogu instalirati određenu verziju paketa?

Zamislimo da trebate instalirati određenu verziju paketa, samo upotrijebite znak jednakosti uz ime paketa i dodijelite željenu verziju.

sudo apt-get install vsftpd=2.3.5-3ubuntu1

Kako ukloniti pakete bez brisanja postavki?

Za uklanjanje softverskih paketa bez uklanjanja njihovih konfiguracijskih datoteka (za kasniju upotrebu), koristite naredbu za uklanjanje kao što je prikazano.

sudo apt-get remove vsftpd

Kako potpuno ukloniti pakete?

Da biste uklonili paket zajedno sa njegovim konfiguracijskim datotekama, koristite podnaredbu purge kao što je prikazano ispod.

sudo apt-get purge vsftpd

Ili možete kombinirati obje naredbe, ovako:

sudo apt-get remove --purge vsftpd

Kako mogu očistiti prostor na disku?

Naredba clean se koristi za oslobađanje prostora na disku uklanjanjem rezultirajućih paketa .deb datoteka u vašem lokalnom spremištu.

sudo apt-očisti se

Kako preuzeti izvorni kod paketa?

Da preuzmete samo izvorni kod paketa, možete koristiti --download-only izvornu opciju s imenom paketa, kao što je ovaj:

sudo apt-get --download-only izvor vsftpd

Kako mogu preuzeti i raspakovati paket?

Za preuzimanje i raspakivanje izvornog koda paketa u poseban direktorij, pokrenite sljedeću naredbu:

sudo apt-get source vsftpd

Kako mogu preuzeti, raspakirati i kompajlirati izvorni kod paketa?

Također možete preuzeti, raspakirati i kompajlirati izvorni paket koristeći opciju '--compile', kao što je prikazano ispod:

sudo apt-get --prevedi izvorni goaccess

Kako preuzeti paket bez instalacije

Koristeći opciju "download", možete preuzeti bilo koji paket bez instaliranja. Na primjer, sljedeća naredba će preuzeti samo paket nethogs u trenutni radni direktorij.

sudo apt-get download nethogs

Kako mogu vidjeti dnevnik promjena paketa?

Oznaka dnevnika promjena preuzima dnevnik promjena paketa i prikazuje verziju paketa, ako je instalirana.

sudo apt-get changelog vsftpd

Kako se pokvarene zavisnosti mogu popraviti?

Komanda "check" je dijagnostički alat, koristi se za ažuriranje keša paketa i provjeru pokvarenih ovisnosti.

Sudo apt-dobi ček

Kako mogu pronaći i izgraditi zavisnosti?

Naredba build-dep traži i instalira ugrađene zavisnosti potrebnog paketa. Ako paket nije u lokalnom spremištu, dobit ćete grešku.

sudo apt-get build-dep netcat

Kako mogu automatski obrisati Apt-Get keš memoriju?

Naredba autoclean uklanja sve .deb datoteke iz /var/cache/apt/archives kako bi ih oslobodila slobodan prostor na hard disku.

sudo apt-get autoclean

Kako mogu automatski ukloniti nepotrebne pakete?

Potkomanda autoremove se koristi za automatsko uklanjanje paketa koji su instalirani kao zavisnosti od drugih, ali više nisu potrebni. Na primjer, sljedeća naredba će ukloniti instalirani paket zajedno s njegovim ovisnostima.

sudo apt-get autoremove vsftpd

Informacije ljubaznošću sajta. Hvala ti.

| |

Šta se desiloapt-get?

apt - program korisnički interfejs komandna linija za dpkg sistem pakovanja, što je preferirani način upravljanja softverom iz komandne linije za bilo koju distribuciju. To je glavni sistem za upravljanje paketima u Debianu i Linux distribucijama baziranim na Debianu kao što je Ubuntu.

Dok "dpkg" alat generiše osnovni sloj pakovanja, apt-get i apt-cache pružaju pogodna sučelja i rukovanje zavisnošću. Ovo omogućava korisnicima da lako i racionalno upravljaju velikim brojem softver.

Ovaj vodič govori o osnovnoj upotrebi "apt-get" i "apt-cache" i njihovim mogućnostima u upravljanju softverom. Svi primjeri su bazirani na Ubuntu 12.04 cloud serveru, ali opisani koraci i tehnike mogu se izvesti na bilo kojoj distribuciji zasnovanoj na Debianu.

Ažuriranje baze podataka paketa izaptGet

apt-get radi sa bazom podataka poznatog i dostupnog softvera. Ova naredba izvodi instalaciju, pretraživanje paketa i druge radnje povezane s ovom bazom podataka.

Stoga, prije nego što započnete bilo kakvu operaciju pakiranja s apt-get, morate biti sigurni da imate najnoviju lokalnu kopiju baze podataka.

Možete ažurirati bazu podataka sa sljedećom naredbom. Apt-get zahtijeva administrativne privilegije za većinu operacija:

sudo apt-get update

Prikazaće se lista servera sa kojih se preuzimaju informacije. Baza podataka će se tada ažurirati.

Ažurirajte instalirane pakete saaptGet

Sistemski paketi se mogu ažurirati sljedećom naredbom:

sudo apt-get upgrade

Za više kompletno renoviranje koristite argument "dist-upgrade", koji rješava pametne ovisnosti novih paketa i nadogradnji neophodni programi na račun onih manje važnih:

sudo apt-get dist-upgrade

Instaliranje novih paketa izaptGet

Ako je poznato ime paketa koji se instalira, onda se može instalirati koristeći sljedeću sintaksu:

sudo apt-get install paket1 paket2 paket3 ...

Također možete instalirati više paketa odjednom, što vam omogućava da dobijete sav softver koji vam je potreban za vaš projekat u jednom koraku.

Važno je shvatiti da apt-get instalira ne samo traženi softver, već i programe potrebne za njegovu instalaciju ili pokretanje.

Na primjer, kompletan paket za uređivanje teksta "vim" može se instalirati upisivanjem:

sudo apt-get install vim

OdstranjivanjepaketWithapt-get

Za uklanjanje paketa možete koristiti sljedeću naredbu:

sudo apt-get ukloniti ime_paketa

Ova komanda uklanja pakete, ali zadržava konfiguracionu datoteku u slučaju da se paket ponovo instalira. Stoga će postavke ostati netaknute čak i ako program nije instaliran.

Ako konfiguraciona datoteka ne mora biti pohranjena, može se ukloniti zajedno s programom koristeći sintaksu:

sudo apt-get purge ime_paketa

Ova akcija uklanja sve konfiguracijske datoteke povezane s paketom.

Da biste uklonili bilo koji nepotreban paket koji je automatski instaliran za podršku drugog programa, unesite sljedeće:

sudo apt-get autoremove

Također možete navesti ime paketa nakon naredbe "autoremove" da biste uklonili paket i njegove ovisnosti.

Zajedničke zastaveaptGet

Postoji niz različitih opcija koje se mogu specificirati pomoću zastavica. Hajde da razmotrimo neke od njih.

Da biste "pokrenili" proceduru na suho i vidjeli šta radi, možete koristiti oznaku "-s" ("simulacija"):

sudo apt-get install -s htop
Čitanje lista paketa... Gotovo
izgradnja stabla zavisnosti
Čitanje informacija o stanju... Gotovo
Predloženi paketi:
strace ltrace
Biće instalirani sledeći NOVI paketi:
htop
0 nadograđeno, 1 novo instalirano, 0 za uklanjanje i 118 nije nadograđeno.
Inst htop (1.0.1-1 Ubuntu:12.04/precizno)
Conf htop (1.0.1-1 Ubuntu:12.04/precizno)

Umjesto stvarnih radnji, možete vidjeti odjeljke "Inst" i "Conf", koji označavaju lokaciju na kojoj će se paket instalirati i konfigurirati ako se ukloni oznaka "-s".

Ako želite da konfigurišete automatsku potvrdu izbora, možete koristiti oznaku "-y", koja automatski odgovara "da" na sva pitanja.

sudo apt-get ukloniti -y htop

Ako želite da preuzmete paket, ali ga ne instalirate, možete pokrenuti sljedeću naredbu:

sudo apt-get install -d ime paketa

Ove datoteke će se nalaziti u "/var/cache/apt/archives".

Ako želite da potisnete rezultate, možete koristiti oznaku "-qq":

sudo apt-get ukloniti -qq ime paketa

Pronalaženje paketa saaptSkladiste

"Apt" alat za pakovanje je zapravo kolekcija povezanih besplatni alati, koji se koriste za kontrolu sistemskog softvera.

Dok se "apt-get" koristi za ažuriranje, instaliranje i uklanjanje paketa, "apt-cache" se koristi za traženje informacija u bazi podataka paketa.

Možete koristiti sljedeću naredbu da pronađete potrebne pakete. Imajte na umu da apt-cache obično ne zahtijeva administrativne privilegije.

apt-cache traži ono što_tražiš

Na primjer, ako želite pronaći "htop", poboljšanu verziju "top", možete upisati sljedeće:

apt-cache pretraga htop
aha - ANSI pretvarač boja u HTML
htop - interaktivni preglednik procesa

Općenitije pojmove također možete pronaći. U ovom primjeru morate pronaći softver za pretvaranje u mp3:

apt-cache pretraga mp3 pretvoriti
abcde - Bolji CD enkoder
cue2toc - pretvara CUE datoteke u cdrdao format TOC
dir2ogg - pretvarač audio datoteka u ogg-vorbis format
easytag - pregled, uređivanje i pisanje ID3 oznaka
hpodder - Alat za skeniranje i preuzimanje podcasta (podcatcher)
id3v2 - uređivač oznaka id3v2 komandne linije
kid3 - KDE MP3 ID3 uređivač oznaka
kid3-qt - uređivač audio oznaka
. . .

Pregled informacija o paketu saaptSkladiste

Za pregled informacija o paketu, uključujući prošireni opis, koristite sljedeću sintaksu:

apt-cache prikaži ime_paketa

Ovo će također pružiti informacije o veličini preuzimanja i potrebnim ovisnostima za paket.

Da potvrdite da je paket instaliran i da saznate kojem spremištu pripada, otkucajte:

apt-cache politika package_name

Rezultati

Ovaj vodič pruža dovoljno informacija za upravljanje većinom softvera na serveru.

Iako je ponekad potrebno ići dalje od ovih alata i softvera dostupnog u spremištima, većina softverskih operacija može se kontrolisati pomoću ovih naredbi.

Tagovi: ,

Zbog činjenice da neki drugovi ne razumiju šta su apt i dpkg. Odlučio sam napraviti još jedan post o ovim uslužnim programima.

APT i sve, sve, sve. Istraživanje mogućnosti APT menadžera paketa i srodnih programa

Debian je donio mnogo pozitivnih inovacija u Linux svijet, od kojih su mnoge usvojene u drugim distribucijama. Najznačajnije Debianovo poboljšanje bio je sistem upravljanja APT paketima, nakon njegovog izdavanja, sve ostale distribucije su se pretvorile u zastarjelo smeće. Danas je APT složen, pametan, fleksibilan i krije mnoge tajne od neupućenog korisnika Linuxa.

Napredni sistem upravljanja paketima

APT (Advanced Packaging Tool) sam po sebi nije sistem za upravljanje paketima bukvalno ovu riječ. Sve radnje za raspakivanje, registraciju u sistem i pregled baze podataka paketa izvode uslužni programi paketa dpkg, dok su APT uslužni programi omot s kojim možete pretraživati ​​pakete, verifikovati kontrolne sume, preuzimati iz spremišta, rešavati zavisnosti i niz drugih radnji.

APT uključuje sljedeći skup uslužnih programa:

apt paket uslužnih programa

apt-cache - manipulira keš memorijom dostupnih paketa, koji se obično koriste
da potražite paket i/ili dobijete informacije o njemu

apt-cdrom - omogućava vam da dodate CD/DVD kao izvor paketa (spremište)

apt-config - čita vrijednosti opcija date u konfiguraciji
fajl /etc/apt/apt.conf, koji koriste drugi APT uslužni programi

apt-extracttemplates - ekstrakti konfiguracijske datoteke DebConf
iz paketa, koje koriste drugi APT uslužni programi

apt-ftparchive - kreira indeksne datoteke

apt-get - instaliranje, uklanjanje, ažuriranje liste paketa
i sami paketi, centralni APT uslužni program

apt-key - upravlja ključevima za autentifikaciju koji se koriste za verifikaciju
autentičnost izvora paketa

apt-secure - autentifikuje digitalni potpis apt paketi uključeni
u distribuciji i spremištima

apt-sortpkgs - sortira indeksne datoteke

Uslužni programi se oslanjaju na sljedeće konfiguracijske datoteke:

APT konfiguracijski fajlovi

/etc/apt/sources.list - lista izvora paketa (repozitorija)
/etc/apt/apt.conf - glavni APT konfiguracioni fajl
/etc/apt/preferences - preferencijalna datoteka, kontrolira koja će verzija paketa biti
instaliran ako postoji nekoliko verzija u spremištu odjednom

APT je jednostavan i jednostavan za korištenje, prosječnom korisniku obično treba samo šest naredbi ispod:

Osnovne APT komande

apt-cache maska ​​za pretragu - traži paket
apt-cache show package - pogledajte informacije o paketu
apt-get install package - instalirajte paket
apt-get ukloniti paket - ukloniti paket
apt-get update - ažuriranje keš memorije dostupnih paketa
apt-get upgrade - nadogradite sve pakete

Posljednje dvije naredbe se obično izvršavaju jedna za drugom, što će ponovo instalirati sve pakete za koje su nove verzije dostupne u spremištu. Ako trebate ažurirati samo navedeni paket, onda nakon "apt-get update" trebate pokrenuti naredbu "apt-get install package".

Ubuntu distribucija čini proces "razgovaranja" sa APT uslužnim programima još lakšim i svodi ga na klikanje na okvire za potvrdu GUI. Ima svoj, izuzetno jednostavan, menadžer paketa (zove se "Upravitelj paketa"), koji pokreće cron "iz menadžera Ažuriraj Manager, grafički instalater za ručno preuzete GDebi deb pakete i moćniji grafički dodatak za Synaptic-ove APT uslužne programe.

U međuvremenu, APT je mnogo složeniji i fleksibilniji nego što se čini na prvi pogled. Stoga ćemo u sljedećim odjeljcima razmotriti nekoliko ne baš tipičnih metoda korištenja.

Izvori paketa treće strane

Osim glavnog spremišta koje sadrži sve pakete od programera distribucije, postoje mnogi drugi izvori paketa koji mogu sadržavati softver treće strane koji nije dostupan u službenom spremištu, pružaju njegove novije verzije ili jednostavno biti brži ogledalo. Spremište može biti ili običan direktorij na vašem tvrdom disku ili CD.

Da biste naučili APT da radi sa repozitorijumom trećih strana, dovoljno je da sledite četiri jednostavna koraka:

Uri polje je adresa spremišta, koja je u većini slučajeva HTTP adresa, ali može biti i veza do lokalnog spremišta (file:/root/repository), adresa spremišta na FTP ili SSH serveru. Polje "distribucija" specificira ime distribucije za koju su napravljeni paketi. Za Debian, naziv može biti stabilan, oldstable, nestabilan, testing, dok u slučaju Ubuntua, samo određeni naziv distribucije (na primjer, jaunty), kao i razne oznake koje se temelje na njemu (npr. jaunty-updates, jaunty- backports, jaunty-security). Moram reći da se APT uopće ne protivi miješanju paketa iz različitih distribucija na istom sistemu, ali ćete u ovom slučaju biti odgovorni za posljedice. Komponenta se obično naziva main, contrib ili non-free na Debianu i main, universe, multiverse, partner i ograničena na Ubuntu. Ovo su sva imena različitih spremišta paketa koja su odvojena samo na zasebne pakete na osnovu nekih kriterijuma. Na primjer, glavni su paketi koje je sastavio Ubuntu/Debian razvojni tim, postoje određene garancije o kvaliteti softvera sadržanog u njima, uključujući pravovremena ažuriranja i ispravke grešaka, dok su contrib i universe softver treće strane koji instalirate na vlastitu odgovornost.

2. Dodajte u apt keyring javni ključ spremišta, koji se koristi za provjeru njegove autentičnosti i pouzdanosti. Ključ se može dobiti na bilo koji način i dodati pokretanjem naredbe "apt-key add key", ali se ova metoda rijetko praktikuje zbog neugodnosti. U velikoj većini slučajeva radit ćete s timom

sudo apt-key adv --keyserver cert-server --recv-keys ID ključa
koji traži ključ direktno od servera certifikata (za Ubuntu, ovo je keyserver.ubuntu.com). Ovako većina programera trećih strana distribuira svoj softver za Debian/Ubuntu distribucije (s tim da ostali samo objavljuju pakete i njihove kontrolne sume). Na primjer, ako odete na stranicu projekta koji vas zanima hostiran od launchpad.net i kliknete na link "Tehnički detalji o ovom PPA", vidjet ćete red koji treba dodati u /etc/apt/sources .list, "Ključ za potpisivanje:" će sadržavati ID ključa.

3. Osvježite keš memoriju dostupnih paketa:

sudo apt-get update
4. Instalirajte paket koristeći naredbu "apt-get install package".

Mnogi programeri stavljaju vezu na spremište i njegov ID ključa direktno u deb paket, tako da će nakon preuzimanja paketa, njegove instalacije i pokretanja naredbe "apt-get update && apt-get upgrade" paketi biti ažurirani zajedno sa svojim parnjaka navedeni u izvorima.list. Konkretno, ovako se distribuiraju Opera pretraživači i alfa izdanje Google Chrome-a.

Repozitorijum zasnovan na CD-u je mnogo lakše dodati u sources.list. Za ovo postoji posebna komanda apt-cdrom. Jednostavno ubacite CD u drajv i pokrenite naredbu:

sudo apt-cdrom add

Trikovi i neobične situacije

APT je APT, zgodan je i jednostavan, ali ponekad ne možete bez trikova od kojih ćete najkorisnije naučiti iz ovog odjeljka.

1. Podrazumevano, naredba "apt-get remove" u potpunosti uklanja paket samo ako nijedna njegova datoteka nije promijenjena od instalacije, inače promijenjene datoteke ostaju netaknute. Naravno, konfiguracijski fajlovi se gotovo uvijek mijenjaju, tako da apt-get ostavlja za sobom gomilu smeća koje morate očistiti ručno. Komanda "apt-get purge" umjesto "apt-get remove" rješava ovaj problem.

2. Ljubitelji biranja sistema, kao i sistem administratori čiji su serveri hakovani, najvjerovatnije će htjeti vratiti pakete u početno stanje u kojem su bili prije manipulacija. Ova komanda će pomoći:

sudo apt-get install --reinstall paket
3. Više komunalne usluge niskog nivoa deb menadžeri paketa (kao što su dselect i dpkg) održavaju posebnu listu stanja paketa koja se može koristiti za kontrolu koji paketi trebaju biti instalirani ili uklonjeni u batch mod(ovako radi paket dselect + dpkg). Također se može koristiti za mnoge druge svrhe, kao što je prijenos konfiguracije sistema na drugu mašinu. Pokrenite sljedeću naredbu:

dpkg --get-selections > fajl
Prenesite datoteku na drugu mašinu i pokrenite dvije komande na njoj:

cat datoteka > dpkg --set-selections
apt-get dselect-upgrade

Svi paketi izvornog sistema će biti dodati sistemu. Da bi datoteka stanja paketa također sadržavala informacije o tome koje pakete treba ukloniti iz sistema, dodajte znak "\*" iza argumenta "--get-selections". Lista stanja ne sadrži verziju paketa, ovo se može koristiti nakon instaliranja novije verzije distribucije da se dovede u željeno stanje.

4. Ručno ste zakrpili datoteku jednog od sistemskih paketa i ne želite da se taj paket nadogradi (brisanje svih vaših promjena) nakon pozivanja "apt-get upgrade". U ovom slučaju, lista država će vam opet priskočiti u pomoć. Paket može biti "zamrznut", uzrokujući da apt-get odbije da ga ažurira i preskoči:

echo -e "coreutils drži" | dpkg --set-selections
Možete prisiliti ažuriranje paketa tako što ćete navesti oznaku "-u" kada pozivate apt-get.

5. Kao i svaki sistem sa mrežnom funkcionalnošću, APT vam omogućava da koristite proxy za pristup spremištima. Da biste omogućili ovu funkciju, dodajte sljedeći red u /etc/apt/apt.conf datoteku:

Nabavi::http::Proxy "http://xxx.xxx.xx:yyyy"

Gdje je xxx.xxx.xx ime vašeg proxyja, yyyy je port.

6. APT uslužni programi obično traže najnoviju verziju paketa od svih koji se nalaze u njegovoj keš memoriji, tako da ako ste dodali razna eksperimentalna i nestabilna spremišta na sources.list, tada ćete nakon ažuriranja dobiti distribucijski komplet koji se sastoji isključivo od eksperimentalnih ili nestabilnih paketa , i gomila problema uzrokovanih ovakvim stanjem stvari. Međutim, situacija se lako rješava postavljanjem sljedećeg reda u /etc/apt/apt.conf:

APT::Default-Release "release";

Gdje je izdanje starostabilno, stabilno, nestabilno, testno ili eksperimentalno za Debian, ili naziv izdanja za Ubuntu. Sada, ako trebate instalirati paket iz navedene distribucije, samo napišite njegovo ime nakon argumenta "-t" kada pozivate apt-get:

sudo apt-get -t nestabilan instalacijski paket
7. Svi primljeni apt-get deb paketi pohranjeni su u /var/cache/apt/archives direktorij, što znači da ako ponovo instalirate sistem, možete kopirati sadržaj direktorija na drugi disk/particiju, a zatim ga vratiti i uštedite vrijeme/promet instalacije paketa. Osim toga, ovo je u suštini snimak vašeg instaliranog sistema (onog njegovog dijela koji ste sami instalirali), koji se može pripisati prijatelju (zajedno sa listom stanja opisanim u trećem paragrafu) ili, ako nije potrebno, obrisati osloboditi prostor.

8. Snimak udaljenog sistema opisan u prethodnom paragrafu može se lako vratiti korištenjem sljedeće konstrukcije:

sudo dpkg --get-selections | grep -v "deinstalirati" | \
awk "(print $1)" | xargs dpkg-repack

9. Osim binarnih paketa, Debian/Ubuntu spremišta također sadrže izvorne pakete aplikacije koji se mogu dobiti i izgraditi pomoću sljedeće naredbe:

sudo apt-get -b izvorni naziv paketa

Uslužni programi treće strane

APT sistem je prošao dug put u razvoju, tako da pored službenih uslužnih programa uključenih u apt paket, Debian i Ubuntu spremišta su prepuna mnoštva pomoćnih programa trećih strana koji se mogu koristiti za obavljanje nekih nestandardnih zadataka .
Najkorisniji od njih se zove apt-file i neophodan je, kao što možete pretpostaviti iz imena, da se utvrdi da li određena datoteka pripada određenom paketu. Instaliraj:

sudo apt-get install apt-file
Tražimo od apt-filea da kreira keš memoriju svih datoteka instaliranih u sistemu paketa (tražit će se):

apt-file pretraga /usr/bin/apt-get
apt: /usr/bin/apt-get

Zatražite listu svih fajlova paketa:

apt-file lista apt

Jednostavan apt-show-versions uslužni program će vam pokazati koji paketi se mogu nadograditi sa verzijama i drugim informacijama. Pokrenite ga sa oznakom "-u" da dobijete listu samo paketa za nadogradnju (umesto liste svih paketa).

Ako ste instalirali veliki broj različitih paketa i sada želite da se riješite nepotrebnog smeća, u ovom slučaju će vam pomoći uslužni program deborphan koji traži neiskorištene pakete i napuštene ovisnosti. Samo pokrenite deborphan bez argumenata i vidjet ćete listu paketa, koje možete odmah proslijediti kao ulaz naredbi “apt-get remove” ili jednostavno pokrenite ovu naredbu:

sudo apt-get remove `deborphan`

Prema zadanim postavkama, deborphan obrađuje samo pakete koji sadrže biblioteke, ali ovo ponašanje se može promijeniti dodavanjem oznake "-a" pozivu naredbe:

Ne biste trebali odmah žuriti da uklonite pakete koje prikazuje uslužni program, jer čak ni najmoćniji heuristički algoritam nije u stanju odrediti vaše lične potrebe. Dakle, program mi je pokazao google-chrome, inkscape, pa čak i xorg pakete.

Apt-move uslužni program će vam omogućiti da kreirate lokalno spremište. Instalirajte program, otvorite datoteku /etc/apt-move.conf, navedite putanju do direktorija u kojem bi spremište trebalo biti locirano u opciji LOCALDIR i pokrenite naredbu:

sudo apt-move ažuriranje

Kao rezultat toga, svi paketi preuzeti sa Weba pomoću apt-get (direktorij /var/cache/apt/archives) bit će premješteni u direktorij naveden u konfiguraciji, za koji će se kreirati indeksna datoteka. Ovo je zgodan način za kreiranje intranet repozitorija za one slučajeve kada mnogo istih paketa treba da se instalira na mnogo mašina.

Za kreiranje lokalnog spremišta, također je vrlo zgodno koristiti apt-proxy server, koji vam omogućava da keširate deb pakete preuzete iz spremišta na strani servera. Da bi se to uradilo, apt-proxy je instaliran na namenskoj mašini (možda gateway), a izvorna lista klijenata je modifikovana tako da je adresa ove mašine navedena kao uri polje svih spremišta. Kao rezultat toga, svi zahtjevi za deb paketima se preusmjeravaju na apt-proxy, koji zahtijeva paket iz glavnog spremišta i pohranjuje ga u svoju keš memoriju, a na sve naredne zahtjeve za ovaj paket će biti odgovoreno iz keša.

Prvo, instalirajte apt-proxy na namjenskoj mašini:

sudo apt-get install apt-proxy

Zatim otvorite datoteku /etc/apt-proxy/apt-proxy-v2.conf, idite na odjeljak i zamijenite vrijednost opcije adrese IP adresom stroja, a također opišite izvore paketa koje koristi apt- proxy, na primjer:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backends = http://en.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1d


backends=http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1d

Obično su ove dvije adrese dovoljne da pokriju čitav niz paketa koje pružaju Ubuntu programeri. Ponovo pokrenite apt-proxy:

sudo invoke-rc.d apt-proxy restart

Za prebacivanje klijenata na apt-proxy, uzimamo standardni Ubuntu sources.list, zamjenjujemo sva prava uri polja sa "http://ip-address-apt-proxy:9999/ubuntu/" i kopiramo ovu datoteku svakom klijentu.

Postoje mnogi drugi, manje zanimljivi uslužni programi koji rade zajedno sa APT-om. Na primjer, apt-dater vam omogućava da ažurirate pakete na velikom broju udaljenih čvorova koristeći pseudo-grafički interfejs. Program aptsh implementira komandni interfejs sličan sh na vrhu komandi apt paketa, aptfs je virtuelni sistem datoteka za upravljanje APT-om. Uslužni program debdelta, koji vam omogućava da ažurirate pakete preuzimanjem njihovih delta sa Weba, mogao bi biti tema za poseban članak ako bi postojalo barem jedno ažurno spremište za njega.

Aptitude

Uslužni program apt-get i njegovi srodnici nisu jedina dostupna implementacija APT-a. Još moćnija, praktičnija i svestranija alternativa naziva se aptitude i predstavlja koncentriranu funkcionalnost apt-get, apt-cache i dselect na jednom mjestu.
Aptitude vam omogućava da instalirate/deinstalirate, pretražujete, ažurirate i radite puno drugih stvari s paketima koristeći dvije vrste sučelja: komandni način sličan apt-get i apt-cache, i pseudo-grafički interfejs koji izgleda kao dselect ali mnogo praktičniji i funkcionalniji.

U načinu komandne linije, aptitude se može koristiti za sljedeće:

aptitude install - instalirajte paket

aptitude remove - Uklonite paket i napuštene zavisnosti

aptitude purge - uklanjanje paketa, ovisnosti bez roditelja
i preostale konfiguracijske datoteke nakon njih

aptitude search - traži paket u kešu (lista dostupnih paketa)

aptitude update - ažuriranje keša

aptitude safe-upgrade - paketi za nadogradnju

aptitude clean - uklonite prethodno preuzete pakete

aptitude full upgrade - paketi za nadogradnju,
čak i ako ova radnja zahtijeva uklanjanje bilo kojeg paketa

aptitude show - informacije o paketu

aptitude autoclean - uklonite zastarjele pakete

aptitude hold - postavite zabranu ažuriranja paketa

Interaktivni način rada, dostupan kada pokrenete aptitude bez argumenata, omogućava vam da izvodite sve iste radnje koristeći pseudo-grafički interfejs izgrađen na vrhu biblioteke ncurses. Radi u batch modu (odabrani paketi - pokrenut proces instalacije), tako da će biti zgodno u slučajevima kada trebate instalirati veliki broj paketa.

Uskršnja jaja

Ispostavilo se da su programeri APT uslužnih programa momci sa malo uvrnutim smislom za humor. Šta je rezultat sljedeće naredbe:

sudo apt-get moo
Ono što izgleda još divlje je ono što su kreatori aptitude ugradili u svoj program. Pokušajte:

sudo aptitude moo
Neka vrsta uskršnjeg jajeta bez uskršnjeg jajeta. UREDU:

sudo aptitude -v moo
sudo aptitude -vv moo
sudo aptitude -vvv moo
sudo aptitude -vvvv moo
sudo aptitude -vvvvv moo

I završni akord:

sudo aptitude -vvvvvv moo

Korisne apt-cache komande

apt-cache show paket - detaljne informacije o paketu
apt-cache showpkg paket - opće informacije o paketu
apt-cache zavisno paket - lista zavisnosti paketa
apt-cache rdepends paket - lista obrnutih zavisnosti (kome treba navedeni paket)

APT Dictionary

Paket - program, biblioteka, izvori ili bilo koje druge datoteke, kao i njihovi metapodaci, upakovani u posebno formiranu arhivu.

Repozitorijum - mjesto gdje se pohranjuju deb paketi.

Keširanje dostupnih paketa (ili jednostavno keširanje) je datoteka koja sprema informacije o svim dostupnim paketima iz izvora navedenih u /etc/apt/sources.list. Keš memorija se ažurira svaki put kada se pozove naredba "apt-get update".

Indeksni fajl - glavna datoteka spremišta koja sadrži ime, verziju, veličinu, kratko i Puni opis i zavisnosti za svaki paket. Imenovani Packages.gz za binarno spremište i Sources.gz za izvorno spremište. Kreiran pomoću pkg-scanpackages i dpkg-scansources uslužnih programa.

Apt keyring (doslovno: apt keyring) je skladište ključeva koje provjerava autentičnost izvora paketa (repozitorija).

Šta je unutra?

Obilježje paketa Deb formata je njihova jednostavnost. Bilo koji Deb paket sastoji se od tri datoteke: data.tar.gz, control.tar.gz i debian-binary, upakirane u ar arhiver. Datoteka data.tar.gz je sadržaj paketa (binarne datoteke, man "s, dokumentacija itd.), control.tar.gz su metapodaci, u najjednostavnijoj verziji, dvije datoteke: kontrola koja sadrži opis paketa, ovisnosti, veličine, itd. .d., a md5sums su kontrolni zbroji svih datoteka u paketu. Debian-binarna datoteka sadrži verziju formata Deb paketa (npr. 2.0) Da biste raspakirali paket, možete koristiti naredbu:

ar -xv package.deb && tar -xzf data.tar.gz

Napredni alat za pakovanje je alat za pakovanje visokog nivoa.

Rad sa paketima sa dpkg

dpkg je glavni program na sistemu za rad s Debian paketima. Ako postoje .deb paketi, dpkg vam omogućava da ih instalirate ili analizirate njihov sadržaj. Međutim, ovaj program samo djelomično razumije Debian svijet: zna što je instalirano na sustavu, kao i sve što mu je proslijeđeno na naredbenoj liniji, ali ne zna ništa o drugim dostupnim paketima. Prema tome, neće uspjeti ako pronađe nezadovoljenu ovisnost. Alati kao što je apt, s druge strane, će automatski kreirati listu zavisnosti kako bi se sve instaliralo što je automatski moguće.

dpkg ili apt?

dpkg treba smatrati alatom niskog nivoa (motorom) i pogodnim kao alatom koji je lakši za upotrebu koji zaobilazi ograničenja prvog. Ovi alati rade zajedno, svaki sa svojim specifičnostima, izoštrenim za određeni raspon zadataka.

Instaliranje paketa

dpkg je prvenstveno alat za instaliranje već dostupnih Debian paketa (jer ne preuzima ništa). Da biste instalirali paket, koristite opciju -i ili --install.

Instaliranje paketa sa dpkg

dpkg -i man-db_2.7.0.2-5_amd64.deb




Man-db paket (2.7.0.2-5) se konfiguriše...

Možemo vidjeti svaki korak koji dpkg izvodi, tako da znamo gdje je možda došlo do greške. Instalacija se također može obaviti u dva koraka: prvo raspakivanje, zatim konfiguracija. Ovo čini da apt-get upućuje manje poziva dpkg-u (svaki takav poziv je skupa operacija zbog potrebe za učitavanjem baze podataka u memoriju, uključujući cijelu listu već instaliranih datoteka).

Odvojeno raspakivanje i podešavanje

dpkg --unpack man-db_2.7.0.2-5_amd64.deb

(Čitanje baze podataka... Trenutno je instalirano 86425 datoteka i direktorija.)
Priprema za raspakivanje man-db_2.7.0.2-5_amd64.deb ...
Raspakira man-db (2.7.0.2-5) za zamjenu (2.7.0.2-5) ...
Obrada okidača za mime podršku (3.58) ...

dpkg --configure man-db

Man-db paket (2.7.0.2-5) se konfiguriše...
Ažuriranje baze podataka priručnika...

Ponekad dpkg ne uspe da instalira paket iz jednog ili drugog razloga i vrati grešku; ako korisnik uputi da ignoriše ovu grešku, biće izdato samo upozorenje; postoje razne --force-* opcije za ovo. Naredba dpkg --force-help, ili dokumentacija za tu naredbu, će se izdati puna lista takve opcije. Najčešća greška s kojom ćete se prije ili kasnije morati suočiti je sukob datoteka. Kada paket sadrži fajl koji je već instaliran od strane drugog paketa, dpkg će odbiti da ga instalira i dobićemo ovu poruku:

Paket libgdm je raspakovan (iz datoteke.../libgdm_3.8.3-2_amd64.deb) ...
dpkg: obrada greške /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack) opcija:
pokušava prepisati "/usr/bin/gdmflexiserver" koji je već u paketu gdm3 3.4.1-9

U ovom slučaju, ako mislite da zamjena ove datoteke ne predstavlja značajnu prijetnju stabilnosti vašeg sistema (često to čini), možete koristiti opciju --force-overwrite, koja će reći dpkg-u da zanemari ovu grešku i prepiše fajl.
Iako postoji mnogo --force-* opcija, samo --force-overwrite se preporučuje za redovnu upotrebu. Ostalo je samo za izuzetne slučajeve i najbolje ih je ne dirati što je duže moguće kako bi se poštovala pravila postavljena prilikom kreiranja paketa. Ne zaboravite da su ova pravila garancija integriteta i stabilnosti sistema.

PAŽNJA! Efikasna upotreba --force-*

Ako niste pažljivi, korištenje opcije --force-* može uzrokovati prestanak rada APT komandi. Neke od ovih opcija vam omogućavaju da instalirate paket sa neispunjenim zavisnostima ili konfliktom. Kao rezultat toga, konzistentnost sistema u smislu zavisnosti je narušena, a APT komande će odbiti da izvrše bilo koju radnju osim onih koje vraćaju sistem u konzistentno stanje (ovo se obično svodi na instaliranje nedostajuće zavisnosti ili uklanjanje problematičan paket). Evo primjera poruke koja ukazuje na takvu grešku, koja se prima nakon instaliranja nove verzije rdesktopa, zanemarujući ovisnost o novijoj verziji libc6:

apt puna nadogradnja

Možda ćete htjeti koristiti "apt-get -f install" da popravite ove greške.
Paketi sa neispunjenim zavisnostima:
rdesktop: Zavisi: libc6 (>= 2.5) ali 2.3.6.ds1-13etch7 je već instaliran
E: Neispunjene zavisnosti.

Pokušajte koristiti -f.
Neustrašivi administratori, sigurni u svoju analizu situacije, mogu zanemariti upozorenje o ovisnosti ili sukobu korištenjem odgovarajuće opcije --force-*. U ovom slučaju, ako želite da nastavite koristiti apt ili aptitude, trebate urediti /var/lib/dpkg/status i ukloniti/promijeniti ovisnost ili konflikt.
Uređivanje ove datoteke je prljavi hak i ne bi se trebao koristiti osim u najekstremnijim slučajevima. Često je najbolje rješenje ponovno napraviti paket koji uzrokuje problem, "Ponovna izrada paketa iz njegovog izvorni kod”) ili korištenjem novije verzije (moguće fiksne) iz spremišta kao što je stable-backports (pogledajte Odjeljak 6.1.2.4, “Stabilni softver kompatibilan s prethodnim promjenama”).

Uklanjanje paketa

Pokretanje dpkg sa opcijom -r ili --remove praćeno imenom paketa će ukloniti taj paket. Ovo uklanjanje, međutim, nije potpuno: svi konfiguracijski fajlovi, skripte održavanja, datoteke evidencije (sistemske evidencije) i drugi korisnički podaci koje koristi ovaj paket će ostati. Na ovaj način, lako se riješiti programa deinstaliranjem, ali u isto vrijeme ostaje moguće ponovo ga instalirati sa istom konfiguracijom. Za potpuno uklanjanje sve što se odnosi na paket, koristite opciju -P ili --purge, nakon čega slijedi naziv paketa.

Potpuno uklanjanje debian-cd paketa

dpkg -r debian-cd

(Čitanje baze podataka... Trenutno je instalirano 97747 datoteka i direktorija.)

dpkg -P debian-cd

(Čitanje baze podataka... Trenutno instaliranih 97401 datoteka i direktorija.)
Uklonjen debian-cd (3.1.17) paket...
Čišćenje konfiguracijskih datoteka debian-cd (3.1.17) paketa...

dpkg upiti baze podataka i raščlanjivanje .deb datoteka

Za većinu opcija postoje opcije "duge" (jedna ili više riječi kojima prethodi dvostruka crtica) i "kratke" opcije (jedno slovo, često prvo slovo opcije "duga", nakon jedne crtice). Ova konvencija je toliko uobičajena da je već POSIX standard.
Prije nego što završimo ovaj odjeljak, pogledajmo dpkg opcije za upite interne baze podataka za različite informacije. Ovo će prvo navesti dugačke opcije, a zatim odgovarajuće kratke opcije (koje, naravno, uzimaju iste argumente). Dakle, --listfiles paket (ili -L) navodi datoteke koje je instalirao paket; --search file (ili -S) traži paket kojem ovaj fajl pripada; --status paket (ili -s) prikazuje informacije o određenom instaliranom paketu; --list (ili -l) navodi pakete poznate sistemu i njihov status; --contents file.deb (ili -c) navodi fajlove u ovom paketu; --info file.deb (ili -I) prikazuje informacije o Debian paketu.

Dobijanje informacija pomoću dpkg

dpkg -L baza-passwd

/.
/usr
/usr/sbin
/usr/sbin/update-passwd
/usr/share
/usr/share/man
/usr/share/man/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/man/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/man/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/users-and-groups
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/share/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/copyright
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/README

dpkg -S /bin/datum

coreutils: /bin/date

dpkg -s coreutils

Paket: coreutils
Bitno: da
Status: instalacija ok instalirana
Prioritet: obavezan
Odjeljak: komunalije
Instalirana veličina: 13822
Održavač: Michael Stone
Arhitektura: amd64
Multi-Arch: strani
Verzija: 8.13-3.5
Zamjenjuje: mktemp, timeout
Zavisi: dpkg (>= 1.15.4) | informacije o instalaciji
Prethodno zavisi: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
konflikti: vremensko ograničenje
Opis: GNU jezgro uslužni programi
Ovaj paket sadrži osnovnu manipulaciju datotekama, školjkom i tekstom
uslužni programi za koje se očekuje da postoje na svakom operativnom sistemu.
.
Konkretno, ovaj paket uključuje:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr
faktor false flock fmt fold grupe head hostid id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv lijepo nl nohup nproc od
zalijepi pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred spavanje sortiranje split stat stty sum sync tac tail tee test
timeout touch tr true truncate tsort tty uname unexpand uniq unlink
korisnici vdir wc koji whoami da
Početna stranica: http://gnu.org/software/coreutils

dpkg -l "b*"

Željeno=nepoznato[u]/instaliraj[i]/ukloni[r]/očisti[p]/popravi[h]
| Status=nije[n]/instalirano[i]/konfigurirano[c]/raspakirano[U]/djelimično konfigurirano[F]/
djelomično postavljeno [H]/trig-aWait/Trig-pend
|/ Greška?=(nema)/potrebna je ponovna instalacija[R] (velika slova
u poljima statusa i greške označava nenormalnu situaciju)
||/ Naziv Verzija Opis arhitekture
+++-============-==============-==============-================================
un backupninja<нет>(opis nije dostupan)
baza<нет>(opis nije dostupan)
un base-config<нет>(opis nije dostupan)
ii base-files 7.1 amd64 Debian osnovni sistem razno
ii base-passwd 3.5.26 amd64 Glavna lozinka Debian osnovnog sistema
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x root/root 0 2013-01-02 19:28 ./
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- root/root 3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- root/root 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root 3543 20.02.2012 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- root/root 690 2012-02-20 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- root/root 1418 20.02.2012 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

novi debian paket, verzija 2.0.
veličina 1952176 bajtova: kontrolna arhiva duga 3312 bajtova.
1449 bajtova, 30 kontrolnih linija
4521 bajtova, 65 redova md5sums
479 bajtova, 13 redova * postinst #!/bin/sh
473 bajta, 13 redova * preinst #!/bin/sh
Paket: gnupg
Verzija: 1.4.12-7
Arhitektura: amd64
Održavač: Debian GnuPG-Maintainers
Instalirana veličina: 4627
Zavisi: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | install-info, gpgv
Preporuča: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Predlaže: gnupg-doc, xloadimage | magija slike | eog, libpcsclite1
Odjeljak: komunalije
Prioritet: važan
Multi-Arch: strani
Početna stranica: http://www.gnupg.org
Opis: GNU privacy guard - besplatna zamjena za PGP
GnuPG je GNU-ov alat za sigurnu komunikaciju i skladištenje podataka.
Može se koristiti za šifriranje podataka i kreiranje digitalnih potpisa.
Uključuje naprednu mogućnost upravljanja ključevima i usklađen je
sa predloženim OpenPGP Internet standardom kako je opisano u RFC 4880.
[...]

IDEMO DALJE: Poređenje verzija

Budući da je dpkg Debian paket za pakiranje, on između ostalog sadrži referentnu implementaciju logike usporedbe brojeva verzije. Stoga ima opciju --compare-versions koju koriste vanjski programi (uglavnom konfiguracijske skripte koje pokreće sam dpkg). Ova opcija zahtijeva tri parametra: broj verzije, operator poređenja i drugi broj verzije. Važeći operatori poređenja su lt (strogo manje od), le (manje ili jednako), eq (jednako), ne (nije jednako), ge (veće ili jednako) i gt (strogo veće od). Ako je poređenje istinito, dpkg vraća 0 (uspjeh), ako nije, onda vrijednost koja nije nula (indikacija greške).

$ dpkg --uporedi verzije 1.2-3 gt 1.1-4
$ echo $?
0
$ dpkg --uporedi verzije 1.2-3 lt 1.1-4
$ echo $?
1
$ dpkg --uporedi verzije 2.6.0pre3-1lt 2.6.0-1
$ echo $?
1

Obratite pažnju na neočekivani neuspeh poslednjeg poređenja: za dpkg, slova pre, koja obično označavaju pre-izdanje, nemaju posebno značenje, a abecedni znakovi se porede na isti način kao i brojevi (a< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --uporedi verzije 2.6.0~pre3-1lt 2.6.0-1
$ echo $?
0

dpkg log fajl

dpkg čuva dnevnik svih svojih akcija u /var/log/dpkg.log. Ovaj dnevnik je izuzetno detaljan i dokumentuje svaki korak u obradi dpkg paketa. Ovaj zapisnik ne samo da pomaže u praćenju ponašanja dpkg-a, već i čuva povijest promjena u sistemu: možete pronaći tačan trenutak kada je svaki paket instaliran ili ažuriran, a ove informacije mogu biti izuzetno korisne u otkrivanju zašto je došlo do ponašanja sistem u celini se promenio. Osim toga, informacije o svim verzijama se bilježe i mogu se lako provjeriti u odnosu na changelog.Debian.gz iz odgovarajućeg paketa ili online izvještaja o greškama.

Podrška za više arhitekture

Svi Debian paketi imaju polje Arhitektura u svojim metapodacima. Ovo polje može sadržavati ili vrijednost "sve" (za pakete koji su neovisni o arhitekturi) ili naziv specifične arhitekture za koju je paket namijenjen (npr. "amd64", "armhf", ...). U drugom slučaju, dpkg će po defaultu dozvoliti instaliranje paketa samo ako njegova arhitektura odgovara arhitekturi sistema koju vraća dpkg --print-architecture.
Ovo ograničenje osigurava da ne postoje binarne datoteke kompajlirane za pogrešnu arhitekturu na sistemu. To bi bilo sjajno, ali na (nekim) računarima je moguće pokrenuti binarne datoteke za različite arhitekture, bilo izvorno (npr. "amd64" sistemi pokreću binarne datoteke za "i386") ili putem emulatora.

Omogućavanje Multiarchitecture

dpkg-ova multiarch podrška vam omogućava da definišete "strane arhitekture" koje se mogu instalirati na datom sistemu. Ovo se lako radi pomoću dpkg --add-architecture, kao što je prikazano u primjeru ispod. Postoji i odgovarajuća naredba dpkg --remove-architecture za onemogućavanje podrške za stranu arhitekturu, ali se može koristiti samo kada na sistemu nije ostao niti jedan paket ove arhitekture.

dpkg --print-arhitektura
amd64

dpkg: arhiva obrade greške gcc-4.9-base_4.9.1-19_armhf.deb (--install):
arhitektura paketa (armhf) ne odgovara sistemu (amd64)
Došlo je do grešaka prilikom obrade:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg --print-strane-arhitekture
armhf
armel

dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

Odabir prethodno neodabranog paketa gcc-4.9-base:armhf.
(Čitanje baze podataka... Trenutno je instalirano 86425 datoteka i direktorija.)
Priprema za raspakivanje gcc-4.9-base_4.9.1-19_armhf.deb ...
Raspakivanje gcc-4.9-base:armhf (4.9.1-19) ...
Postavljanje gcc-4.9-base:armhf (4.9.1-19) ...

dpkg --remove-architecture armhf

dpkg: greška: ne može ukloniti arhitekturu "armhf" koju trenutno koristi baza podataka

dpkg --remove-architecture armel
dpkg --print-strane-arhitekture
Multiarch podrška u APT-u

APT će automatski otkriti da li je dpkg konfigurisan da podržava strane arhitekture i počeće da preuzima odgovarajuće datoteke paketa tokom procesa nadogradnje.
Strani paketi se mogu instalirati sa apt install package:architecture.

Korištenje vlasničkih i386 binarnih datoteka na amd64 sistemima

Postoji nekoliko slučajeva u kojima višestruka arhitektura može biti korisna, ali najčešći je da omogući pokretanje 32-bitnih datoteka (i386) na 64-bitnim sistemima (amd64), posebno zbog nekih popularnih vlasničkih aplikacija ( poput Skypea) dostupne su samo kao 32-bitne verzije.

Multiarchitecture Changes

Da bi podrška višestrukim lukama bila zaista korisna, biblioteke su morale biti prepakovane premještanjem u direktorij specifičan za arhitekturu tako da se više kopija (za različite arhitekture) može instalirati u isto vrijeme. Takvi ažurirani paketi sadrže zaglavlje "Multi-Arch: isto" koje ukazuje sistemu za upravljanje paketima da se različite arhitekture paketa mogu instalirati zajedno (i da ovi paketi mogu zadovoljiti samo zavisnosti paketa iste arhitekture). Budući da je podrška za multiarch dodana samo u Debian Wheezy, još nisu sve biblioteke konvertirane.

dpkg -s gcc-4.9-base

dpkg-query: greška: --status zahtijeva važeći naziv paketa, ali 'gcc-4.9-base' nije: dvosmislen naziv paketa 'gcc-4.9-base' s više od jedne instalirane instance

Koristite opciju --help da prikažete pomoć za zahtjeve paketa.

Dpkg -s gcc-4.9-base:amd64 gcc-4.9-base:armhf | grep ^Multi

Multi-Arch: isto
Multi-Arch: isto

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

dpkg -S /usr/share/doc/gcc-4.9-base/copyright

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/copyright

Vrijedi napomenuti da paketi sa Multi-Arch: istim poljem trebaju biti imenovani imenom arhitekture kako bi se mogli jedinstveno identificirati. Možda i imaju podijeljeni fajlovi s drugim primjercima istog paketa; dpkg u ovom slučaju osigurava da svi paketi imaju bit-za-bit identične zajedničke datoteke. Sve instance paketa moraju biti iste verzije, tako da se moraju ažurirati zajedno.
Podrška za više arhitekture takođe donosi neke zanimljive karakteristike mehanizmu za rukovanje zavisnošću. Da bi se zadovoljila zavisnost, potreban je ili paket sa oznakom "Multi-Arch: strani" ili paket sa istom arhitekturom (za rešavanje zavisnosti, smatra se da paketi nezavisni od arhitekture imaju istu arhitekturu kao sistem). Zavisnost se također može ublažiti kako bi se omogućilo paketu bilo koje arhitekture da je zadovolji koristeći paket: bilo koju sintaksu, ali strani paketi mogu zadovoljiti takvu ovisnost samo ako su označeni kao "Multi-Arch: dozvoljeno".

Korišteni materijali.

Ponekad postoje situacije kada trebate saznati koji su paketi instalirani na sistemu. Ovo može biti korisno ako želite napraviti sigurnosnu kopiju instaliranih paketa, provjeriti njihov integritet, prenijeti sve pakete na drugi sistem i za mnoge druge zadatke. Na Debianu se za to može koristiti nekoliko metoda.

U današnjem članku ćemo pogledati kako navesti instalirane Debian pakete koristeći terminal, curses sučelje i GUI. Takve liste se mogu koristiti ne samo za Rezervna kopija, ali i u cilju jednostavnog sortiranja i uklanjanja nepotrebnih programa, čime se sistem čisti od smeća.

Prvi način za pregled instaliranih Debian paketa je pomoću dpkg uslužnog programa. Može se koristiti ne samo u Debianu, već u svim distribucijama koje se temelje na njemu:

dpkg --get-selections | grep -v deinstalirati

dpkg --get-selections | grep -v deinstall > mylist.txt

Također možete ukloniti sve nepotrebne informacije i zadržati samo nazive paketa:

dpkg -l | grep ^ii | awk "(print $2)" > mylist.txt

Sljedeći način za postizanje ovog zadatka je korištenje uslužnog programa dpkg-query. Slična je prethodnoj verziji, ali malo jednostavnija. Ova komanda će ispisati sve instalirane pakete zajedno sa informacijama o njima:

I ovdje možete odabrati samo nazive paketa sa -f opcijom:

dpkg-query -f "$(binarni: paket)\n" -W

Treća metoda je apt uslužni program koji smo navikli da koristimo za instaliranje aplikacija, ima naredbu lista:

apt lista --instalirano

apt lista --instalirano | grep python

Apt smo detaljnije obrađivali u članku. Još jedna zanimljiva karakteristika apt-a je da vidi koji su paketi ručno instalirani. Da biste to učinili, otkucajte:

apt-mark showmanual

I još jedna opcija koristeći apt:

apt-cache pkgnames

Alat za upravljanje paketima aptitude također vam omogućava da navedete listu instaliranih paketa:

traženje sposobnosti "~i!~M"

Takođe, aptitude može da radi u režimu kletve, što je veoma zgodno:

Poslednji način da vidite listu instaliranih paketa je u datoteci /var/lib/apt/extended_states. Ovo je baza podataka koja sadrži instalirane debian programe u ovom formatu:

Paket: ime_paketa
Arhitektura: arhitektura
Automatski instalirano: 0_ili_1

mačka /var/lib/apt/extended_states

Vraćanje liste instaliranih paketa

Mnogi korisnici kreiraju listu paketa ne samo za pregled, već i za budući oporavak. Ako ste napravili listu koristeći dpkg, onda se može vrlo lako vratiti u sistem pomoću slične naredbe:

sudo dpkg --clear-selections
$ sudo dpkg --set-selections< mylist.txt

Sve je vrlo jednostavno. Da instalirate pakete nakon što ih dodate na listu, koristite naredbu:

sudo apt dselect-upgrade

Ako imate samo listu imena paketa, morate je vratiti malo drugačije. Samo prosledite sva ova imena komandi apt za instalaciju:

xargs< mylist.txt apt install -y

zaključci

U ovom članku pogledali smo kako navesti instalirane Debian pakete. Ovo može biti vrlo korisno i prilično je lako za napraviti. Nadam se da su vam ove informacije bile od pomoći.

Dugo me je grizlo neznanje kako napraviti neke elementarne stvari u Debian paket menadžerima, ali, kao što se često događa, nije bilo nikoga u blizini koga bih pitao, a ruke mi nisu dopirale negdje za pisanje. I konačno, pitanja su sazrela i ja sam svoje pitanje napisao na Debian mailing listu. Naravno, ispostavilo se da sam propustio nešto očigledno, ali sam naučio i dosta neočigledne korisnosti, pa sam odlučio da skiciram varalicu, možda će nekome dobro doći.

Kratka pomoć Debian administratora

Osnovno i dobro poznato
Dobivanje informacija o novim/ažuriranim paketima
sudo aptitude update
Ažuriraj
sudo aptitude sigurna nadogradnja
Potražite paket prema nazivima paketa
aptitude pretraga ključna_riječ
Potražite paket po tačnom nazivu
pretraga sposobnosti "^name$"
Traži po opisu
pretraga sposobnosti "?description("key_word")"
Informacije o paketu
aptitude show ime_paketa
Instalacija
sudo aptitude install ime_paketa
Odstranjivanje
sudo aptitude ukloni naziv_paketa
Potpuno uklanjanje (zajedno sa konfiguracijama)
sudo aptitude purge ime_paketa
Očistite keš memoriju preuzetih paketa (oslobodite prostor)
aptitude autoclean # će ukloniti samo zastarjele pakete aptitude clean # će obrisati cijelu keš memoriju
Instaliranje zasebno preuzetog / kreiranog paketa (da biste kreirali paket iz izvora trećih strana, morate koristiti uslužni program checkinstall sa -D zastavicom)
sudo dpkg -i /put/do/paket.deb
Za dodatne informacije
man aptitude sudo aptitude install aptitude-doc-en
i pogledajte dokumentaciju (/usr/share/doc/aptitude/html/en/index.html), za brzu pomoć o obrascima pretraživanja idite ovdje - /usr/share/doc/aptitude/html/en/ch02s04.html . Ako ste previše lijeni da postavite dock, onda je na mreži.
Uvod u Debian Wiki: wiki.debian.org/Aptitude
A sada nešto što nije očigledno ili zahteva potpuno čitanje dokumentacije
1. Kako mogu vidjeti koji će paketi biti ažurirani nakon ažuriranja?
aptitude search ?nadogradivo
možete koristiti i (ako stavite)
sudo daptup
ali nakon što ga instalirate, uobičajeno ažuriranje će se ponašati na isti način

2. Kako mogu saznati šta se promijenilo u paketima koji će se ažurirati?
Možete probati
sudo aptitude dnevnik promjena ime_paketa
za svaki paket.
Ali bolje je instalirati apt-listchanges, tada će prije bilo kakve instalacije ažuriranja biti prikazana lista promjena, zadane postavke nisu baš zgodne, pa je bolje da sami ponovo konfigurirate, na primjer, odaberite izlazni format (dok ja koristim tekst , pejdžer je verovatno bolji za velika ažuriranja), ne šaljite e-poštu, tražite potvrdu, prikažite sve informacije. Da biste to učinili, morate trčati
sudo dpkg-reconfigure apt-listchanges
3. Šta da radim ako ažuriranje nešto pokvari i treba ga vratiti?
Nema vraćanja, možete pokušati pronaći prethodnu verziju paketa
sudo aptitude verzija ime_paketa
i instalirajte ga
sudo aptitude install ime_paketa=verzija
4. Kako pronaći sve ručno instalirane pakete?
postoji varijanta naredbe (pretraga sposobnosti "~i!~M"), ali nažalost ne daje željeni rezultat, tako da ostaje otvoreno pitanje, postoji mnogo načina na osnovu analize dnevnika
/var/log/aptitude (+ rotirani dijelovi) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ rotirani dijelovi)
ali ne postoji jednostavno i gotovo rješenje, da, informacije se teoretski mogu izgubiti tijekom rotacije, potrebno je konfigurirati

5. Kako pogledati listu datoteka u paketu?
ako je paket instaliran
dpkg -L ime_paketa
za bilo koje pakete stavite apt-file i
apt-file lista package_name
6. Kako mogu vidjeti kojem paketu pripada datoteka?
dpkg -S ime_datoteke
7. Kako ukloniti sve pakete u kojima se nalazi ključ u nazivu paketa?
sudo aptitude purge ~ikey
8. Kako ukloniti preostale konfiguracije iz uklonjenih paketa?
sudo aptitude purge ~c
9. Kako pronaći paket paketa koji sadrži datoteku lib.so:
apt-file search lib.so
10. Kako pretvoriti rpm paket u deb?
vanzemaljac --to-deb /path/to/file.rpm
11. Kako pronaći listu instaliranih kernela?
dpkg --list linux-* | grep ii
12. Kako instalirati paket iz probnog ili eksperimentalnog?
O ovoj temi morate pisati zasebno (na primjer, ovako), ali ukratko, postoje naredbe za to
sudo aptitude -t testiranje ime_paketa
ili
sudo aptitude naziv_paketa/testiranje
13. Kako mogu ukloniti metapaket, ali zadržati jednu od zavisnosti?
morat ćete pročitati dokumentaciju o ključu unmarkauto ili pogledati ovdje.

14. Kako saznati šta je strašno sistem podataka prošli sistem upravljanja paketima?
Postoji mali uslužni program, iako je pitanje interpretacije rezultata (fajl izvještaja) još uvijek otvoreno
sudo cruft -d / -r izvještaj --ignore /home --ignore /var --ignore /tmp
15. Koja su dodatna spremišta?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - puno stvari



Učitavanje...
Top