Apt gauti atnaujinimą, ką jis daro. APT paketų valdymo sistema

Apt-get programa yra galinga nemokama konsolės programa, kuri naudojama ir veikia su APT (Advanced Packaging Tool) biblioteka, norint įdiegti naujus programinės įrangos paketus, pašalinti esamus, atnaujinti įdiegtus, taip pat atnaujinti visą operacinę sistemą.

Apt-cache konsolės įrankis naudojamas APT programinės įrangos paketų talpykloje ieškoti. Kalbėdamas paprastais žodžiais, šis įrankis naudojamas ieškoti paketų, rinkti informaciją apie paketus ir rasti paketus, kuriuos galima įdiegti Operacinės sistemos, pagrįsta Debian arba Ubuntu.

Kaip gauti visų galimų paketų sąrašą?

Norėdami pamatyti visus galimus paketus, paleiskite šią komandą:

Apt-cache pkgnames

Kaip rasti paketo pavadinimą ir jo aprašymą.

Norėdami rasti paketo pavadinimą ir aprašymą prieš diegdami, naudokite žymą „paieška“. Naudojant „paiešką“ su apt-cache, bus rodomas atitinkančių paketų sąrašas su trumpu aprašymu. Pavyzdžiui, norite rasti vsftpd paketo aprašymą: kad tai padarytumėte, komanda turėtų būti tokia:

„Apt-cache“ paieška vsftpd

Norėdami rasti ir išvardyti visus paketus, kurių pavadinimas prasideda vsftpd, galite naudoti šią komandą:

Apt-cache pkgnames vsftpd

Kaip galiu peržiūrėti pakuotės informaciją?

Pavyzdžiui, jei norite peržiūrėti informaciją apie paketą su trumpu jo aprašymu, nurodant versijos numerį, kontrolines sumas, dydį, įdiegtą dydį, kategorijas ir t. t., galite naudoti antrinę komandą „rodyti“, kaip parodyta toliau:

Apt-cache rodyti netcat

Kaip galite patikrinti paketo priklausomybę?

Norėdami patikrinti konkretaus paketo priklausomybes, galite naudoti showpkg subkomandą, kad pamatytumėte, ar tos priklausomybės yra įdiegtos, ar ne. Pavyzdžiui, naudokite komandą showpkg kartu su paketo pavadinimu.

Apt-cache showpkg vsftpd

Kaip galiu peržiūrėti talpyklos statistiką?

Statistikos antrinė komanda parodys visą talpyklos statistiką, pvz., bendrą talpykloje rastų paketų skaičių. Naudokite šią komandą:

Apt-cache statistika

Kaip atnaujinti sistemos paketų sąrašą?

Atnaujinimo komanda naudojama sinchronizuoti ir atnaujinti paketo indekso failus. Sinchronizuojama su faile nurodytais šaltiniais /etc/apt/sources.list. Galite naudoti šią komandą, pavyzdžiui, norėdami užtikrinti, kad nepraleistumėte svarbių paketo naujinimų.

Sudo apt-get atnaujinimas

Kaip atnaujinti paketus sistemoje?

Atnaujinimo komanda naudojama visai šiuo metu jūsų sistemoje įdiegtai programinei įrangai atnaujinti. Kartais gali atsitikti taip, kad naujinimas negali būti įdiegtas dėl kito paketo, kuriam reikalinga sena versija.

Sudo apt-get atnaujinimas

Bet jei norite atnaujinti nepaisydami paketo reikalavimų, naudokite dist-upgrade antrinę komandą:

Sudo apt-get dist-upgrade

Kaip įdiegti arba atnaujinti bet kurį konkretų paketą?

Įdiegimo antrinė komanda naudojama paketui įdiegti arba atnaujinti.

Sudo apt-get install netcat

Kaip vienu metu įdiegti kelis paketus?

Galite įvesti kelių paketų pavadinimus, kad juos įdiegtumėte vienu metu. Pavyzdžiui, norėdami įdiegti nethogs ir goaccess paketus, galite paleisti šią komandą:

Sudo apt-get install nethogs goaccess

Kaip įdiegti kelis paketus naudojant pavadinimą „kaukė“

Naudodami įprastas ištraukas galite pridėti kelis paketus naudodami specialiuosius simbolius. Pavyzdžiui, galite naudoti žvaigždutę, kad įdiegtumėte visus paketus, kurių pavadinime yra eilutė "name":

Sudo apt-get install *name*

Kaip įdiegti paketus neatnaujinant.

Naudodami vėliavėlę –no-upgrade užkirsite kelią naujinimui, kuris jau yra įdiegti paketai.

Sudo apt-get install packageName --no-upgrade

Kaip galiu atnaujinti tam tikrus paketus?

Žyva --only-upgrade neįdiegs naujų paketų, o tik atnaujins esamus.

Sudo apt-get install paketo_pavadinimas --only-upgrade

Kaip galiu įdiegti konkrečią paketo versiją?

Įsivaizduokime, kad reikia įdiegti konkrečią paketo versiją, tiesiog naudokite lygybės ženklą kartu su paketo pavadinimu ir pridėkite norimą versiją.

Sudo apt-get install vsftpd=2.3.5-3ubuntu1

Kaip pašalinti paketus nepašalinant nustatymų?

Norėdami pašalinti programinės įrangos paketus neištrindami jų konfigūracijos failų (naudojimui ateityje), naudokite šalinimo komandą, kaip parodyta.

Sudo apt-get pašalinti vsftpd

Kaip visiškai pašalinti pakuotes?

Norėdami pašalinti paketą kartu su jo konfigūracijos failais, naudokite valymo antrinę komandą, kaip parodyta toliau.

Sudo apt-get purge vsftpd

Arba galite sujungti abi komandas, pavyzdžiui:

Sudo apt-get remove --purge vsftpd

Kaip atlaisvinti vietos diske?

„Clean“ komanda naudojama vietos diske atlaisvinti pašalinant nuskaitytus .deb paketų failus iš vietinės saugyklos.

Sudo apt – išsivalykite

Kaip atsisiųsti paketo šaltinio kodą?

Jei norite atsisiųsti tik paketo šaltinio kodą, su paketo pavadinimu galite naudoti parinktį –atsisiųsti tik šaltinį, pvz.:

Sudo apt-get --atsisiunčiamas tik šaltinis vsftpd

Kaip atsisiųsti ir išpakuoti paketą?

Norėdami atsisiųsti ir išskleisti paketo šaltinio kodą į specialų katalogą, paleiskite šią komandą:

Sudo apt-get šaltinis vsftpd

Kaip atsisiųsti, išskleisti ir sukompiliuoti paketo šaltinio kodą?

Taip pat galite atsisiųsti, išskleisti ir kompiliuoti paketo šaltinio kodą naudodami parinktį „–compili“, kaip parodyta toliau:

Sudo apt-get -- kompiliuoja šaltinio goaccess

Kaip atsisiųsti paketą be įdiegimo

Naudodami parinktį „atsisiųsti“ galite atsisiųsti bet kurį paketą jo neįdiegę. Pavyzdžiui, ši komanda nethogs paketą atsisiųs tik į dabartinį darbo katalogą.

Sudo apt-get atsisiųsti nethogs

Kaip galiu peržiūrėti paketo pakeitimų žurnalą?

Keitimų žurnalo vėliavėlė įkelia paketo pakeitimų žurnalą ir rodo paketo versiją, jei ji įdiegta.

Sudo apt-get changelog vsftpd

Kaip galite ištaisyti nutrūkusias priklausomybes?

Komanda „tikrinti“ yra diagnostikos įrankis, naudojamas paketo talpyklai atnaujinti ir patikrinti, ar nėra nutrūkusių priklausomybių.

Sudo apt-get check

Kaip rasti ir surinkti priklausomybes?

Komanda build-dep suranda ir įdiegia norimo paketo sukurtas priklausomybes. Jei paketo nėra vietinėje saugykloje, gausite klaidą.

Sudo apt-get build-dep netcat

Kaip galiu automatiškai išvalyti „Apt-Get“ talpyklą?

