Phần mềm giới thiệu: không tìm thấy lệnh: Làm thế nào để tôi biết cài đặt gì?


25

Đôi khi bạn chạy một lệnh và nhận được thông báo lỗi "không tìm thấy lệnh".

Sau đó, bạn cố gắng cài đặt gói chứa lệnh đó (tôi nghĩ đó là những gì xảy ra?)

ví dụ showmount: command not found

apt-get install showmountkhông có gì, vì vậy tôi đoán showmountlệnh là một phần của gói, nhưng tôi không biết gói đó là gì.

Làm thế nào tôi có thể tìm ra gói nào tôi cần cài đặt để nhận lệnh nào tôi cần? Tôi đang sử dụng Kali Linux.

Câu trả lời:


14

Bạn có thể sử dụng apt-cache, được bao gồm mặc định trên các bản phân phối dựa trên debian (afaik):

apt-cache search showmount

cung cấp kết quả nfs-common là tốt.


2
Điều đó hoạt động trong trường hợp này (và dù sao cũng là một ý tưởng tốt), nhưng nó chỉ tìm thấy các từ được đề cập trong tên và mô tả của gói, vì vậy rất tiếc là không áp dụng chung.
Stephen Kitt

1
Trong Debian cũng có thể hoạt động như thếapt search pkgname
George Vasiliou

@StephenKitt Đúng!
Joakim

cả showmount tìm kiếm apt-cache và showmount tìm kiếm apt đều cho tôi kết quả mà tôi đang tìm kiếm. @StephenKitt khi tôi sử dụng tìm kiếm tập tin apt thì nó báo cập nhật bộ đệm mặc dù đã chạy cập nhật tập tin apt. Đó là lý do tại sao tôi đã hỏi Joakims câu trả lời.
a.smith

Điều đó tốt, tôi hy vọng bạn không phiền vì tôi đã chỉnh sửa câu hỏi của mình để làm cho tiêu đề của nó cụ thể hơn (vì câu trả lời được chấp nhận không hoạt động nói chung).
Stephen Kitt

29

Bạn có thể sử dụng apt-filecho điều đó (bạn có thể cần phải cài đặt nó):

apt-file search showmount

Điều này cho thấy rằng lệnh là trong nfs-commongói.

Thông thường, khi bạn đang tìm kiếm một nhị phân, bạn có thể hạn chế tìm kiếm bằng cách thêm tiền tố vào nhị phân bin/:

apt-file search bin/showmount

Để cài đặt apt-file, chạy

sudo apt-get install apt-file
sudo apt-file update

Nếu bạn kết thúc bằng apt-file3.0 trở lên, bạn sẽ không cần cập nhật lại các chỉ mục một cách riêng biệt (sau lần tải xuống ban đầu ở trên), chúng sẽ được cập nhật bất cứ khi nào các chỉ mục APT chính được cập nhật.


2
Làm thế nào để tôi tìm ra gói nào cung cấp apt-file? :-)
Đánh dấu

@Mark - Không biết, nhưng tôi biết đó là gói riêng của nó apt-filevà cho Ubuntu, nó nằm trong vũ trụ repo.
Joe

Trước khi sử dụng apt-file search, bạn nên chạy sudo apt-file update- nếu gần đây bạn chưa làm như vậy. Điều đó cập nhật tất cả các chỉ mục của nó để nó có thể tìm thấy mọi thứ dựa trên bộ kho lưu trữ hiện tại của bạn mà apt biết. Nó tách biệt với bản cập nhật đó sudo apt-get update.
Joe

Đó thực sự là một chút của một cái bẫy-22, tôi đã cập nhật câu trả lời của mình.
Stephen Kitt

18

Bạn có thể muốn giảm bớt cuộc sống của mình bằng cách cài đặt trình trợ giúp không tìm thấy lệnh

$ sudo apt install command-not-found
[…]
$ showmount
Command 'showmount' is available in '/sbin/showmount'
The command could not be located because '/sbin' is not included in the PATH environment variable.
This is most likely caused by the lack of administrative priviledges associated with your user account.
showmount: command not found

Đẹp, nhưng lưu ý rằng điều này hoạt động trong bashnhưng không phải trong các vỏ khác (tôi đã thử tcshzsh)
thân


0

Tôi gặp vấn đề tương tự trong khi gắn máy chủ nfs. Trong trường hợp của tôi chỉ cần chạy lệnh sau.

sudo showmount -e [ip address of the nfs server]

Tôi quên viết sudo.


-1

Chạy các lệnh sau,

  • # apt update
  • # apt install rpcbind nfs-common
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.