xóa danh sách apt-get


32

Tôi đang xây dựng một hình ảnh cho một Linux nhúng dựa trên Debian. Tôi đã sử dụng apt-get updatetrước đây trên thiết bị mà tôi muốn sử dụng làm cơ sở cho hình ảnh đó, vì vậy các danh sách bên dưới /var/lib/apt/listskhá lớn (kích thước gần 100 MB).

Tôi muốn giữ apt-getchức năng (vì vậy tôi không muốn xóa kho apt) nhưng tôi muốn giải phóng không gian sử dụng trong các danh sách này (danh sách gần gấp đôi kích thước của hình ảnh).

Có ai biết làm thế nào để làm điều đó? Tôi chỉ có thể xóa các tập tin dưới /var/lib/apt/lists?

Câu trả lời:


47

Bạn chỉ có thể sử dụng:

rm /var/lib/apt/lists/*

Điều này sẽ loại bỏ danh sách gói. Không có kho lưu trữ sẽ bị xóa, chúng được cấu hình trong tập tin cấu hình trong /etc/apt/sources.list. Tất cả những gì có thể xảy ra là các công cụ như apt-cachekhông thể lấy thông tin gói trừ khi bạn cập nhật danh sách gói. Cũng apt-get installsẽ thất bại với E: Unable to locate package <package>, bởi vì không có thông tin có sẵn về gói.

Sau đó chỉ cần chạy:

apt-get update

để viết lại các danh sách đó và lệnh sẽ hoạt động trở lại.

Dù sao, bạn nên chạy apt-get updatetrước khi cài đặt bất cứ thứ gì.


6

Danh sách là kiến ​​thức về những gì có sẵn, vì vậy nếu bạn xóa chúng, bạn sẽ không thể cài đặt bất cứ thứ gì - điều đó chính xác tương đương với việc xóa các kho lưu trữ khỏi danh sách nguồn của bạn (mà bạn nói bạn không muốn làm).

Một tùy chọn là bạn có thể nén các danh sách và nhớ giải nén chúng trước khi bạn tiếp theo update .

Những gì tôi thường làm (đặc biệt là khi tôi muốn thử nghiệm với các nguồn bổ sung) là tạo một thư mục /etc/apt/sources.available mục và thêm các mục để phân phối. Sau đó tôi có thể dễ dàng kích hoạt bất kỳ tập hợp con nào bằng cách tạo liên kết tượng trưng từ /etc/apt/sources.list.dvà vô hiệu hóa bằng cách xóa các liên kết tượng trưng đó.

Với danh sách nguồn trống, bạn có thể apt-get update- điều đó sẽ xóa /var/lib/apt/lists. Sau đó liên kết các nguồn thích hợp trở lại /etc/apt/sources.list.d, nhưng đừng updatecho đến khi bạn thực sự có ý định sử dụng 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.