มาทำลายมันกันเถอะ
ประการแรกโน้ตสองสามข้อเกี่ยวกับวิธีการapt-get install
(และapt-get
อาร์กิวเมนต์อื่น ๆ ส่วนใหญ่ด้วย):
คุณสามารถป้อนชื่อแพ็คเกจได้หลายชื่อ:
sudo apt-get install foobar spamegg
ชื่อแพคเกจมีการขยายจริงนิพจน์ปกติ (ERE) (ตรวจสอบman 7 regex
) รูปแบบดังนั้นชื่อแพคเกจfoo.bar
หมายถึงชื่อแพคเกจใด ๆ ที่มีสตริงย่อยที่เริ่มต้นด้วยfoo
และจบลงด้วยbar
กับอักขระตัวเดียวระหว่างและfoo
bar
น่าจะf.*r
หมายถึงชื่อแพคเกจใด ๆ ที่มีสตริงย่อยที่มีf
และr
มีจำนวนของอักขระใด ๆ เช่นสิ่งที่อยู่ในระหว่าง ^foo.bar$
ที่จะทำตรงกับชื่อแพคเกจทั้งหมดใช้เริ่มต้นและจบราชสกุลเช่น หากคุณต้องการให้โทเค็น Regex ใด ๆ ได้รับการปฏิบัติอย่างแท้จริงคุณต้องหลีกเลี่ยงโทเค็นด้วย\
เช่นสำหรับการปฏิบัติfoo.bar
ตามตัวอักษรคุณต้อง:
sudo apt-get install 'foo\.bar'
ที่นี่ที่เดียว quoting คือการป้องกันไม่ให้เกิดการตีความเปลือกของรูปแบบเป็นรูปแบบ globbing ไม่จำเป็นในกรณีนี้ แต่จะต้องเช่นสำหรับรูปแบบถ้าคุณมีไฟล์ในเช่นไดเรกทอรีปัจจุบันชื่อfoo.*bar
foo.bar
มีการพิจารณาเกี่ยวกับชื่อแพ็กเกจ หากมีแพ็คเกจใดที่ตรงกับรูปแบบรูปแบบจะได้รับการปฏิบัติอย่างแท้จริงและจะไม่มีการตีความ Regex ตัวอย่างเช่นสำหรับรูปแบบแพคเกจg++
ก็จะตรงกับแพคเกจอย่างแท้จริงโดยไม่คำนึงถึงโทเค็นg++
Regex +
หากไม่มีแพ็กเกจที่ระบุชื่อg++
ในที่เก็บที่กำหนดไว้แพ็กเกจนั้นจะถูกใช้เป็นรูปแบบ ERE
ตอนนี้คุณได้รับคำสั่ง:
sudo apt-get install g++ 5.0
หมายความว่า:
คุณต้องการติดตั้งแพตเทิร์นสองรูปแบบที่มีให้คือg++
และ5.0
g++
ตรงกับแพคเกจตัวอักษรg++
ตามที่กล่าวไว้ข้างต้น
ส่วนที่เหลือ5.0
มีโทเค็น Regex .
เช่นอักขระใด ๆ ก็ได้ ดังนั้นนี้จะตรงกับชื่อแพคเกจใด ๆ 5<any_character>0
ที่มี ดังนั้นแพ็คเกจทั้งหมดที่มีการจับคู่ได้ถูกเลือกให้ติดตั้งและน่าจะvirtualbox-5.0
ถูกเลือกในกระบวนการด้วย
สมมุติว่าคุณต้องการติดตั้งg++
เวอร์ชั่น5
ดังนั้นการทำสิ่งต่อไปนี้จะทำได้ ( ได้กล่าวถึงแล้วในคำตอบนี้ ); เมตาแพคเกจg++-5
จะอ้างอิงถึงแพคเกจg++
รุ่นย่อยที่ออกวางจำหน่ายล่าสุดของเวอร์ชัน 5:
sudo apt-get install g++-5
ในการค้นหาแพ็คเกจใด ๆ ภายในที่เก็บที่กำหนดค่าไว้ให้ใช้apt-cache
(ใช้ ERE เช่นapt-get
):
apt-cache search 'g\+\+-[0-9]+'
หากคุณไม่ต้องการ Regex-ify ให้ใช้less
เพื่อเลื่อนรายการที่ค่อนข้างใหญ่:
apt-cache search g++ | less
นอกจากนี้ก่อนติดตั้งสิ่งที่คุณไม่แน่ใจอย่าใช้ตัวเลือก-y
( --assume-yes
) และทดสอบก่อนด้วย-s
( --simulate
/ --dry-run
):
sudo apt-get install --dry-run foobar
apt-get
จะขอคำยืนยันจากผู้ใช้ดังนั้นคุณสามารถแทรกn
และหลีกเลี่ยงการติดตั้ง VirtualBox ... นอกจากนี้ยังมีการตรวจสอบที่เก็บของ Ubuntu ดังนั้นจึงไม่มีแพ็คเกจมัลแวร์ใด ๆ ที่คุณสามารถติดตั้งได้ตั้งแต่แรก หากคุณเพิ่ม PPA แบบสุ่มสิ่งนี้อาจเกิดขึ้น แต่นั่นเป็นเพราะคุณบอกให้ Ubuntu ติดตั้งแอปพลิเคชันจากแหล่งที่ไม่น่าเชื่อถือ