Câu trả lời:
Một số lệnh tôi thường sử dụng:
để xem phụ thuộc và phụ thuộc ngược:
apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package
Để xóa gói, tất cả các gói tự động và tất cả các tệp cấu hình có liên quan:
sudo apt-get --purge --auto-remove purge $package
Để xem các apt
tùy chọn cấu hình thực tế :
apt-config dump | less
Để sửa đổi một tùy chọn trên dòng lệnh
$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package
Đây chỉ là và ví dụ về việc chỉ định các tùy chọn APT thông qua dòng lệnh, để tránh cài đặt các gói được đề xuất, bạn có thể sử dụng:
sudo apt-get --no-install-recommends $package
Để xem tất cả các gói địa phương / lỗi thời:
aptitude search ~o
Để xem các gói bị loại bỏ với cấu hình còn lại:
aptitude search ~c
và để loại bỏ chúng
sudo aptitude purge ~c
Để có được danh sách tất cả các gói đã cài đặt ( dpkg -l
đôi khi có thể cung cấp đầu ra các cột bị cắt ngắn)
dpkg --get-selections | awk '{ print $1 }'
hoặc là
dpkg-query -Wf '${Package}\n' # other fields available, see man page
Để tháo gỡ, sửa đổi sau đó xáo trộn một gói
dpkg-deb -x file.deb ./dir
cd dir
dpkg-deb -e ../file.deb
# apply your modification, then...
cd ..
dpkg-deb -b dir file-new.deb
Hai cái mà tôi sử dụng rất nhiều là: -
apt-get autoremove <packagename>
Cái nào sẽ loại bỏ gói và bất kỳ phụ thuộc không sử dụng nào, rất hữu ích nếu bạn dùng thử một ứng dụng, sau đó quyết định rằng bạn không cần nó và cũng muốn loại bỏ hành trình này.
dpkg -S /path/to/file
Nó cho tôi biết gói nào đã được cài đặt.
Cuối cùng, thêm một ..
dpkg -l <packagename> | grep ^ii
Liệt kê các gói nhưng chỉ những gói có trạng thái ii có nghĩa là chúng đã được cài đặt, vì vậy nó sẽ không hiển thị những thứ tôi đã xóa.
Nếu bạn muốn lấy tên gói cho một tệp chưa được cài đặt ( dpkg -S
nhưng đối với các gói chưa được cài đặt), hãy cài đặt apt-file
và chạy:
apt-file search /path/to/file
which
cùng với dpkg -S. ví dụ: đối với các tệp thực thi sống trong các gói có tên khác nhau, như:dpkg -S `which uname`
$ aptitude changelog <pkgname>
Thí dụ:
$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low
* SECURITY UPDATE: properly handle multiple PATH variables when using
secure_path in env.c
- Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
- CVE-2010-1646
...
apt-get changelog sudo
cũng hoạt động.
Cài đặt apt-file, sau đó chạy sudo apt-file update
. Bây giờ bạn có thể tìm kiếm các tệp trong các gói mà bạn thậm chí chưa cài đặt.
Cũng tiện dụng nếu bạn cần biết thông tin về các gói trong các phiên bản khác của Ubuntu là rmadison, nằm trong gói devscripts. Cung cấp cho nó một tên gói làm đối số và nó sẽ cho bạn biết phiên bản nào của gói đó tồn tại trong mọi phiên bản Ubuntu hiện tại và phần kho lưu trữ mà gói đó nằm trong.
Thí dụ:
[bnrubin@server:~/]$ rmadison cowsay
cowsay | 3.03-8 | dapper/universe | source, all
cowsay | 3.03-9 | hardy/universe | source, all
cowsay | 3.03-9.2 | jaunty/universe | source, all
cowsay | 3.03-9.2 | karmic/universe | source, all
cowsay | 3.03-9.2 | lucid/universe | source, all
cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
cowsay | 3.03+dfsg1-2 | natty/universe | source, all
apt-file
bây giờ có thể quản lý cơ sở dữ liệu của người dùng, do đó bạn không cần phải root update
.
apt-file
là khá tốt đẹp. cám ơn vì đã chia sẻ.
Để có được danh sách lệnh bắt đầu với 'apt-' bạn làm như sau. mở một thiết bị đầu cuối và gõ 'apt-' và nhấn phím TAB hai lần, điều này sẽ liệt kê tất cả các lệnh bắt đầu bằng 'apt-'.
Đầu ra mẫu:
apt-add-repository apt-extracttemplates apt-key
apt-cache apt-file apt-mark
apt-cdrom apt-ftparchive apt-sortpkgs
apt-config apt-get
Để có được thông tin chi tiết, bạn có thể kiểm tra trang man của lệnh đó
ví dụ: man apt-get
Tôi thích nghĩ về ba loại gói khác nhau:
Để hiển thị tất cả "gói hệ thống", bạn có thể sử dụng
aptitude search '(~pstandard|~pimportant|~prequired|~E)'
Tôi muốn có tất cả chúng được cài đặt và đánh dấu là cài đặt thủ công.
aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'
Để hiển thị tất cả "gói người dùng" sử dụng
aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'
Trong danh sách này chỉ nên có các gói mà bạn biết rằng bạn muốn. Tất cả các gói khác có thể chỉ là phụ thuộc hoặc đề xuất của các gói khác, bạn có thể đánh dấu chúng là cài đặt tự động
aptitude markauto libsomething
Hãy xem Tham khảo thuật ngữ tìm kiếm của aptitude và gói
thiết yếu, bắt buộc, quan trọng, tiêu chuẩn, tùy chọn hoặc bổ sung là gì? để biết thông tin cơ bản.
Nâng cấp các gói sẽ được giữ lại vì chúng sẽ xóa các gói khác hoặc vì đó là nâng cấp kernel:
sudo apt-get dist-upgrade
Lọc một gói và cấu hình của nó.
sudo apt-get purge package
Hiển thị chi tiết của gói như đã biết trong cơ sở dữ liệu gói, bao gồm phần, phiên bản, phụ thuộc, bảo trì và mô tả.
apt-cache show package
Liệt kê các tệp trong gói đã cài đặt
dpkg -L pkg
Nâng cấp tất cả các gói
sudo apt-get upgrade