20 apt Command ที่ควรรู้ในฐานะ Sysadmin เพื่อจัดการ Ubuntu หรือ Debian Packages

APT หรือ Advanced Package Tool เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งสำหรับการจัดการแพ็คเกจในการแจกจ่ายที่ใช้ Debian/Ubuntu

มันเป็นหนึ่งในตัวจัดการแพ็คเกจที่มีอยู่พร้อมกับ apt-get แต่เช่นเดียวกับตัวอื่น ๆ มันให้คุณติดตั้ง แก้ไข หรือลบแพ็คเกจต่าง ๆ โดยไม่ต้องสร้างจากซอร์สโค้ด มันสามารถดำเนินการอื่นๆ อีกมากมายที่เกี่ยวข้องกับการจัดการแพ็คเกจ ซึ่งเราจะกล่าวถึงในส่วนถัดไป

ไวยากรณ์ทั่วไปของการใช้คำสั่ง apt ดังนี้:

$ apt [COMMAND] [PACKAGE]

อย่าลืมใช้ sudo กับ apt เนื่องจากคำสั่งย่อยจำนวนมากต้องการสิทธิ์ในการเปลี่ยนแปลงระดับระบบ

ในที่นี้เราจะกล่าวถึงคำสั่งย่อยต่างๆ ที่คุณสามารถใช้กับ apt และการใช้งาน

อัพเดทฐานข้อมูลแพ็คเกจ

apt ต้องการที่เก็บแพ็คเกจพร้อมฐานข้อมูลของแพ็คเกจที่มีอยู่ทั้งหมดที่สามารถติดตั้งบนระบบ Debian/Ubuntu ควรอัปเดตฐานข้อมูลที่เก็บนี้ก่อนที่คุณจะเริ่มติดตั้งแพ็คเกจ เนื่องจาก apt ควรทราบรายละเอียดเกี่ยวกับแพ็คเกจ เวอร์ชัน สถาปัตยกรรม และตำแหน่งที่ตั้งระยะไกล

การอัปเดตฐานข้อมูลที่เก็บนั้นทำได้ง่ายและทำได้ด้วย:

$ 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 update ก่อนที่คุณจะอัปเกรดแพ็คเกจของคุณ เพื่อหลีกเลี่ยงปัญหาระหว่างการอัปเกรด รวมถึงเพื่อให้แน่ใจว่าคุณได้รับแพ็คเกจล่าสุดที่มีจากที่เก็บ หากต้องการ คุณสามารถรันคำสั่งเหล่านี้ในบรรทัดเดียวได้ดังนี้:

$ 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 จะค้นหาการอัพเดตในพื้นที่เก็บข้อมูลและหากมีให้อัปเกรดแพ็กเกจหรือมิฉะนั้นจะเก็บเวอร์ชันที่ติดตั้งไว้ตามเดิม

  ค้นหาภาพยนตร์หรือรายการทีวีแบบสุ่มเพื่อรับชม

ติดตั้งเวอร์ชันเฉพาะ

บ่อยครั้งที่คุณต้องติดตั้งแพ็คเกจเวอร์ชันเฉพาะโดยเฉพาะในระบบขององค์กร 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 ทำให้แน่ใจว่าทุกสิ่งที่เกี่ยวข้องกับแพ็คเกจรวมถึงไบนารีและไฟล์คอนฟิกูเรชันจะถูกลบออกจากระบบ การออกจากไฟล์คอนฟิกูเรชันจะทำให้คุณสามารถใช้ไฟล์คอนฟิกูเรชันเดิมซ้ำได้อีกครั้ง หากคุณวางแผนที่จะติดตั้งแอพพลิเคชั่นอีกครั้ง

  วิธีดูเหมือนมันฝรั่งในการประชุมทางวิดีโอของ Microsoft Teams

ในการล้างแพ็คเกจ ให้ใช้:

$ 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

รายการแพ็คเกจทั้งหมด

หากต้องการแสดงรายการแพ็คเกจทั้งหมดที่มีในระบบของคุณ ให้ใช้คำสั่ง list กับคีย์เวิร์ด –all-version เป็น:

$ 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]
abhi[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]:~$

ระบบของฉันไม่มีแพ็คเกจเหลือ ดังนั้นเอาต์พุตจึงรายงานว่าไม่มีการเปลี่ยนแปลง

  14 แอพการถือศีลอดเป็นระยะที่ดีที่สุดเพื่อให้คุณฟิตในปี 2022

ตรวจสอบการพึ่งพาแพ็คเกจ

แพ็คเกจอาจมีการขึ้นต่อกันอย่างน้อยหนึ่งรายการที่ต้องติดตั้งบนระบบเพื่อให้แพ็คเกจทำงานได้อย่างถูกต้อง 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 ให้คุณแก้ไขไฟล์ source.list ของคุณในขณะที่ตรวจสอบความถูกต้องเพื่อให้แน่ใจว่าการเปลี่ยนแปลงนั้นสอดคล้องและถูกต้อง นี่เป็นคำสั่งที่กำลังดำเนินการอยู่ ดังนั้นควรใช้ด้วยความระมัดระวัง คุณสามารถแก้ไข source.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 เป็นยูทิลิตี้การจัดการแพ็คเกจที่ใช้ CLI ที่มีประโยชน์และทรงพลังสำหรับระบบที่ใช้ Debian / Ubuntu งานประจำวันตามปกติของผู้ดูแลระบบเกี่ยวข้องกับการจัดการแพ็คเกจในระบบ และการรู้ apt และคำสั่งการใช้งานทั่วไปทำให้งานนี้ง่ายขึ้น

สำหรับความช่วยเหลือเพิ่มเติมเกี่ยวกับ apt โปรดดูที่หน้าคน

$ man apt

เรื่องล่าสุด

x