Autoclean komanda pašalina visus .deb failus iš /var/cache/apt/archives, kad atlaisvintų laisvos vietos standžiajame diske.

Sudo apt-get autoclean

Kaip galiu automatiškai pašalinti nereikalingus paketus?

„Autoremove“ antrinė komanda naudojama automatiškai pašalinti paketus, kurie buvo įdiegti kaip priklausomybės nuo kitų, bet nebereikalingi. Pavyzdžiui, ši komanda pašalins įdiegtą paketą ir jo priklausomybes.

Sudo apt-get autoremove vsftpd

Informacija maloniai teikiama svetainėje. Ačiū.

Ilgą laiką mane kankino nežinojimas, kaip atlikti kai kuriuos pagrindinius dalykus Debiano paketų tvarkytuvėse, tačiau, kaip dažnai nutinka, šalia nebuvo ko paklausti, o užsirašyti nespėjau. Galiausiai klausimai subrendo ir aš parašiau savo klausimą į Debian'o adresų sąrašą. Natūralu, kad paaiškėjo, kad kažką akivaizdaus praleidau, bet sužinojau ir daug neakivaizdaus naudingumo, todėl nusprendžiau nubraižyti cheat sheet, gal kam nors pravers.

Debian administratoriaus greitoji pagalba

Pagrindinis ir gerai žinomas
Informacijos apie naujus/atnaujintus paketus gavimas
sudo aptitude atnaujinimas
Atnaujinti
sudo aptitude saugus atnaujinimas
Paketo paieška pagal paketų pavadinimus
tinkamumo paieškos raktinis_žodis
Ieškokite paketo pagal tikslų pavadinimą
tinkamumo paieška "^name$"
Ieškoti pagal aprašymą
tinkamumo paieška "?description("key_word")"
Informacija apie pakuotę
aptitude rodyti paketo_pavadinimas
Montavimas
sudo aptitude įdiegti paketo_pavadinimas
Pašalinimas
sudo aptitude pašalinti paketo_pavadinimas
Visiškas pašalinimas (kartu su konfigūracijomis)
sudo aptitude purge paketo_pavadinimas
Išvalykite atsisiųstų paketų talpyklą (atlaisvinkite vietos)
aptitude autoclean # bus pašalinti tik pasenusių versijų paketai aptitude clean # bus išvalyta visa talpykla
Atskirai atsisiųsto / sukurto paketo įdiegimas (norėdami sukurti paketą iš trečiųjų šalių šaltinių, turite naudoti patikrinimo diegimo įrankį su žyma -D)
sudo dpkg -i /path/to/package.deb
Dėl papildomos informacijos
man aptitude sudo aptitude install aptitude-doc-en
ir pažiūrėkite į dokumentaciją (/usr/share/doc/aptitude/html/en/index.html), jei norite greitos pagalbos dėl paieškos modelių, eikite čia - /usr/share/doc/aptitude/html/en/ch02s04 .html. Jei tingite įdiegti dokumentą, jį galite rasti internete.
Įvadas į Debian Wiki: wiki.debian.org/Aptitude
O dabar tai, kas nėra akivaizdu arba reikalauja iki galo perskaityti dokumentus
1. Kaip galiu pamatyti, kurie paketai bus atnaujinti po atnaujinimo?
gabumų paieška ?atnaujinama
taip pat gali būti naudojamas (jei sumontuotas)
sudo daptup
bet jį įdiegus, reguliarus atnaujinimas veiks lygiai taip pat

2. Kaip sužinoti, kas pasikeitė paketuose, kurie bus atnaujinami?
Galite pabandyti
sudo aptitude changelog paketo_pavadinimas
už kiekvieną pakuotę.
Bet geriau įdiegti apt-listchanges, tada prieš bet kokį atnaujinimo diegimą bus rodomas pakeitimų sąrašas, numatytieji nustatymai nėra labai patogūs, todėl geriau susikonfigūruoti patiems, pavyzdžiui, pasirinkti išvesties formatą (kol kas aš m naudojant tekstą, dideliems atnaujinimams tikriausiai geriau), nesiųskite laiškų, prašykite patvirtinimo, rodyti visą informaciją. Norėdami tai padaryti, turite bėgti
sudo dpkg-reconfigure apt-listchanges
3. Ką daryti, jei naujinimas sugenda ir man reikia atšaukti?
Atšaukimo nėra, galite pabandyti rasti ankstesnę paketo versiją
sudo aptitude versija paketo_pavadinimas
ir įdiekite jį
sudo aptitude install package_name=version
4. Kaip rasti visus rankiniu būdu įdiegtus paketus?
yra komandų parinktis (tinkamybių paieška "~i!~M"), deja, ji neduoda norimo rezultato, todėl klausimas lieka atviras, yra daug metodų, pagrįstų žurnalo analize
/var/log/aptitude (+ pasukti gabaliukai) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ pasukti gabaliukai)
bet nėra paprasto ir paruošto sprendimo, o informacija teoriškai gali būti prarasta sukimosi metu, reikia sukonfigūruoti

5. Kaip galiu peržiūrėti pakete esančių failų sąrašą?
jei paketas įdiegtas
dpkg -L paketo_pavadinimas
bet kokiems paketams įdiekite apt-file ir
apt-failų sąrašas paketo_pavadinimas
6. Kaip galiu pamatyti, kuriam paketui priklauso failas?
dpkg -S failo_pavadinimas
7. Kaip pašalinti visus paketus, kurių paketo pavadinime yra raktas?
sudo aptitude purge ~ikey
8. Kaip pašalinti likusias konfigūracijas iš ištrintų paketų?
sudo aptitude purge ~c
9. Kaip rasti paketą, kuriame yra failas lib.so:
apt-failų paieška lib.so
10. Kaip rpm paketą konvertuoti į deb?
alien --to-deb /path/to/file.rpm
11. Kaip rasti įdiegtų branduolių sąrašą?
dpkg --list linux-* | grep ii
12. Kaip įdiegti paketą iš bandomojo ar eksperimentinio?
Šia tema reikia rašyti atskirai (pavyzdžiui, taip), bet trumpai tariant, tam yra komandos
sudo aptitude -t testavimas paketo_pavadinimas
arba
sudo aptitude paketo_pavadinimas/testavimas
13. Kaip pašalinti metapaketą, bet palikti vieną iš priklausomybių?
Turėsite perskaityti dokumentaciją apie unmarkauto raktą arba žiūrėti čia.

14. Kaip sužinoti, kas paketų valdymo sistemos pateko į failų sistemą?
Yra „cruft“ programa, nors rezultatų interpretavimo klausimas (ataskaitos failas) vis dar atviras
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Kokių papildomų saugyklų yra?
Debianas – wiki.debian.org/UnofficialRepositories
Ubuntu – daug įvairių

Dėl to, kad kai kurie bendražygiai nesupranta, kas yra apt ir dpkg. Nusprendžiau sukurti kitą įrašą apie šias komunalines paslaugas.

APT ir viskas, viskas, viskas. APT paketų tvarkyklės ir susijusių programų galimybių tyrinėjimas

„Debian“ atnešė daug teigiamų naujovių į „Linux“ pasaulį, iš kurių daugelis buvo pritaikytos kitiems platinimams. Reikšmingiausias Debian patobulinimas buvo APT paketų valdymo sistema po jos išleidimo, visi kiti platinimai virto pasenusia šiukšliadėže. Šiandien APT yra sudėtingas, protingas, lankstus ir slepia daug paslapčių nuo nežinomo Linux vartotojo.

Pažangi paketų valdymo sistema

Pats APT (Advanced Packaging Tool) nėra paketų valdymo sistema tikrąja to žodžio prasme. Visus išpakavimo, registravimo sistemoje ir paketų duomenų bazės peržiūros veiksmus atlieka paketų paslaugų programos dpkg, o APT priemonės yra paketų paieška, kontrolinių sumų tikrinimas, atsisiuntimas iš saugyklos, priklausomybių šalinimas ir kt. kaip ir daugelis kitų veiksmų .

APT apima šį paslaugų rinkinį:

apt paketo komunalinės paslaugos

