วิธีแสดงรายการแอปพลิเคชันที่ติดตั้งโดยผู้ใช้ (ไม่ใช่แพ็คเกจ)


28

ไม่ใช่แพ็คเกจและไม่ใช่ทุกแอปพลิเคชัน เพียงแค่แอปพลิเคชันที่ผู้ใช้ติดตั้งเองจากแหล่งใด ๆ (Software Center, เพิ่ม PPA ด้วยตนเอง ฯลฯ )

หากเป็นไปไม่ได้ - รายการแอปพลิเคชันที่ติดตั้งทั้งหมดหรืออย่างน้อย GUI ที่แสดงรายการแอปพลิเคชันเพื่อให้ฉันสามารถจับภาพหน้าจอได้

ฉันได้อ่านคำถามที่คล้ายกันหลายสิบคำถามและผู้คนที่โพสต์คำตอบมักจะไม่ได้ใกล้เคียงกับการทำบุญคำถาม OP โปรดทราบว่าคำถามของฉันรวมถึง 'ผู้ใช้ติดตั้ง'

คำตอบ: ปัจจุบันเป็นไปไม่ได้ใน Ubuntu Linux (เลือกคำตอบของ tijybba ว่าใกล้เคียงที่สุด)

คำตอบ:


30

คุณสามารถใช้ศูนย์ซอฟต์แวร์ Ubuntu ได้จริงดังที่แสดงในภาพหน้าจอที่นี่:

ศูนย์ซอฟต์แวร์ Ubuntu: "ติดตั้ง" - เมนู

นอกจากนี้คุณสามารถดูได้ในการเลือกรายการด้านล่างซ้าย Synaptic

โดยcd /etc/apt/sources.list.d/ && cat *.listคุณจะได้รับรายชื่อที่เก็บข้อมูลทั้งหมดในระบบของคุณ

นอกจากนี้คุณยังสามารถจัดการ PPA Yเพื่อสำรองและอัพเดทที่เก็บของคุณ


วิธีที่สอง

[เนื่องจากวิธีนี้เกี่ยวข้องกับการติดตั้งแพ็กเกจทั้งหมด แต่ถ้าเราคิดว่าระบบปฏิบัติการที่ติดตั้งใหม่จะมีแพ็คเกจ 90% อยู่แล้วดังนั้นมันจะไม่สนใจสิ่งที่มีอยู่ในปัจจุบันและติดตั้งแพ็กเกจที่เพิ่มด้วยตนเองใหม่

วิธีการนี้จากที่นี่

sudo dpkg --get-selections > installed-applications.txt

มันจะสร้างรายการแอปพลิเคชันที่ติดตั้งในไฟล์ txt ในโฮมโฟลเดอร์

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

sudo dpkg --set-selections < installed-applications.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

นี่เป็นไปได้ด้วยวิธี Gui

sudo add-apt-repository ppa:webupd8team/mintbackup && sudo apt-get update
sudo apt-get install mintbackup

ป้อนคำอธิบายรูปภาพที่นี่

ฉันเดาภาพเกือบจะพูดตัวเองสำรองการเลือกของคุณแล้วในการติดตั้งใหม่คืนค่า


ไม่สามารถเพิ่ม PPA: 'ppa: ~ webupd8team / ubuntu / mintbackup' ทีมชื่อ '~ webupd8team' ไม่มี PPA ชื่อ 'ubuntu / mintbackup'
alhelal

dpkg: คำเตือน: แพ็คเกจไม่อยู่ในสถานะหรือไม่มีฐานข้อมูลที่บรรทัดที่ 1574: wireshark และอื่น ๆ สำหรับแอปพลิเคชันทั้งหมด
alhelal

11

apt-mark showmanualจะให้รายการแพคเกจ "ติดตั้งด้วยตนเอง" ให้คุณ ซึ่งรวมถึงแพ็คเกจที่ติดตั้งโดยโปรแกรมติดตั้งซึ่งส่วนใหญ่เป็นแพ็คเกจ แต่ถ้าคุณเรียกใช้สิ่งนี้หลังจากการติดตั้งและเปรียบเทียบผลลัพธ์อีกครั้งในภายหลังคุณจะได้รับรายการแพคเกจที่ผู้ใช้ร้องขอเป็นพิเศษไม่รวมการพึ่งพาที่ติดตั้งโดยอัตโนมัติ

ตัวอย่างเช่น:

$ # Save the current list of manually installed packages
$ apt-mark showmanual | sort > original-package-list

# ...time passes...

$ # Compare the old list with the current list
$ # (this will output a list of packages that have been installed by the user since the last command)
$ apt-mark showmanual | sort | comm -13 - original-package-list

โปรดทราบว่าแอปพลิเคชันเป็นแพ็คเกจเท่าที่ Software Center และ PPAs ที่เพิ่มด้วยตนเองมีความกังวล ความแตกต่างระหว่างแพคเกจที่ร้องขอโดยเฉพาะและแพคเกจที่นำมาเพื่อตอบสนองการพึ่งพาคือฉันคิดว่าดีที่สุดที่คุณสามารถทำได้

dpkg-query -W -f'${PackageSpec}\n'หรือเพียงแค่เห็นรายชื่อของทุกแพคเกจติดตั้งการทำงาน


2

เฉพาะ root เท่านั้นที่สามารถติดตั้งแพ็คเกจภายใต้ Ubuntu ผู้ใช้ที่สามารถทำได้เพียง 1 เท่านั้น sudoers เป็นผู้ใช้ที่มีสิทธิ์เท่าเทียมกัน

อย่างไรก็ตามคุณสามารถรับข้อมูลจำนวนมากได้จากการดูบันทึกคุณสามารถดูได้

apt log ภายใต้/var/log/apt/ dpkg log/var/log/

และคุณสามารถรับรายการแพ็คเกจที่ติดตั้งได้ด้วยคำสั่ง:

dpkg -l | grep ii

คุณสามารถเรียบเรียงคำถามของฉันใหม่ได้ตามต้องการ ถ้ามันถูกเรียกว่า 'sudoers ที่ติดตั้งแอปพลิเคชัน' ดังนั้นไม่ว่าจะเป็น :) ธรรมชาติฉันสามารถใช้ถ้อยคำใหม่คำถามของฉันเป็น "และคุณสามารถรับรายการแพ็คเกจที่ติดตั้ง" - เพื่อจุดประสงค์ใด
Bucic

