Làm thế nào để liệt kê các ứng dụng do người dùng cài đặt (không phải gói)?


28

Không phải gói và không phải tất cả các ứng dụng. Chỉ người dùng ứng dụng tự cài đặt từ bất kỳ nguồn nào (Trung tâm phần mềm, PPA được thêm thủ công, v.v.).

Nếu điều trên là không thể - một danh sách tất cả các ứng dụng đã cài đặt hoặc ít nhất là GUI liệt kê các ứng dụng để tôi có thể chụp ảnh màn hình của nó.

Tôi đã đọc hàng tá câu hỏi tương tự và mọi người đăng câu trả lời thường thậm chí không gần với công trạng câu hỏi của OP. Xin lưu ý rằng câu hỏi của tôi bao gồm 'người dùng đã cài đặt'.

Trả lời: Hiện tại không thể có trong Ubuntu Linux. (chọn câu trả lời của tijybba là câu trả lời gần nhất)

Câu trả lời:


30

Bạn thực sự có thể sử dụng Trung tâm phần mềm Ubuntu , như trong ảnh chụp màn hình ở đây:

Trung tâm phần mềm Ubuntu: "Đã cài đặt" -menu

Ngoài ra, bạn có thể thấy nó trong các lựa chọn danh sách dưới cùng bên trái Synaptic.

Bởi cd /etc/apt/sources.list.d/ && cat *.listbạn sẽ nhận được danh sách tất cả các kho lưu trữ trong hệ thống của bạn.

Bạn cũng có thể quản lý Y PPA để sao lưu và cập nhật kho lưu trữ của mình.


Phương pháp thứ hai

[Vì phương pháp này liên quan đến việc cài đặt tất cả các gói, nhưng nếu chúng tôi nghĩ rằng HĐH mới được cài đặt sẽ có các gói 90% đó, vì vậy nó sẽ bỏ qua các gói hiện tại và cài đặt các gói mới được thêm thủ công, đây sẽ chỉ là các ứng dụng được cài đặt thủ công của bạn]

Phương pháp này từ đây .

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

nó sẽ tạo một danh sách các ứng dụng được cài đặt trong tệp txt trong thư mục nhà.

Để sử dụng tệp này để cài đặt các ứng dụng tương tự bạn sẽ phải làm (Nhưng trước đó, vui lòng thêm tất cả các Kho lưu trữ của bên thứ ba như đã có trong ứng dụng cũ hơn)

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

Điều này cũng có thể thông qua cách Gui

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

nhập mô tả hình ảnh ở đây

Tôi đoán hình ảnh gần như tự nói, sao lưu lựa chọn của bạn, sau đó trong Cài đặt mới khôi phục nó.


Không thể thêm PPA: 'ppa: ~ webupd8team / ubfox / mintbackup'. Nhóm có tên '~ webupd8team' không có PPA có tên 'ubfox / mintbackup'
alrcal

dpkg: cảnh báo: gói không ở trạng thái cũng như cơ sở dữ liệu có sẵn ở dòng 1574: wireshark và vv cho tất cả các ứng dụng.
alrcal

11

apt-mark showmanualsẽ cung cấp cho bạn một danh sách các gói "cài đặt thủ công". Điều này bao gồm các gói được cài đặt bởi trình cài đặt, hầu hết trong số chúng. Nhưng nếu bạn chạy nó sau khi cài đặt và so sánh lại đầu ra sau đó, bạn sẽ nhận được một danh sách các gói mà người dùng đã yêu cầu cụ thể, không bao gồm các phụ thuộc được cài đặt tự động.

Ví dụ:

$ # 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

Lưu ý rằng các ứng dụng các gói liên quan đến Trung tâm phần mềm và PPA được thêm thủ công. Sự khác biệt giữa các gói được yêu cầu cụ thể và các gói được mang đến để đáp ứng sự phụ thuộc là tôi nghĩ điều tốt nhất bạn có thể làm.

Hoặc để xem danh sách tất cả các gói được cài đặt, hãy chạy dpkg-query -W -f'${PackageSpec}\n'.


2

chỉ root mới có thể cài đặt các gói trong Ubuntu, người dùng có thể làm điều đó chỉ là 1, sudoers chỉ là người dùng có quyền tương đương.

Tuy nhiên, bạn có thể nhận được rất nhiều thông tin nhìn vào nhật ký, bạn có thể nhìn vào

Nhật ký apt theo /var/log/apt/ nhật ký dpkg dưới/var/log/

và bạn có thể lấy danh sách các gói đã cài đặt chỉ bằng một lệnh:

dpkg -l | grep ii

Bạn có thể viết lại câu hỏi của tôi bằng mọi cách bạn muốn trừ khi nghĩa gốc vẫn còn. Nếu nó được gọi là 'sudoers đã cài đặt ứng dụng' thì vậy thôi :) Tự nhiên tôi có thể viết lại câu hỏi của mình thành 'Cách liệt kê các ứng dụng được cài đặt sau khi cài đặt hệ thống'. "Và bạn có thể lấy danh sách các gói đã cài đặt" - cho mục đích gì?
Bucic

+1 cho / var / log / apt. Nếu bạn đã cài đặt mọi thứ với apt-get, tìm kiếm 'Dòng lệnh:' trong nhật ký này cung cấp cho bạn một danh sách đẹp những thứ bạn đã cài đặt thủ công.
drevicko

1

Trên thực tế, theo câu hỏi của bạn, tôi thấy rằng lệnh sau đây thực hiện những gì bạn cần dpkg -l | grep ii. Điều này liệt kê tất cả các gói cài đặt như nó cần cho tôi. Bây giờ nó không nói người dùng A hay người dùng B nhưng một lần nữa, đây không phải là hạn chế của sudo mà là nhật ký của trung tâm phần mềm. NGAY khi sử dụng sudo, người dùng đã gọi sudo được thông qua để bạn vẫn có thể có bất kỳ nhật ký ứng dụng nào đã gọi sudo để chạy lệnh. Bây giờ tất nhiên bạn có thể khắc phục điều này khá dễ dàng vì một phần của sudo là khả năng đăng nhập như bất kỳ người dùng nào [có quyền truy cập vào sudo] nếu bạn biết mật khẩu của họ, hack hoặc thay đổi nó nếu bạn có các quyền đó trên hệ thống.

Nếu bạn lo lắng về những gì người dùng đã cài đặt, điều đó có thể khiến bạn hoặc hệ thống của bạn gặp rủi ro, bạn có thể muốn xem lại lý do tại sao bạn cấp cho họ quyền truy cập sudo và cùng với đó là khả năng cài đặt các gói, nhưng đó chỉ là một lưu ý phụ.

Tôi có cảm giác bạn đang tự hỏi mình đã cài đặt gói nào kể từ khi cài đặt hệ thống để bạn có thể dọn dẹp hoặc phản chiếu thiết lập cho một máy mới. Câu trả lời ở đây đã bao gồm sao lưu / khôi phục vì vậy chúng tôi sẽ bỏ qua điều đó.

Vì không có cách nào dễ dàng để tìm ra người dùng nào được gọi là cài đặt gói, nên cách tiếp cận tốt hơn có thể là sử dụng lệnh như được liệt kê ở trên và bởi một người dùng khác để liệt kê tất cả các gói đã cài đặt và mở cửa sổ trình duyệt cho Google và chạy Google đã tìm kiếm để tìm ra gói nào được yêu cầu để giữ cho hệ thống của bạn hoạt động và gói nào không.

Bỏ qua ở đây để bỏ qua hầu hết các lông tơ và nhận được câu trả lời trực tiếp hơn ...

Bạn cũng có thể xem lại nhật ký sudoers của mình để xem ai đã gọi cài đặt cái gì để tôi đưa ra một dòng ví dụ

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)

Vì vậy, điều này cho tôi biết vào thời điểm này và ngày mà người dùng này đã gọi cho một sudo [thực sự trong trường hợp này gksu đã được sử dụng btw], những gì người dùng sudo cho phép họ có quyền và lệnh lớn mà họ đã chạy!

Bây giờ nếu bạn đã grep cho apt-get hoặc tương tự trong nhật ký sudo [/var/log/auth.log] và những cái cũ hơn sẽ có .0 .1 vv được nối vào cuối.

Bạn có thể ghép lại với nhau để cài đặt người dùng được gọi trên chính dòng lệnh. Nếu họ sử dụng trung tâm phần mềm, tôi không chắc liệu lệnh thiết bị đầu cuối có liên quan có nhận được dòng auth ở đây không, nhưng bạn có thể sử dụng nhật ký trung tâm phần mềm được tìm thấy tại:

/var/log/apt/history.log và các bản ghi cũ hơn nằm trong kho lưu trữ nén .gz

Bây giờ nhật ký trung tâm phần mềm không cung cấp cho người dùng đã xác thực cài đặt theo như tôi từng thấy trong nhật ký đó, nhưng nó liệt kê MỌI thêm, sửa đổi hoặc xóa trung tâm phần mềm thực hiện. Một lần nữa, nhật ký này cũng có tem thời gian và ngày cũng đủ dễ dàng để tìm kiếm các mục sau khi cài đặt hệ thống cơ sở đi đến nhật ký cũ nhất đi lên trên hoặc nếu bạn nhớ thời gian và ngày khi cài đặt cơ sở hoàn thành và bạn tốt để đi.

Cả hai tệp nhật ký được đề cập đều ở dạng văn bản gốc và bạn có thể sử dụng bất kỳ gedit, mousepad, leafpad nào cho bất kỳ trình soạn thảo văn bản nào mà hương vị Ubuntu của bạn sử dụng để xem và in chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.