apt-cache – manipuliuoja dažniausiai naudojamų galimų paketų talpykla
ieškoti paketo ir (arba) gauti informaciją apie jį

apt-cdrom – leidžia pridėti CD/DVD kaip paketo šaltinį (saugyklą)

apt-config - nuskaito konfigūracijoje nurodytų parinkčių reikšmes
failas /etc/apt/apt.conf, naudojamas kitų APT paslaugų

apt-extracttemplates – ištraukia DebConf konfigūracijos failus
iš paketų, naudojamų kitų APT paslaugų

apt-ftparchive – sukuria indekso failus

apt-get – įdiegia, pašalina, atnaujina paketų sąrašą
ir patys paketai – centrinė APT programa

apt-key – tvarko autentifikavimo raktus, naudojamus patvirtinimui
paketų šaltinių autentiškumas

apt-secure – tikrina autentiškumą Elektroninis parašasįtraukti tinkami paketai
įtrauktas į platinimą ir saugyklas

apt-sortpkgs – rūšiuoja indekso failus

Komunalinės paslaugos remiasi šiais konfigūracijos failais:

Konfigūracija APT failai

/etc/apt/sources.list – paketų šaltinių (saugyklų) sąrašas
/etc/apt/apt.conf – pagrindinis APT konfigūracijos failas
/etc/apt/preferences – nuostatų failas, valdantis, kuri paketo versija bus
įdiegta, jei saugykloje vienu metu yra kelios versijos

APT yra paprastas ir paprastas naudoti paprastam vartotojui paprastai reikia tik šešių toliau nurodytų komandų:

Pagrindinės APT komandos

apt-cache paieškos kaukė – paketų paieška
apt-cache rodyti paketą – peržiūrėti paketo informaciją
apt-get install paketas – paketo diegimas
apt-get pašalinti paketą – pašalinti paketą
apt-get update – atnaujinkite galimų paketų talpyklą
apt-get upgrade – atnaujinkite visus paketus

Paskutinės dvi komandos paprastai paleidžiamos viena po kitos, o tai iš naujo įdiegs visus paketus, kurių saugykloje yra naujų versijų. Jei jums reikia atnaujinti tik nurodytą paketą, tada po „apt-get update“ turėtumėte paleisti komandą „apt-get install package“.

„Ubuntu“ paskirstymas dar labiau supaprastina „bendravimo“ su APT komunalinėmis paslaugomis procesą ir sumažina jį iki grafinės sąsajos žymimųjų langelių spustelėjimo. Ji turi savo, labai paprastą paketų tvarkyklę (tai vadinama „Paketų tvarkytuve“), paleista per cron. Atnaujinimai Manager, grafinė diegimo programa rankiniu būdu atsisiunčiamiems GDebi deb paketams ir galingesnis grafinis priedas, skirtas Synaptic APT programoms.

Tuo tarpu APT yra daug sudėtingesnė ir lankstesnė, nei gali pasirodyti iš pirmo žvilgsnio. Todėl tolesniuose skyriuose apžvelgsime kelis ne visai tipiškus jo panaudojimo būdus.

Trečiųjų šalių paketų šaltiniai

Be pagrindinės saugyklos, kurioje yra visi platinimo kūrėjų paketai, yra daugybė kitų paketų šaltinių, kuriuose gali būti trečiosios šalies programinės įrangos, kurios nėra oficialioje saugykloje, gali būti pateikiamos naujesnės jos versijos arba tiesiog būk greitesnis veidrodis. Saugykla gali būti įprastas katalogas standžiajame diske arba kompaktinis diskas.

Norėdami išmokyti APT dirbti su trečiųjų šalių saugyklomis, tiesiog atlikite keturis paprastus veiksmus:

uri laukas yra saugyklos adresas, kuris daugeliu atvejų yra HTTP adresas, bet taip pat gali būti nuoroda į vietinę saugyklą (failas:/root/repository), saugyklos adresas FTP arba SSH serveryje. Laukelyje „paskirstymas“ nurodomas platinimo, kuriam renkami paketai, pavadinimas. Debian'ui pavadinimas gali būti stabilus, senas stabilus, nestabilus, testavimas, o Ubuntu atveju turėtumėte nurodyti tik konkretų platinimo pavadinimą (pavyzdžiui, jaunty), taip pat įvairius pavadinimus pagal jį ( pavyzdžiui, jaunty-updates, jaunty-backports, jaunty-security). Reikia pasakyti, kad APT visiškai neprieštarauja skirtingų platinimų paketų maišymui vienoje sistemoje, tačiau tokiu atveju tik jūs būsite atsakingas už pasekmes. Komponentas paprastai vadinamas „Main“, „Contrib“ arba „non-free“, skirtu „Debian“, ir „main“, „universe“, „multiverse“, „partner“ ir apribotas „Ubuntu“. Tai yra skirtingų paketų saugyklų pavadinimai, kurie pagal tam tikrus kriterijus yra atskirti tik į atskirus paketus. Pavyzdžiui, pagrindiniai yra Ubuntu/Debian kūrėjų grupės surinkti paketai, juose esančios programinės įrangos kokybės garantijos, įskaitant laiku atliekamus atnaujinimus ir klaidų taisymus, o „contrib“ ir „universe“ yra trečiosios šalies programinė įranga, kurią įdiegiate savo kompiuteryje; savo rizika.

2. Prie apt keyring pridėkite viešąjį saugyklos raktą, naudojamą jo autentiškumui ir patikimumui patikrinti. Raktą galima gauti bet kokiomis priemonėmis ir pridėti paleidus komandą „apt-key add key“, tačiau šis metodas retai naudojamas dėl jo nepatogumų. Daugeliu atvejų turėsite reikalų su komanda

sudo apt-key adv --keyserver certificate-server --recv-keys key-id
kuri prašo rakto tiesiai iš sertifikavimo serverio (Ubuntu tai yra keyserver.ubuntu.com). Taip dauguma trečiųjų šalių kūrėjų platina savo programinę įrangą, skirtą Debian/Ubuntu platinimui (o kiti tiesiog skelbia paketus ir jų kontrolines sumas). Pavyzdžiui, nuėję į jus dominančio projekto puslapį launchpad.net priegloboje ir spustelėję nuorodą „Techninė informacija apie šį PPA“, pamatysite eilutę, kurią reikia pridėti prie /etc/apt/sources. .sąrašas, „Pasirašymo raktas:“ bus nurodytas Rakto ID.

3. Atnaujinkite galimų paketų talpyklą:

sudo apt-get atnaujinimas
4. Įdiekite paketą naudodami komandą „apt-get install package“.

Daugelis kūrėjų įdeda nuorodą į saugyklą ir jos rakto ID tiesiai į deb paketą, todėl atsisiuntus paketą, jį įdiegus ir paleidus komandą „apt-get update && apt-get upgrade“, paketai bus atnaujinti kartu su jų broliais. išvardyti šaltiniuose.sąraše. Visų pirma, taip platinamos „Opera“ naršyklės ir „Google Chrome“ alfa versija.

Kompaktiniame diske esančią saugyklą daug lengviau įtraukti į sources.list. Tam yra speciali komanda apt-cdrom. Tiesiog įdėkite kompaktinį diską į įrenginį ir paleiskite komandą:

sudo apt-cdrom add

Triukai ir neįprastos situacijos

APT yra APT, patogu ir paprasta, tačiau kartais neapsieisite be gudrybių, kurių naudingiausius sužinosite iš šio skyriaus.

1. Pagal numatytuosius nustatymus komanda "apt-get remove" visiškai pašalina paketą tik tuo atveju, jei nė vienas jo failas nebuvo pakeistas nuo įdiegimo, kitaip modifikuoti failai lieka nepakitę. Natūralu, kad konfigūracijos failai beveik visada keičiasi, todėl apt-get palieka krūvą šiukšlių, kurias turite išvalyti rankiniu būdu. Šią problemą išsprendžia komanda „apt-get purge“, o ne „apt-get remove“.

2. Mėgstantys tvarkytis su sistema, taip pat sistemos administratoriai, kurių serveriai buvo nulaužti, greičiausiai norės grąžinti paketus į pradinę būseną, kurioje jie buvo prieš manipuliavimą. Komanda padės tai padaryti:

