ฉันสงสัยว่าsudo apt-get update
จะทำอย่างไร
อัปเดตอะไรบ้าง
ฉันสงสัยว่าsudo apt-get update
จะทำอย่างไร
อัปเดตอะไรบ้าง
คำตอบ:
สรุปapt-get update
ไม่ได้ติดตั้งซอฟต์แวร์เวอร์ชันใหม่จริง ๆ แต่จะอัพเดตรายการแพ็กเกจสำหรับการอัพเกรดสำหรับแพ็กเกจที่ต้องการอัพเกรดรวมถึงแพ็กเกจใหม่ที่เพิ่งมาถึงที่เก็บ
apt-get update
ดาวน์โหลดรายการแพ็กเกจจากที่เก็บและ "อัพเดต" เพื่อรับข้อมูลเกี่ยวกับแพ็กเกจเวอร์ชันใหม่ล่าสุดและการอ้างอิง มันจะทำเช่นนี้สำหรับที่เก็บและ PPA ทั้งหมด จากhttp://linux.die.net/man/8/apt-get :
ใช้เพื่อซิงโครไนซ์ไฟล์ดัชนีแพ็คเกจอีกครั้งจากแหล่งที่มา ดัชนีของแพ็คเกจที่มีอยู่จะถูกดึงจากตำแหน่งที่ระบุใน
/etc/apt/sources.list
(5) ควรทำการอัปเดตเสมอก่อนที่จะอัปเกรดหรืออัพเกรด
apt-get upgrade
จะเรียกรุ่นใหม่ของแพคเกจที่มีอยู่ในเครื่องถ้า APT apt-get update
รู้เกี่ยวกับเหล่านี้รุ่นใหม่โดยทาง
จากhttp://linux.die.net/man/8/apt-get :
ใช้เพื่อติดตั้งแพ็คเกจล่าสุดทั้งหมดที่ติดตั้งบนระบบจากแหล่งที่ระบุใน
/etc/apt/sources.list
(5) แพคเกจที่ติดตั้งในปัจจุบันพร้อมเวอร์ชั่นใหม่ที่มีอยู่จะถูกเรียกคืนและอัปเกรด ภายใต้สถานการณ์ที่ไม่ได้ติดตั้งแพคเกจที่ถูกลบออกในปัจจุบันและไม่ได้เป็นแพคเกจที่ยังไม่ได้ติดตั้งที่ดึงและติดตั้ง แพ็คเกจที่ติดตั้งในปัจจุบันเวอร์ชั่นใหม่ที่ไม่สามารถอัพเกรดได้โดยไม่เปลี่ยนสถานะการติดตั้งของแพ็คเกจอื่นจะยังคงอยู่ในเวอร์ชั่นปัจจุบัน [เหมืองเน้นข้อมูล] ต้องทำการอัปเดตก่อนเพื่อที่จะได้รับการรู้ว่ามีแพ็คเกจรุ่นใหม่
apt-get dist-upgrade
จะทำงานเดียวกันกับที่ทำโดยapt-get upgrade
บวกมันจะจัดการกับการอ้างอิงอย่างชาญฉลาดดังนั้นจึงอาจลบแพ็กเกจที่ล้าสมัยหรือเพิ่มแพ็กเกจใหม่ ดูที่นี่: "dist-upgrade" คืออะไรและทำไมจึงอัพเกรดมากกว่า "upgrade"
จากhttp://linux.die.net/man/8/apt-get :
นอกเหนือจากการทำหน้าที่อัพเกรดแล้วตัวเลือกนี้ยังจัดการการเปลี่ยนแปลงที่อ้างอิงได้อย่างชาญฉลาดด้วยแพ็คเกจรุ่นใหม่ apt-get มีระบบการแก้ไขข้อขัดแย้ง "ฉลาด" และจะพยายามอัพเกรดแพ็คเกจที่สำคัญที่สุดโดยมีค่าใช้จ่ายน้อยกว่าหากจำเป็น
/etc/apt/sources.list
(5) แฟ้มมีรายชื่อของสถานที่จากการที่จะดึงไฟล์แพคเกจที่ต้องการ ดูเพิ่มเติมที่ apt_preferences (5) สำหรับกลไกในการตั้งค่าทั่วไปสำหรับแต่ละแพ็คเกจ
คุณสามารถรวมคำสั่ง&&
ดังนี้:
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
หรือเพื่อรับรุ่นใหม่ล่าสุดที่เป็นไปได้ตามข้อกำหนดของการอ้างอิงรุ่น:
sudo apt-get update && sudo apt-get dist-upgrade
คุณต้องการsudo
ทั้งสองครั้ง แต่เนื่องจากsudo
ค่าเริ่มต้นจะไม่แจ้งให้คุณทราบภายใน 5 นาทีหรือมากกว่านั้นนับตั้งแต่การsudo
ดำเนินการครั้งสุดท้ายคุณจะได้รับแจ้งให้ป้อนรหัสผ่านของคุณเพียงครั้งเดียวเท่านั้น (หรือไม่เลย)
apt-get update
ในขณะที่อินเทอร์เน็ตที่นี่ยังคงดั้งเดิม
การค้นหาของ Google สามารถให้คำจำกัดความสำหรับคำสั่งเทอร์มินัลเกือบทุกคำสั่งเช่น - ช่วยในเทอร์มินัล ตัวอย่างเช่น,
apt-get --help
sudo apt-get update
เป็นหลักมีสามส่วน:
sudo
ดำเนินการคำสั่งต่อไปนี้ด้วยความสามารถ super-user (root) การกระทำหลายอย่างที่ต้องมีการแก้ไขไฟล์ระบบหรือการติดตั้งแอพพลิเคชั่นนั้นต้องมีการอนุญาตพิเศษเพิ่มเติม
apt-get
เป็นเครื่องมือบรรทัดคำสั่งที่ Ubuntu ใช้เพื่อติดตั้งลบและจัดการแพ็คเกจซอฟต์แวร์
update
เป็นตัวเลือกสำหรับโปรแกรม apt-get ที่จะใช้ปรับปรุงรายการแพ็กเกจจากเซิร์ฟเวอร์บนอินเทอร์เน็ต รายการแพคเกจให้โปรแกรมอรรถประโยชน์ apt-get พร้อมข้อมูลที่สำคัญเกี่ยวกับแพคเกจซอฟต์แวร์ที่คุณสามารถติดตั้งได้โดยใช้ apt-get apt-get ใช้รายการเหล่านี้เพื่อพิจารณาว่าจะติดตั้งซอฟต์แวร์ใดเมื่อได้รับคำสั่งให้ติดตั้ง ตัวอย่างเช่น
sudo apt-get install guake
จะติดตั้งสถานี Guake ตามที่แสดงอยู่ในรายการซอฟต์แวร์ในคอมพิวเตอร์ของฉัน อย่างไรก็ตามนี่อาจไม่ใช่เวอร์ชันที่เหมาะสมหรือหากโปรแกรมนั้นเป็นโปรแกรมใหม่อาจไม่สามารถใช้งานได้เลย ดังนั้นเมื่อทำการติดตั้งซอฟต์แวร์ด้วย apt-get คุณมักจะพิมพ์
sudo apt-get update
sudo apt-get install <package>
มั่นใจได้ว่า apt-get รู้ว่าจะต้องติดตั้งแพ็คเกจเวอร์ชันล่าสุด
แหล่งข้อมูลที่มีประโยชน์อีกแหล่งหนึ่งคือhelp.ubuntu.com
เว็บไซต์ ตัวอย่างเช่นหากคุณค้นหาไซต์นั้นapt-get
คุณจะพบว่าAptGet / Howtoเป็นหนึ่งในผลลัพธ์
&&
ระหว่างพวกเขาในฐานะsudo apt-get update&&sudo apt-get install foo bar baz
&&
หมายความว่าคำสั่งที่สองจะทำงานต่อเมื่อคำสั่งแรกประสบความสำเร็จ หากคุณไม่สนใจเกี่ยวกับความสำเร็จของคำสั่งแรกให้ใช้;
แทน
การทำงานsudo apt-get update
เพียงทำให้แน่ใจว่ารายการแพคเกจของคุณจากที่เก็บข้อมูลทั้งหมดและ PPA มีความทันสมัย หากคุณไม่ได้รันคำสั่งนี้คุณอาจได้รับแพ็คเกจรุ่นเก่ากว่าที่คุณกำลังติดตั้งหรือแย่กว่านั้นปัญหาการพึ่งพา หากคุณเพิ่งเพิ่ม PPA และยังไม่ได้อัปเดตไม่มีอะไรจาก PPA จะทำงานได้เลยเนื่องจากคุณไม่มีรายการแพ็กเกจจาก PPA หรือที่เก็บ
สรุป: มันเป็นอย่างสูงขอแนะนำให้ทำงานsudo apt-get update
ก่อนการติดตั้ง แต่มันอาจจะถูกข้ามไปหากคุณกดจริงๆสำหรับเวลาapt-get update
จนกว่าคุณจะมีการเปลี่ยนแปลงที่เก็บหรือสัญญาซื้อขายไฟฟ้าตั้งแต่ช่วง
มันอัพเดตรายการซอฟต์แวร์ที่มีอยู่ในคอมพิวเตอร์ของคุณ
คอมพิวเตอร์ของคุณมีรายการ (เช่นแคตตาล็อก) ที่มีซอฟต์แวร์ทั้งหมดที่เซิร์ฟเวอร์ Ubuntu มีให้ แต่ซอฟต์แวร์และรุ่นที่มีให้อาจมีการเปลี่ยนแปลงดังนั้น "อัปเดต" จะเข้าสู่เซิร์ฟเวอร์และดูว่าซอฟต์แวร์ใดที่มีให้เพื่ออัปเดตรายการท้องถิ่น (หรือแคตตาล็อก)
โปรดทราบว่าเป็นที่แตกต่างกันจากupdate
upgrade
อัปเดตตามที่กล่าวไว้ข้างต้นจะดึงข้อมูลซอฟต์แวร์ที่มีอยู่และอัปเดตรายการขณะที่upgrade
จะติดตั้งซอฟต์แวร์เวอร์ชันใหม่ที่ติดตั้งบนคอมพิวเตอร์ของคุณ (อัปเดตซอฟต์แวร์จริง)
หากต้องการอัปเกรดซอฟต์แวร์ของคุณ (ไม่ใช่ "อัพเดต" รายการ) ให้คุณดำเนินการคำสั่ง
sudo apt-get upgrade
ซึ่งมักจะดำเนินการหลังจาก "อัพเดท"
sudo apt-get install
อย่างไร ติดตั้งแพคเกจพิเศษแทนการอัพเกรดทั่วไปหรือไม่?
คุณต้องรันapt-get update
หนึ่งครั้งก่อนติดตั้งแพ็กเกจใหม่เนื่องจากจะเป็นการอัพเดตข้อมูลที่เก็บโลคัล หากคุณกำลังจะไปติดตั้งแพคเกจหลายไม่นานหลังจากที่แต่ละอื่น ๆ apt-get update
ที่คุณไม่จำเป็นต้องใช้ นอกจากนี้คุณยังสามารถติดตั้งหลายแพ็คเกจในครั้งเดียวหากคุณพิมพ์
sudo apt-get install package1 package2...
เมื่อคุณติดตั้งแพคเกจจากบรรทัดคำสั่งด้วยsudo apt-get install ...
(หรือsudo aptitude install ...
) หรือเมื่อคุณอัพเกรดจากบรรทัดคำสั่ง (ด้วยupgrade
หรือdist-upgrade
แทนinstall
) ข้อมูลต่อไปนี้จะได้รับจากการกำหนดค่าระบบภายในเครื่องของคุณไม่ใช่จากอินเทอร์เน็ต:
มีแพ็คเกจอะไรให้บ้าง
มีเวอร์ชันอะไรให้ใช้บ้าง
โดยที่ควรจะดึงแพ็คเกจที่มีอยู่ออกมา
การรันsudo apt-get update
(หรือsudo aptitude update
) อัปเดตสิ่งนี้ในระบบท้องถิ่นของคุณ นี่คือขั้นตอนที่ดึงข้อมูลเกี่ยวกับแพคเกจที่สามารถติดตั้งได้จริงรวมถึงการอัปเดตแพ็คเกจแพ็คเกจที่ติดตั้งในปัจจุบันที่มีอยู่จากแหล่งอินเทอร์เน็ต
เมื่อคุณติดตั้งแพ็กเกจด้วยอินเตอร์เฟส GUI (Update Manager, Software Center หรือ Synaptic Package Manager) การทำงานของsudo apt-get update
จะเสร็จสิ้นโดยอัตโนมัติ เมื่อคุณติดตั้งแพคเกจจากบรรทัดคำสั่งมันไม่ได้และคุณควรทำสิ่งนี้ด้วยตัวเองเสมอเว้นแต่ว่าคุณเพิ่งทำไปแล้ว
เนื่องจากข้อมูลเกี่ยวกับแพคเกจเวอร์ชันที่อัปเดตนั้นจะได้รับจากการรันsudo apt-get update
(หรือsudo aptitude update
) จึงแนะนำให้รันก่อนที่จะติดตั้งแพ็กเกจใด ๆ และจำเป็นต้องเรียกใช้เพื่อติดตั้งอัปเดตล่าสุดแม้ว่าคุณจะไม่ได้เพิ่มหรือลบซอฟต์แวร์ใด ๆ แหล่งที่มา (เช่น PPA)
โปรดทราบว่าหากคุณจะดำเนินการจัดการหลายแพคเกจในเวลาเดียวกันคุณไม่จำเป็นต้องเรียกใช้sudo apt-get update
ก่อนการดำเนินการแต่ละแพคเกจ เฉพาะในกรณีที่ข้อมูลยังไม่ได้รับการปรับปรุงในขณะที่คุณควรให้แน่ใจว่าจะเรียกใช้
ดังที่ Eliah Kagan ได้กล่าวไว้ข้างต้นคุณคาดหวังว่าแอปพลิเคชั่น GUI จะทำงานapt-get update
ก่อนหน้าapt-get install
/ apt-get upgrade
แต่ฉันเพิ่งค้นพบข้อผิดพลาด 404 ที่น่าสนใจบนเครื่อง VM ที่มีการรักษาความปลอดภัยที่น่ารังเกียจ
จากบรรทัดคำสั่งฉันวิ่งapt-get update
แล้วลองคำสั่ง System Tools / Software-Update อีกครั้งและครั้งนี้มันทำงานโดยไม่มีข้อผิดพลาด 404
ดังนั้นฉันคิดว่าคุณคงไม่สามารถสันนิษฐานได้ว่าapt-get update
เป็นแอปพลิเคชัน GUI ...
apt-get
มากกว่าการตรวจสอบอัตโนมัติที่ดำเนินการโดยเรียกใช้ Software Updater / Update Manager? คุณใช้พร็อกซี HTTP หรือไม่ และคุณสามารถทำให้มันเกิดขึ้นอีกครั้งหรือมันเกิดขึ้นเพียงครั้งเดียว? หากเป็นความผิดปกติแบบแยกฉันสงสัยว่าอาจเป็นเพราะเซิร์ฟเวอร์กำหนดค่าผิดพลาดหรือไม่ คุณใช้กระจกแบบไหน ด้วยข้อมูลเพิ่มเติมฉันอาจปรับปรุงคำตอบของฉันได้ (Btw, นี่คือตั้งใจเป็นคำตอบที่แยกจากกันหรือควรแปลงเป็นความคิดเห็นหรือไม่?)
ดังที่ได้กล่าวโดยผู้คนมากมายก่อนหน้าฉันอัปเดตที่เก็บในเครื่องของคุณ (รายการแพ็คเกจ)
คุณอาจพบปัญหาหากพยายามติดตั้ง
apt-get install foobar
และ foobar หรือการพึ่งพาไม่มีรุ่นล่าสุดในพื้นที่เก็บข้อมูล ซึ่งอาจเป็นปัญหาโดยเฉพาะอย่างยิ่งหากติดตั้งไฟล์. deb ด้วยตนเองหรือ ppa จากบุคคลที่สาม
โดยทั่วไปจะทำให้แน่ใจว่ารายการของคุณตรงกับรายการหลัก
ลองพิจารณาตัวอย่างของการติดตั้งVLC media playerบน Ubuntu:
sudo apt-get update
มันจะตรวจสอบที่เก็บสำหรับการปรับปรุงที่มีอยู่
แต่ทว่า
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
จะติดตั้ง VLC media player จากแหล่งเก็บข้อมูลที่เราค้นหา
หากคุณเข้าสู่ระบบในฐานะผู้ใช้รูท (ผู้ดูแลระบบ) คุณไม่จำเป็นต้องใช้sudo
เพราะคุณมีสิทธิ์ผู้ใช้ขั้นสูงแล้ว
sudo apt-get update
คำสั่งทุกครั้งที่ติดตั้งแพ็คเกจหรือไม่? อะไรคือข้อเสียถ้าเราไม่ทำเช่นนั้น?