Mga apt command: pag-install, pag-update at pagbura ng package sa Ubuntu at Debian
Ang apt ang package manager ng Ubuntu at Debian: ang sudo apt update ay nagre-refresh ng listahan ng mga package, ang sudo apt upgrade ay nag-i-install ng mga update, ang sudo apt install pangalan ay nag-i-install ng package, ang sudo apt remove ay nagbubura nito (ang purge ay kasama ang config), at ang apt autoremove ay nagtatanggal ng hindi na kailangang dependency. Nakakatulong sa paghahanap ang apt search at apt show, at inaayos ng sudo apt --fix-broken install ang sirang dependency.
Ang apt ang standard na package manager sa Ubuntu, Debian, at mga derivative nito (Linux Mint, Pop!_OS). Nagda-download ito ng mga programa mula sa repository, awtomatikong kinukuha ang mga dependency, at ina-update ang system gamit ang isang command. Sa ibaba ang lahat ng apt command na kailangan sa pang-araw-araw na gawain, nakapangkat ayon sa gawain, kasama ang mga karaniwang error at ang kanilang solusyon.
Paano gumagana ang apt
Ang package ay archive na .deb na naglalaman ng programa, metadata, at listahan ng mga dependency. Ang repository ay mga server kung saan nakalagay ang mga package; nakasulat ang mga address nila sa /etc/apt/sources.list at sa direktoryong /etc/apt/sources.list.d/. Nagtatago ang apt ng lokal na kopya ng listahan ng mga available na package at dito tumitingin kapag nag-i-install, kaya kailangan itong i-update nang regular.
Sa ilalim, tinatawag ng apt ang mababang antas na dpkg, na nag-e-extract at nagre-register ng mga package, pero hindi nito kayang lutasin ang mga dependency. Ang apt-get at apt-cache ay lumang interface na may parehong functionality: matatag ang output, mainam para sa mga script. Ang apt naman ay mas bagong wrapper para sa tao: may progress bar, may kulay, at mas maiikli ang mga command.
Halos lahat ng command na nagbabago ng system ay nangangailangan ng karapatan ng administrator, kaya pinapatakbo ang mga ito gamit ang sudo. Ang paghahanap at pagtingin ng impormasyon ay gumagana rin nang wala nito.
Cheat sheet: mga pangunahing apt command
| Command | Ano ang ginagawa |
|---|---|
sudo apt update | i-update ang listahan ng mga package mula sa repository |
sudo apt upgrade | i-install ang mga update nang hindi nagbubura ng package |
sudo apt full-upgrade | i-update kasama ang pagbura o pagpalit ng package kapag kailangan |
sudo apt install package | i-install ang package kasama ang mga dependency |
sudo apt reinstall package | muling i-install ang package |
sudo apt remove package | burahin ang package, itira ang mga config |
sudo apt purge package | burahin ang package kasama ang system config nito |
sudo apt autoremove | burahin ang mga dependency na hindi na kailangan |
apt search salita | maghanap ng package ayon sa pangalan at deskripsyon |
apt show package | deskripsyon, bersyon, dependency, laki |
apt list --installed | listahan ng mga naka-install na package |
apt list --upgradable | ano ang puwedeng i-update |
apt policy package | naka-install at available na bersyon, mga pinagmulan |
sudo apt clean | linisin ang cache ng mga na-download na .deb |
sudo apt --fix-broken install | ayusin ang sirang dependency |
apt update at apt upgrade: paano i-update ang system
Dalawang magkaibang operasyon ang mga ito, at madalas silang napagkakamalan. Hindi nag-i-install ng kahit ano ang apt update: nagda-download lang ito ng bagong listahan ng mga package. Ang apt upgrade naman ay nag-i-install na ng bagong bersyon ng mga naka-install na programa, batay sa listahang iyon.
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
...
12 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ apt list --upgradable
$ sudo apt upgrade
Ang karaniwang kombinasyon para sa server, sa iisang linya, na awtomatikong sumasang-ayon:
sudo apt update && sudo apt upgrade -y
Ano ang pagkakaiba ng upgrade at full-upgrade
Ang apt upgrade ay maaaring mag-install ng mga bagong dependency, pero hindi kailanman nagbubura ng naka-install nang package. Kapag ang update ay nangangailangan ng pagbura ng isang bagay (halimbawa, sa pagpapalit ng bersyon ng kernel o library), ipinagpapaliban ang mga package na iyon — lalabas ang linyang The following packages have been kept back sa output. Ang apt full-upgrade (katumbas ng apt-get dist-upgrade) ay pinapayagan ang pagbura at tinatapos ang update. Bago ito, basahing mabuti kung ano ang balak burahin ng apt.
I-update ang isang package lamang
sudo apt install --only-upgrade nginx
Kapag hindi pa naka-install ang package, hindi ito iinstall ng command na may --only-upgrade — proteksyon ito laban sa hindi sinasadyang pag-install.
apt install: pag-install ng package
sudo apt install nginx # isang package
sudo apt install git curl htop # ilan nang sabay
sudo apt install -y docker.io # walang tanong na Y/n
sudo apt install nginx=1.24.0-2ubuntu7 # partikular na bersyon
sudo apt install --no-install-recommends ffmpeg # walang inirerekomendang package
sudo apt install ./google-chrome-stable_current_amd64.deb # lokal na .deb
Bago mag-install, ipinapakita ng apt kung aling mga package ang idadagdag at ilang espasyo ang kukunin, at humihingi ng kumpirmasyon. Ang flag na -y ay awtomatikong sumasagot ng "oo" — maginhawa sa mga script at Dockerfile, pero sa interactive na gawain mas mainam basahin muna ang listahan.
Bilang default, nag-i-install ang apt hindi lamang ng mga kinakailangang dependency (Depends), kundi pati ng mga inirerekomenda (Recommends). Sa mga server at container, malaki ang nababawas sa laki kapag ginamit ang --no-install-recommends.
Pag-install ng .deb file: apt o dpkg -i
Mas mainam i-install ang na-download na .deb gamit ang apt install ./file.deb — kailangan ang ./ o buong path, kung hindi, hahanapin ng apt ang package na may ganoong pangalan sa repository. Hindi tulad ng dpkg -i, awtomatikong dinadownload ng apt ang mga nawawalang dependency. Kung na-install mo na ang package gamit ang dpkg at nakakuha ng error sa dependency, aayusin ito ng sudo apt --fix-broken install.
sudo dpkg -i package.deb
sudo apt --fix-broken install
apt remove, purge at autoremove: pagbura ng package
| Command | Programa | Config sa /etc | Mga dependency |
|---|---|---|---|
apt remove | nabubura | nananatili | nananatili |
apt purge | nabubura | nabubura | nananatili |
apt autoremove | — | — | nabubura ang hindi na kailangan |
sudo apt remove nginx
sudo apt purge nginx # kasama rin ang config
sudo apt autoremove # mga natirang dependency
sudo apt autoremove --purge # mga natirang dependency kasama ang kanilang config
Angkop ang remove kung balak mong ibalik ang programa at gusto mong itira ang mga setting nito. Ang purge naman ay para sa ganap na muling pag-install mula sa simula. Tandaan: hindi binubura ng alinmang command ang mga file sa home directory ng user (halimbawa, ang ~/.config).
Para makita ang mga package na nabura na pero may naiwang config, ang status nila ay rc:
dpkg -l | grep '^rc'
Paghahanap ng package at impormasyon tungkol sa kanila
apt search postgresql # paghahanap ayon sa pangalan at deskripsyon
apt search --names-only '^php8' # ayon sa pangalan lamang, may regular expression
apt show htop # bersyon, laki, dependency, deskripsyon
apt policy docker.io # anong bersyon ang available at saan galing
apt list --installed | grep python3
apt-cache depends curl # ano ang kailangan ng package
apt-cache rdepends libssl3 # sino ang nangangailangan ng package
Aling package ang may-ari ng isang file
$ dpkg -S /usr/bin/curl
curl: /usr/bin/curl
$ dpkg -L curl # anong mga file ang inilagay ng package
Kung wala pang command sa system, sasabihin ng Ubuntu kung aling package ang kailangan kapag sinubukan mo itong patakbuhin (mensaheng Command 'tree' not found, but can be installed with: sudo apt install tree). Para maghanap ng file sa mga hindi pa naka-install na package, may utility na apt-file: apt-file search bin/dig pagkatapos ng sudo apt-file update.
Pag-lock ng bersyon: apt-mark hold
Minsan hindi dapat i-update ang isang package — halimbawa, ang bersyon ng DBMS o kernel sa production ay binabago lamang nang manu-mano. Para dito, "kino-freeze" ang package:
sudo apt-mark hold postgresql-16
apt-mark showhold
sudo apt-mark unhold postgresql-16
Isa pang kapaki-pakinabang na pares ang apt-mark manual at apt-mark auto. Ang mga package na na-install bilang dependency ay minarkahang awtomatiko at maaaring mabura ng autoremove kapag hindi na kailangan. Pinoprotektahan ng markang manual ang package mula rito.
Mga repository: paano magdagdag at saan nakalagay
Nasa /etc/apt/sources.list at sa mga file na /etc/apt/sources.list.d/*.list ang listahan ng mga pinagmulan. Sa Ubuntu 24.04 at Debian 12+, mas madalas nang ginagamit ang deb822 format na may extension na .sources (halimbawa, /etc/apt/sources.list.d/ubuntu.sources).
Third-party na repository na may key
Ang modernong paraan ay itago ang key ng repository nang hiwalay at itali ito sa pamamagitan ng signed-by. Luma na ang command na apt-key at tinanggal na sa mga bagong bersyon.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install docker-ce
PPA sa Ubuntu
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo add-apt-repository --remove ppa:deadsnakes/ppa
Ang PPA ay personal na repository sa Launchpad. Ikabit lamang ang mga pinagkakatiwalaan mo: ang mga package mula rito ay ini-install na may karapatan ng root.
Cache at espasyo sa disk
Nananatili sa /var/cache/apt/archives/ ang mga na-download na package. Sa maliliit na disk at sa Docker image, mainam itong linisin.
du -sh /var/cache/apt/archives
sudo apt clean # burahin ang buong cache ng .deb
sudo apt autoclean # burahin lamang ang mga lumang bersyon
Sa Dockerfile, karaniwang isinusulat ang pag-install sa iisang layer at agad na tinatanggal ang mga listahan ng package:
RUN apt-get update \
&& apt-get install -y --no-install-recommends curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
Sa mga script, ginagamit ang apt-get sa halip na apt: hindi matatag ang interface ng apt, at tahasan itong nagbababala (WARNING: apt does not have a stable CLI interface). Para hindi magtanong ang installer, dinadagdagan ito ng DEBIAN_FRONTEND=noninteractive.
Mga karaniwang error ng apt at kung paano ayusin
Could not get lock /var/lib/dpkg/lock-frontend
May ibang proseso nang gumagamit ng mga package: may pangalawang terminal na may apt, ang "Software Center", o ang awtomatikong pag-update na unattended-upgrades. Maghintay ng ilang minuto at tingnan kung sino ang may hawak ng lock:
ps aux | grep -E 'apt|dpkg'
Huwag burahin nang manu-mano ang lock file habang buhay pa ang proseso: maaaring maiwan sa hindi magkakatugmang estado ang system kapag naputol ang pag-install. Kung talagang nag-hang o napatay ang proseso, pagkatapos nitong matapos, patakbuhin ang sudo dpkg --configure -a.
Unable to locate package
Hindi nakita ng apt ang package. Kadalasan, hindi mo pa nagawa ang sudo apt update sa bagong system, nagkamali ka sa pangalan, o nasa naka-off na component ang package (universe sa Ubuntu). Ang component ay ina-enable gamit ang sudo add-apt-repository universe.
Unmet dependencies / held broken packages
Hindi nagtutugma ang mga dependency — kadalasan pagkatapos ng manual na pag-install ng .deb o paghahalo ng mga repository ng magkakaibang bersyon ng distribution.
sudo apt --fix-broken install
sudo dpkg --configure -a
apt policy problemang-package
dpkg was interrupted
Naputol ang pag-install (nagsara ang terminal, nawalan ng kuryente). Malinaw ang mensahe kung ano ang gagawin: sudo dpkg --configure -a.
NO_PUBKEY sa apt update
Walang key ang third-party na repository o luma na ang signing key nito. I-download ang pinakabagong key mula sa website ng proyekto papunta sa /etc/apt/keyrings/ at itala ito sa signed-by, gaya ng halimbawa sa Docker sa itaas.
Awtomatikong security update
Sa Ubuntu Server, default na naka-install ang package na unattended-upgrades, na awtomatikong nag-i-install ng mga security update. Para suriin at i-enable ito:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log
Kung kailangan ng reboot pagkatapos ng update, makikita sa file na /var/run/reboot-required: kapag umiiral ito, na-update ang kernel o ang mahahalagang library.
Buod
Ang mga batayang apt command ay sumusunod sa maikling siklo: update bago ang anumang aksyon, install para mag-install, upgrade para mag-update, remove o purge para magbura, at autoremove para maglinis. Para sa bersyon, may apt policy at apt-mark hold; para sa sirang sistema, may --fix-broken install at dpkg --configure -a; at sa mga script, gamitin ang apt-get. Ang pamamahala ng package ay ipinapaliwanag din nang praktikal sa kursong Linux.
Mga madalas itanong
Ano ang pagkakaiba ng apt at apt-get?
Parehong interface ang mga ito sa iisang package system. Mas maginhawa ang apt sa terminal (may progress, kulay, at maiikling command), habang may matatag na output ang apt-get at inirerekomenda ito para sa mga script at Dockerfile.
Kailangan bang patakbuhin ang apt update bago ang bawat pag-install?
Mainam kung matagal nang hindi na-update ang listahan: kung hindi, maaaring hindi makita ng apt ang package o subukang i-download ang bersyong wala na sa mirror, at magbibigay ito ng error na 404.
Paano makita ang kasaysayan ng pag-install at pagbura gamit ang apt?
Nakasulat ito sa /var/log/apt/history.log (ang mga lumang tala ay nasa mga archive na history.log.N.gz), at ang detalyadong log ng dpkg ay nasa /var/log/dpkg.log.
Paano i-rollback ang package sa dating bersyon?
Tingnan ang available na bersyon gamit ang apt policy package, i-install ang kailangang bersyon gamit ang sudo apt install package=bersyon, at saka i-lock ito gamit ang apt-mark hold para hindi ito maibalik ng susunod na update.
Puwede bang gamitin ang apt sa CentOS o Fedora?
Hindi, iba ang format ng package doon (rpm) at may sarili silang manager na dnf at yum. Gumagana ang apt sa Debian, Ubuntu, at mga distribution na galing sa mga ito.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Linux: с нуля до уверенного администрирования”.
Pumunta sa kurso