sudo apt-get install --reinstall paketą
3. Daugiau žemo lygio komunalinės paslaugos Deb paketų tvarkyklės (pvz., dselect ir dpkg) turi specialų paketų būsenų sąrašą, kurį galima naudoti norint valdyti, kuriuos paketus reikia įdiegti arba pašalinti paketiniu režimu (taip veikia dselect + dpkg). Jis taip pat gali būti naudojamas daugeliui kitų tikslų, pavyzdžiui, norint perkelti sistemos konfigūraciją į kitą įrenginį. Vykdykite šią komandą:

dpkg --get-selections > failą
Perkelkite failą į kitą įrenginį ir paleiskite jame dvi komandas:

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

Visi šaltinio sistemos paketai bus įtraukti į sistemą. Kad paketo būsenos faile taip pat būtų informacijos apie tai, kuriuos paketus reikia pašalinti iš sistemos, po argumento „--get-selections“ pridėkite simbolį „\*“. Būsenos sąraše nėra paketo versijų, ją galima naudoti įdiegus daugiau nauja versija paskirstymo rinkinį, kad jis būtų reikiamos būklės.

4. Jūs rankiniu būdu pritaikėte pataisą vieno iš sistemos paketų failui ir nenorite, kad šis paketas būtų atnaujintas (sunaikinant visus jūsų pakeitimus) iškvietus „apt-get upgrade“. Tokiu atveju valstybių sąrašas vėl ateis į pagalbą. Paketas gali būti užšaldytas, todėl apt-get atsisako jį atnaujinti ir praleisti:

echo -e "coreutils hold" | dpkg --set-selections
Galite priverstinai atnaujinti paketą nurodydami vėliavėlę „-u“, kai skambinate apt-get.

5. Kaip ir bet kuri sistema su tinklo funkcijomis, APT leidžia naudoti tarpinį serverį prieigai prie saugyklų. Norėdami įjungti šią funkciją, į /etc/apt/apt.conf failą pridėkite šią eilutę:

Įsigyti::http::Tarpinis serveris "http://xxx.xxx.xx:yyyy"

Kur xxx.xxx.xx yra tarpinio serverio pavadinimas, yyyy yra prievadas.

6. Paprastai APT paslaugų programos prašo naujausios paketo versijos iš visų, esančių jo talpykloje, taigi, jei į sources.list įtraukėte įvairių eksperimentinių ir nestabilių saugyklų, po atnaujinimo gausite platinimą, sudarytą tik iš eksperimentinių arba nestabilių paketų. , ir daugybė problemų, kylančių dėl šios padėties. Tačiau situaciją galima lengvai išspręsti į /etc/apt/apt.conf įdėjus šią eilutę:

APT::Default-Release "išleidimas";

Kai leidimas yra senas stabilus, stabilus, nestabilus, bandomasis arba eksperimentinis Debian'ui arba leidimo pavadinimas Ubuntu. Dabar, jei jums reikia įdiegti paketą iš nurodyto platinimo, tiesiog parašykite jo pavadinimą po argumento „-t“, kai skambinate apt-get:

sudo apt-get -t nestabilus diegimo paketas
7. Visi gauti apt-get deb paketai yra saugomi /var/cache/apt/archives kataloge, o tai reiškia, kad jei iš naujo įdiegiate sistemą, galite nukopijuoti katalogo turinį į kitą diską / skaidinį ir tada jį atkurti ir sutaupykite laiko / paketų diegimo srautą. Be to, tai iš esmės yra jūsų įdiegtos sistemos momentinė nuotrauka (tos jos dalis, kurią įdiegėte patys), kurią galima priskirti draugui (kartu su būsenų sąrašu, aprašytu trečioje pastraipoje) arba, jei nereikia, ištrinti. atlaisvinti vietos.

8. Ankstesnėje pastraipoje aprašytą ištrintą sistemos momentinį vaizdą galima lengvai atkurti naudojant toliau pateiktą dizainą:

sudo dpkg --get-selections | grep -v "pašalinti" | \
awk "(spausdinti 1 USD)" | xargs dpkg-repack

9. Be dvejetainių paketų, Debian/Ubuntu saugyklose taip pat yra programų šaltinio paketų, kuriuos galima gauti ir sukurti naudojant šią komandą:

sudo apt-get -b šaltinio paketo pavadinimas

Trečiųjų šalių komunalinės paslaugos

APT sistema nuėjo labai ilgą kelią, todėl, be oficialių paslaugų, įtrauktų į apt paketą, Debian ir Ubuntu saugyklose gausu daug trečiųjų šalių paslaugų, kurios gali būti naudojamos kai kuriems ne standartines užduotis.
Naudingiausias iš jų vadinamas apt-file ir yra būtinas, kaip galima spėti iš pavadinimo, norint nustatyti, ar konkretus failas priklauso konkrečiam paketui. Diegti:

sudo apt-get install apt-file
Mes prašome apt-file sukurti visų paketų sistemoje įdiegtų failų talpyklą (jos bus ieškoma):

apt-failo paieška /usr/bin/apt-get
apt: /usr/bin/apt-get

Mes prašome visų paketo failų sąrašo:

apt-failų sąrašas apt

Paprasta programa, vadinama apt-show-versions, parodys, kuriuos paketus galima atnaujinti, įskaitant versijas ir kitą informaciją. Paleiskite jį naudodami vėliavėlę „-u“, kad gautumėte tik atnaujinamų paketų sąrašą (o ne visų paketų sąrašą).

Jei įdiegėte daugybę skirtingų paketų ir dabar norite atsikratyti nereikalingo šlamšto, tada šiuo klausimu padės „deborphan“ programa, kuri ieško nenaudojamų paketų ir našlaičių priklausomybių. Tiesiog paleiskite deborphan be jokių argumentų ir pamatysite paketų sąrašą, kurį galėsite iš karto perduoti kaip įvestį komandai „apt-get remove“ arba tiesiog paleiskite šią komandą:

sudo apt-get pašalinti „deborphan“.

Pagal numatytuosius nustatymus „deborphan“ apdoroja tik paketus, kuriuose yra bibliotekos, tačiau šią elgseną galima pakeisti pridedant vėliavėlę „-a“ prie komandos iškvietimo:

Nereikėtų iš karto skubėti šalinti naudingumo programos rodomų paketų, nes net pats galingiausias euristinis algoritmas negali nustatyti jūsų asmeninių poreikių. Taigi, programa man parodė paketus google-chrome, inkscape ir net xorg.

Apt-move įrankis leis jums sukurti vietinę saugyklą. Įdiekite programą, atidarykite /etc/apt-move.conf failą, parinktyje LOCALDIR nurodykite kelią į katalogą, kuriame turi būti saugykla, ir paleiskite komandą:

sudo apt-move atnaujinimas

Dėl to visi paketai, atsisiųsti iš interneto naudojant apt-get (katalogas /var/cache/apt/archives), bus perkelti į konfigūracijoje nurodytą katalogą, kuriam bus sukurtas indekso failas. Tai patogus būdas sukurti intraneto saugyklą tais atvejais, kai daugelyje kompiuterių reikia įdiegti daug identiškų paketų.

Vietinei saugyklai sukurti taip pat labai patogu naudoti apt-proxy serverį, kuris leidžia talpykloje saugoti deb paketus, atsisiųstus iš saugyklos serverio pusėje. Tam skirtame kompiuteryje (galbūt vartuose) įdiegiamas apt-proxy, o klientų sąrašas sources.list modifikuojamas taip, kad šio įrenginio adresas būtų nurodytas kaip visų saugyklų uri laukas. Dėl to visos užklausos dėl deb paketų yra nukreipiamos į apt-proxy, kuri prašo paketo iš pagrindinės saugyklos ir išsaugo jį savo talpykloje, o atsakymas į visas paskesnes šio paketo užklausas bus grąžintas iš talpyklos.

Pirmiausia įdiekite apt-proxy specialiame kompiuteryje:

sudo apt-get install apt-proxy

