Tập lệnh cài đặt làm gì trong apt-get install?


14

Dường như apt-get installsẽ tải xuống gói Debian và thử chạy tập lệnh cài đặt cho:

  • Tạo thư mục thích hợp
  • Tạo tài khoản thích hợp
  • Sao chép tệp nhị phân
  • Sao chép tập tin dữ liệu
  • Sao chép tập tin Conf
  • Sao chép tập lệnh init.d
  • Bắt đầu dịch vụ
  • Vân vân.

Tôi thực sự quan tâm đến nó và muốn tìm hiểu những gì đang diễn ra từng bước. Có cách nào để nó nhìn thấy? Giống như các lệnh in shell trong chế độ chạy khô khô của Viking?

Câu trả lời:


25

Nói tóm lại : apt-get installmọi thứ cần thiết mà hệ thống của bạn có thể thực hiện thành công ứng dụng phần mềm đã cài đặt mới.

Phiên bản dài hơn:

Sơ bộ:

Từ trang hướng dẫn :

Tất cả các gói được yêu cầu bởi (các) gói được chỉ định để cài đặt cũng sẽ được truy xuất và cài đặt.

Những gói được lưu trữ trên một kho lưu trữ trong mạng (internet). Vì vậy, apt-gettải tất cả các gói cần thiết vào một thư mục tạm thời ( /var/cache/apt/archives/). Chúng sẽ được tải xuống từ một máy chủ web hoặc ftp. Chúng được chỉ định trong cái gọi là sources.list; một danh sách các kho lưu trữ cho trình quản lý gói apt. Từ đó trở đi, họ được cài đặt từng cái một theo thủ tục.

Những cái đầu tiên được cài đặt là những cái không có phụ thuộc thêm; vì vậy không có gói nào khác phải được cài đặt để chúng hoạt động bình thường. Thông qua đó, các gói khác (trước đây đã phụ thuộc) không còn phụ thuộc nữa. Hệ thống tiếp tục thực hiện quá trình đó nhiều lần cho đến khi các gói được chỉ định được cài đặt.

Mỗi gói trải qua một quy trình cài đặt.

Thủ tục cài đặt gói:

Trong các bản phân phối Linux dựa trên Debian, chẳng hạn như Ubuntu hoặc Mint, các gói đó có định dạng chuẩn được chỉ định gọi là: deb -> Định dạng gói nhị phân Debian .

Gói như vậy chứa các tệp sẽ được cài đặt trên hệ thống. Ngoài ra, chúng có chứa một tập tin kiểm soát . Tập tin đó chứa các tập lệnh mà hệ thống đóng gói sẽ thực thi trong một tình huống cụ thể; cái gọi là kịch bản duy trì . Các tập lệnh này được chia thành:

  • preinst: trước khi cài đặt các tệp vào hệ thống phân cấp tệp hệ thống
  • postinst: sau khi cài đặt
  • prerm: trước khi gỡ cài đặt
  • postrm: sau khi gỡ cài đặt

Các tập lệnh này là nơi người dùng cụ thể được tạo hoặc một số dịch vụ cần được khởi động lại hoặc các sơ bộ khác cần thiết để gói hoạt động.

Bên cạnh các tập lệnh này, hệ thống gói có các kích hoạt dành cho các sự kiện cụ thể. Ví dụ, việc tạo lại initrd khi cài đặt phiên bản kernel mới hoặc ldconfig hoặc man-db. Chúng được kích hoạt bởi một hoặc nhiều gói và chạy trong toàn bộ quá trình cài đặt.

Có một hình ảnh thú vị, cho thấy quy trình cài đặt gói mới:

cài đặt

Ngoài ra còn có nhiều tệp điều khiển hơn, quan trọng nhất là như sau:

Nếu bạn quan tâm, bạn có thể giải nén gói gỡ lỗi (sau khi tải xuống) theo cách thủ công và xem những gì bên trong:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

Bây giờ bạn thấy một tệp data.tar.gzcó tên chứa các tệp và một tệp được gọi control.tar.gzcó chứa bốn tập lệnh bảo trì và các tệp điều khiển được đề cập ở trên.


Ngày nay tôi tin rằng sẽ tốt hơn khi sử dụng dpkg-deb -x package.debthay vì ar x package.deb, vì dpkglà trình quản lý gói gỡ lỗi chính thức (qua đó apt-get được sử dụng).
Fanatique
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.