Điểm:5

Làm cách nào để tìm phương thức cài đặt cho một lệnh nhất định?

lá cờ lu

Tôi thường cài đặt các gói bằng các phương pháp sau:

  • Từ kho Ubuntu: Tên lệnh cài đặt sudo apt
  • Từ PPA: Tôi phải thêm PPA hơn là chạy: Tên lệnh cài đặt sudo apt
  • Trực tiếp từ tệp gỡ lỗi, (ví dụ: được tải xuống từ github, chẳng hạn như pandoc): Sudo apt cài đặt/đường dẫn/đến/tên gói
  • Sử dụng Snap.
  • Sử dụng AppImages
  • Sử dụng gói phẳng

Đôi khi, tôi cần thông tin đó, tức là tôi đã sử dụng phương pháp nào để cài đặt một lệnh/gói đã cho.

Có một lệnh trong Ubuntu, được đặt tên lệnh, nó sẽ trả về thông tin đó không?

guiverc avatar
lá cờ cn
Tôi thường sử dụng `whereis` để tìm vị trí của nó. Riêng chi tiết đó có thể cho bạn biết loại gói trong nhiều trường hợp & đầu ra đó sẽ quyết định xem tôi có cần tiếp tục hay không.. tức là. Tôi có thể `dpkg -S` nếu kết quả đầu tiên chỉ ra một *deb* được cài đặt, v.v. nhưng tôi cũng sẽ biết chi tiết bản phát hành của mình ảnh hưởng đến cách tôi diễn giải kết quả. ví dụ. `whereis ls` cung cấp cho tôi thông tin chi tiết về `dpkg -S`, nhưng đối với bản phát hành của tôi, `whereis chromium` cho tôi biết đó là *snap* nên tôi không cần tìm kiếm thêm nữa...
lá cờ hr
Nếu một lệnh được cung cấp bởi gói deb (trực tiếp hoặc từ PPA hoặc từ kho lưu trữ chính thức), thì `apt policy ` có thể hữu ích để xác định cái nào
OK-Validation avatar
lá cờ lu
@steeldriver: Cảm ơn bạn! đó là một lệnh hữu ích.
Điểm:5
lá cờ cn

Có một lệnh trong Ubuntu, được đặt tên lệnh, nó sẽ trả về thông tin đó không?

Không, không có. Bạn cần phải làm một số điều tra. Đầu tiên loại lệnh sẽ tiết lộ thông tin về bản chất của lệnh:

gõ <lệnh>

Lệnh này sẽ cho biết liệu đó có phải là trình bao tích hợp sẵn hay không, bí danh và nếu là tệp thực thi, liệu nó có được băm hay không, tức là được lập chỉ mục để truy xuất nhanh chóng “điều này cho biết bạn đã chạy lệnh ít nhất một lần trước đó , hoặc vị trí của tệp nhị phân.

Nơi cài đặt tệp thực thi đã gợi ý về cách cài đặt gói. Lệnh cái mà tiết lộ vị trí của nó:

<lệnh> nào
  • Các gói có thể thực thi được cài đặt bằng hệ thống APT thông thường, tức là từ kho phần mềm Ubuntu, từ PPA bạn đã thêm hoặc từ tệp đã tải xuống .deb tập tin cài đặt, thường sẽ được cài đặt trong /usr/bin hoặc /thùng rác. sử dụng lệnh dpkg -S tên tệp-mẫu tìm kiếm để tìm ra gói nào đã cài đặt tệp (nguồn).
  • Các tệp thực thi do Snap cài đặt được hiển thị trong một thư mục chuyên dụng được thêm vào CON ĐƯỜNG, I E. /snap/bin. Xác nhận rằng đây là gói snap bằng cách tìm nó trong đầu ra của danh sách nhanh.
  • Không có tệp thực thi nào được hiển thị trong PATH bởi Flatpak. Tuy nhiên, bạn có thể biết liệu một gói có được cài đặt theo cách đó hay không từ đầu ra của danh sách phẳng - ứng dụng.
  • AppImages thực thi có thể được đặt ở bất cứ đâu. Do đó, không có phương pháp chung để nhận ra nguồn gốc của chúng. Tuy nhiên, thông thường, chúng sẽ không được đổi tên và sau đó có thể dễ dàng nhận ra phần mở rộng của chúng. .AppImage.

Trong trường hợp gói của bạn đã được cài đặt như một .deb, bạn có thể phân biệt rõ hơn khi nhìn vào đầu ra của:

chính sách apt <gói>

Một URL trong đầu ra sẽ gợi ý trực tiếp gói đến từ nguồn nào nếu nó được cài đặt từ một nguồn phần mềm. Việc không có URL cho biết gói đã được cài đặt từ tệp được tải xuống cục bộ .deb.

OK-Validation avatar
lá cờ lu
Có lẽ đây là một dấu hiệu tốt cho thấy cần có một tập lệnh để tìm thông tin đó.
lá cờ hr
Bạn cũng có thể đề cập đến `type ` thay thế cho ` which ` vì nó sẽ giải quyết các trường hợp nội trang/hàm/bí danh shell.Đồng thời, `realpath -f $( which command)` đôi khi hữu ích khi các lệnh được liên kết tượng trưng (ví dụ như những lệnh được quản lý bởi cơ chế `cập nhật thay thế`).
OK-Validation avatar
lá cờ lu
@steeldriver: Chính xác. trớ trêu thay, tôi đã đọc về điều đó nhờ nhận xét cho câu hỏi của tôi tại đây: https://unix.stackexchange.com/q/683661/504663

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.