Tada atidarykite failą /etc/apt-proxy/apt-proxy-v2.conf, eikite į skyrių ir pakeiskite adreso parinkties reikšmę įrenginio IP adresu, taip pat apibūdinkite paketų šaltinius, kuriuos naudoja apt- tarpinis serveris, pavyzdžiui:

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


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


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

Paprastai šių dviejų adresų pakanka, kad apimtų visą Ubuntu kūrėjų teikiamų paketų spektrą. Iš naujo paleiskite apt-proxy:

sudo invoke-rc.d apt-proxy paleiskite iš naujo

Norėdami pakeisti klientus į apt-proxy naudojimą, paimkite standartinį Ubuntu sources.list, pakeiskite visus tikrus uri laukus į "http://IP-address-apt-proxy:9999/ubuntu/" ir nukopijuokite šį failą kiekvienam klientui.

Yra daug kitų, mažiau įdomių paslaugų, kurios veikia kartu su APT. Pavyzdžiui, apt-dater leidžia atnaujinti paketus daugelyje nuotolinių mazgų naudojant pseudografinę sąsają. Aptsh programa įgyvendinama komandų sąsaja, panašus į sh, ant apt paketo komandų, aptfs - virtualus Failų sistema valdyti APT. Debdelta įrankis, leidžiantis atnaujinti paketus, atsisiunčiant jų deltas iš interneto, galėtų būti atskiro straipsnio tema, jei būtų bent viena laiku atnaujinta saugykla.

Tinkamumas

Apt-get programa ir jos giminaičiai nėra vienintelis galimas APT diegimas. Dar galingesnė, patogesnė ir universalesnė jų alternatyva vadinama aptitude ir yra koncentruotas apt-get, apt-cache ir dselect funkcionalumas vienoje vietoje.
Aptitude leidžia įdiegti/pašalinti, ieškoti, atnaujinti ir atlikti daug kitų dalykų su paketais naudojant dviejų tipų sąsajas: komandų režimą, panašų į apt-get ir apt-cache, ir pseudografinį režimą, panašų. į dselect sąsają, bet daug patogesnė ir funkcionalesnė.

Komandinės eilutės režimu aptitude gali būti naudojamas tokiems dalykams kaip:

aptitude install – paketo diegimas

aptitude remove – pašalinkite paketą ir našlaičių priklausomybes

aptitude purge – pašalinkite paketą, našlaičių priklausomybes
ir po jų likusius konfigūracijos failus

aptitude search – ieškokite paketo talpykloje (galimų paketų sąrašas)

aptitude update – talpyklos atnaujinimas

aptitude safe-upgrade – atnaujinti paketus

aptitude clean – pašalinkite anksčiau atsisiųstus paketus

aptitude visiškas atnaujinimas - atnaujinti paketus,
net jei atliekant šį veiksmą reikia pašalinti bet kokius paketus

tinkamumo šou – pakuotės informacija

aptitude autoclean – pašalinkite pasenusius paketus

aptitude hold – draudimas atnaujinti paketą

Interaktyvus režimas, pasiekiamas paleidus aptitude be argumentų, leidžia atlikti visus tuos pačius veiksmus naudojant pseudografinę sąsają, sukurtą ncurses bibliotekoje. Jis veikia paketiniu režimu (pasirinkite paketus – pradėkite diegimo procesą), todėl bus patogu tais atvejais, kai reikės įdiegti daug paketų.

Velykų kiaušiniai

Paaiškėjo, kad APT komunalinių paslaugų kūrėjai yra šiek tiek pakrypusio humoro jausmo vaikinai. Tiesiog pažiūrėkite į šios komandos rezultatą:

sudo apt-get moo
Dar labiau atrodo, ką gabumų kūrėjai įdėjo į savo programą. Bandyti:

sudo aptitude moo
Savotiškas velykinis kiaušinis be velykinio kiaušinio. GERAI:

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

Ir paskutinis akordas:

sudo aptitude -vvvvvv moo

Naudingos apt-cache komandos

apt-cache show paketas – išsami informacija apie paketą
apt-cache showpkg paketas – bendra informacija apie paketą
apt-cache priklauso paketas – paketo priklausomybių sąrašas
apt-cache rdepends paketas – atvirkštinių priklausomybių sąrašas (kam reikalingas nurodytas paketas)

APT žodynas

Paketas – programa, biblioteka, šaltinio kodas ar bet kokie kiti failai, taip pat jų metaduomenys, supakuoti į specialiai suformuotą archyvą.

Saugykla yra deb paketų saugojimo vieta.

Pasiekiama paketų talpykla (arba tiesiog talpykla) yra failas, talpinantis informaciją apie visus paketus, pasiekiamus iš šaltinių, išvardytų /etc/apt/sources.list. Talpykla atnaujinama kiekvieną kartą, kai iškviečiama komanda „apt-get update“.

Rodyklės failas – saugyklos antraštinė byla, kurioje yra pavadinimas, versija, dydis, trumpas ir Pilnas aprašymas ir kiekvieno paketo priklausomybės. Dvejetainės saugyklos atveju jis pavadintas Packages.gz, o šaltinio kodo saugykla – Sources.gz. Sukurta naudojant pkg-scanpackages ir dpkg-scansources paslaugų programas.

Apt keyring (pažodžiui: apt keyring) yra raktų saugykla, kuri autentifikuoja paketų šaltinius (saugyklas).

Kas yra viduje?

Deb paketų bruožas yra jų paprastumas. Bet kurį Deb paketą sudaro trys failai: data.tar.gz, control.tar.gz ir debian-binary, supakuoti kartu su archyvavimo programa. Failas data.tar.gz yra paketo turinys (dvejetainiai, žmogaus, dokumentai ir kt.), control.tar.gz yra metaduomenys, paprasčiausioje versijoje du failai: control, kuriame yra paketo aprašymas, priklausomybės, dydis ir kt. .d. ir md5sums – visų paketo failų kontrolinės sumos Dvejetainiame faile yra Deb paketo formato versija (pavyzdžiui, 2.0), kad išpakuotumėte paketą.

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

Advanced Packaging Tool – tai aukšto lygio darbo su paketais įrankis.

Darbas su paketais naudojant dpkg.

dpkg yra pagrindinė sistemos programa, skirta darbui su Debian paketais. Jei yra .deb paketų, tai dpkg leidžia juos įdiegti arba analizuoti jų turinį. Tačiau ši programa turi tik dalinį Debian pasaulio vaizdą: ji žino, kas yra įdiegta sistemoje, taip pat viskas, kas jai perduodama komandinėje eilutėje, tačiau nieko nežino apie kitus galimus paketus. Todėl ji žlugs, jei susidurs su nepatenkinta priklausomybe. Kita vertus, tokie įrankiai kaip apt automatiškai sukurs priklausomybių sąrašą, kad viską būtų galima įdiegti kuo automatiškai.

dpkg ar apt?

dpkg turėtų būti laikomas žemo lygio įrankiu (varikliu) ir tinkamu kaip įrankiu, esančiu arčiau vartotojo, apeinant pirmojo apribojimus. Šie įrankiai veikia kartu, kiekvienas turi savo specifiką, pritaikytą tam tikroms užduotims.

Paketų diegimas

dpkg visų pirma yra įrankis jau turimiems Debian paketams diegti (nes nieko neatsisiunčia). Norėdami įdiegti paketą, naudokite parinktį -i arba --install.

Paketo diegimas naudojant dpkg

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




Man-db paketas (2.7.0.2-5) konfigūruojamas...

Matome kiekvieną dpkg vykdomą veiksmą, todėl žinome, kur galėjo įvykti klaida. Diegimas taip pat gali būti atliekamas dviem etapais: pirmiausia išpakavimas, tada konfigūravimas. Dėl to apt-get mažiau skambina į dpkg (kiekviena tokia užklausa yra brangi operacija, nes reikia įkelti duomenų bazę į atmintį, įskaitant visą jau įdiegtų failų sąrašą).

Atskiras išpakavimas ir nustatymas

Dpkg – išpakuokite man-db_2.7.0.2-5_amd64.deb

