Score:5

จะค้นหาวิธีการติดตั้งสำหรับคำสั่งที่กำหนดได้อย่างไร?

ธง lu

ฉันมักจะติดตั้งแพ็คเกจโดยใช้วิธีการต่อไปนี้:

  • จากที่เก็บ Ubuntu: sudo apt ติดตั้ง commandName
  • จาก PPA: ฉันต้องเพิ่ม PPA มากกว่ารัน: sudo apt ติดตั้ง commandName
  • โดยตรงจากไฟล์ deb (เช่น ดาวน์โหลดจาก github เช่น pandoc): sudo apt ติดตั้ง /path/to/packageName
  • การใช้สแนป
  • การใช้ AppImages
  • การใช้แฟลตแพ็ก

บางครั้งฉันต้องการข้อมูลนั้น เช่น ฉันใช้วิธีใดในการติดตั้งคำสั่ง/แพ็คเกจที่กำหนด

มีคำสั่งในอูบุนตูหรือไม่ ระบุชื่อคำสั่ง มันจะส่งคืนข้อมูลนั้นหรือไม่

guiverc avatar
cn flag
ฉันมักจะใช้ `whereis` เพื่อค้นหาตำแหน่ง รายละเอียดเพียงอย่างเดียวสามารถบอกคุณถึงประเภทของแพ็คเกจในหลาย ๆ กรณี & ผลลัพธ์นั้นจะตัดสินใจว่าฉันต้องดำเนินการต่อไปหรือไม่ .. เช่น ฉันอาจ `dpkg -S` หากผลลัพธ์แรกชี้ไปที่ *deb* ที่ติดตั้งไว้ ฯลฯ แต่ฉันก็จะทราบรายละเอียดการเผยแพร่ของฉันด้วย ซึ่งมีอิทธิพลต่อการตีความผลลัพธ์ของฉัน เช่น. `whereis ls` ให้รายละเอียดเกี่ยวกับ `dpkg -S` แต่สำหรับรุ่นของฉัน `whereis chromium` บอกฉันว่ามันเป็น *snap* ดังนั้นฉันจึงไม่จำเป็นต้องค้นหาเพิ่มเติม...
hr flag
หากคำสั่งมีให้โดยแพ็คเกจ deb (ไม่ว่าจะโดยตรงหรือจาก PPA หรือจากที่เก็บอย่างเป็นทางการ) ดังนั้น `apt policy ` อาจมีประโยชน์ในการพิจารณาว่า
OK-Validation avatar
lu flag
@steeldriver: ขอบคุณ! นั่นเป็นคำสั่งที่มีประโยชน์
Score:5
ธง cn

มีคำสั่งในอูบุนตูหรือไม่ ระบุชื่อคำสั่ง มันจะส่งคืนข้อมูลนั้นหรือไม่

ไม่ ไม่มี คุณต้องทำการสืบสวนบางอย่าง ประการแรก พิมพ์ คำสั่งจะเปิดเผยข้อมูลเกี่ยวกับลักษณะของคำสั่ง:

พิมพ์ <คำสั่ง>

คำสั่งนี้จะระบุว่าเป็นเชลล์ในตัว นามแฝง และถ้าเป็นปฏิบัติการ ไม่ว่าจะเป็นการแฮช เช่น จัดทำดัชนีเพื่อการดึงข้อมูลที่รวดเร็ว หมายความว่าคุณได้เรียกใช้คำสั่งอย่างน้อยหนึ่งครั้งก่อนหน้านี้ในเซสชั่นâ หรือตำแหน่งของไบนารี

สถานที่ที่ติดตั้งโปรแกรมปฏิบัติการได้บอกเป็นนัยถึงวิธีติดตั้งแพ็คเกจแล้ว คำสั่ง ที่ เปิดเผยตำแหน่ง:

ซึ่ง <คำสั่ง>
  • ไฟล์ปฏิบัติการของแพ็คเกจที่ติดตั้งโดยใช้ระบบ APT ปกติ เช่น จากที่เก็บซอฟต์แวร์ Ubuntu จาก PPA ที่คุณเพิ่มหรือจากการดาวน์โหลด .deb ไฟล์การติดตั้ง โดยทั่วไปจะถูกติดตั้งใน /usr/bin หรือ /ถังขยะ. ใช้คำสั่ง dpkg -S ชื่อไฟล์ค้นหารูปแบบ เพื่อค้นหาว่าแพ็คเกจใดติดตั้งไฟล์ (แหล่งที่มา).
  • ไฟล์เรียกทำงานที่ติดตั้งโดย Snap จะถูกเปิดเผยในไดเร็กทอรีเฉพาะที่เพิ่มไปยัง เส้นทาง, เช่น. /snap/ถัง. ยืนยันว่านี่เป็นแพ็คเกจ snap โดยค้นหาในผลลัพธ์ของ รายการสแน็ป.
  • ไม่มีการเปิดเผยไฟล์ปฏิบัติการใน PATH โดย Flatpak อย่างไรก็ตาม คุณสามารถบอกได้ว่ามีการติดตั้งแพ็คเกจด้วยวิธีนั้นหรือไม่จากผลลัพธ์ของ รายการ flatpak --app.
  • สามารถวาง AppImages ที่เรียกใช้งานได้ได้ทุกที่ ดังนั้นจึงไม่มีวิธีการทั่วไปในการจดจำแหล่งที่มา อย่างไรก็ตาม โดยทั่วไปแล้ว พวกเขาจะไม่ถูกเปลี่ยนชื่อ และจากนั้นจะสามารถจดจำได้ง่ายโดยส่วนขยายของพวกเขา .AppImage.

ในกรณีที่แพ็คเกจของคุณถูกติดตั้งเป็น .debคุณสามารถแยกความแตกต่างเพิ่มเติมโดยดูที่ผลลัพธ์ของ:

นโยบาย apt <แพ็คเกจ>

URL ในเอาต์พุตจะบอกใบ้โดยตรงว่าแพ็คเกจมาจากแหล่งใดหากติดตั้งจากแหล่งซอฟต์แวร์ การไม่มี URL แสดงว่ามีการติดตั้งแพ็คเกจจากการดาวน์โหลดในเครื่อง .deb.

OK-Validation avatar
lu flag
นี่อาจเป็นตัวบ่งชี้ที่ดีว่าจำเป็นต้องมีสคริปต์เพื่อค้นหาข้อมูลนั้น
hr flag
คุณอาจพูดถึง `type ` เป็นทางเลือกแทน ` ซึ่ง ` เนื่องจากจะแก้ไขกรณีของ shell buildins / functions / aliasesเช่นกัน `realpath -f $(คำสั่งใด)` ก็มีประโยชน์ในบางครั้งเมื่อคำสั่งเชื่อมโยงกัน (เช่น คำสั่งที่จัดการโดยกลไก `update-alternatives`)
OK-Validation avatar
lu flag
@steeldriver: แน่นอน แดกดันฉันอ่านเกี่ยวกับเรื่องนั้นด้วยความคิดเห็นสำหรับคำถามของฉันที่นี่: https://unix.stackexchange.com/q/683661/504663

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา