Làm cách nào để gỡ cài đặt tất cả các gói từ một nguồn Debian?


8

Trước đây tôi đã thêm một số nguồn bên ngoài vào /etc/apt/sources.list.dnhưng bây giờ tôi muốn xóa một trong số chúng. Tôi cũng muốn:

  • xóa tất cả các gói chỉ từ nguồn đó
  • hoàn nguyên tất cả các gói thành phiên bản trong (các) nguồn ban đầu của tôi
  • cách khác, tạo một danh sách tất cả các gói từ nguồn này để tôi có thể thực hiện thủ tục này theo cách thủ công

Tôi có thể làm cái này như thế nào?

Câu trả lời:


11

Tùy thuộc vào cấu hình của kho lưu trữ bạn muốn xóa, apt list --installedcó thể cung cấp đủ thông tin để xác định các gói bạn cần gỡ cài đặt hoặc hạ cấp. Một tùy chọn khác, nếu kho lưu trữ xác định một Origin Origin duy nhất, là sử dụng aptitude search '~i ~Oorigin'(thay thế cho originphù hợp).

(Đây là một câu trả lời chung chung; nếu bạn chỉnh sửa câu hỏi của mình để chỉ định chính xác nguồn nào bạn muốn xóa, tôi có thể thêm một câu trả lời cụ thể.)


Điều này có vẻ đầy hứa hẹn, tôi có thể có được một danh sách các nguồn gốc bằng cách nào đó?
david.libremone

2
Có, apt-cache policysẽ cho bạn thấy nguồn gốc của tất cả các kho được cấu hình của bạn (tìm o=trong đầu ra).
Stephen Kitt

3

Hoặc với dpkg:

dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i yourkeyword

Ví dụ

dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i multimedia

trả về:

audacious                                1:3.8.2-dmo1                         http://www.deb-multimedia.org        stretch/main     
audacious-plugins                        1:3.8.2-dmo1                         http://www.deb-multimedia.org        stretch/main     
audacious-plugins-data                   1:3.8.2-dmo1                         http://www.deb-multimedia.org        stretch/main    
snipp

Điều này cho tôi thấy các gói từ deb-multidia.org. Kết quả tương tự vớidpkg-query -W -f='${Section}\t\t${Package}\n' | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | egrep -i multimedia

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.