Vì vậy, khi không tìm thấy lệnh, danh sách "ý của bạn là gì" có nghĩa là gì? Chương trình nào tìm thấy các lệnh thay thế này? Ý nghĩa của: "(chính), (vũ trụ) ..." là gì? Tôi có thể thay đổi chương trình nào tìm thấy những thứ này không?
Vì vậy, khi không tìm thấy lệnh, danh sách "ý của bạn là gì" có nghĩa là gì? Chương trình nào tìm thấy các lệnh thay thế này? Ý nghĩa của: "(chính), (vũ trụ) ..." là gì? Tôi có thể thay đổi chương trình nào tìm thấy những thứ này không?
Câu trả lời:
Nếu bạn nhìn vào nội dung của /etc/apt/sources.list
nó sẽ có định dạng
#Archive type Repository URL Distribution Component
deb http://archive.ubuntu.com/ubuntu precise main
Loại lưu trữ
Từ đầu tiên trên mỗi dòng, deb hoặc deb-src, cho biết loại lưu trữ. Deb chỉ ra rằng kho lưu trữ chứa các gói nhị phân (deb), v.v.
URL kho lưu trữ
Mục tiếp theo trên dòng là một URL đến kho lưu trữ mà bạn muốn tải xuống các gói từ đó.
Phân phối
'Phân phối' có thể là tên / bí danh mã phát hành (wheezy, jessie, Stretch, sid) hoặc lớp phát hành (cũ ổn định, ổn định, thử nghiệm, không ổn định) tương ứng.
Ý nghĩa của: "(chính), (vũ trụ) ..." là gì?
Thành phần
chính bao gồm các gói tuân thủ DFSG, các gói contrib chứa phần mềm tuân thủ DFSG, nhưng có các phụ thuộc không nằm trong phần mềm chính, không chứa phần mềm không tuân thủ DFSG, v.v. Mẹo - Kiểm tra một trong các url của kho lưu trữ, nó sẽ có một thư mục có tên của thành phần.
Các nhà quản lý gói cho biết apt
sẽ có một cơ sở dữ liệu chứa danh sách tất cả các gói trong kho và nó đủ thông minh để cung cấp cho bạn các đề xuất.
Trình quản lý gói của bạn có thể trên eof dpkg (ví dụ: Debian, Ubuntu, v.v.), apt (ví dụ Debian, Ubuntu, v.v.), giờ đã lỗi thời (ví dụ: các phiên bản Redhat cũ hơn và các phiên bản mới hơn không khởi động vì lý do tương thích), yum (ví dụ: Fedora, CentOS), dnf - yumrified yum (vd. Mới Fedora phát hành), v.v. Đối với một danh sách comlpete hơn kiểm tra này . Bạn thậm chí có thể thấy nhiều người quản lý gói trong một bản phân phối. Ví dụ: trong Ubuntu, bạn có thể thấy dpkg cung cấp / etc / apt / nguồn / danh sách.
Vì vậy, khi bạn gõ
cleaq
Nó có thể nói
cleaq: no command found. Did you mean clean.
danh sách "ý của bạn là gì" có nghĩa là gì?
Điều này liên quan đến một mẫu khớp với các gói trong cơ sở dữ liệu trình quản lý gói của bạn.
Cơ sở dữ liệu này được cập nhật khi bạn thực hiện apt-get update
Không chắc chắn về
Tôi có thể thay đổi chương trình nào tìm thấy những thứ này không?
Tuy nhiên. Tôi tin rằng đây là một tính năng không thể thay đổi. Không chắc lắm
Tham khảo : Danh sách nguồn Debian
/etc/apt
. Xem bản chỉnh sửa .. Nói chung, bạn có thể nói rằng trình quản lý gói của bạn duy trì danh sách này cho bạn và trình quản lý gói của bạn có thể là apt (trong trường hợp Debian, Ubuntu, v.v.), vòng / phút (Redhat và bản sao của nó), yum (ví dụ: Fedora , CentOS) và dnf (Bản phát hành mới của Fedora)
Đối với bash
, hành vi của nó bị chi phối bởi hàm shell command_not_found_handle
(Xem man bash
).
Để xem hành vi nào được xác định bởi chức năng đó, bạn có thể đưa ra:
declare -p -f command_not_found_handle
Bạn có thể thay đổi chương trình nào được sử dụng bằng cách xác định lại command_not_found_handle
chức năng.
Trong các bản phân phối dựa trên Debian (bao gồm Ubuntu), góicommand-not-found
thường được cài đặt và có sẵn dưới dạng /usr/lib/command-not-found
Từ liên kết:
Đề nghị cài đặt các gói trong các phiên bash tương tác
Gói này sẽ cài đặt trình xử lý cho lệnh_not_found tìm kiếm các chương trình hiện chưa được cài đặt nhưng có sẵn từ kho lưu trữ.
Xem thêm:
man
trang dành cho bash
, đặc biệt là THỰC HÀNH/usr/share/doc/command-not-found/README
(từ gói Debian)