(Skaitant duomenų bazę... šiuo metu yra įdiegti 86425 failai ir katalogai.)
Ruošiamasi išpakuoti man-db_2.7.0.2-5_amd64.deb ...
Man-db (2.7.0.2-5) yra išpakuotas, kad pakeistų (2.7.0.2-5) ...
Mime palaikymo (3.58) aktyvikliai apdorojami...

Dpkg - configure man-db

Man-db paketas (2.7.0.2-5) konfigūruojamas...
Atnaujinama vadovo puslapių duomenų bazė...

Kartais dpkg dėl vienos ar kitos priežasties negali įdiegti paketo ir pateikia klaidą; jei vartotojas nurodys ignoruoti šią klaidą, bus tik įspėjimas; Tam yra įvairių --force-* parinkčių. Pateiks komandą dpkg --force-help arba šios komandos dokumentaciją visas sąrašas tokius variantus. Dauguma dažna klaida Kažkas, su kuo anksčiau ar vėliau turėsite susidurti, yra failų konfliktas. Kai pakete yra failas, kurį jau įdiegė kitas paketas, dpkg atsisakys jį įdiegti ir mes gausime tokį pranešimą:

Paketas libgdm išpakuotas (iš failo.../libgdm_3.8.3-2_amd64.deb) ...
dpkg: klaida apdorojant parametrą /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
bandoma perrašyti "/usr/bin/gdmflexiserver", kuris jau yra pakete gdm3 3.4.1-9

Tokiu atveju, jei manote, kad šio failo pakeitimas nekelia didelės rizikos jūsų sistemos stabilumui (dažnai taip būna), galite naudoti parinktį --force-overwrite, kuri lieps dpkg ignoruoti šią klaidą ir perrašyti failą.
Nors yra daug --force-* parinkčių, rekomenduojama tik --force-overwrite reguliarus naudojimas. Likusieji yra skirti tik išskirtiniais atvejais, ir geriau juos palikti ramybėje kuo ilgiau, kad būtų laikomasi taisyklių, nustatytų kuriant paketą. Nepamirškite, kad šios taisyklės yra sistemos vientisumo ir stabilumo garantija.

DĖMESIO! Efektyvus naudojimas--force-*

Jei nesate atsargūs, naudojant parinktį --force-*, APT komandos gali nustoti veikti. Kai kurios iš šių parinkčių leidžia įdiegti paketą su nepatenkintomis priklausomybėmis arba jei yra konfliktas. Dėl to sistemos nuoseklumas priklausomybių atžvilgiu yra pažeistas, o APT komandos atsisakys daryti nieko kito, išskyrus tai, kas grąžins sistemą į nuoseklią būseną (paprastai tai reiškia trūkstamos priklausomybės įdiegimą arba probleminio paketo pašalinimą ). Pateikiame tokią klaidą nurodančio pranešimo, gauto įdiegus naują rdesktop versiją ir ignoruojant priklausomybę nuo naujesnės libc6 versijos, pavyzdys:

apt pilnas atnaujinimas

Galbūt norėsite naudoti „apt-get -f install“, kad ištaisytumėte šias klaidas.
Paketai su nepatenkintomis priklausomybėmis:
rdesktop: priklauso nuo: libc6 (>= 2.5), bet 2.3.6.ds1-13etch7 jau įdiegta
E: Nepatenkintos priklausomybės.

Pabandykite naudoti -f.
Nedrąsūs administratoriai, kurie yra įsitikinę savo situacijos analize, gali nepaisyti įspėjimo apie priklausomybės problemą arba konfliktą, naudodami atitinkamą parinktį --force-*. Tokiu atveju, jei norite toliau naudoti apt arba aptitude, turite redaguoti /var/lib/dpkg/status ir pašalinti / pakeisti priklausomybę arba konfliktą.
Redagavimas šį failą yra nešvarus įsilaužimas ir neturėtų būti naudojamas, išskyrus kraštutinius atvejus. Dažnai geriausias sprendimas yra atkurti paketą, sukeliantį problemą, „Atkurti paketą iš šaltinio kodo“) arba naudoti naują jo versiją (tikriausiai pataisyta) iš saugyklos, pvz., „stable-backports“ (žr. 6.1.2.4 skyrių „Stabili programinė įranga su atgaline data“ suderinamumas“).

Pakuotės išėmimas

Vykdydami dpkg su parinktimi -r arba --remove ir paketo pavadinimu, tas paketas bus pašalintas. Tačiau šis pašalinimas nebaigtas: visi konfigūracijos failai, priežiūros scenarijai, žurnalo failai (sistemos žurnalai) ir kiti šio paketo naudojami vartotojo duomenys išliks. Tokiu būdu lengva atsikratyti programos ją pašalinus, tačiau tuo pačiu išlieka galimybė ją įdiegti iš naujo su ta pačia konfigūracija. Norėdami visiškai pašalinti viską, kas susiję su paketu, naudokite parinktį -P arba --purge ir paketo pavadinimą.

Visiškas debian-cd paketo pašalinimas

Dpkg -r debian-cd

(Skaitant duomenų bazę... šiuo metu yra įdiegti 97747 failai ir katalogai.)

Dpkg -P debian-cd

(Skaitant duomenų bazę... šiuo metu yra įdiegtas 97401 failas ir katalogas.)
Paketas debian-cd (3.1.17) šalinamas...
Paketo debian-cd (3.1.17) konfigūracijos failai išvalyti...

dpkg duomenų bazės užklausos ir .deb failų analizė

Daugumoje parinkčių yra „ilgos“ parinktys (vienas ar daugiau žodžių prieš dvigubą brūkšnelį) ir „trumposios“ parinktys (viena raidė, dažnai pirmoji „ilgojo“ parinkties raidė, po kurios eina vienas brūkšnelis). Šis susitarimas yra toks įprastas, kad jau yra POSIX standartas.
Prieš baigdami šį skyrių, pažvelkime į dpkg parinktis, skirtas įvairios informacijos užklausai vidinėje duomenų bazėje. Tokiu atveju pirmiausia bus nurodytos ilgosios parinktys, o tada atitinkamos trumposios parinktys (kurios, žinoma, turi tuos pačius argumentus). Taigi paketas --listfiles (arba -L) išvardija paketo įdiegtus failus; --search failas (arba -S) ieško paketo, kuriam priklauso šis failas; --status paketas (arba -s) rodo informaciją apie konkretų įdiegtą paketą; --list (arba -l) rodo sistemai žinomų paketų sąrašą ir jų būseną; --contents file.deb (arba -c) rodo šio paketo failų sąrašą; --info file.deb (arba -I) rodo informaciją apie Debian paketą.

Informacijos gavimas naudojant dpkg

Dpkg -L base-passwd

/.
/usr
/usr/sbin
/usr/sbin/update-passwd
/usr/share
/usr/share/man
/usr/share/man/en
/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/data

coreutils: /bin/date

Dpkg -s coreutils

Pakuotė: coreutils
Esminis: taip
Būsena: įdiegti gerai įdiegta
Prioritetas: būtinas
Skyrius: komunalinės paslaugos
Įdiegtas dydis: 13822
Prižiūrėtojas: Michaelas Stone'as
Architektūra: amd64
Daugiaarka: užsienio
Versija: 8.13-3.5
Pakeitimai: mktemp, timeout
Priklauso: dpkg (>= 1.15.4) | diegimo informacija
Iš anksto priklauso: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
Konfliktai: skirtasis laikas
Aprašymas: GNU pagrindinės priemonės
Šiame pakete yra pagrindinis failas, apvalkalas ir manipuliavimas tekstu
paslaugų, kurios turėtų būti kiekvienoje operacinėje sistemoje.
.
Tiksliau, į šį paketą įeina:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit iškirpimo data dd df dir dircolors dirname du echo env išplėsti expr
faktorius false Flock fmt lankstymo grupės head hostid id įdiegti prisijungimo nuoroda ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
įklijuoti pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred sleep sort split stat stty suma sync tac tail tee test
timeout touch tr tiesa sutrumpinti tsort tty uname unexpand uniq atsieti
vartotojai vdir wc who whoami taip
Pagrindinis puslapis: http://gnu.org/software/coreutils

