|
PPA cho phép người dùng cài đặt các ứng dụng không có mặt hoặc không được cập nhật đầy đủ trong kho lưu trữ chính thức của Ubuntu, vì những người quản lý các kho lưu trữ này cần một thời gian hợp lý để làm cho các bản cập nhật của chương trình trở thành "chính thức" nhằm theo đuổi nâng cao tính ổn định và bảo mật của hệ thống.
May mắn thay, trong Ubuntu, chúng tôi có các PPA để vượt quá "thước đo" này, mặc dù nó rất phù hợp theo quan điểm của các nhà phát triển Ubuntu, nhưng có thể không quá nhiều so với quan điểm của người dùng cuối, những người luôn muốn có "chiche" mới nhất và phiên bản mới nhất của chương trình. Nhược điểm của phương pháp này là bằng cách thêm PPA, chúng ta làm tăng nguy cơ mất ổn định hệ thống và mở ra các lỗ hổng bảo mật đáng kể. Đây chính xác là những lý do tại sao có thể cần phải xóa kho lưu trữ PPA mà bạn đã thêm trước đó. |
PPA-PURGE để giải cứu
ppa-purge là một tập lệnh sẽ xóa PPA được chỉ định khỏi danh sách sources.list của bạn cũng như tất cả các gói được cài đặt từ đó. Cuối cùng, nó sẽ cài đặt lại các phiên bản "chính thức" của các chương trình mà bạn đã cập nhật thông qua PPA. Nói cách khác, đó là một cách để khôi phục hệ thống của bạn về điểm trước đó khi thêm PPA.
Cách sử dụng
Sự cố phát sinh khi bạn nhập điều này vào một thiết bị đầu cuối:
sudo add-apt-repository ppa: my_ppa
Khi thực hiện dòng này, những gì bạn đã làm là thêm PPA vào danh sách các kho lưu trữ từ đó Ubuntu sẽ cài đặt và cập nhật các ứng dụng có sẵn.
Để khắc phục điều này, trước tiên bạn cần cài đặt PPA-PURGE. Bạn có thể tải gói DEB từ đây.
Sau khi cài đặt, tôi đã mở một thiết bị đầu cuối và viết:
sudo ppa-purge ppa: my_ppa / subdirectory /
Nếu trước đó bạn đã thêm toàn bộ PPA, bạn chỉ phải nhập tên của PPA, nếu không bạn cũng phải nhập thư mục con cụ thể.
Vì vậy, ví dụ, đây sẽ là các cặp để cài đặt và gỡ cài đặt PPA:
sudo add-apt-repository ppa: chromium-daily
sudo ppa-purge ppa: chromium-daily
sudo add-apt-repository ppa: tualatrix / gloobus
sudo ppa-purge ppa: tualatrix / gloobus
Trong ví dụ đầu tiên, chúng tôi đã cài đặt PPA hoàn chỉnh và chỉ trong một thư mục thứ hai. Khi sử dụng ppa-purge, rõ ràng, chúng ta phải chỉ định cùng một đường dẫn mà chúng ta đã sử dụng với add-apt-repository.
Hy vọng rằng Trung tâm phần mềm Ubuntu được cải tiến sẽ đi kèm với Ubuntu 10.10 kết hợp khả năng thêm và / hoặc xóa PPA. Hiện tại, chúng ta phải giải quyết cho phương pháp này, theo kinh nghiệm của tôi là an toàn và đáng tin cậy nhất.
Cách liệt kê các PPA hiện đang sử dụng
Bạn có thể không nhớ tên cái quái gì của PPA chết tiệt đó đang gây rắc rối cho bạn. Về cơ bản, có 3 cách để tìm ra PPA mà danh sách của bạn hiện đang sử dụng.
Phương pháp đầu tiên là dễ nhất. Vào Hệ thống > Quản trị > Nguồn phần mềm . Tại đó, hãy chuyển đến tab Phần mềm khác . Tất cả các PPA sẽ được liệt kê ở đó. Từ cửa sổ này, bạn cũng có thể vô hiệu hóa các PPA đang gây ra sự cố (mặc dù chỉ riêng thao tác này sẽ không khôi phục được các phiên bản trước của chương trình). Bạn cũng có thể thêm "ghi chú" vào mỗi PPA để dễ nhận biết hơn (tất nhiên, đôi khi đường dẫn PPA không cung cấp cho chúng ta bất kỳ manh mối nào về nó!).
Bạn cũng có thể truy cập danh sách các PPA bằng cách đi tới Ứng dụng> Trung tâm Phần mềm Ubuntu. Tuy nhiên, từ đó bạn sẽ không thể vô hiệu hóa các PPA, chỉ cần xem / cài đặt / gỡ cài đặt các ứng dụng có sẵn thông qua các PPA đó.
Phương pháp thứ ba là sử dụng thiết bị đầu cuối. Chúng tôi đã viết:
grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list
Theo tôi, đây là cách tốt nhất để xem đâu là những PPA được cài đặt trong hệ thống.
Hãy nhớ rằng nếu bạn định sử dụng phương pháp 1 (thông qua Nguồn phần mềm) hoặc phương pháp 3 (sử dụng terminal) để lấy đường dẫn của PPA cần thiết để gỡ cài đặt bằng ppa-purge, thì đường dẫn này được cung cấp bởi đoạn văn bản nằm giữa ppa.launchpad.net và ubuntu.
Ví dụ, để:
http://ppa.launchpad.net/jason-scheunemann/ppa/ubuntu
Lộ trình PPA là: jason-scheunemann/ppa
Vì vậy, trong ppa-purge, bạn sẽ đặt:
sudo ppa-purge ppa: jason-scheunemann / ppa
Để bạn tiện tham khảo, thông thường cấu trúc đường dẫn PPA như sau: username/ppa_name.