Khắc phục aptitude
lỗi Multiarch choppa-purge
Thông thường, như Vadim Rutkovsky và Takkat đã giải thích , chạy ppa-purge
với cú pháp mặc định là một cách hiệu quả để loại bỏ tất cả các gói được cung cấp bởi PPA, hạ cấp chính xác chúng thành các phiên bản được cung cấp trong các nguồn phần mềm được định cấu hình khác bất cứ khi nào có thể.
Tuy nhiên, như Takkat đã chỉ ra, lỗi 831768 ngăn không cho ppa-purge
hoạt động đúng cách để loại bỏ các gói multiarch (như các gói 32 bit được cài đặt trên các hệ thống 64 bit). Điều này là do aptitude
không thể xử lý các phụ thuộc xung đột trong các gói multiarch (đó là lỗi xảy ra) và hành vi mặc định ppa-purge
là sử dụng aptitude
để hạ cấp các gói.
May mắn thay, ppa-purge
chấp nhận -i
lá cờ đó làm cho nó thích apt-get
để aptitude
là hậu phương. Như được ghi lại trong báo cáo lỗi, sử dụng apt-get
là một giải pháp thay thế hiệu quả cho việc gọi thủ công aptitude
, do đó, việc chạy ppa-purge
với -i
cờ phải là một cách giải quyết hiệu quả để loại bỏ / hạ cấp tất cả các gói được cung cấp bởi PPA, bao gồm các gói multiarch .
Làm thế nào để làm nó
Đây là cú pháp:
sudo ppa-purge -i ppa:ppaowner/ppaname
Như thường lệ (giống như khi -i
cờ không được sử dụng):
ppaowner
được thay thế bằng chủ sở hữu của PPA.
/ppaname
Là tùy chọn. Nếu có, ppaname
được thay thế bằng tên của PPA. Nếu không, nó mặc định là ppa
.
Ví dụ: giả sử tôi đã cài đặt PPA cho các bản dựng qBittorrent không ổn định và tôi muốn xóa nó hoàn toàn, tự động hạ cấp qBittorrent thành bất kỳ phiên bản nào có sẵn thông qua các nguồn phần mềm khác của tôi bằng cách sử dụng apt-get
phía sau hậu trườngaptitude
. Sau đó tôi sẽ chạy:
sudo ppa-purge -i ppa:hydr0g3n/qbittorrent-unstable
Tài liệu ở đâu
Vì một số lý do, một vài tùy chọn hữu ích ppa-purge
không được ghi lại trong trang hướng dẫn sử dụng , bao gồm -i
. Nhưng bạn có thể lấy thông tin về chúng bằng cách chạy ppa-purge -h
(hoặc chỉ ppa-purge
không có đối số):
ek@Del:~$ ppa-purge -h
Usage: sudo ppa-purge [options] <ppa:ppaowner>[/ppaname]
ppa-purge will reset all packages from a PPA to the standard
versions released for your distribution.
Options:
-p [ppaname] PPA name to be disabled (default: ppa)
-s [host] Repository server (default: ppa.launchpad.net)
-d [distribution] Override the default distribution choice.
-y Pass -y --force-yes to apt-get or -y to aptitude
-i Reverse preference of apt-get upon aptitude.
-h Display this help text
Example usage commands:
sudo ppa-purge xorg-edgers
will remove https://launchpad.net/~xorg-edgers/+archive/ppa
sudo ppa-purge -p xorg-testing sarvatt
will remove https://launchpad.net/~sarvatt/+archive/xorg-testing
sudo ppa-purge ppa:ubuntu-x-swat/x-updates
will remove https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
Notice: If ppa-purge fails for some reason and you wish to try again,
(For example: you left synaptic open while attempting to run it) simply
uncomment the PPA from your sources, run apt-get update and try again.
"Ưu tiên đảo ngược của apt-get dựa trên năng khiếu" là một chút khó hiểu. Bằng cách nhìn vào những mảnh có liên quan của mã nguồn ( ppa-purge
chỉ là một kịch bản shell, sau khi tất cả), chúng ta có thể thấy rằng điều này có nghĩa rằng các hành vi mặc định là thích aptitude
đến apt-get
, và -i
lá cờ đảo ngược sở thích này.