+1 สำหรับ / var / log / apt หากคุณติดตั้งทุกอย่างด้วย apt-get การค้นหา 'บรรทัดคำสั่ง:' ในบันทึกนี้จะแสดงรายการสิ่งที่คุณติดตั้งด้วยตนเอง
drevicko

1

ที่จริงตามคำถามของคุณฉันเห็นว่าคำสั่งต่อไปนี้ทำสิ่งที่คุณต้องการ dpkg -l | grep ii รายการนี้แสดงทุกแพ็คเกจที่ติดตั้งไว้สำหรับฉัน ตอนนี้ไม่ได้บอกผู้ใช้ A หรือผู้ใช้ B แต่นี่เป็นข้อ จำกัด ไม่ใช่ sudo แต่เป็นบันทึกของศูนย์ซอฟต์แวร์ แม้จะใช้ sudo ผู้ใช้ที่เรียกว่า sudo จะถูกส่งผ่านดังนั้นคุณยังสามารถมีบันทึกแอพที่เรียกว่า sudo เพื่อเรียกใช้คำสั่ง แน่นอนว่าคุณสามารถหลีกเลี่ยงปัญหานี้ได้อย่างง่ายดายเพราะส่วนหนึ่งของ sudo คือความสามารถในการเข้าสู่ระบบในฐานะผู้ใช้ใด ๆ [ผู้ที่สามารถเข้าถึง sudo] หากคุณรู้รหัสผ่านของพวกเขาแฮ็กหรือเปลี่ยนแปลงหากคุณมีสิทธิ์เหล่านั้นในระบบ

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

ฉันรู้สึกว่าคุณกำลังถามตัวเองว่าคุณติดตั้งแพคเกจใดตั้งแต่ติดตั้งระบบเพื่อให้คุณสามารถล้างข้อมูลหรือติดตั้งการตั้งค่าไปยังเครื่องใหม่ คำตอบที่นี่ครอบคลุมการสำรองข้อมูล / เรียกคืนแล้วดังนั้นเราจะข้ามไป

เนื่องจากไม่มีวิธีที่ง่ายในการค้นหาผู้ใช้รายใดที่เรียกว่าการติดตั้งแพคเกจแนวทางที่ดีกว่าอาจจะใช้คำสั่งตามที่ระบุไว้ข้างต้นและโดยผู้ใช้รายอื่นเพื่อแสดงรายการแพ็คเกจที่ติดตั้งทั้งหมดและเปิดหน้าต่าง Google Google ค้นหาเพื่อกำหนดแพคเกจที่จำเป็นเพื่อให้ระบบของคุณใช้งานได้และแพ็คเกจใดไม่ทำงาน

ข้ามไปที่นี่เพื่อข้ามส่วนใหญ่ของปุยและรับคำตอบเพิ่มเติมโดยตรง ...

คุณยังสามารถตรวจสอบบันทึก sudoers ของคุณเพื่อดูว่าใครถูกเรียกให้ติดตั้งสิ่งที่ให้ฉันแสดงตัวอย่าง

May 15 11:26:30 <COMPUTERNAME> sudo:   <user who called sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)

ดังนั้นสิ่งนี้จะบอกฉันในเวลานี้และวันที่ที่ผู้ใช้รายนี้เรียกใช้ sudo [จริง ๆ แล้วในกรณีนี้ gksu ใช้ btw] ผู้ใช้ sudo คนใดที่อนุญาตให้พวกเขาได้รับอนุญาตและคำสั่งใหญ่ก็วิ่ง!

ตอนนี้ถ้าคุณต้อง grep สำหรับ apt-get หรือคล้ายกันภายใน sudo log [/var/log/auth.log] และอันที่เก่ากว่าจะมี. 0 .1 และต่อท้ายไป

คุณสามารถแยกชิ้นส่วนที่ติดตั้งผู้ใช้ที่เรียกใช้บนบรรทัดคำสั่งเอง หากพวกเขาใช้ศูนย์ซอฟต์แวร์ฉันไม่แน่ใจว่าคำสั่งเทอร์มินัลที่เกี่ยวข้องจะได้รับบรรทัดรับรองความถูกต้องที่นี่หรือไม่ แต่คุณจะใช้บันทึกศูนย์ซอฟต์แวร์ที่พบที่:

/var/log/apt/history.log และบันทึกที่เก่ากว่าอยู่ในไฟล์บีบอัด. gz

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

ไฟล์บันทึกทั้งสองที่กล่าวถึงนั้นเป็นข้อความธรรมดาและคุณสามารถใช้ gedit, mousepad, leafpad ใดก็ได้ที่ตัวแก้ไขข้อความของ Ubuntu ใช้สำหรับเป็นค่าเริ่มต้นในการดูและพิมพ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.