การจัดการแพ็กเกจและที่เก็บซอฟต์แวร์
การแจกแจงแบบอิงลินุกซ์ของ Debian นั้นใช้ที่เก็บข้อมูล (ฐานข้อมูลของแพ็คเกจการติดตั้งแอพพลิเคชั่นและแพ็คเกจอัพเกรด) เพื่อให้ระบบปฏิบัติการได้รับการปรับปรุงและสามารถดึงและติดตั้งแพคเกจซอฟต์แวร์ใหม่ได้ง่าย ตำแหน่งของที่เก็บเหล่านี้ถูกเก็บไว้ใน/etc/apt/sources.list
อย่างไรก็ตามแหล่งข้อมูลเพิ่มเติมมักจะไม่ซ้ำกับแอปพลิเคชันเฉพาะสามารถเก็บไว้ใน/etc/apt/sources.list.d
ไดเรกทอรี
เมื่อคำสั่งอัพเดตดัชนีแพ็กเกจapt-get update
ถูกเรียกใช้งานระบบปฏิบัติการของคุณจะตรวจสอบกับที่เก็บแพ็กเกจเหล่านี้เพื่อหาแพ็กเกจที่มีอยู่และลงทะเบียนซอฟต์แวร์ที่มีอยู่ซึ่งพร้อมใช้งานสำหรับระบบปฏิบัติการของคุณซึ่งคุณสามารถติดตั้งได้โดยใช้apt-get install <package>
คำสั่งดั้งเดิม
ตัวอย่างหนึ่งในแหล่งซอฟต์แวร์เหล่านี้คือ:
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty main restricted
เป็นสิ่งสำคัญสำหรับแหล่งข้อมูลเหล่านี้เพื่ออ้างอิงการแจกแจงลินุกซ์รุ่นที่เฉพาะเจาะจง ตัวอย่างคือความไว้วางใจซึ่งเป็นชื่อรหัสสำหรับ Ubuntu 14.04 คุณสามารถสอบถามระบบปฏิบัติการของคุณ (เดเบียน based) สำหรับรายละเอียดที่สมบูรณ์แบบด้วยlsb_release -a
หรือlsb_release -sc
ซึ่งหมายความว่าในระยะสั้นและสมญานาม
ในคำถามของคุณชิ้นส่วน$(lsb_release -sc)
จะถูกตีความและผลลัพธ์จากระบบปฏิบัติการของคุณจะถูกพิมพ์ลงในไฟล์ต้นฉบับที่กำหนดเองros-latest.listซึ่งคำสั่งจะสร้างขึ้นเมื่อมีการดำเนินการ
ล่ามภาษาคำสั่ง
sh
คำสั่งเป็นบอร์นเชลล์ นี่คือหนึ่งในหลาย ๆ เชลล์ แต่ถือว่าเป็นมาตรฐานเก่าและโดยทั่วไปคุณจะมั่นใจได้ว่ามีอยู่จริง นอกจากนี้ยังเป็นเรื่องธรรมดาที่จะเห็นbash
ในเชลล์สคริปต์จำนวนมาก การประกาศนั้นระบุเชลล์เพื่อใช้เป็นเชลล์ที่ต่างกันใช้ไวยากรณ์ที่แตกต่างกัน
ในเรื่องเกี่ยวกับ-c
ธงการอ้างอิงman bash
:
หากมีอ็อพชัน -c อยู่คำสั่งจะอ่านจากสตริง หากมีข้อโต้แย้งหลังจากสตริงพวกเขาจะถูกกำหนดให้กับพารามิเตอร์ตำแหน่งเริ่มต้นด้วย $ 0
ทุกสิ่งที่อยู่ภายในนั้น''
ถูกอ่านเป็นสตริงคุณไม่จำเป็นต้องคิดออกว่าจะหนีจากเครื่องหมายอัญประกาศต่าง ๆ หรือกังวลเกี่ยวกับเปลือกตีความสิ่งผิดปกติ
TL; DR
คำสั่งพิมพ์deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main
ไปยังไฟล์ต้นฉบับที่กำหนดเองแทนที่$(lsb_release -sc)
ด้วยค่าที่ตีความ