Section author: Vedran Miletić

Upravljanje paketima

  • softverski paket (engl. software package)

    • kraće paket; arhiva koja sadrži datoteke aplikacije, biblioteke ili dokumentacije (npr. firefox, firefox-branding, firefox-gnome-support)

    • najpoznatiji .rpm i .deb

  • međuovisnost

    • međuovisnost kod prevođenja (engl. compile-time dependancy), programi i/ili bibliotečne datoteke koje program zahtjeva za uspješno prevođenje (npr. flex, bison ili iostream)

    • međuovisnost kod izvršavanja (engl. run-time dependancy), programi i/ili bibliotečne datoteke koje program zahtjeva dok radi

Osnove rada s upraviteljem paketa niže razine

  • upravitelj paketima niže razine

    • koristi se za stvaranje, instalaciju, deinstalaciju i konfiguriranje paketa

    • “dependency hell” (pakao međuovisnosti?)

    • najpoznatiji su RPM Package Manager, naredba rpm, i dpkg, naredba dpkg

Zadatak

Proučite rpm(8) (notacija za man 8 rpm), specifično dio o naredbama za pretraživanje (engl. query, rpm -q).

  • Provjerite koji paketi koji u imenu sadrže niz znakova python su instalirani na sustavu. Ne zaboravite da ljuska Bash smatra * specijalnim znakom te ga je potrebno escapeati prefiksom \.

  • Pronađite koje datoteke sadrži paket openssh.

  • Pronađite koji paket sadrži datoteku /bin/ls, a koji datoteku /usr/bin/scp. Objasnite što se dogodi ako izostavite putanju.

Osnove rada s upraviteljem paketa više razine

  • upravitelj paketima više razine

    • koristi se za pretraživanje, dohvaćanje i nadogradnju paketa, nalaženje paketa koji zadovoljavaju potrebne međuovisnosti

      • rpm i dpkg ne znaju kako doći do paketa koji im trebaju da zadovolje međuovisnosti pa nad njima rade upravitelji paketa više razine koji provjeravaju postoje li u repozitoriju paketi koji su potrebni za instalaciju programa

    • najpoznatiji su Yellowdog Updater Modified, kraće yum, nareba yum, njegov nasljednik Dandified YUM, kraće DNF, naredba dnf, i Advanced Packaging Tool, kraće APT, naredbe apt-get, apt-cache, apt-mark, apt-key, apt-config, …, a od verzije 1.0 i apt

    • komandnolinijsko i ncurses sučelje za APT i dpkg aptitude podržava većinu APT naredbi, npr. install, remove, purge, update, upgrade, show, ali donosi i neke nove značajke, npr. changelog

  • repozitorij softvera (engl. software repository)

    • skup paketa i metapodataka o njima, najčešće udaljen i dostupan putem Interneta

    • sadrži metapodatke o paketima (naziv paketa, opis sadržaja, popis međuovisnosti, …) i same pakete

    • repozitoriji softvera uključeni na sustavu navedeni su u /etc/yum.repos.d

  • popis paketa

    • doslovno popis paketa, dio repozitorija na poslužitelju, mijenja se sukladno promjenama u skupu paketa koji se s poslužitelja mogu preuzeti

    • upravitelj paketima više razine ima kopije jednog ili više popisa u lokalnom međuspremniku

    • naredbe yum list i dnf list

Zadatak

  • Pronađite u /etc koju datoteku yum koristi za konfiguraciju i pročitajte u njoj koji direktorij yum koristi za međuspremnik. Provjerite njegov trenutni sadržaj.

  • Ispišite popis paketa iz lokalnog međuspremnika i prebrojite ih. Radi li se o instaliranim ili dostupnim paketima?

  • Provjerite postoji li u popisu paketa koji yum ispisuje paket python3.

  • Pronađite informacije o paketu dosfstools, specifično kolika mu je veličina i iz kojeg je repozitorija, a zatim popis paketa o kojima ovisi. (Napomena: Možda će vam trebati više od jedne naredbe.)

Zadatak

  • Pronađite koji direktorij APT koristi za međuspremnik. Provjerite njegov trenutni sadržaj.

  • Pročitajte u statistikama koliko ukupno ima paketa u popisu u lokalnom međuspremniku.

  • Provjerite ima li u popisu paketa paket python3.6.

  • Pronađite informacije o paketu python2.7, specifično kolika mu je veličina i koji mu je SHA1 hash, a zatim popis paketa o kojima ovisi. (Napomena: Možda će vam trebati više od jedne naredbe.)

  • yum check-update / apt update – dohvaća nove popise paketa s poslužitelja i sprema ih u lokalni međuspremnik

  • yum update / apt upgrade – dohvaća nove popise paketa s poslužitelja i sprema ih u lokalni međuspremnik, a zatim radi nadogradnju svih instaliranih paketa

  • yum install paket / apt install paket – instalira paket ukoliko on postoji u popisima

  • yum remove/erase paket / apt remove paket – briše paket sa sustava zajedno sa svim paketima koji o njemu ovise, a konfiguracijske datoteke paketa sprema u .rpmsave (.dpkg-old) u slučaju da su bile promijenjene od strane korisnika

  • yum search paket / apt search paket – traži paket u popisima

Zadatak

  • Instalirajte paket nano.

  • Pronađite i instalirajte paket koji sadrži Liberation fonts.

  • Izbrišite paket wireshark.

  • Izbrišite paket koji sadrži bazu PostgreSQL tako da ostanu sačuvane i baze i konfiguracijske datoteke.

    • Ako je datoteka pg_hba.conf promijenjena, a datoteka postgresql.conf nije; što će yum napraviti?

  • Nadogradite sve pakete na sustavu. Hoće li yum automatski obnoviti popise? Objasnite što bi se dogodilo u slučaju da prethodno ne obnovi popise paketa. (Uputa: Za ilustraciju možete razmišljati u situaciji s popisima paketa starim nekoliko mjeseci.)

  • vrste međuovisnosti (RPM): Provides, PreReq, Requires, Conflicts, Obsoletes; Requires(pre), Requires(post), BuildRequires, BuildConflicts, BuildPreReq

  • vrste međuovisnosti (dpkg): Depends, Recommends, Suggests, Enhances, Pre-Depends, Breaks, Conflicts, Replaces, Provides

  • PackageKit

    • sučelje visoke razine za više upravitelja paketima, uključujući APT i yum

    • koriste ga aplikacije koje nude funkcionalnost sličnu Appleovom App Storeu i Microsoftovom Windows Apps, npr. GNOME Software i KDE Discover (

    • koriste ga i jednostavniji grafički upravitelji paketima kao gnome-packagekit KPackageKit

Dodatni upravitelji paketima koji nadopunjuju sustavske