Không tìm thấy lệnh 'bla', ý bạn là :?


7

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?


1
Bạn đang hỏi những chương trình nào cung cấp chức năng này hoặc nó hoạt động trong trường hợp của bạn? Nếu sau này, bạn cung cấp quá ít thông tin. Bạn sử dụng cái vỏ nào để bắt đầu?
techraf

Tôi đang sử dụng bash nhưng tôi thực sự chỉ có ý nghĩa trong trường hợp chung nhất. Những chương trình nào cung cấp điều này và có một cách khá nhất quán để xác định chương trình trong hầu hết các shell?

Nó cũng phụ thuộc rất lớn vào hương vị / bản phân phối của Unix / Linux mà bạn đang sử dụng như cách tính năng được triển khai.
Randall

Câu trả lời:


2

Nếu bạn nhìn vào nội dung của /etc/apt/sources.listnó 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 aptsẽ 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


1
@vondirac: Có nguồn.list nằm trong /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)
sjsam

Bạn có thể cải thiện câu trả lời này bằng cách tham khảo một số tài liệu Ubuntu .
JdeBP

4

Đố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_handlechứ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:


0

Đây không phải là một tính năng tiêu chuẩn của shell Linux. Có ít nhất hai khả năng:

  • zsh đang duy trì danh sách gợi ý của riêng mình
  • dự án thefuckcung cấp một cái khác
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.