20 apt Command to Know as Sysadmin για διαχείριση πακέτων Ubuntu ή Debian

Το APT ή το Advanced Package Tool είναι το βοηθητικό πρόγραμμα γραμμής εντολών για τη διαχείριση πακέτων σε διανομές που βασίζονται στο Debian/Ubuntu.

Είναι ένας από τους διαθέσιμους διαχειριστές πακέτων μαζί με το apt-get, αλλά όπως και άλλοι, σας επιτρέπει να εγκαταστήσετε, να τροποποιήσετε ή να αφαιρέσετε διαφορετικά πακέτα χωρίς να τα δημιουργήσετε από τον πηγαίο κώδικα. Μπορεί να κάνει πολύ περισσότερες ενέργειες που σχετίζονται με τη διαχείριση πακέτων, τις οποίες θα καλύψουμε στις επόμενες ενότητες.

Η γενική σύνταξη της χρήσης της εντολής apt έχει ως εξής:

$ apt [COMMAND] [PACKAGE]

Θυμηθείτε να χρησιμοποιήσετε το sudo με το apt, καθώς πολλές από τις δευτερεύουσες εντολές του θα απαιτούσαν το δικαίωμα να κάνετε αλλαγές σε επίπεδο συστήματος.

Εδώ θα καλύψουμε διάφορες υπο-εντολές που μπορείτε να χρησιμοποιήσετε με το apt και τη χρήση τους.

Ενημέρωση βάσης δεδομένων πακέτων

Το apt χρειάζεται ένα αποθετήριο πακέτων με μια βάση δεδομένων με όλα τα διαθέσιμα πακέτα που μπορούν να εγκατασταθούν σε ένα σύστημα Debian/Ubuntu. Αυτή η βάση δεδομένων αποθετηρίου θα πρέπει να ενημερωθεί πριν ξεκινήσετε την εγκατάσταση ενός πακέτου, καθώς θα πρέπει να γνωρίζει τις λεπτομέρειες σχετικά με το πακέτο, την έκδοση, την αρχιτεκτονική και την απομακρυσμένη τοποθεσία του.

Η ενημέρωση της βάσης δεδομένων του αποθετηρίου είναι εύκολη και μπορεί να γίνει με:

$ sudo apt update

Παράδειγμα:

[email protected]:~$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1086 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [841 kB]
Fetched 2255 kB in 1s (2677 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
14 packages can be upgraded. Run 'apt list --upgradable' to see them.
[email protected]:~$

Αναβάθμιση εγκατεστημένων πακέτων

Τα εγκατεστημένα πακέτα σε ένα σύστημα μπορούν να αναβαθμιστούν στην πιο πρόσφατη διαθέσιμη έκδοση χρησιμοποιώντας:

$ sudo apt upgrade

Με την εντολή αναβάθμισης, τα πακέτα θα εγκατασταθούν εάν απαιτείται για την ικανοποίηση εξαρτήσεων, αλλά τα υπάρχοντα πακέτα δεν θα αφαιρεθούν ποτέ. Εάν μια αναβάθμιση για ένα πακέτο απαιτεί την αφαίρεση ενός εγκατεστημένου πακέτου, τότε δεν εκτελείται αναβάθμιση για αυτό το πακέτο.

Παράδειγμα:

[email protected]:~$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1086 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [841 kB]
Fetched 2255 kB in 1s (2677 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
14 packages can be upgraded. Run 'apt list --upgradable' to see them.
[email protected]:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  apt apt-utils libapt-pkg6.0 libpython3.8 libpython3.8-minimal libpython3.8-stdlib libuv1 linux-base linux-base-sgx open-vm-tools python3-distupgrade python3.8
  python3.8-minimal ubuntu-release-upgrader-core
14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 9485 kB of archives.
After this operation, 603 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libapt-pkg6.0 amd64 2.0.6 [835 kB]
Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 apt amd64 2.0.6 [1296 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 apt-utils amd64 2.0.6 [216 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8 amd64 3.8.10-0ubuntu1~20.04 [1625 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8 amd64 3.8.10-0ubuntu1~20.04 [387 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8-stdlib amd64 3.8.10-0ubuntu1~20.04 [1675 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8-minimal amd64 3.8.10-0ubuntu1~20.04 [1898 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8-minimal amd64 3.8.10-0ubuntu1~20.04 [717 kB]
Get:9 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libuv1 amd64 1.34.2-1ubuntu1.3 [80.8 kB]
Get:10 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 ubuntu-release-upgrader-core all 1:20.04.35 [23.9 kB]
Get:11 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-distupgrade all 1:20.04.35 [104 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-base all 4.5ubuntu3.6 [17.8 kB]
Get:13 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-base-sgx all 4.5ubuntu3.6 [4660 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 open-vm-tools amd64 2:11.2.5-2ubuntu1~ubuntu20.04.1 [604 kB]
Fetched 9485 kB in 0s (54.4 MB/s)
Preconfiguring packages ...
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../libapt-pkg6.0_2.0.6_amd64.deb ...
Unpacking libapt-pkg6.0:amd64 (2.0.6) over (2.0.5) ...
Setting up libapt-pkg6.0:amd64 (2.0.6) ...
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../archives/apt_2.0.6_amd64.deb ...
Unpacking apt (2.0.6) over (2.0.5) ...
Setting up apt (2.0.6) ...
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../00-apt-utils_2.0.6_amd64.deb ...
Unpacking apt-utils (2.0.6) over (2.0.5) ...
Preparing to unpack .../01-libpython3.8_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking libpython3.8:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../02-python3.8_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking python3.8 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../03-libpython3.8-stdlib_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../04-python3.8-minimal_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking python3.8-minimal (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../05-libpython3.8-minimal_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../06-libuv1_1.34.2-1ubuntu1.3_amd64.deb ...
Unpacking libuv1:amd64 (1.34.2-1ubuntu1.3) over (1.34.2-1ubuntu1.1) ...
Preparing to unpack .../07-ubuntu-release-upgrader-core_1%3a20.04.35_all.deb ...
Unpacking ubuntu-release-upgrader-core (1:20.04.35) over (1:20.04.33) ...
Preparing to unpack .../08-python3-distupgrade_1%3a20.04.35_all.deb ...
Unpacking python3-distupgrade (1:20.04.35) over (1:20.04.33) ...
Preparing to unpack .../09-linux-base_4.5ubuntu3.6_all.deb ...
Unpacking linux-base (4.5ubuntu3.6) over (4.5ubuntu3.1) ...
Preparing to unpack .../10-linux-base-sgx_4.5ubuntu3.6_all.deb ...
Unpacking linux-base-sgx (4.5ubuntu3.6) over (4.5ubuntu3.1) ...
Preparing to unpack .../11-open-vm-tools_2%3a11.2.5-2ubuntu1~ubuntu20.04.1_amd64.deb ...
Unpacking open-vm-tools (2:11.2.5-2ubuntu1~ubuntu20.04.1) over (2:11.0.5-4) ...
Setting up libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04) ...
Setting up apt-utils (2.0.6) ...
Setting up linux-base (4.5ubuntu3.6) ...
Setting up python3-distupgrade (1:20.04.35) ...
Setting up libuv1:amd64 (1.34.2-1ubuntu1.3) ...
Setting up linux-base-sgx (4.5ubuntu3.6) ...
Setting up ubuntu-release-upgrader-core (1:20.04.35) ...
Setting up python3.8-minimal (3.8.10-0ubuntu1~20.04) ...
Setting up open-vm-tools (2:11.2.5-2ubuntu1~ubuntu20.04.1) ...
Installing new version of config file /etc/vmware-tools/tools.conf.example ...
Installing new version of config file /etc/vmware-tools/vgauth.conf ...
Setting up libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04) ...
Setting up python3.8 (3.8.10-0ubuntu1~20.04) ...
Setting up libpython3.8:amd64 (3.8.10-0ubuntu1~20.04) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for systemd (245.4-4ubuntu3.7) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[email protected]:~$

Βεβαιωθείτε ότι έχετε εκτελέσει την ενημέρωση sudo apt προτού αναβαθμίσετε τα πακέτα σας για να αποφύγετε προβλήματα κατά την αναβάθμιση καθώς και για να διασφαλίσετε ότι λαμβάνετε τα πιο πρόσφατα διαθέσιμα πακέτα από το αποθετήριο. Εάν θέλετε, μπορείτε να εκτελέσετε αυτές τις εντολές σε μία μόνο γραμμή ως:

$ sudo apt update && sudo apt upgrade -y

Πακέτα πλήρους αναβάθμισης

Το apt προσφέρει επίσης μια εντολή πλήρους αναβάθμισης. Διαφέρει από την εντολή αναβάθμισης καθώς θα αφαιρέσει τα πακέτα που είναι εγκατεστημένα αυτήν τη στιγμή, εάν αυτό είναι απαραίτητο για την αναβάθμιση του συστήματος στο σύνολό του. Ως εκ τούτου, να είστε προσεκτικοί με αυτήν την εντολή και εάν είναι δυνατόν, χρησιμοποιήστε την εντολή αναβάθμισης.

$ sudo apt full-upgrade

Εγκαταστήστε το ενιαίο πακέτο

Η εγκατάσταση ενός νέου πακέτου μπορεί να γίνει με το apt χρησιμοποιώντας την παρακάτω σύνταξη:

$ sudo apt install [package-name]

Παράδειγμα:

[email protected]:~$ sudo apt install unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  zip
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 169 kB of archives.
After this operation, 593 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (4040 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
[email protected]:~$

Εγκαταστήστε πολλαπλά πακέτα

Μπορείτε να εγκαταστήσετε πολλά πακέτα σε ένα σύστημα με apt. Ακολουθεί παρόμοια σύνταξη όπως στο προηγούμενο παράδειγμα:

$ sudo apt install [package-name-1] [package-name-2] ... [package-name-n]

Παράδειγμα:

[email protected]:~$ sudo apt install zip unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  unzip zip
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 336 kB of archives.
After this operation, 1231 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Get:2 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 zip amd64 3.0-11build1 [167 kB]
Fetched 336 kB in 0s (7749 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 59527 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Selecting previously unselected package zip.
Preparing to unpack .../zip_3.0-11build1_amd64.deb ...
Unpacking zip (3.0-11build1) ...
Setting up unzip (6.0-25ubuntu1) ...
Setting up zip (3.0-11build1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[email protected]:~$

Εάν ένα από τα καθορισμένα πακέτα είναι ήδη εγκατεστημένο στο σύστημα, το apt θα αναζητήσει μια ενημέρωση σε ένα αποθετήριο και, εάν είναι διαθέσιμο, θα αναβαθμίσει το πακέτο ή αλλιώς θα διατηρήσει την εγκατεστημένη έκδοση ως έχει.

  Πώς να αποκτήσετε πιστοποίηση PHR

Εγκαταστήστε τη συγκεκριμένη έκδοση

Συχνά χρειάζεται να εγκαταστήσετε μια συγκεκριμένη έκδοση ενός πακέτου, ειδικά όταν βρίσκεστε σε εταιρικά συστήματα. Το apt σάς επιτρέπει να εγκαταστήσετε μια δεδομένη έκδοση ενός πακέτου υποθέτοντας ότι είναι διαθέσιμη στο αποθετήριο χρησιμοποιώντας:

$ sudo apt install [package-name]=[version]

Παράδειγμα:

[email protected]:~$ sudo apt install unzip=6.0-25ubuntu1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 169 kB of archives.
After this operation, 593 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (2767 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 59541 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
[email protected]:~$

Κατάργηση πακέτου

Όπως η εγκατάσταση ενός πακέτου, το apt μπορεί να χρησιμοποιηθεί για την αφαίρεση ενός πακέτου από ένα σύστημα με την παρακάτω εντολή:

$ sudo apt remove [package-name]

Παράδειγμα:

[email protected]:~$ sudo apt remove unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  unzip
0 upgraded, 0 newly installed, 1 to remove and 14 not upgraded.
After this operation, 593 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 59529 files and directories currently installed.)
Removing unzip (6.0-25ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[email protected]:~$

Εκκαθάριση ενός πακέτου

Όπως η κατάργηση ενός πακέτου, η εκκαθάριση ενός πακέτου κάνει επίσης την ίδια εργασία, αλλά ενώ με την εντολή remove apt απλώς αφαιρεί τα δυαδικά αρχεία ενός πακέτου αφήνοντας τα αρχεία διαμόρφωσης ως έχουν. Από την άλλη πλευρά, η εντολή purge διασφαλίζει ότι όλα όσα σχετίζονται με το πακέτο, συμπεριλαμβανομένων των δυαδικών αρχείων και των αρχείων διαμόρφωσής του, αφαιρούνται από το σύστημα. Αν φύγετε από τα αρχεία διαμόρφωσης, μπορείτε να χρησιμοποιήσετε ξανά τα ίδια αρχεία διαμόρφωσης, εάν σκοπεύετε να εγκαταστήσετε ξανά την εφαρμογή.

  Πώς να ρυθμίσετε έναν παλιό φορητό υπολογιστή για παιδιά

Για να καθαρίσετε ένα πακέτο, χρησιμοποιήστε:

$ sudo apt purge [package-name]

Παράδειγμα:

[email protected]:~$ sudo apt purge unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  unzip*
0 upgraded, 0 newly installed, 1 to remove and 14 not upgraded.
After this operation, 593 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 59529 files and directories currently installed.)
Removing unzip (6.0-25ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
(Reading database ... 59511 files and directories currently installed.)
Purging configuration files for unzip (6.0-25ubuntu1) ...
[email protected]:~$

Αναζήτηση για πακέτα

Το apt δεν μπορεί να χρησιμεύσει μόνο ως το βοηθητικό πρόγραμμα εγκατάστασης και αφαίρεσης πακέτων. Μπορεί επίσης να αναζητήσει το απαιτούμενο πακέτο στο αποθετήριο με την εντολή αναζήτησης ως:

$ apt search [search-text]

Παράδειγμα:

[email protected]:~$ apt search netstat
Sorting... Done
Full Text Search... Done
bwm-ng/focal 0.6.2-1 amd64
  small and simple console-based bandwidth monitor

gnome-nettool/focal 3.8.1-3 amd64
  network information tool for GNOME

golang-github-aelsabbahy-gonetstat-dev/focal 0.0~git20160428.0.edf89f7-3 all
  Netstat implementation in Go

golang-github-mwitkow-go-conntrack-dev/focal 0.0~git20190716.2f06839-1 all
  Go middleware for net.Conn tracking

libparse-netstat-perl/focal 0.14-1 all
  module to parse the output of the "netstat" command

net-tools/focal 1.60+git20180626.aebd88e-1ubuntu1 amd64
  NET-3 networking toolkit

netstat-nat/focal 1.4.10-3build1 amd64
  tool that display NAT connections

nicstat/focal 1.95-1build1 amd64
  print network traffic statistics

qnetstatview/focal 1.5.6-1 amd64
  Shows detailed listings of all TCP and UDP endpoints

unhide/focal 20130526-4 amd64
  Forensic tool to find hidden processes and ports

whichman/focal 2.4-9 amd64
  Fault tolerant search utilities: whichman, ftff, ftwhich

[email protected]:~$

Προβολή περιεχομένου πακέτου

Για να λάβετε λεπτομέρειες σχετικά με ένα πακέτο, είτε είναι εγκατεστημένο είτε πρόκειται να εγκατασταθεί, μπορείτε να χρησιμοποιήσετε την εντολή show όπως δίνεται παρακάτω:

$ apt show [package-name]

Παράδειγμα:

[email protected]:~$ apt show firefox
Package: firefox
Version: 90.0+build1-0ubuntu0.20.04.1
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Mozilla Team <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 226 MB
Provides: gnome-www-browser, iceweasel, www-browser
Depends: lsb-release, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.30), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.10.1), libgcc-s1 (>= 3.3), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.42), libgtk-3-0 (>= 3.14), libharfbuzz0b (>= 0.6.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libstdc++6 (>= 9), libx11-6, libx11-xcb1 (>= 2:1.6.9), libxcb-shm0, libxcb1, libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6, libxrender1, libxt6
Recommends: xul-ext-ubufox, libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk3-4
Suggests: fonts-lyx
Replaces: kubuntu-firefox-installer
Task: ubuntu-desktop-minimal, ubuntu-desktop, kubuntu-desktop, kubuntu-full, xubuntu-desktop, lubuntu-desktop, ubuntustudio-desktop, ubuntukylin-desktop, ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop
Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Download-Size: 57.0 MB
APT-Sources: http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
Description: Safe and easy web browser from Mozilla
 Firefox delivers safe, easy web browsing. A familiar user interface,
 enhanced security features including protection from online identity theft,
 and integrated search let you get the most out of the web.

N: There is 1 additional record. Please use the '-a' switch to see it
[email protected]:~$

Λίστα εγκατεστημένων πακέτων

Συχνά χρειάζεται να αναφέρουμε εγκατεστημένα πακέτα σε ένα σύστημα για διαφορετικούς σκοπούς. Το apt σάς επιτρέπει να λαμβάνετε τη λίστα των εγκατεστημένων πακέτων απλά με:

$ apt list --installed

Καταχωρίστε όλα τα πακέτα

Για να παραθέσετε όλα τα πακέτα που είναι διαθέσιμα για το σύστημά σας, χρησιμοποιήστε την εντολή λίστας με λέξη-κλειδί –όλες οι εκδόσεις ως:

$ apt list --all-versions

Λίστα πακέτων με δυνατότητα αναβάθμισης

Τα πακέτα πρέπει να διατηρούνται ενημερωμένα, καθώς οι νέες εκδόσεις συνεχίζουν να κυκλοφορούν με βελτιωμένες ή πρόσθετες λειτουργίες και διορθώσεις σφαλμάτων, συμπεριλαμβανομένων των κρίσιμων κενών ασφαλείας. Το apt διασφαλίζει ότι μπορείτε να επιδιορθώσετε εύκολα το σύστημά σας Debian/Ubuntu με την εντολή αναβάθμισης, όπως προτείνεται νωρίτερα στο άρθρο. Για να παραθέσετε όλες τις διαθέσιμες αναβαθμίσεις για τα εγκατεστημένα πακέτα στο σύστημά σας, εκτελέστε:

$ apt list --upgradable

Παράδειγμα:

[email protected]:~$ apt list --upgradable
Listing... Done
apt-utils/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5]
apt/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5]
libapt-pkg6.0/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5]
libpython3.8-minimal/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
libpython3.8-stdlib/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
libpython3.8/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
libuv1/focal-updates,focal-security 1.34.2-1ubuntu1.3 amd64 [upgradable from: 1.34.2-1ubuntu1.1]
linux-base-sgx/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3.1]
linux-base/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3.1]
open-vm-tools/focal-updates 2:11.2.5-2ubuntu1~ubuntu20.04.1 amd64 [upgradable from: 2:11.0.5-4]
python3-distupgrade/focal-updates 1:20.04.35 all [upgradable from: 1:20.04.33]
python3.8-minimal/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
python3.8/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
ubuntu-release-upgrader-core/focal-updates 1:20.04.35 all [upgradable from: 1:20.04.33]
[email protected]:~$

Καθαρίστε αχρησιμοποίητα πακέτα

Με την κανονική χρήση, μερικές φορές το σύστημά σας μπορεί να έχει εγκατεστημένα πακέτα που δεν απαιτούνται πλέον. Μπορεί να συμβεί καθώς αυτά τα πακέτα εγκαταστάθηκαν ως μέρος της εξάρτησης ενός άλλου πακέτου που έχει ήδη αφαιρεθεί αργότερα, αν και οι εξαρτήσεις παραμένουν στο σύστημα. Για να καθαρίσετε τέτοια πακέτα και να ελευθερώσετε χώρο στο δίσκο, μπορείτε να χρησιμοποιήσετε:

$ sudo apt autoremove

Παράδειγμα:

[email protected]:~$ sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:~$

Το σύστημά μου δεν είχε πακέτα που είχαν απομείνει, επομένως η έξοδος δεν ανέφερε αλλαγές.

  Πώς να ρυθμίσετε έναν παλιό φορητό υπολογιστή για παιδιά

Ελέγξτε τις εξαρτήσεις πακέτου

Ένα πακέτο μπορεί να έχει μία ή περισσότερες εξαρτήσεις που πρέπει να εγκατασταθούν σε ένα σύστημα για να λειτουργήσει σωστά το πακέτο. Το apt διασφαλίζει ότι οι απαιτούμενες εξαρτήσεις εγκαθίστανται ως μέρος της εγκατάστασης του πακέτου. Εάν θέλετε να ελέγξετε τις εξαρτήσεις ενός πακέτου, χρησιμοποιήστε:

$ apt depends [package-name]

Παράδειγμα:

[email protected]:~$ apt depends zip
zip
  Depends: libbz2-1.0
  Depends: libc6 (>= 2.14)
  Recommends: unzip
[email protected]:~$

Επανεγκαταστήστε ένα πακέτο

Ένα πακέτο μπορεί να καταστραφεί ή μπορεί να χρειαστεί να το εγκαταστήσετε ξανά για να βεβαιωθείτε ότι όλα τα αρχεία του πακέτου είναι στη σωστή σειρά. Για να εγκαταστήσετε ξανά ένα πακέτο χωρίς να το αφαιρέσετε πρώτα, μπορείτε να χρησιμοποιήσετε:

$ sudo apt reinstall [package-name]

Παράδειγμα:

[email protected]:~$ sudo apt reinstall unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 169 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (5695 kB/s)
(Reading database ... 59559 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) over (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
[email protected]:~$

Κατεβάστε ένα πακέτο

Τα αρχεία πακέτων μπορούν να ληφθούν στο τοπικό σύστημα αρχείων χωρίς να τα εγκαταστήσετε. Για να κατεβάσετε ένα πακέτο με apt, χρησιμοποιήστε:

$ apt download [package-name]

Παράδειγμα:

[email protected]:~$ apt download unzip
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (1405 kB/s)
[email protected]:~$

[email protected]:~$ ls -l unzip_6.0-25ubuntu1_amd64.deb
-rw-r--r-- 1 abhisheknair abhisheknair 168956 Aug 16 2019 unzip_6.0-25ubuntu1_amd64.deb
[email protected]:~$

Ελέγξτε το Αρχείο αλλαγών πακέτων

Μπορούμε εύκολα να ελέγξουμε το αρχείο καταγραφής αλλαγών για οποιοδήποτε πακέτο με apt χρησιμοποιώντας:

$ apt changelog [package-name]

Επεξεργασία πηγών

Η εντολή edit-sources του apt σάς επιτρέπει να επεξεργάζεστε τα αρχεία sources.list, παρέχοντας παράλληλα ελέγχους ορθότητας για να διασφαλίσετε ότι οι αλλαγές είναι συνεπείς και έγκυρες. Αυτή είναι μια εντολή εργασίας σε εξέλιξη και ως εκ τούτου θα πρέπει να χρησιμοποιείται με προσοχή. Μπορείτε να επεξεργαστείτε το sources.list ως:

$ sudo apt edit-sources

Λάβετε βοήθεια APT

Για να λάβετε περισσότερη βοήθεια σχετικά με την εντολή apt, χρησιμοποιήστε:

$ apt help

Παράδειγμα:

[email protected]:~$ apt help
apt 2.0.6 (amd64)
Usage: apt [options] command

apt is a commandline package manager and provides commands for
searching and managing as well as querying information about packages.
It provides the same functionality as the specialized APT tools,
like apt-get and apt-cache, but enables options more suitable for
interactive use by default.

Most used commands:
  list - list packages based on package names
  search - search in package descriptions
  show - show package details
  install - install packages
  reinstall - reinstall packages
  remove - remove packages
  autoremove - Remove automatically all unused packages
  update - update list of available packages
  upgrade - upgrade the system by installing/upgrading packages
  full-upgrade - upgrade the system by removing/installing/upgrading packages
  edit-sources - edit the source information file
  satisfy - satisfy dependency strings

See apt(8) for more information about the available commands.
Configuration options and syntax is detailed in apt.conf(5).
Information about how to configure sources can be found in sources.list(5).
Package and version choices can be expressed via apt_preferences(5).
Security details are available in apt-secure(8).
                                        This APT has Super Cow Powers.
[email protected]:~$

Περίληψη

Το apt tool είναι ένα εύχρηστο και ισχυρό βοηθητικό πρόγραμμα διαχείρισης πακέτων που βασίζεται σε CLI για συστήματα που βασίζονται σε Debian/Ubuntu. Η κανονική καθημερινή δουλειά ενός διαχειριστή συστήματος περιλαμβάνει τη διαχείριση πακέτων σε ένα σύστημα και η γνώση του apt και των κοινών εντολών χρήσης του καθιστούν αυτή την εργασία εύκολη.

Για περαιτέρω βοήθεια σχετικά με το apt, ανατρέξτε στη σελίδα man του.

$ man apt