Khái niệm cơ bản về quản lý gói Debian: APT và kho lưu trữ [Linux 101]
Một trong những nền tảng của hệ thống quản lý gói Debian là định dạng gói DEB, có chứa thông tin về nơi gói được cài đặt và phần mềm nào khác cần phải hoạt động. Nhưng đây chỉ là một nửa câu chuyện… nửa còn lại là Advanced Packaging Tool, hoặc APT. Nó thực sự là một bộ công cụ hoạt động với dpkg, trình cài đặt cho các gói DEB, để dễ dàng cập nhật hệ thống của bạn.
Kho lưu trữ APT
Sự dễ dàng mà bạn có thể cập nhật hệ thống của bạn đầu tiên phụ thuộc vào kho lưu trữ của các tập tin trong một định dạng có thể đọc được APT. Các kho lưu trữ này không có gì hơn thư mục chứa hai tệp sau:
- Packages.gz : Đây là danh sách tất cả các gói nhị phân có thể cài đặt trong kho. Nếu bạn có một số gói (thậm chí có thể bạn đã đóng gói bản thân bằng Debreate) trong một thư mục, bạn có thể tự động tạo tệp này bằng lệnh “dpkg-scanpackages” . Lưu ý rằng tập tin kết quả là Gzipped.
- Sources.gz : Đây là danh sách tất cả các tệp nguồn có thể cài đặt và có thể cài đặt ở định dạng Debian. Lệnh “dpkg-scansources” có thể tạo tập tin này. Lưu ý rằng các gói nguồn có thể được tạo tự động.
Khi một số gói tồn tại trong kho lưu trữ với tệp chỉ mục Packages.gz hoặc Sources.gz, người dùng chỉ cần định cấu hình tệp " /etc/apt/sources.list " để đọc các chỉ mục đó và tạo danh sách các gói có sẵn trong tất cả các kho lưu trữ. Việc định cấu hình “ sources.list ” dễ dàng như việc thêm các dòng vào nó theo định dạng sau:
[loại gói] [vị trí gói] [tên phân phối] [tên thành phần]
Mỗi mục trên phải được phân tách bằng một khoảng trắng. Ý nghĩa của mỗi trong số này là như sau:
- " Loại gói ": Dòng phải bắt đầu bằng "deb" (để cài đặt các gói nhị phân từ kho lưu trữ) hoặc "deb-src" (để cài đặt các gói nguồn từ kho lưu trữ).
- “ Vị trí gói ”: Đây phải là một URI nơi kho lưu trữ được đặt.
- “ Tên phân phối “: “Phân phối” của hệ điều hành dựa trên Debian tương đương với bản phát hành. Ví dụ, bản phát hành mới nhất của Ubuntu sử dụng tên phân phối “số lượng”, trong khi các kho lưu trữ mới nhất từ Linux Mint yêu cầu “nadia”.
- " Tên thành phần ": Điều này cũng phụ thuộc vào phân phối, nhưng hầu hết sẽ tách các gói của chúng thành các thành phần. Đối với Ubuntu, đây là “chính” (phần mềm miễn phí và được hỗ trợ), “bị hạn chế” (phần mềm không miễn phí nhưng được hỗ trợ), vũ trụ (phần mềm miễn phí, không được hỗ trợ) và “đa vũ trụ” (phần mềm không miễn phí, không được hỗ trợ). Đôi khi các thành phần khác, chẳng hạn như "đối tác" trong Ubuntu cho phần mềm được phát triển bởi các đối tác của Canonical. Lưu ý rằng nhiều hơn một thành phần có thể được liệt kê trên một dòng trong " sources.list ".
Khi một dòng (hoặc dòng) giống như trên được thêm vào tệp “ sources.list ” (với trình chỉnh sửa văn bản hoặc thông qua một công cụ như Trung tâm phần mềm), việc cập nhật danh sách gói sẽ thực hiện các bước sau:
- Chuyển đến từng “ vị trí gói ” trong tệp “ sources.list ”;
- Xem chi tiết " phân phối " cho các vị trí đó;
- Đi vào từng " thành phần " được chỉ định và;
- Tải xuống gói Packages.gz (nếu “deb” được chọn cho loại gói ) hoặc Sources.gz (nếu dòng bắt đầu bằng deb-src ).
Công cụ APT
Lệnh để thực hiện cập nhật được tham chiếu ở trên sẽ trông quen thuộc:
sudo apt-get update
Chương trình "apt-get" là một phần của bộ sưu tập APT của các công cụ để thực hiện các hành động trên gói. Các lệnh quan trọng nhất bạn cần phải nhớ là các biến thể trên “ apt-get ” (Điều này là quan trọng nhất. Tìm hiểu cách sử dụng nó. Nghiêm túc.) Và “ apt-cache ” (Nhiều người trong số các “apt-get”) các lệnh mà tôi chạy ngay trước “apt-cache”). Một số lệnh phụ phổ biến mà bạn sẽ yêu cầu là (bạn nên chạy tất cả các lệnh dưới dạng root bằng cách sử dụng sudo ):
- cập nhật apt-get : Cập nhật danh sách gói, như được mô tả ở trên
- apt-get upgrade : Cài đặt gói mới nhất của bất kỳ phần mềm nào có phiên bản mới hơn được liệt kê trong tệp chỉ mục
- apt-get install [tên gói] : Lệnh này sẽ tải xuống và cài đặt gói đã chỉ định, cũng như cài đặt bất kỳ phần mềm cần thiết nào khác cho gói đó
- apt-get remove [tên gói] : Sử dụng lệnh "remove" sẽ gỡ cài đặt một gói, nhưng vẫn giữ lại bất kỳ tệp cấu hình nào mà nó có thể đã tạo. Nếu bạn muốn loại bỏ chúng, hãy sử dụng " apt-get purge ".
- Tìm kiếm apt-cache [cụm từ tìm kiếm] : Lệnh này sẽ liệt kê các gói có tên hoặc mô tả chứa cụm từ tìm kiếm đã nhập.
- apt-cache show [tên gói] : Lệnh này sẽ hiển thị thông tin về gói đã chỉ định.
Một số đọc thêm có sẵn trên bao bì và kho lưu trữ của Ubuntu cho những ai muốn tham gia nhiều hơn một chút và thậm chí có thể đóng góp bằng cách đóng gói và duy trì ứng dụng yêu thích của bạn.