Preskoči na sadržaj

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

Author: Vedran Miletić