Dpkg -l "b*"

Desired=unknown[u]/install[i]/delete[r]/clear[p]/commit[h]
| Būsena=ne[n]/įdiegta[i]/sukonfigūruota[c]/išpakuota[U]/iš dalies sukonfigūruota[F]/
iš dalies įdiegta[H]/trig-aWait/Trig-pend
|/ Klaida?=(nėra)/reikia iš naujo įdiegti[R] (didžiosios raidės
būsenos ir klaidos laukuose rodo neįprastą situaciją)
||/ Pavadinimas Versija Architektūros aprašymas
+++-============-==============-==============-================================
un backupninja<нет>(aprašymo nėra)
ir bazė<нет>(aprašymo nėra)
ir bazinės konfigūracijos<нет>(aprašymo nėra)
ii baziniai failai 7.1 amd64 Debian bazinė sistema įvairūs
ii base-passwd 3.5.26 amd64 Debian bazinės sistemos pagrindinis slaptažodis
[...]

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/DUK
-rw-r--r-- root/root 3543 2012-02-20 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 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

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

naujas debian paketas, 2.0 versija.
dydis 1952176 baitas: valdymo archyvo ilgis 3312 baitai.
1449 baitai, 30 valdymo eilučių
4521 baitas (-ai), 65 eilutės md5sums
479 baitai, 13 eilučių * postinst #!/bin/sh
473 baitai, 13 eilučių * preinst #!/bin/sh
Paketas: gnupg
Versija: 1.4.12-7
Architektūra: amd64
Priežiūra: Debian GnuPG-Maintainers
Įdiegtas dydis: 4627
Priklauso: 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) | diegimo informacija, gpgv
Rekomenduoja: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Siūlo: gnupg-doc, xloadimage | imagemagick | eog, libpcsclite1
Skyrius: komunalinės paslaugos
Prioritetas: svarbu
Daugiaarka: užsienio
Pagrindinis puslapis: http://www.gnupg.org
Aprašymas: GNU privatumo apsauga – nemokamas PGP pakaitalas
GnuPG yra GNU saugios komunikacijos ir duomenų saugojimo įrankis.
Jis gali būti naudojamas duomenims užšifruoti ir skaitmeniniams parašams kurti.
Ji apima pažangią raktų valdymo priemonę ir yra suderinama
su siūlomu OpenPGP interneto standartu, kaip aprašyta RFC 4880.
[...]

LEIDIMO GYLIS: versijų palyginimas

