102.4 Lekcija 1
Sertifikat: |
LPIC-1 |
---|---|
Verzija: |
5.0 |
Tema: |
102 Linux instalacija i upravljanje paketima |
Cilj: |
102.4 Korištenje Debian menadžera paketa |
Lekcija: |
1 od 1 |
Uvod
Davno, kada je Linux još bio u povojima, najčešći način distribucije softvera bio je kompresovani fajl (obično .tar.gz
arhiva) sa izvornim kodom, koji biste sami raspakovali i kompajlirali.
Međutim, kako su količina i složenost softvera rasli, postala je jasna potreba za načinom distribucije unaprijed kompajliranih softvera. Na kraju krajeva, nisu svi imali resurse, i vremenske i računarske snage, da kompajliraju velike projekte poput Linux kernela ili X servera.
Ubrzo su porasli napori da se standardizuje način distribucije ovih softverskih “paketa” i rođeni su prvi menadžeri paketa. Ovi alati su znatno olakšali instalaciju, konfiguraciju ili uklanjanje softvera iz sistema.
Jedan od njih bio je format Debian paketa (.deb
) i njegov paketni alat (dpkg
). Danas se široko koriste ne samo na samom Debianu, već i na njegovim derivatima, poput Ubuntua i onih izvedenih iz njega.
Još jedan alat za upravljanje paketima koji je popularan na sistemima baziranim na Debianu je Advanced Package Tool (apt
), koji može pojednostaviti mnoge aspekte instalacije, održavanja i uklanjanja paketa, čineći to mnogo lakšim.
U ovoj lekciji naučit ćemo kako koristiti i dpkg
i apt
za nabavku, instalaciju, održavanje i uklanjanje softvera na Debian baziranom Linux sistemu.
Debianov alat paketa (dpkg)
Alat Debian Package (dpkg
) je osnovni uslužni program za instaliranje, konfiguriranje, održavanje i uklanjanje softverskih paketa na sistemima baziranim na Debianu. Najosnovnija operacija je instaliranje .deb
paketa, što se može uraditi sa:
# dpkg -i PACKAGENAME
Gdje je PACKAGENAME
ime .deb
datoteke koju želite instalirati.
Nadogradnje paketa se rješavaju na isti način. Prije instaliranja paketa, dpkg
će provjeriti da li prethodna verzija već postoji u sistemu. Ako je tako, paket će biti nadograđen na novu verziju. Ako ne, nova kopija će biti instalirana.
Upravljanje zavisnostima
Češće nego ne, paket može zavisiti od drugih da li će raditi kako je predviđeno. Na primjer, editoru slika mogu biti potrebne biblioteke za otvaranje JPEG datoteka, ili drugom uslužnom programu može biti potreban komplet alata kao što su Qt ili GTK za svoj korisnički interfejs.
dpkg
će provjeriti jesu li te ovisnosti instalirane na vašem sistemu i neće uspjeti instalirati paket ako nisu. U ovom slučaju, dpkg
će navesti koji paketi nedostaju. Međutim, ne može sam riješiti ovisnosti. Na korisniku je da pronađe .deb
pakete sa odgovarajućim zavisnostima i da ih instalira.
U primjeru ispod, korisnik pokušava instalirati OpenShot video editor paket, ali nedostaju neke zavisnosti:
# dpkg -i openshot-qt_2.4.3+dfsg1-1_all.deb (Reading database ... 269630 files and directories currently installed.) Preparing to unpack openshot-qt_2.4.3+dfsg1-1_all.deb ... Unpacking openshot-qt (2.4.3+dfsg1-1) over (2.4.3+dfsg1-1) ... dpkg: dependency problems prevent configuration of openshot-qt: openshot-qt depends on fonts-cantarell; however: Package fonts-cantarell is not installed. openshot-qt depends on python3-openshot; however: Package python3-openshot is not installed. openshot-qt depends on python3-pyqt5; however: Package python3-pyqt5 is not installed. openshot-qt depends on python3-pyqt5.qtsvg; however: Package python3-pyqt5.qtsvg is not installed. openshot-qt depends on python3-pyqt5.qtwebkit; however: Package python3-pyqt5.qtwebkit is not installed. openshot-qt depends on python3-zmq; however: Package python3-zmq is not installed. dpkg: error processing package openshot-qt (--install): dependency problems - leaving unconfigured Processing triggers for mime-support (3.60ubuntu1) ... Processing triggers for gnome-menus (3.32.0-1ubuntu1) ... Processing triggers for desktop-file-utils (0.23-4ubuntu1) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for man-db (2.8.5-2) ... Errors were encountered while processing: openshot-qt
Kao što je gore prikazano, OpenShot zavisi od paketa fonts-cantarell
, python3-openshot
, python3-pyqt5
, python3-pyqt5.qtsvg
, python3-pyqt5.qtwebkit
i python3-zmq
. Sve njih je potrebno instalirati prije nego što instalacija OpenShota uspije.
Uklanjanje paketa
Da biste uklonili paket, proslijedite parametar -r
u dpkg
, nakon čega slijedi ime paketa. Na primjer, sljedeća komanda će ukloniti unrar
paket sa sistema:
# dpkg -r unrar (Reading database ... 269630 files and directories currently installed.) Removing unrar (1:5.6.6-2) ... Processing triggers for man-db (2.8.5-2) ...
Operacija uklanjanja također pokreće provjeru ovisnosti, a paket se ne može ukloniti osim ako se ne ukloni svaki drugi paket koji ovisi o njemu. Ako to pokušate učiniti, dobit ćete poruku o grešci poput one ispod:
# dpkg -r p7zip dpkg: dependency problems prevent removal of p7zip: winetricks depends on p7zip; however: Package p7zip is to be removed. p7zip-full depends on p7zip (= 16.02+dfsg-6). dpkg: error processing package p7zip (--remove): dependency problems - not removing Errors were encountered while processing: p7zip
Možete proslijediti više imena paketa u dpkg -r
, tako da će svi biti uklonjeni odjednom.
Kada se paket ukloni, odgovarajuće konfiguracijske datoteke ostaju na sistemu. Ako želite ukloniti sve povezano s paketom, koristite opciju -P
(purge) umjesto -r
.
Note
|
Možete prisiliti |
Prikaz informacija o paketu
Da biste dobili informacije o .deb
paketu, kao što su njegova verzija, arhitektura, vendor, zavisnosti i još mnogo toga, koristite komandu dpkg
s parametrom -I
, nakon čega slijedi naziv datoteke paketa koji želite provjeriti:
# dpkg -I google-chrome-stable_current_amd64.deb new Debian package, version 2.0. size 59477810 bytes: control archive=10394 bytes. 1222 bytes, 13 lines control 16906 bytes, 457 lines * postinst #!/bin/sh 12983 bytes, 344 lines * postrm #!/bin/sh 1385 bytes, 42 lines * prerm #!/bin/sh Package: google-chrome-stable Version: 76.0.3809.100-1 Architecture: amd64 Maintainer: Chrome Linux Team <chromium-dev@chromium.org> Installed-Size: 205436 Pre-Depends: dpkg (>= 1.14.0) Depends: ca-certificates, fonts-liberation, libappindicator3-1, libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.16), libcairo2 (>= 1.6.0), libcups2 (>= 1.4.0), libdbus-1-3 (>= 1.5.12), libexpat1 (>= 2.0.1), libgcc1 (>= 1:3.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.31.8), libgtk-3-0 (>= 3.9.10), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libuuid1 (>= 2.16), libx11-6 (>= 2:1.4.99.1), libx11-xcb1, libxcb1 (>= 1.6), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxrandr2 (>= 2:1.2.99.3), libxrender1, libxss1, libxtst6, lsb-release, wget, xdg-utils (>= 1.0.2) Recommends: libu2f-udev Provides: www-browser Section: web Priority: optional Description: The web browser from Google Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.
Prikaz instaliranih paketa i njihovog sadržaja
Da biste dobili listu svih paketa instaliranih na vašem sistemu, koristite opciju --get-selections
, kao u dpkg --get-selections
. Također možete dobiti listu svake datoteke instalirane od strane određenog paketa tako što ćete proslijediti parametar -L PACKAGENAME
u dpkg
, kao u nastavku:
# dpkg -L unrar /. /usr /usr/bin /usr/bin/unrar-nonfree /usr/share /usr/share/doc /usr/share/doc/unrar /usr/share/doc/unrar/changelog.Debian.gz /usr/share/doc/unrar/copyright /usr/share/man /usr/share/man/man1 /usr/share/man/man1/unrar-nonfree.1.gz
Provjerite koji paket posjeduje određenu datoteku
Ponekad ćete možda morati da saznate koji paket posjeduje određenu datoteku u vašem sistemu. To možete učiniti korištenjem uslužnog programa dpkg-query
, nakon čega slijedi parametar -S
i putanja do predmetne datoteke:
# dpkg-query -S /usr/bin/unrar-nonfree unrar: /usr/bin/unrar-nonfree
Rekonfiguracija instaliranih paketa
Kada je paket instaliran postoji korak konfiguracije koji se zove post-install gdje se pokreće skripta za postavljanje svega što je potrebno za pokretanje softvera, kao što su dozvole, postavljanje konfiguracijskih datoteka, itd. Ovo također može postaviti neka pitanja od korisnika da postavite postavke o tome kako će softver raditi.
Ponekad, zbog oštećene ili neispravno oblikovane konfiguracijske datoteke, možda ćete poželjeti da vratite postavke paketa u njegovo “svježe” stanje. Ili možda želite promijeniti odgovore koje ste dali na početna pitanja o konfiguraciji. Da biste to učinili, pokrenite uslužni program dpkg-reconfigure
, nakon čega slijedi ime paketa.
Ovaj program će napraviti rezervnu kopiju starih konfiguracijskih datoteka, raspakovati nove u ispravne direktorije i pokrenuti skriptu post-install koju obezbjeđuje paket, kao da je paket instaliran po prvi put. Pokušajte ponovo konfigurisati paket tzdata
sa sljedećim primjerom:
# dpkg-reconfigure tzdata
Napredni alat paketa (apt)
Advanced Package Tool (APT) je sistem za upravljanje paketima, uključujući skup alata, koji uvelike pojednostavljuje instalaciju paketa, nadogradnju, uklanjanje i upravljanje. APT pruža funkcije kao što su napredne mogućnosti pretraživanja i automatsko rješavanje ovisnosti.
APT nije “zamjena” za dpkg
. Možete ga smatrati “front endom”, koji pojednostavljuje operacije i popunjava praznine u dpkg
funkcionalnosti, poput rješavanja ovisnosti.
APT radi zajedno sa softverskim repozitorijima koji sadrže pakete dostupne za instalaciju. Takvi repozitoriji mogu biti lokalni ili udaljeni server, ili (rjeđe) čak i CD-ROM disk.
Linux distribucije, kao što su Debian i Ubuntu, održavaju svoje vlastite repozitorije, a druge repozitorije mogu održavati programeri ili korisničke grupe kako bi osigurali softver koji nije dostupan u glavnim distribucijskim repozitorijima.
Postoji mnogo uslužnih programa koji su u interakciji sa APT-om, a glavni su:
apt-get
-
koristi se za preuzimanje, instalaciju, nadogradnju i uklanjanje paketa iz sistema.
apt-cache
-
koristi se za obavljanje operacija, kao što je pretraga, te indeksiranje paketa.
apt-file
-
koristi se za traganje datoteka unutar paketa.
Postoji i “prijateljski” uslužni program koji se jednostavno zove apt
, koji kombinuje najčešće korišćene opcije apt-get
i apt-cache
u jednom uslužnom programu. Mnoge komande za apt
su iste kao one za apt-get
, tako da su u mnogim slučajevima zamjenjive. Međutim, pošto apt
možda nije instaliran na sistemu, preporučuje se da naučite kako koristiti apt-get
i apt-cache
.
Note
|
|
Ažuriranje indeksa paketa
Prije instaliranja ili nadogradnje softvera s APT-om, preporučuje se da prvo ažurirate indeks paketa kako biste dohvatili informacije o novim i ažuriranim paketima. Ovo se radi pomoću komande apt-get
, nakon čega slijedi parametar update
:
# apt-get update Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease Hit:2 https://repo.skype.com/deb stable InRelease Hit:3 http://us.archive.ubuntu.com/ubuntu disco InRelease Hit:4 http://repository.spotify.com stable InRelease Hit:5 http://dl.google.com/linux/chrome/deb stable Release Hit:6 http://apt.pop-os.org/proprietary disco InRelease Hit:7 http://ppa.launchpad.net/system76/pop/ubuntu disco InRelease Hit:8 http://us.archive.ubuntu.com/ubuntu disco-security InRelease Hit:9 http://us.archive.ubuntu.com/ubuntu disco-updates InRelease Hit:10 http://us.archive.ubuntu.com/ubuntu disco-backports InRelease Reading package lists... Done
Tip
|
Umjesto |
Instalacija i uklanjanje paketa
Sa ažuriranim indeksom paketa sada možete instalirati paket. Ovo se radi pomoću apt-get install
, nakon čega slijedi naziv paketa koji želite da instalirate:
# apt-get install xournal Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: xournal 0 upgraded, 1 newly installed, 0 to remove and 75 not upgraded. Need to get 285 kB of archives. After this operation, 1041 kB of additional disk space will be used.
Slično, da biste uklonili paket koristite apt-get remove
, sa nazivom paketa.
# apt-get remove xournal Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: xournal 0 upgraded, 0 newly installed, 1 to remove and 75 not upgraded. After this operation, 1041 kB disk space will be freed. Do you want to continue? [Y/n]
Imajte na umu da će prilikom instaliranja ili uklanjanja paketa APT izvršiti automatsko rješavanje ovisnosti. To znači da će svi dodatni paketi potrebni paketu koji instalirate takođe biti instalirani i da će paketi koji zavise od paketa koji uklanjate takođe biti uklonjeni. APT će uvijek pokazati šta će biti instalirano ili uklonjeno prije nego što vas pita da li želite da nastavite:
# apt-get remove p7zip Reading package lists... Done Building dependency tree The following packages will be REMOVED: android-libbacktrace android-libunwind android-libutils android-libziparchive android-sdk-platform-tools fastboot p7zip p7zip-full 0 upgraded, 0 newly installed, 8 to remove and 75 not upgraded. After this operation, 6545 kB disk space will be freed. Do you want to continue? [Y/n]
Imajte na umu da kada se paket ukloni, odgovarajuće konfiguracijske datoteke ostaju na sistemu. Da biste uklonili paket i bilo koje konfiguracijske datoteke, koristite parametar purge
umjesto remove
ili parametar remove
s opcijom --purge
:
# apt-get purge p7zip
ili
# apt-get remove --purge p7zip
Tip
|
Možete također koristiti |
Popravljanje pokvarenih zavisnosti
Moguće je imati “pokvarene zavisnosti” na sistemu. To znači da jedan ili više instaliranih paketa ovisi o drugim paketima koji nisu instalirani ili više nisu prisutni. Ovo se može dogoditi zbog APT greške ili zbog ručno instaliranog paketa.
Da biste ovo riješili, koristite komandu apt-get install -f
. Ovo će pokušati da “popravi” pokvarene pakete instaliranjem nedostajućih zavisnosti, osiguravajući da su svi paketi ponovo konzistentni.
Tip
|
Možete koristiti i |
Nadogradnja paketa
APT se može koristiti za automatsku nadogradnju svih instaliranih paketa na najnovije verzije dostupne iz repozitorija. Ovo se radi pomoću komande apt-get upgrade
. Prije nego što ga pokrenete, prvo ažurirajte indeks paketa sa apt-get update
:
# apt-get update Hit:1 http://us.archive.ubuntu.com/ubuntu disco InRelease Hit:2 http://us.archive.ubuntu.com/ubuntu disco-security InRelease Hit:3 http://us.archive.ubuntu.com/ubuntu disco-updates InRelease Hit:4 http://us.archive.ubuntu.com/ubuntu disco-backports InRelease Reading package lists... Done # apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages have been kept back: gnome-control-center The following packages will be upgraded: cups cups-bsd cups-client cups-common cups-core-drivers cups-daemon cups-ipp-utils cups-ppdc cups-server-common firefox-locale-ar (...) 74 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. Need to get 243 MB of archives. After this operation, 30.7 kB of additional disk space will be used. Do you want to continue? [Y/n]
Sažetak na dnu izlaza pokazuje koliko će paketa biti nadograđeno, koliko će ih biti instalirano, uklonjeno ili zadržano, ukupna veličina preuzimanja i koliko dodatnog prostora na disku će biti potrebno za dovršetak operacije. Da dovršite nadogradnju, samo odgovorite na Y
i pričekajte da apt-get
završi zadatak.
Da nadogradite jedan paket, samo pokrenite apt-get upgrade
nakon čega slijedi naziv paketa. Kao u dpkg
, apt-get
će prvo provjeriti da li je instalirana prethodna verzija paketa. Ako je tako, paket će biti nadograđen na najnoviju verziju dostupnu u spremištu. Ako ne, nova kopija će biti instalirana.
Tip
|
Možete koristiti |
Lokalni keš
Kada instalirate ili ažurirate paket, odgovarajuća .deb
datoteka se preuzima u lokalni keš direktorij prije nego što se paket instalira. Po defaultu, ovaj direktorij je /var/cache/apt/archives
. Djelomično preuzete datoteke se kopiraju u /var/cache/apt/archives/partial/
.
Kako instalirate i nadograđujete pakete, direktorij keš memorije može postati prilično velik. Da biste povratili prostor, možete isprazniti keš memoriju koristeći komandu apt-get clean
. Ovo će ukloniti sadržaj direktorija /var/cache/apt/archives
i /var/cache/apt/archives/partial/
.
Tip
|
Možete koristiti i |
Traganje za datotekama
Pomoćni program apt-cache
može se koristiti za izvođenje operacija na indeksu paketa, kao što je traženje određenog paketa ili listanje koji paketi sadrže određenu datoteku.
Da izvršite pretragu, koristite apt-cache search
nakon čega slijedi obrazac pretraživanja. Izlaz će biti lista svakog paketa koji sadrži obrazac, bilo u nazivu paketa, opisu ili datim datotekama.
# apt-cache search p7zip liblzma-dev - XZ-format compression library - development files liblzma5 - XZ-format compression library forensics-extra - Forensics Environment - extra console components (metapackage) p7zip - 7zr file archiver with high compression ratio p7zip-full - 7z and 7za file archivers with high compression ratio p7zip-rar - non-free rar module for p7zip
U gornjem primjeru, unos liblzma5 - XZ-format compression library
ne odgovara uzorku. Međutim, ako pokažemo pune informacije, uključujući opis, za paket koristeći parametar show
, tamo ćemo pronaći uzorak:
# apt-cache show liblzma5 Package: liblzma5 Architecture: amd64 Version: 5.2.4-1 Multi-Arch: same Priority: required Section: libs Source: xz-utils Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Jonathan Nieder <jrnieder@gmail.com> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 259 Depends: libc6 (>= 2.17) Breaks: liblzma2 (<< 5.1.1alpha+20110809-3~) Filename: pool/main/x/xz-utils/liblzma5_5.2.4-1_amd64.deb Size: 92352 MD5sum: 223533a347dc76a8cc9445cfc6146ec3 SHA1: 8ed14092fb1caecfebc556fda0745e1e74ba5a67 SHA256: 01020b5a0515dbc9a7c00b464a65450f788b0258c3fbb733ecad0438f5124800 Homepage: https://tukaani.org/xz/ Description-en: XZ-format compression library XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm compression format, which provides memory-hungry but powerful compression (often better than bzip2) and fast, easy decompression. . The native format of liblzma is XZ; it also supports raw (headerless) streams and the older LZMA format used by lzma. (For 7-Zip's related format, use the p7zip package instead.)
Možete koristiti regularne izraze sa obrascem pretraživanja, omogućavajući vrlo složena (i precizna) pretraživanja. Međutim, ova tema je izvan okvira ove lekcije.
Tip
|
Također možete koristiti |
Lista izvora
APT koristi listu izvora da zna odakle da preuzme pakete. Ova lista je pohranjena u datoteci sources.list
, koja se nalazi unutar direktorija /etc/apt
. Ova datoteka se može uređivati direktno pomoću editora teksta, poput vi
, pico
ili nano
, ili pomoću grafičkih uslužnih programa kao što su aptitude
ili synaptic
.
Tipični red unutar sources.list
izgleda ovako:
deb http://us.archive.ubuntu.com/ubuntu/ disco main restricted universe multiverse
Sintaksa je tip arhive, URL, distribucija i jedna ili više komponenti, gdje:
- Archive type
-
Repozitorij može sadržati pakete sa softverom spremnim za pokretanje (binarni paketi, tip
deb
) ili sa izvornim kodom ovog softvera (izvorni paketi, tipdeb-src
). Gornji primjer daje binarne pakete. - URL
-
URL repozitorija
- Distribution
-
Ime (ili kodno ime) za distribuciju za koju su dati paketi. Jedan repozitorij može ugostiti pakete za više distribucija. U gornjem primjeru,
disco
je kodno ime za Ubuntu 19.04 Disco Dingo. - Components
-
Svaka komponenta predstavlja skup paketa. Ove komponente mogu biti različite na različitim Linux distribucijama. Na primjer, na Ubuntu-u i derivatima, to su:
main
-
sadrži zvanično podržane, open-source pakete.
restricted
-
sadrži zvanično podržan, softver zatvorenog koda, kao drajvere uređaja za grafičke karte, itd.
universe
-
sadrži open-source softver koje podržava zajednica.
multiverse
-
sadrži nepodržan softver zatvorenog koda ili patentiran softver.
Na Debianu, glavne komponente su:
main
-
sastoji se od paketa usklađenih sa Debianovim smjernicama za slobodan softver (DFSG), koji se ne oslanjaju na softver izvan ovog područja za rad. Paketi uključeni ovdje smatraju se dijelom Debian distribucije.
contrib
-
sadrži pakete kompatibilne sa DFSG-om, ali koji ovise o drugim paketima koji nisu u
main
. non-free
-
sadržipakete koji nisu u skladu sa DFSG.
security
-
sadrži sigurnosna ažuriranja.
backports
-
sadrži novije verzije paketa koje su dostupne u
main
. Ciklus razvoja stabilnih verzija Debiana je prilično dug (oko dvije godine), a to osigurava da korisnici mogu dobiti najažurnije pakete bez potrebe za modifikacijommain
ili glavnog jezgrenog repozitorija.
Note
|
Možete saznati više o Debian Smjernicama za besplatni softver na: https://www.debian.org/social_contract#guidelines |
Da biste dodali novi repozitorij za preuzimanje paketa, možete jednostavno dodati odgovarajući red (obično ga obezbjeđuje vendor repozitorija) na kraj sources.list
, spremite datoteku i ponovo učitajte indeks paketa sa apt-get update
. Nakon toga, paketi u novom repozitoriju će biti dostupni za instalaciju pomoću apt-get install
.
Imajte na umu da se redovi koji počinju sa znakom #
smatraju komentarima i zanemaruju se.
/etc/apt/sources.list.d
direktorij
Unutar direktorija /etc/apt/sources.list.d
možete dodati datoteke sa dodatnim repozitorijima koje će koristiti APT, bez potrebe za modifikacijom glavne /etc/apt/sources.list
datoteke. Ovo su jednostavne tekstualne datoteke, sa istom sintaksom opisanom gore i ekstenzijom datoteke .list
.
Ispod je prikazan sadržaj datoteke /etc/apt/sources.list.d/buster-backports.list
:
deb http://deb.debian.org/debian buster-backports main contrib non-free deb-src http://deb.debian.org/debian buster-backports main contrib non-free
Prikaz sadržaja paketa i pretraživanje datoteka
Pomoćni program pod nazivom apt-file
može se koristiti za izvođenje više operacija u indeksu paketa, kao što je listanje sadržaja paketa ili pronalaženje paketa koji sadrži određenu datoteku. Ovaj uslužni program možda nije standardno instaliran u vašem sistemu. U ovom slučaju, obično ga možete instalirati koristeći apt-get
:
# apt-get install apt-file
Nakon instalacije, potrebno je ažurirati keš paketa potreban za apt-file
:
# apt-file update
Obično je potrebno dvije sekunde. Nakon toga, možete koristiti apt-file
.
Da biste prikazali sadržaj paketa, koristite list
parametar praćen nazivom paketa:
# apt-file list unrar unrar: /usr/bin/unrar-nonfree unrar: /usr/share/doc/unrar/changelog.Debian.gz unrar: /usr/share/doc/unrar/copyright unrar: /usr/share/man/man1/unrar-nonfree.1.gz
Tip
|
Možete koristiti |
Možete pretražiti sve pakete za datoteku koristeći parametar search
, nakon čega slijedi ime datoteke. Na primjer, ako želite znati koji paket pruža datoteku pod nazivom libSDL2.so
, možete koristiti:
# apt-file search libSDL2.so libsdl2-dev: /usr/lib/x86_64-linux-gnu/libSDL2.so
Odgovor je paket libsdl2-dev
, koji pruža datoteku /usr/lib/x86_64-linux-gnu/libSDL2.so
.
Razlika između apt-file search
i dpkg-query
je u tome što će apt-file search
također pretraživati deinstalirane pakete, dok dpkg-query
može prikazati samo datoteke koje pripadaju instaliranom paketu.
Vođene vježbe
-
Koja komande se koristi za instalaciju paketa
package.deb
upotrebomdpkg
? -
Koristeći
dpkg-query
, saznajte koji paket sadrži datoteku naziva7zr.1.gz
. -
Možete li ukloniti paket koji se zove
unzip
iz sistema koristećidpkg -r unzip
ako paketfile-roller
ovisi o tome? Ako ne, koji bi bio ispravan način da se to uradi? -
Koristeći
apt-file
, kako možete saznati koji paket sadrži datotekuunrar
? -
Koristeći
apt-cache
, kojom komandom možete prikazati informacije o paketugimp
?
Istraživačke vježbe
-
Razmotrite spremište s izvornim Debian paketima za
xenial
distribuciju, smješteno nahttp://us.archive.ubuntu.com/ubuntu/
i s paketima za komponentuuniverse
. Koji bi bio odgovarajući red koji bi se dodao u/etc/apt/sources.list
? -
Prilikom kompajliranja programa, nailazite na poruku o grešci koja se žali da datoteka zaglavlja
zzip-io.h
nije prisutna u vašem sistemu. Kako možete saznati koji paket pruža tu datoteku?
Kako možete zanemariti upozorenje o ovisnosti i ukloniti paket koristeći dpkg
, čak i ako u sistemu postoje paketi koji zavise od njega?
+
-
Kako možete dobiti više informacija o paketu zvanom
midori
koristećiapt
? -
Prije instaliranja ili ažuriranja paketa pomoću
apt
, koju komandu treba koristiti da bi se osiguralo da je indeks paketa ažuran?
Sažetak
U ovoj lekciji ste naučili:
-
Kako koristiti
dpkg
za instaliranje i uklanjanje paketa. -
Kako navesti instalirane pakete i sadržaj paketa.
-
Kako ponovo konfigurisati instalirani paket.
-
Šta je
apt
i kako instalirati, nadograditi i ukloniti pakete koristeći ga. -
Kako koristiti
apt-cache
za traženje paketa. -
Kako funkcioniše datoteka
/etc/apt/sources.list
. -
Kako koristiti
apt-file
za prikaz sadržaja paketa ili kako pronaći koji paket sadrži određenu datoteku.
Sljedeće komande su raspravljanje:
dpkg -i
-
Instalira jedan paket ili listu paketa razdvojenih razmacima.
dpkg -r
-
Uklanja paket ili listu paketa razdvojenih razmacima.
dpkg -I
-
Provjerava paket, pružajući detalje o softveru koji instalira i svim potrebnim ovisnostima.
dpkg --get-selections
-
Navodi svaki paket koji je
dpkg
instalirao na sistemu. dpkg -L
-
Ispisuje listu svake datoteke koju određeni paket instalira.
dpkg-query
-
Sa navedenim imenom datoteke, ova komanda će ispisati paket koji je instalirao datoteku.
dpkg-reconfigure
-
Ova komanda će ponovo pokrenuti skriptu post-install paketa tako da administrator može izvršiti podešavanja konfiguracije za instalaciju paketa.
apt-get update
-
Ova komanda će ažurirati lokalni indeks paketa da odgovara onome što je dostupno unutar konfiguriranih spremišta u direktoriju
/etc/apt/
. apt-get install
-
Ova komanda će preuzeti paket iz udaljenog spremišta i instalirati ga zajedno s njegovim ovisnostima, također se može koristiti za instalaciju Debian paketa koji je već preuzet.
apt-get remove
-
Ova komanda će deinstalirati navedene pakete sa sistema.
apt-cache show
-
Baš kao naredba
dpkg -I
, ova naredba se može koristiti za prikaz detalja o određenom paketu. apt-cache search
-
Ova komanda će pretražiti vašu lokalnu APT keširanu bazu podataka za određeni paket.
apt-file update
-
Ova komanda će ažurirati keš paketa tako da komanda
apt-file
može tražiti njegov sadržaj. apt-file search
-
Ova komanda će pretražiti u kojem paketu je datoteka uključena. Vraća se lista svih paketa koji sadrže obrazac.
apt-file list
-
Ova komanda se koristi za ispisivanje sadržaja paketa, baš kao komanda
dpkg -L
.
Odgovor na vođene vježbe
-
Koja komande se koristi za instalaciju paketa
package.deb
upotrebomdpkg
?Proslijedite
-i
parametardpkg
:# dpkg -i package.deb
-
Koristeći
dpkg-query
, saznajte koji paket sadrži datoteku naziva7zr.1.gz
.Dodajte
-S
parametardpkg-query
:# dpkg-query -S 7zr.1.gz
-
Možete li ukloniti paket koji se zove
unzip
iz sistema koristećidpkg -r unzip
ako paketfile-roller
ovisi o tome? Ako ne, koji bi bio ispravan način da se to uradi?Ne.
dpkg
neće riješiti zavisnosti i neće vam dozvoliti da uklonite paket ako drugi instalirani paket ovisi o njemu. U ovom primjeru, možete prvo uklonitifile-roller
(pod pretpostavkom da ništa ne ovisi o njemu), a zatim uklonitiunzip
, ili ukloniti oba u isto vrijeme sa:# dpkg -r unzip file-roller
-
Koristeći
apt-file
, kako možete saznati koji paket sadrži datotekuunrar
?Koristite
search
parametar praćen putanjom (ili nazivom paketa):# apt-file search /usr/bin/unrar
-
Koristeći
apt-cache
, kojom komandom možete prikazati informacije o paketugimp
?Koristite
show
parametar praćen nazivnom paketa:# apt-cache show gimp
Odgovori na istraživačke vježbe
-
Razmotrite spremište s izvornim Debian paketima za
xenial
distribuciju, smješteno nahttp://us.archive.ubuntu.com/ubuntu/
i s paketima za komponentuuniverse
. Koji bi bio odgovarajući red koji bi se dodao u/etc/apt/sources.list
?Izvorni paketi su tipa
deb-src
, tako da bi red trebao biti:deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe
Ova linija se također može dodati unutar datoteke
.list
u/etc/apt/sources.list.d/
. Naziv je na vama, ali bi trebao biti deskriptivan, nešto poputxenial_sources.list
. -
Prilikom kompajliranja programa, nailazite na poruku o grešci koja se žali da datoteka zaglavlja
zzip-io.h
nije prisutna u vašem sistemu. Kako možete saznati koji paket pruža tu datoteku?Koristite
apt-file search
da pronađete koji paket sadrži datoteku koja nije prisutna u sistemu:# apt-file search zzip-io.h
-
Kako možete zanemariti upozorenje o ovisnosti i ukloniti paket koristeći
dpkg
, čak i ako u sistemu postoje paketi koji zavise od njega?Parametar
--force
se može koristiti, ali to nikada ne treba raditi osim ako ne znate tačno šta radite, jer postoji veliki rizik da će vaš sistem ostati u nedosljednom ili “pokvarenom” stanju. -
Kako možete dobiti više informacija o paketu zvanom
midori
koristećiapt-cache
?Koristite
apt-cache show
praćen nazivom paketa:# apt-cache show midori
-
Prije instaliranja ili ažuriranja paketa pomoću
apt
, koju komandu treba koristiti da bi se osiguralo da je indeks paketa ažuran?apt-get update
treba koristiti. Ovo će preuzeti najnovije indekse paketa iz repozitorija opisanih u datoteci/etc/apt/sources.list
ili u direktoriju/etc/apt/sources.list.d/
.