มาทำลายมันกันเถอะ
ประการแรกโน้ตสองสามข้อเกี่ยวกับวิธีการ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.*barfoo.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 ติดตั้งแอปพลิเคชันจากแหล่งที่ไม่น่าเชื่อถือ