Kadangi dpkg yra „Debian“ paketų valdymo programa, joje taip pat yra versijos numerių palyginimo logikos nuoroda. Todėl jame yra parinktis --compare-versions, kurią naudoja išorinės programos (daugiausia konfigūracijos scenarijai, kuriuos paleidžia pats dpkg). Šiai parinkčiai reikalingi trys parametrai: versijos numeris, palyginimo operatorius ir antrasis versijos numeris. Tinkami palyginimo operatoriai yra lt (griežtai mažesnis nei), le (mažesnis arba lygus), eq (lygus), ne (nelygus), ge (didesnis arba lygus) ir gt (griežtai didesnis nei). Jei palyginimas yra teisingas, dpkg grąžina 0 (sėkmė, jei ne, tada vertė nėra nulis (klaida).

$ dpkg -- palyginkite versijas 1.2-3 gt 1.1-4
$echo$?
0
$ dpkg --palyginti-versijas 1.2-3 lt 1.1-4
$echo$?
1
$ dpkg --palyginti-versijas 2.6.0pre3-1 lt 2.6.0-1
$echo$?
1

Atkreipkite dėmesį į netikėtą paskutinio palyginimo nesėkmę: dpkg raidės pre, kurios paprastai žymi išankstinį leidimą, neturi ypatingos reikšmės, o abėcėlės simboliai lyginami taip pat kaip skaičiai (a< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --palyginti-versijas 2.6.0~pre3-1 lt 2.6.0-1
$echo$?
0

dpkg žurnalo failą

dpkg saugo visų savo veiksmų žurnalą /var/log/dpkg.log. Šis žurnalas yra labai išsamus, jame dokumentuojamas kiekvienas dpkg paketų apdorojimo žingsnis. Šis žurnalas padeda ne tik sekti dpkg elgseną, bet ir išlaikyti sistemos pakeitimų istoriją: galite rasti tikslų momentą, kada kiekvienas paketas buvo įdiegtas ar atnaujintas, ir ši informacija gali būti labai naudinga nustatant visos sistemos elgsenos pokyčiai. Be to, informacija apie visas versijas yra įrašoma ir gali būti lengvai patikrinta pagal changelog.Debian.gz iš atitinkamo paketo arba pagal internetines klaidų ataskaitas.

Kelių architektūrų palaikymas

Visų Debian paketų metaduomenyse yra Architektūros laukas. Šiame lauke gali būti reikšmė „all“ (paketams, kurie nepriklauso nuo architektūros) arba konkrečios architektūros, kuriai paketas skirtas, pavadinimas (pvz., „amd64“, „armhf“, ...). Pastaruoju atveju dpkg pagal numatytuosius nustatymus leis įdiegti paketą tik tuo atveju, jei jo architektūra atitinka sistemos architektūrą, kurią grąžino dpkg --print-architecture.
Šis apribojimas užtikrina, kad sistemoje nėra dvejetainių failų, sudarytų netinkamai architektūrai. Tai būtų puiku, bet (kai kuriuose) kompiuteriai gali paleisti skirtingų architektūrų dvejetainius failus savaime (pavyzdžiui, „amd64“ sistemos paleidžia dvejetainius „i386“) arba per emuliatorius.

Kelių architektūrų įgalinimas

dpkg kelių architektūrų palaikymas leidžia apibrėžti „užsienio architektūras“, kurias galima įdiegti tam tikroje sistemoje. Tai lengva padaryti naudojant dpkg --add-architecture, kaip parodyta toliau pateiktame pavyzdyje. Taip pat yra atitinkama komanda dpkg --remove-architecture, skirta išjungti užsienio architektūros palaikymą, tačiau ją galima naudoti tik tuo atveju, jei sistemoje nebėra tos architektūros paketų.

dpkg -- spausdinimo architektūra
amd64

dpkg: klaida apdorojant archyvą gcc-4.9-base_4.9.1-19_armhf.deb (--install):
paketo architektūra (armhf) neatitinka sistemos (amd64)
Apdorojant aptikta klaidų:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg -- spausdinti užsienio architektūras
armhf
armel

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

Pasirinkus anksčiau nepasirinktą paketą gcc-4.9-base:armhf.
(Duomenų bazės skaitymas... 86425 šiuo metu įdiegti failai ir katalogai.)
Ruošiamasi išpakuoti gcc-4.9-base_4.9.1-19_armhf.deb ...
Išpakavimas gcc-4.9-base:armhf (4.9.1-19) ...
Nustatomas gcc-4.9-base:armhf (4.9.1-19)...

Dpkg --remove-architecture armhf

dpkg: klaida: negalima pašalinti architektūros „armhf“, kurią šiuo metu naudoja duomenų bazė

Dpkg --remove-architecture armel
dpkg -- spausdinti užsienio architektūras
Kelių architektūrų palaikymas APT

APT automatiškai aptiks, ar dpkg sukonfigūruotas palaikyti užsienio architektūras, ir naujinimo proceso metu pradės atsisiųsti atitinkamus paketų failus.
Užsienio paketus galima įdiegti naudojant komandą apt install package:architecture.

Patentuotų i386 dvejetainių failų naudojimas amd64 sistemose

Yra keletas atvejų, kai kelių architektūrų naudojimas gali būti naudingas, tačiau dažniausiai naudojamas 32 bitų failų (i386) įgalinimas veikti 64 bitų sistemose (amd64), ypač todėl, kad kai kurios populiarios patentuotos programos (pvz., Skype) yra tik Galimos 32 bitų versijos.

Su daugialype architektūra susiję pokyčiai

Kad kelių arkų palaikymas būtų tikrai naudingas, bibliotekas reikėjo perpakuoti, perkelti jas į konkrečios architektūros katalogą, kad vienu metu būtų galima įdiegti kelias kopijas (skirtingoms architektūroms). Tokiuose atnaujintuose paketuose yra antraštė „Multi-Arch: tas pats“, nurodanti paketų valdymo sistemai, kad kartu galima įdiegti skirtingas paketų architektūras (ir kad šie paketai gali patenkinti tik tos pačios architektūros paketų priklausomybes). Kadangi kelių lankų palaikymas buvo įtrauktas tik į Debian Wheezy, dar ne visos bibliotekos buvo konvertuotos.

Dpkg -s gcc-4.9-base

dpkg-query: klaida: --status reikalauja tinkamo paketo pavadinimo, bet "gcc-4.9-base" nėra: dviprasmiškas paketo pavadinimas "gcc-4.9-base", kai įdiegtas daugiau nei vienas egzempliorius

Naudokite parinktį --help, kad būtų rodoma paketo užklausų pagalba.

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

Multi-Arka: tas pats
Multi-Arka: tas pats

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

Verta paminėti, kad paketai su Multi-Arch: tuo pačiu lauku turėtų būti pavadinti architektūros pavadinimu, kad būtų galima juos vienareikšmiškai identifikuoti. Jie taip pat gali bendrinti failus su kitais to paties paketo egzemplioriais; dpkg šiuo atveju užtikrina, kad visuose paketuose būtų bitai identiški bendrinami failai. Visi paketo egzemplioriai turi būti tos pačios versijos, todėl jie turi būti atnaujinami kartu.
Kelių architektūrų palaikymas taip pat suteikia tam tikrų įdomių savybiųį priklausomybės apdorojimo mechanizmą. Priklausomybei išspręsti reikalingas arba paketas, pažymėtas „Multi-Arch: Foreign“, arba tos pačios architektūros paketas (sprendžiant priklausomybę, nuo architektūros nepriklausomi paketai laikomi tos pačios architektūros kaip ir sistema). Priklausomybę taip pat galima sušvelninti, kad bet kokios architektūros paketas galėtų ją patenkinti naudojant „packet:any“ sintaksę, tačiau užsienio paketai gali patenkinti tokią priklausomybę tik tada, jei jie pažymėti „Multi-Arch: leidžiama“.

Naudotos medžiagos.

APT (Išplėstinis pakavimo įrankis) yra naudingumas Debian panašios sistemos, kurios įdiegia, atnaujina paketus ir seka jų priklausomybes. Programos kūrimo tikslas buvo automatizuoti paketų valdymo procesą, ypač atnaujinti ir išlaikyti priklausomybes, kurios tiesioginio darbo su dpkg tvarkykle atveju įvyko Rankinis režimas. Tiesioginis paketų valdymas atliekamas naudojant programą apt-get, pagrindinės darbo komandos, su kuriomis bus aptartos toliau.

Bendra apt-get komandų struktūra

apt-get [parinktys] komanda paketas1 paketas2 ... paketasN

Toliau pateiktos parinktys gali būti naudingos dirbant su apt-get:

Atnaujinamas galimų įdiegti paketų sąrašas

Šis veiksmas atliekamas naudojant komandą:

Apt-get update

Sąrašo atnaujinimas ypač svarbus, jei reikia įdiegti naujausią ir stabiliausią paketo versiją. Vykdydama šią komandą, programa nuskaito faile nurodytus archyvus /etc/apt/sources.list.

Paketo įdiegimas

Norėdami įdiegti paketą, naudokite komandą:

Apt-get install paketo pavadinimas

Kaip rezultatas, APT ieškos naujausios nurodyto paketo versijos ir patikrins, ar ji turi priklausomybių. Jei yra priklausomybių, bus rodomas jų sąrašas ir diegimo pasiūlymas.

Root@vps:~# apt-get install aee Paketų sąrašų skaitymas... Atlikta Kurti priklausomybių medį Skaitoma būsenos informacija... Atlikta Bus įdiegti šie papildomi paketai: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 Bus šie NAUJI paketai būti įdiegta: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 atnaujinta, 6 naujai įdiegta, 0 pašalinti ir 44 neatnaujinta. Reikia gauti 181 kB/1297 kB archyvų. Po šios operacijos bus naudojama 4366 kB papildomos vietos diske. Ar norite tęsti?

Jei priklausomybių nėra, diegimo procesas vyks automatiškai, nekeliant jokių klausimų.

Taip pat, įvesdami komandą įdiegti paketus, galite nurodyti paketų, kuriuos reikia pašalinti, pavadinimus. Norėdami tai padaryti, paketo, kurį norite pašalinti, pavadinimo pabaigoje turite pridėti brūkšnelį. Šio diegimo / pašalinimo metodo pavyzdys pateikiamas toliau:

Root@vps:~# apt-get install aee htop- Skaitomi paketų sąrašai... Atlikta Kuriamas priklausomybės medis Skaitoma būsenos informacija... Atlikta Bus įdiegti šie papildomi paketai: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 Šie paketai bus PAŠALINTAS: htop Bus įdiegti šie NAUJI paketai: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 atnaujinta, 6 naujai įdiegti, 1 pašalinti ir 43 neatnaujinti. Reikia gauti 1297 kB archyvų. Po šios operacijos bus naudojama 4157 kB papildomos vietos diske. Ar norite tęsti?

Kaip matote iš pavyzdžio, paketas aee yra paruoštas diegimui, o paketas htop – pašalinimui.

Paketo įdiegimas iš naujo

Jei reikia iš naujo įdiegti paketą (pažeistas failas, atsiranda naujesnė versija), tai galima padaryti naudojant šią komandą:

Apt-get --reinstall įdiegti paketo pavadinimas

Pakuotės išėmimas

Yra du paketų pašalinimo variantai:

  • Pašalinkite paketą, išskyrus konfigūracijos failus (jei yra).

Paprastai ši parinktis gali prireikti, jei ateityje planuojate iš naujo įdiegti šį paketą. Šis pašalinimo būdas atliekamas su komanda:

Apt-get pašalinti paketo pavadinimą

Taip pat verta paminėti, kad jei išimama pakuotė turi priklausomybių, ji bus pašalinta kartu su jomis.

  • Visiškas pakuotės pašalinimas

Skirtingai nuo pirmojo metodo, visi failai, susiję su ištrinamu paketu, įskaitant konfigūracijos failus, bus ištrinti. Šiuo atveju naudojama komanda:

Apt-get --purge pašalinti paketo pavadinimą

Paketų, kurie pažymėti kaip visiškai pašalinti, pavadinimų pabaigoje yra „*“.

  • Pašalinkite ir įdiekite viena komanda

Be to, pašalindami galite pasirinkti paketų, kuriuos norite įdiegti, sąrašą. Norėdami tai padaryti, turite nurodyti „ + “ pakuotės pavadinimo pabaigoje. Tokios komandos pavyzdys pateikiamas žemiau:

Root@vps:~# apt-get --purge pašalinti aee screen+ Paketų sąrašų skaitymas... Atlikta Sukurti priklausomybių medį Skaitoma būsenos informacija... Atlikta Šie paketai bus PAŠALINTI: aee* Bus įdiegti šie NAUJI paketai: ekranas 0 atnaujintų, 1 naujai įdiegtų, 1 pašalintų ir 43 neatnaujintų. Reikia gauti 624 kB archyvų. Po šios operacijos bus naudojama 975 kB papildomos vietos diske. Ar norite tęsti?

Paketų atnaujinimas

Apt-get update

Tai leis atnaujinti informaciją apie turimus paketus ir jų versijas. Įvykdę šią komandą, galite pereiti tiesiai prie įdiegtų paketų atnaujinimo sistemoje. Tai daroma su komanda:

Apt-get -u atnaujinimas

Nurodytas parametras -u naudojamas norint gauti visą paketų, kurie bus paruošti atnaujinti, sąrašą.

Atnaujinama platinimo versija

Jei pasirodys nauja įdiegtos OS versija, galite „atnaujinti“ visą sistemą naudodami komandą.

Dalintis