ฉันต้องการแสดงรายการแพคเกจที่ติดตั้งทั้งหมดลงในไฟล์ข้อความเพื่อให้ฉันสามารถตรวจสอบและติดตั้งจำนวนมากในระบบอื่น ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันต้องการแสดงรายการแพคเกจที่ติดตั้งทั้งหมดลงในไฟล์ข้อความเพื่อให้ฉันสามารถตรวจสอบและติดตั้งจำนวนมากในระบบอื่น ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
apt
เครื่องมือบน Ubuntu 14.04 และสูงกว่านี้จะทำให้เรื่องง่ายมาก
apt list --installed
ในการรับรายการแพคเกจที่ติดตั้งภายในเครื่องให้ทำในเทอร์มินัลของคุณ:
dpkg --get-selections | grep -v deinstall
( -v
แท็ก "สลับกลับ" grep เพื่อส่งคืนบรรทัดที่ไม่ตรงกัน)
ในการรับรายการแพคเกจเฉพาะที่ติดตั้ง:
dpkg --get-selections | grep postgres
หากต้องการบันทึกรายการนั้นในไฟล์ข้อความที่เรียกว่าpackages
บนเดสก์ท็อปของคุณให้ทำสิ่งนี้ในเทอร์มินัลของคุณ:
dpkg --get-selections | grep -v deinstall > ~/Desktop/packages
หรือใช้เพียงแค่
dpkg -l
(คุณไม่จำเป็นต้องเรียกใช้คำสั่งใด ๆ เหล่านี้ในฐานะ superuser ดังนั้นจึงไม่sudo
จำเป็นต้องมีตัวแปรอื่นใดในที่นี้)
sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
ไม่หลอกลวง
ในการรับเฉพาะแพ็คเกจที่ติดตั้งไว้อย่างชัดแจ้ง (ไม่ได้ติดตั้งเป็นการอ้างอิงเท่านั้น) คุณสามารถเรียกใช้
aptitude search '~i!~M'
ซึ่งจะรวมถึงคำอธิบายสั้น ๆ ซึ่งคุณอาจต้องการ ถ้าไม่มีให้เพิ่มตัวเลือก-F '%p'
ดังกล่าวโดย karthick87
ตัวเลือกอื่นน่าจะเป็นการคัดลอกไฟล์/var/lib/apt/extended_states
ซึ่งเป็นฐานข้อมูลไฟล์ข้อความในรูปแบบนี้:
Package: grub-common
Architecture: amd64
Auto-Installed: 0
Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1
Auto-Installed: 0
ระบุว่าแพ็กเกจถูกติดตั้งอย่างชัดเจนและไม่ได้เป็นเพียงการพึ่งพา
apt-get
หรือไม่
ในการแสดงรายการแพ็กเกจทั้งหมดที่ติดตั้งโดยเจตนา (ไม่ใช่การขึ้นต่อกัน) โดยคำสั่ง apt ให้รันดังต่อไปนี้:
(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
egrep '^(Start-Date:|Commandline:)' |
grep -v aptdaemon |
egrep '^Commandline:'
นี่เป็นมุมมองแบบย้อนกลับโดยมีคำสั่งเก่าแสดงอยู่ก่อน:
Commandline: apt-get install k3b
Commandline: apt-get install jhead
...
ข้อมูลการติดตั้งยังแสดงการใช้งานแบบซิงโครนิก แต่ไม่มีรายละเอียด (เหมือนกันกับวันที่ติดตั้ง):
(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
egrep '^(Start-Date:|Commandline:)' |
grep -v aptdaemon |
egrep -B1 '^Commandline:'
ให้ดังต่อไปนี้:
Start-Date: 2012-09-23 14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23 15:02:51
Commandline: apt-get install sysstat
...
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
ไม่?
สร้างการสำรองข้อมูลของแพ็คเกจที่ติดตั้งอยู่ในปัจจุบัน:
dpkg --get-selections > list.txt
จากนั้น (ในระบบอื่น) กู้คืนการติดตั้งจากรายการนั้น:
dpkg --clear-selections
sudo dpkg --set-selections < list.txt
ในการกำจัดแพ็คเกจเก่า:
sudo apt-get autoremove
ในการรับการติดตั้งเช่นเวลาสำรอง (เช่นการติดตั้งแพ็คเกจที่กำหนดโดยdpkg --set-selections
):
sudo apt-get dselect-upgrade
ubuntu-desktop
ถอนการติดตั้งอย่างใด- อาจเป็นเพราะหนึ่งในคำสั่ง dpkg ระวังฉันใช้เวลาหลายชั่วโมงเพื่อซ่อมแซมความเสียหาย!
sudo apt-mark hold name-your-package
และบางครั้งระบบจะอัปเดตแอปที่คุณต้องการโดยเฉพาะระบบที่จะได้สัมผัสมันเคยทำไฟนี้ในตอนท้ายของคำสั่ง วิธีนี้จะป้องกัน apt-get จากการอัปเกรดเป็นเวอร์ชันปัจจุบันซึ่งเป็นค่าเริ่มต้นสำหรับกระบวนการอัปเดต
apt-mark showmanual
รัฐคนหน้า:
จะพิมพ์รายการแพคเกจที่ติดตั้งด้วยตนเอง
ดังนั้นจึงควรให้รายการของแพคเกจที่ติดตั้งไว้อย่างชัดเจน (ซึ่งรวมถึงแพคเกจที่เป็นส่วนหนึ่งของการติดตั้งเริ่มต้นเริ่มต้น) โดยไม่มีการอ้างอิงทั้งหมดที่รวมอยู่เนื่องจากแพ็คเกจเหล่านี้จะถูกติดตั้ง
ในการแสดงผลลัพธ์เป็นไฟล์ข้อความ:
apt-mark showmanual > list-manually-installed.txt
apt-mark showmanual
ไม่ได้จริงๆ นอกจากนี้ยังแสดงรายการแพ็คเกจที่ติดตั้งโดยอัตโนมัติเป็นจำนวนมากอาจเป็นส่วนหนึ่งของการติดตั้งพื้นฐาน
apt list --manual-installed
ไม่มีใครพูดถึงทางเลือกนี้จะแสดงรายการแพคเกจติดตั้งด้วยตนเอง:
dpkg-query
(แทนdpkg --get-selections
ซึ่งจะแสดงรายการแพคเกจบางอย่างที่ไม่ได้ติดตั้ง) ดังนี้:
dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed | sort -u | cut -f1 -d \ > installed-pkgs
หรือ:
dpkg -l | grep ^ii | sed 's_ _\t_g' | cut -f 2 > installed-pkgs
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
ฉันใช้ระบบที่สองเพื่อติดตั้งแพคเกจ
apt-get install -y $(< installed-pkgs)
จะทำให้ apt-get ทำงานเพียงครั้งเดียวและคอยดูแลการพึ่งพาทั้งหมดในครั้งเดียว
sudo apt-get build-dep name-package; sudo apt-get install name-package;
อย่างไร
ในการแสดงรายการแพ็คเกจที่ติดตั้งทั้งหมด
dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt
หรือ
aptitude search -F '%p' '~i' > 1.txt
หรือ
dpkg --get-selections > 1.txt
หมายเหตุ:
คุณจะได้รับไฟล์ 1.txt ผลลัพธ์ในโฟลเดอร์บ้านของคุณหรือคุณสามารถระบุเส้นทางของคุณเอง
คุณสามารถใช้ Synaptic เพื่อบันทึกสถานะปัจจุบันของแพ็คเกจที่คุณติดตั้ง ใน Synaptic เลือก "ไฟล์ / บันทึกเครื่องหมาย" ใส่ชื่อไฟล์เพื่อบันทึกสถานะและตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในช่อง "บันทึกสถานะเต็มไม่เพียง แต่เปลี่ยนแปลง"
ไฟล์ที่บันทึกจากสิ่งนี้สามารถโหลดลงในเครื่องใหม่โดยใช้ "ไฟล์ / เครื่องหมายการอ่าน" ใน Synaptic
ผมขอแนะนำให้ใช้พิมพ์เขียว แม้ว่ามันจะถูกออกแบบมาสำหรับเซิร์ฟเวอร์ แต่ก็สามารถใช้จากเดสก์ท็อปได้เช่นกัน มันจะสร้างเชลล์สคริปต์ / chef / puppet ที่คุณใช้เพื่อติดตั้งแพ็กเกจทั้งหมดใหม่อีกครั้ง
คุณต้องการติดตั้งแพ็กเกจใหม่ตอนนี้ที่ 12.04 ใช่ไหม?
ถ้าเป็นเช่นนั้นมันง่ายมาก คุณจะต้องมีบัญชี "Ubuntu ลงชื่อเข้าใช้ครั้งเดียว" (สร้างก่อนทำการติดตั้งใหม่เพื่อให้ระบบของคุณซิงค์)
ไปที่ศูนย์ซอฟต์แวร์และค้นหาตัวเลือก "ซิงค์ระหว่างคอมพิวเตอร์ ... " ใต้เมนูไฟล์
เมื่อคุณคลิกที่มันคุณจะเห็นคอมพิวเตอร์ของคุณลงทะเบียนและรายการแอพทั้งหมดในคอมพิวเตอร์ของคุณ
เมื่อคุณจะติดตั้งใหม่คอมพิวเตอร์นั้นจะถือเป็นคอมพิวเตอร์เครื่องใหม่
คุณเพียงแค่ต้องลงชื่อเข้าใช้บัญชี Ubuntu ของคุณและคอมพิวเตอร์เครื่องก่อนหน้าของคุณจะปรากฏขึ้น
คลิกที่มัน คุณจะได้รับรายการแอพทั้งหมด เลือก "ติดตั้ง" บนแอพที่คุณต้องการติดตั้ง
นอกจากนี้ยังมีเครื่องมือที่เรียกว่าAptik (ทั้งบรรทัดคำสั่งและ GUI) ซึ่งสามารถช่วยคุณดูรายการแพ็คเกจที่ติดตั้งทั้งหมดพร้อมตัวเลือกในการเลือก / ยกเลิกการเลือกแพคเกจบางรายการสร้างรายการสำรองแล้วเรียกคืนแพคเกจชุดเดียวกันใน ระบบอื่น
ติดตั้ง:
sudo add-apt-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik
ข้อมูลเพิ่มเติม: https://teejeetech.in/aptik/
ดังที่เห็นในภาพหน้าจอAptikให้คุณสำรองและกู้คืน PPAsซึ่งจำเป็นอย่างยิ่งที่จะต้องติดตั้งแพ็คเกจที่ติดตั้งไว้
apt-get install aptik-gtk
เช่นกัน
APT-Clone แพคเกจนี้สามารถใช้ในการโคลน / กู้คืนแพ็คเกจบนระบบที่ใช้ apt
- มันจะบันทึก / กู้คืนแพคเกจ, source.list, พวงกุญแจและสถานะที่ติดตั้งโดยอัตโนมัติ
- นอกจากนี้ยังสามารถบันทึก / กู้คืนแพ็กเกจที่ไม่สามารถดาวน์โหลดได้อีกต่อไปโดยใช้ dpkg-repack
แหล่งที่มา:
man apt-clone
APT-Clone ใช้ubiquity
(ตัวติดตั้ง Ubuntu) สำหรับกระบวนการอัปเกรด มันดีกว่าdpkg --get-selections
โซลูชันเพราะ:
วิธีใช้
ติดตั้ง
sudo apt-get install apt-clone
ทำการสำรองข้อมูล
sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
คืนค่าการสำรองข้อมูล
sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
คืนค่าเป็นรีลีสที่ใหม่กว่า:
sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
มันทำให้ไฟล์ tar gzipped ง่าย ๆ ซึ่งสามารถแก้ไขและตรวจสอบได้ง่ายก่อนที่จะกู้คืนบนเครื่องอื่น นี่คือตัวอย่างของโครงสร้าง:
/
├── etc
│ └── apt
│ ├── preferences.d
│ ├── sources.list
│ ├── sources.list.d
│ │ ├── anton_-ubuntu-dnscrypt-vivid.list
│ │ ├── maarten-baert-ubuntu-simplescreenrecorder-vivid.list
│ │ └── megasync.list
│ ├── trusted.gpg
│ └── trusted.gpg.d
│ ├── anton__ubuntu_dnscrypt.gpg
│ ├── anton__ubuntu_dnscrypt.gpg~
│ ├── maarten-baert_ubuntu_simplescreenrecorder.gpg
│ └── maarten-baert_ubuntu_simplescreenrecorder.gpg~
└── var
└── lib
└── apt-clone
├── extended_states
├── installed.pkgs
└── uname
มีคำอธิบายที่ดีเกี่ยวกับ Unix StackExchangeที่อธิบายวิธีการใช้ความสามารถในการแสดงรายการแพ็กเกจที่ไม่ได้ติดตั้งเป็นการอ้างอิงและวิธีเปรียบเทียบรายการนั้นกับรายการแพคเกจเริ่มต้นสำหรับรุ่น Ubuntu ของคุณ
หากต้องการรับไฟล์ Manifest สำหรับรุ่นเดสก์ท็อปที่ 12.04 และใหม่กว่าให้ไปที่ไซต์นี้เลือกรุ่นของคุณแล้วเลื่อนลงมาด้านล่างอิมเมจซีดีลงในส่วนของไฟล์ คุณจะพบบางอย่างเช่น "ubuntu-12.04.4-desktop-amd64 + mac.manifest" ที่ตรงกับสถาปัตยกรรมของคุณ
สำหรับรุ่นเซิร์ฟเวอร์คุณจะต้องได้รับไฟล์ Manifest จาก ISO ที่ใช้ในการติดตั้งระบบดั้งเดิม สำหรับ VPS หรือเซิร์ฟเวอร์คลาวด์ผู้ให้บริการของคุณอาจทำให้ภาพพร้อมใช้งานหรือคุณอาจต้องติดต่อกับพวกเขา
นี่คือตัวอย่างการใช้รหัสจากโพสต์อ้างอิงพร้อมกับการแก้ไขเพื่อติดตั้งบนเซิร์ฟเวอร์ใหม่
เซิร์ฟเวอร์เก่า (รหัสจากโพสต์อื่นบันทึกผลลัพธ์ไปยังไฟล์):
aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-amd64.manifest \
| cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list
บนเซิร์ฟเวอร์ใหม่ให้คัดลอกไฟล์โดยใช้ scp จากนั้นใช้ sed เพื่อผนวก 'ติดตั้ง' ลงในทุกบรรทัด (-i ทำการแทนที่แบบอินไลน์) จากนั้นคุณสามารถใช้รายการเป็นอินพุตเพื่อ 'dpkg --set-selections' และติดตั้งแพ็กเกจด้วย apt-get:
scp user@oldserver:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
sudo dpkg --set-selections < user-installed.list
sudo apt-get dselect-upgrade
ก่อนที่จะเริ่มภารกิจนี้ฉันขอแนะนำให้อ่านและทำความเข้าใจทุกส่วนของโพสต์ที่กล่าวถึงในตอนต้นจากนั้นศึกษาคู่มืออ้างอิงความถนัดเพื่อดูรายละเอียดเกี่ยวกับรูปแบบการค้นหา
คุณสามารถดูapt
บันทึกใต้/var/log/apt/
และdpkg
บันทึกใต้/var/log/
และคุณสามารถรับรายการแพ็กเกจที่ติดตั้งด้วยคำสั่ง:
dpkg -l | grep '^ii '
ฉันประหลาดใจที่apt-cache
คำสั่งที่ออกแบบมาเพื่อจุดประสงค์นี้ไม่ได้ถูกกล่าวถึงข้างต้น ...
apt-cache pkgnames
สำหรับข้อมูลเพิ่มเติมเรียกใช้apt-cache --help
:
** apt-cache เป็นเครื่องมือระดับต่ำที่ใช้ในการสืบค้นข้อมูล จากไฟล์แคชไบนารีของ APT คำสั่ง: gencaches - สร้างทั้งแพ็คเกจและแคชต้นทาง showpkg - แสดงข้อมูลทั่วไปสำหรับแพ็คเกจเดียว showsrc - แสดงระเบียนแหล่งที่มา สถิติ - แสดงสถิติพื้นฐานบางอย่าง ดัมพ์ - แสดงไฟล์ทั้งหมดในรูปแบบ terse dumpavail - พิมพ์ไฟล์ที่มีอยู่เพื่อ stdout unmet - แสดงการพึ่งพาแบบไม่แน่นอน ค้นหา - ค้นหารายการแพ็กเกจสำหรับรูปแบบ regex แสดง - แสดงระเบียนที่อ่านได้สำหรับแพ็คเกจ ขึ้นอยู่กับ - แสดงข้อมูลการอ้างอิงดิบสำหรับแพคเกจ rdepends - แสดงข้อมูลการพึ่งพาแบบย้อนกลับสำหรับแพ็คเกจ pkgnames - แสดงรายชื่อของแพ็คเกจทั้งหมดในระบบ dotty - สร้างกราฟแพคเกจสำหรับ GraphViz xvcg - สร้างกราฟแพคเกจสำหรับ xvcg นโยบาย - แสดงการตั้งค่านโยบาย ตัวเลือก: -h ข้อความช่วยเหลือนี้ -p =? แพ็กเกจแคช -s =? แหล่งแคช -q ปิดใช้งานตัวบ่งชี้ความคืบหน้า -i แสดงเฉพาะ deps ที่สำคัญสำหรับคำสั่ง unmet -c =? อ่านไฟล์การกำหนดค่านี้ -o =? ตั้งค่าตัวเลือกการกำหนดค่าเองเช่น -o dir :: cache = / tmp ดูหน้า apt-cache (8) และ apt.conf (5) หน้าคู่มือสำหรับข้อมูลเพิ่มเติม **
apt --installed list
ให้ผลลัพธ์ที่ดีที่สุด (ตามที่แนะนำในคำตอบด้านบน แต่apt-cache pkgnames
ดูเหมือนว่าจะทำเคล็ดลับได้อย่างรวดเร็วก่อนมันรายการ "ทุกแพคเกจในระบบ" (ต่อข้อความช่วยเหลือด้านบน) ซึ่งรวมถึงแพคเกจที่รู้เกี่ยวกับ แต่ไม่ได้ติดตั้งจริง ๆ มี--installed
ตัวเลือก แต่ดูเหมือนจะใช้งานpkgnames
ไม่ได้
apt-cache pkgnames | wc -l
ให้55909
แพคเกจ (ระบบรู้เกี่ยวกับ) ในขณะที่aptitude search '~i!~M' | wc -l
ให้2160
(แพคเกจติดตั้งอย่างชัดเจนโดยไม่มีการอ้างอิง)
สำหรับบทสรุปที่สมบูรณ์ดู:
ครึ่งทางทั่วหน้า:
dpkg - รายการ
คำสั่งด้านล่างจะแสดงรายการแพ็คเกจทั้งหมดที่ติดตั้ง
grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
/var/log/dpkg.log*
เพื่อรับบันทึกการหมุนทั้งหมด
ช่วยวิกิชุมชนนี้ - เพิ่มโซลูชั่นที่ทันสมัย
คำสั่งนี้ควรสร้างไฟล์ข้อความที่มีแพ็คเกจที่ติดตั้งสำเร็จแล้ว:
dpkg -l | awk '{print $2}' > package_list.txt
เพื่อให้การติดตั้งแพ็กเกจที่แสดงเสร็จสมบูรณ์เป็นจำนวนมากคุณจะต้องแก้ไข 'package_list.txt' ลบบรรทัดแปลก ๆ ที่ด้านบนของไฟล์โดยใช้โปรแกรมแก้ไขข้อความ จากนั้นคุณสามารถใช้คำสั่งนี้เพื่อติดตั้งแพ็กเกจจากไฟล์ที่สร้างโดยใช้:
xargs < package_list.txt apt-get install -y
ใช้วิธีการนี้เฉพาะในกรณีที่คุณต้องการให้ติดตั้งแพ็กเกจปัจจุบันทั้งหมดโดยใช้รายการ ( ซึ่งรวมถึงการติดตั้งอัตโนมัติ ฯลฯ )
ส่งออกการตอบสนองของ 'apt-cache pkgnames' ไปยังไฟล์เราจะตั้งชื่อ "package_list.txt" คุณสามารถทำสิ่งนี้ได้ด้วย:
apt-cache pkgnames > package_list.txt
จากนั้นเมื่อคุณต้องการติดตั้งแพคเกจจาก "package_list.txt" คุณจะใช้คำสั่งนี้:
xargs < package_list.txt apt-get install -y
เราสามารถใช้คำสั่งapt-mark showmanual
เพื่อให้รายการของแพคเกจที่ติดตั้งด้วยตนเองหรือเริ่มต้นกับ Ubuntu เราจะต้องการส่งออกไปยังไฟล์ที่เราจะเรียกว่า "package-list.txt" ใช้คำสั่งนี้เพื่อทำให้สำเร็จ:
apt-mark showmanual > package-list.txt
คำสั่งที่เราจะใช้ในการติดตั้งแพ็กเกจจากไฟล์ "package_list.txt" อยู่ด้านล่าง
xargs < package_list.txt apt-get install -y
ยูทิลิตี้เพื่อลดความยุ่งยากในการติดตั้งแพคเกจซอฟต์แวร์อีกครั้งหลังจากการอัพเกรด / ติดตั้งการกระจายบน Ubuntu อีกครั้ง
[ Launchpad | Aptik ]
สำหรับข้อมูลเกี่ยวกับ Aptik ลองไปที่หน้าอย่างเป็นทางการของมันและสำหรับภาพหน้าจอคลิกที่นี่หรือดูส่วนท้ายของส่วนนี้
การติดตั้ง Aptikนั้นง่ายมาก ทำตามขั้นตอนเหล่านี้:
เพิ่ม PPA ด้วย:
sudo add-apt-repository -y ppa:teejee2008/ppa
อัปเดต apt ด้วยคำสั่งด้านล่าง
sudo apt-get update
ติดตั้ง Aptik โดยใช้:
sudo apt-get install aptik
apt-mark showmanual
รวมถึง Bash, Unity และ Xorg รวมถึงกลุ่มอื่น ๆ พวกเขาควรจะอยู่ที่นั่นหรือไม่?
หากต้องการบันทึกรายการแพ็กเกจที่ติดตั้งลงในไฟล์ชื่อinstalled_packages.txt
ให้รัน:
dpkg-query --list >> installed_packages.txt
ฉันคิดว่ามันน่าสนใจที่จะทราบapt list --installed
หรือdpkg-query --list
ใช้ไฟล์ที่เรียกว่า/var/lib/dpkg/status
ด้านหลังซึ่งข้อมูลทั้งหมดเกี่ยวกับแพ็คเกจเป็นเครา
ดังนั้นหากคุณต้องการจัดการกับรายการแพคเกจcat /var/lib/dpkg/status
สุดพิเศษ
หมายเหตุ: อย่าแก้ไข/var/lib/dpkg/status
ไฟล์
นอกจากนี้ในการAPTแพคเกจ, แพคเกจ GUI จำนวนมากมีการกระจายในปัจจุบันเป็นsnaps
หากไม่พบแพ็คเกจของคุณapt list --installed
ให้ลองsnap list
:
$ snap list
Name Version Rev Tracking Publisher Notes
gimp 2.10.10 165 stable snapcrafters -
gnome-calculator 3.32.1 406 stable/… canonical✓ -
keepassxc 2.4.1 267 stable keepassxreboot -
...
เป็นความคิดที่ดีที่จะเพิ่ม/snap/bin
ใน PATH เพื่อให้คุณสามารถเริ่มต้นจากเทอร์มินัล (ทำโดยอัตโนมัติสำหรับผู้ใช้ที่ไม่ใช่รูท)
แพ็กเกจdctrl-tools
จัดเตรียมgrep-status
เครื่องมือเพื่อรับรายการของแพ็กเกจที่ทำเครื่องหมายว่าติดตั้งบนระบบของคุณ:
sudo apt install dctrl-tools
การใช้งาน:
grep-status -FStatus -sPackage -n "install ok installed"
ดู: man dctrl-tools
https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :
1. รายการแพ็คเกจซอฟต์แวร์ที่ติดตั้งบน Ubuntu
ในการแสดงรายการซอฟต์แวร์แพ็กเกจที่ติดตั้งบนเครื่องของคุณคุณสามารถใช้คำสั่งต่อไปนี้:
sudo apt list --installed
ผลลัพธ์ของคำสั่งจะคล้ายกันมากกับสิ่งต่อไปนี้ขึ้นอยู่กับแพคเกจที่ติดตั้งในปัจจุบัน:
Listing... acl/xenial,now 2.2.52-3 amd64 [installed] adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed] apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed] apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic] apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic] apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed] apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed] apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 amd64 [installed,automatic] apt/xenial-updates,now 1.2.19 amd64 [installed] apt-utils/xenial-updates,now 1.2.19 amd64 [installed] ...
2. ใช้โปรแกรมน้อยกว่า
หากต้องการอ่านเอาต์พุตทั้งหมดอย่างง่ายดายคุณสามารถใช้
less
โปรแกรมsudo apt list --installed | less
3. ใช้คำสั่ง GREP
คุณสามารถค้นหาแพ็คเกจเฉพาะผ่านเอาต์พุตโดยใช้
grep
โปรแกรมsudo apt list --installed | grep -i apache
4. แสดงรายการแพ็คเกจทั้งหมดที่รวม Apache
เอาต์พุตจากคำสั่งด้านบนจะแสดงรายการแพ็กเกจทั้งหมดที่รวม
apache
อยู่ในชื่อapache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed] apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic] apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic] apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed] apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed] libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic] libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 amd64 [installed,automatic] libapache2-mod-security2/xenial,now 2.9.0-1 amd64 [installed] libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]
Apt สนับสนุนรูปแบบเพื่อจับคู่ชื่อแพคเกจและตัวเลือกเพื่อแสดงรายการ
(--installed)
แพ็คเกจที่ติดตั้งแพคเกจที่สามารถอัพเกรดได้(--upgradeable)
หรือ(--all-versions)
รุ่นของแพ็คเกจที่มีทั้งหมด5. ใช้โปรแกรม DPKG
อีกทางเลือกหนึ่งที่คุณสามารถใช้เพื่อแสดงรายการแพ็กเกจซอฟต์แวร์ที่ติดตั้งบนUbuntu VPSของคุณคือ
dpkg
คำสั่งsudo dpkg -l
ผลลัพธ์ของคำสั่งจะให้ข้อมูลเช่นชื่อของแพ็คเกจรุ่นสถาปัตยกรรมและคำอธิบายสั้น ๆ เกี่ยวกับแพ็คเกจ แน่นอนคุณสามารถใช้
grep
โปรแกรมอีกครั้งเพื่อค้นหาแพคเกจเฉพาะsudo dpkg -l | grep -i apache
ผลลัพธ์ควรมีลักษณะดังนี้:
ii apache2 2.4.18-2ubuntu3.1 amd64 Apache HTTP Server ii apache2-bin 2.4.18-2ubuntu3.1 amd64 Apache HTTP Server (modules and other binary files) ii apache2-data 2.4.18-2ubuntu3.1 all Apache HTTP Server (common files) ii apache2-doc 2.4.18-2ubuntu3.1 all Apache HTTP Server (on-site documentation) ii apache2-utils 2.4.18-2ubuntu3.1 amd64 Apache HTTP Server (utility programs for web servers) rc apache2.2-common 2.2.22-6ubuntu5.1 amd64 Apache HTTP Server common files ii libapache2-mod-php 1:7.0+35ubuntu6 all server-side, HTML-embedded scripting language (Apache 2 module) (default) rc libapache2-mod-php5 5.5.9+dfsg-1ubuntu4.16 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii libapache2-mod-php7.0 7.0.13-0ubuntu0.16.04.1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii libapache2-mod-security2 2.9.0-1 amd64 Tighten web applications security for Apache ii libapache2-modsecurity 2.9.0-1 all Dummy transitional package ii libapr1:amd64 1.5.2-3 amd64 Apache Portable Runtime Library ii libaprutil1:amd64 1.5.4-1build1 amd64 Apache Portable Runtime Utility Library ii libaprutil1-dbd-sqlite3:amd64 1.5.4-1build1 amd64 Apache Portable Runtime Utility Library - SQLite3 Driver ii libaprutil1-ldap:amd64 1.5.4-1build1 amd64 Apache Portable Runtime Utility Library - LDAP Driver .
ด้วยการแข่งขันของบทช่วยสอนนี้คุณได้เรียนรู้วิธีแสดงรายการแพ็คเกจที่ติดตั้งใน Ubuntu เรียบร้อยแล้ว
มีหลายวิธีที่จะทำเช่นนั้น ในกรณีที่คุณใช้ CentOS อย่างฉันคุณสามารถใช้สิ่งเหล่านี้: 1. yum list installed
2.rpm -qa