APT paket menadžer
APT (Advanced Package Tool) je alat za upravljanje paketima na Debian i Ubuntu sistemima. Koristi .deb format i komunicira sa repozitorijumima da bi instalirao, ažurirao i uklanjao softver.
Sve apt komande koje menjaju sistem zahtevaju sudo — instalacija i brisanje paketa menjaju sistemske fajlove.
Ažuriranje liste paketa
Pre nego što instaliraš ili nadogradiš bilo šta, osveži listu dostupnih paketa iz repozitorijuma:
sudo apt update
Ova komanda ne instalira ništa — samo preuzima najnovije informacije o tome koji paketi postoje i koje su njihove verzije. Uvek je pokreni pre instalacije.
Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1,396 kB]
...
Fetched 18.4 MB in 5s (3,680 kB/s)
Reading package lists... Done
Nadogradnja instaliranih paketa
sudo apt upgrade
Nadograđuje sve instalirane pakete na najnovije dostupne verzije. APT preuzima i instalira nove verzije, ali ne briše stare pakete ni ne dodaje nove zavisnosti koje nisu već instalirane.
Za agresivniju nadogradnju koja može dodavati i uklanjati pakete:
sudo apt full-upgrade
Dobra praksa: Pokretanje
sudo apt update && sudo apt upgraderedovno (jednom nedeljno ili pre instalacije novog softvera) drži sistem bezbednim i aktuelnim.
Instalacija paketa
sudo apt install ime-paketa
Instalira paket i sve njegove zavisnosti. APT prikazuje šta će biti instalirano i koliko prostora će zauzeti, a zatim traži potvrdu.
Primer: instalacija curl
sudo apt install curl
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
curl libcurl4
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 194 kB of archives.
After this operation, 456 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Pritisni Enter ili ukucaj y za potvrdu.
Instalacija više paketa odjednom
sudo apt install git vim curl wget
Instalacija bez interaktivnog pitanja
sudo apt install -y ime-paketa
Zastavica -y automatski odgovara "yes" — korisno u skriptama.
Uklanjanje paketa
apt remove — ukloni program
sudo apt remove ime-paketa
Uklanja paket, ali ostavlja konfiguracione fajlove. Korisno ako planiraš da ponovo instaliraš — konfiguracija će biti sačuvana.
apt purge — potpuno uklanjanje
sudo apt purge ime-paketa
Uklanja paket i sve konfiguracione fajlove koji mu pripadaju. Koristi kada zaista više ne trebaš program i hoćeš čist sistem.
apt autoremove — ukloni siroče zavisnosti
sudo apt autoremove
Uklanja pakete koji su bili instalirani kao zavisnosti, ali više nisu potrebni jer je glavni paket uklonjen. Pokretaj povremeno za čišćenje sistema.
Pretraga paketa
apt search upit
Pretražuje nazive i opise paketa. Ne zahteva sudo.
apt search text-editor
Sorting... Done
Full Text Search... Done
vim/jammy 2:8.2.3995-1ubuntu2 amd64
Vi IMproved - enhanced vi editor
nano/jammy 6.2-1 amd64
small, friendly text editor inspired by Pico
Informacije o paketu
apt show ime-paketa
Prikazuje detaljne informacije: verziju, veličinu, zavisnosti, opis, maintainer-a.
apt show nginx
Package: nginx
Version: 1.18.0-6ubuntu14
Depends: nginx-core (<< 1.18.0-6ubuntu14.1) | nginx-full | nginx-light | nginx-extras
Description: small, powerful, scalable web/proxy server
Nginx ("engine X") is a high-performance web and reverse proxy server...
Lista instaliranih paketa
apt list --installed
Prikazuje sve instalirane pakete sa verzijama. Lista je obično dugačka — koristi grep za filtriranje:
apt list --installed | grep python
dpkg — nivo ispod APT-a
dpkg je alat nižeg nivoa na kome APT počiva. Direktno radi sa .deb fajlovima, bez kontakta sa repozitorijumima.
Lista instaliranih paketa sa dpkg
dpkg -l
Prikazuje sve instalirane pakete u formatu:
||/ Name Version Architecture Description
ii bash 5.1-6ubuntu1 amd64 GNU Bourne Again SHell
ii curl 7.81.0-1 amd64 command line tool for ...
Slova ispred znače: ii = instalirano, rc = uklonjeno ali konfiguracija ostala, un = nije instalirano.
Filtriraj po imenu:
dpkg -l | grep curl
Ručna instalacija .deb fajla
Ponekad proizvođač softvera distribuira .deb fajl direktno (na primer, VS Code, Chrome). Instaliraj ga sa:
sudo dpkg -i ime-paketa.deb
Ako dpkg prijavi greške zbog zavisnosti, popravi ih odmah sa:
sudo apt install -f
Zastavica -f (fix-broken) pronalazi i instalira sve nedostajuće zavisnosti.
Konfiguracija repozitorijuma: /etc/apt/sources.list
APT čita listu repozitorijuma iz fajla /etc/apt/sources.list i direktorijuma /etc/apt/sources.list.d/.
Pogledaj sadržaj:
cat /etc/apt/sources.list
Tipičan red izgleda ovako:
deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
Delovi:
deb— binarni paketi (postoji ideb-srcza izvorni kod)- URL — adresa repozitorijuma
jammy— naziv distribucije (Ubuntu 22.04 Jammy Jellyfish)main restricted universe multiverse— sekcije repozitorijuma:main— Ubuntu zvanično održava i podržava (slobodni softver)restricted— drajveri i firmware koji nisu open sourceuniverse— održava zajednica (slobodni softver)multiverse— softver sa licencnim ograničenjima
Oprez: Direktno editovanje
sources.listje napredna operacija. Pogrešan unos može pokvariti sistem za ažuriranja.
Čišćenje preuzetih paketa iz keša
APT čuva preuzete .deb fajlove u /var/cache/apt/archives/. Oslobodi prostor sa:
sudo apt clean # Briše sve keširane pakete
sudo apt autoclean # Briše samo zastarele keširane pakete
apt vs apt-get — koju da koristim?
apt je noviji, korisnički prijatniji wrapper oko apt-get. Za interaktivnu upotrebu koristi apt. U skriptama je apt-get stabilniji izmedju verzija.
Rezime komandi
| Komanda | Opis |
|---|---|
sudo apt update |
Osveži listu dostupnih paketa |
sudo apt upgrade |
Nadogradi instalirane pakete |
sudo apt install <ime> |
Instaliraj paket |
sudo apt remove <ime> |
Ukloni paket (zadrži konfiguraciju) |
sudo apt purge <ime> |
Ukloni paket i konfiguraciju |
sudo apt autoremove |
Ukloni nepotrebne zavisnosti |
apt search <upit> |
Pretraži dostupne pakete |
apt show <ime> |
Prikaži informacije o paketu |
apt list --installed |
Lista instaliranih paketa |
dpkg -l |
Lista paketa (dpkg format) |
sudo dpkg -i fajl.deb |
Instaliraj lokalni .deb fajl |
sudo apt install -f |
Popravi pokvarene zavisnosti |