ดาวน์โหลด FlightGear ได้ฟรี: คู่มือการติดตั้งอย่างเป็นทางการ
ดาวน์โหลด FlightGear ได้ฟรีจากเว็บไซต์ทางการ เปรียบเทียบแพ็กเกจสำหรับ Windows, macOS และ Linux ติดตั้งไฟล์ข้อมูล และเริ่มต้นการบินครั้งแรกของคุณ
ข้อความนี้E: Could not get lock /var/lib/dpkg/lock-frontendหมายความว่ากระบวนการจัดการแพ็กเกจอื่นกำลังล็อกไฟล์ที่ APT ต้องการอยู่ การล็อกนี้จะป้องกันการเปลี่ยนแปลงแพ็กเกจจากการทำงานที่ทับซ้อนกัน โดยทั่วไปจะปรากฏขึ้นเมื่อโปรแกรมอัปเดตซอฟต์แวร์ เทอร์มินัลอื่น หรือการอัปเดตอัตโนมัติกำลังติดตั้งหรือกำหนดค่าแพ็กเกจอยู่แล้ว วิธีแก้ไขที่ปลอดภัยที่สุดคือการระบุการทำงานนั้นและปล่อยให้มันเสร็จสิ้น การลบไฟล์ล็อกไม่ใช่ขั้นตอนแรกที่ควรทำอย่างไร
คำสั่งด้านล่างนี้ใช้ได้กับระบบ Ubuntu ที่ใช้ APT และ dpkg ป้ายกำกับเดสก์ท็อปและเวลาการอัปเดตอัตโนมัติจะแตกต่างกันไปตามรุ่นและการกำหนดค่าของ Ubuntu ดังนั้นให้พิจารณาผลลัพธ์ของกระบวนการบนเครื่องของคุณเป็นหลัก คู่มือ Ubuntu 24.04 LTS ที่ลิงก์ไว้ด้านล่างได้อธิบายคำสั่งเหล่านี้ไว้ หากพฤติกรรมแตกต่างออกไป โปรดดูคู่มือที่ตรงกับรุ่นของคุณ
ตรวจสอบแล้ว: dpkg dpkg ติดตั้งและจัดการแพ็กเกจ ในขณะที่ APT เป็นส่วนหน้าของโปรแกรมจัดการแพ็กเกจระดับสูงกว่าlock-frontendเส้นทางนี้ใช้ในการประสานงานการจัดการแพ็กเกจ ดังนั้นข้อผิดพลาดจึงบ่งชี้ถึงความขัดแย้งในการล็อก ณ เวลาที่เรียกใช้คำสั่ง ไม่ใช่ฐานข้อมูลแพ็กเกจที่เสียหายเสมอไปคู่มือ dpkg ของ Ubuntuอธิบายบทบาทและสถานะของแพ็กเกจใน dpkg
ขึ้นอยู่กับระบบของคุณ:ตัวล็อกอาจเป็นโปรแกรมอัปเดตแบบกราฟิก โปรแกรมจัดการแพ็กเกจตัวที่สองaptหรือapt-getตัวสั่งการ โปรแกรมติดตั้งซอฟต์แวร์ หรือโปรแกรมบำรุงรักษาอัตโนมัติ อย่าเดาชื่อกระบวนการจากข้อผิดพลาดเพียงอย่างเดียว ก่อนอื่นให้ปิดหน้าต่างตัวจัดการแพ็กเกจอื่นๆ ที่คุณเปิดไว้ แล้วตรวจสอบกระบวนการที่กำลังทำงานอยู่บนเครื่อง
ข้อความดังกล่าวไม่ได้พิสูจน์ว่าไฟล์ล็อกนั้นหมดอายุแล้ว Ubuntu ค้าง หรือฐานข้อมูลแพ็กเกจเสียหาย ไฟล์ล็อกอาจยังคงอยู่บนดิสก์หลังจากกระบวนการสิ้นสุดลง การมีอยู่ของไฟล์ล็อกเพียงอย่างเดียวไม่ได้แสดงว่ากระบวนการนั้นยังคงเป็นเจ้าของล็อกอยู่ ตรวจสอบกระบวนการก่อนทำการเปลี่ยนแปลงใดๆ
มองหาโปรแกรมอัปเดตซอฟต์แวร์, Ubuntu Software หรือโปรแกรมเทอร์มินัลอื่นๆ ที่กำลังติดตั้ง อัปเดต หรือถอนการติดตั้งซอฟต์แวร์อยู่ หากเห็นว่ามีการอัปเดตกำลังดำเนินการอยู่ ให้เปิดโปรแกรมนั้นทิ้งไว้และรอจนกว่าจะเสร็จสมบูรณ์ จากนั้นลองใช้คำสั่งเดิมของคุณอีกครั้ง

หากไม่เห็นการอัปเดตแบบกราฟิก โปรดตรวจสอบรายการกระบวนการ:
ps -eo pid,ppid,stat,etime,cmd | grep -E '[a]pt|[d]pkg|unattended'
มองหาคำสั่งต่างๆ เช่นapt, apt-get, dpkg, หรือ การพบคำ unattended-upgradeสั่งที่ตรงกันเป็นเพียงเบาะแส ไม่ใช่หลักฐานยืนยันว่าเป็นผู้ถือครองล็อก: การค้นหาอาจแสดงคำสั่งที่ไม่เกี่ยวข้องหรือตัวตรวจสอบเองด้วย จดบันทึก PID และคำสั่ง จากนั้นตรวจสอบกระบวนการในขั้นตอนถัดไป
ใช้fuserเพื่อตรวจสอบว่ากระบวนการใดกำลังเข้าถึงล็อกส่วนหน้าหรือไม่ เรียกใช้ด้วยสิทธิ์ผู้ดูแลระบบเพื่อให้สามารถรายงานกระบวนการที่เป็นของผู้ใช้รายอื่นได้:
sudo fuser -v /var/lib/dpkg/lock-frontend
คุณสามารถตรวจสอบเส้นทางการล็อกของตัวจัดการแพ็กเกจทั่วไปอื่นๆ ได้เช่นกัน:
sudo fuser -v /var/lib/dpkg/lock /var/cache/apt/archives/lock /var/lib/apt/lists/lock
fuserโปรแกรมนี้ จะแสดงรหัสกระบวนการ (PID) ที่ใช้ไฟล์ที่ระบุ โดยโหมดละเอียดจะแสดงรายละเอียดของกระบวนการ หากแสดง PID ให้เปรียบเทียบกับรายการกระบวนการและตรวจสอบด้วยคำสั่ง `git log int` โดยps -fp PIDแทนที่PID`PID` ด้วยหมายเลขที่แสดง โปรแกรมอาจไม่แสดงผลลัพธ์ใดๆ หากไม่มีกระบวนการใดที่สามารถเข้าถึงได้และกำลังใช้งานเส้นทางนั้น การค้นพบนี้มีประโยชน์ แต่ไม่ใช่สาเหตุที่แท้จริงว่าทำไมคำสั่งก่อนหน้านี้จึงล้มเหลว โปรดดูคู่มือ Fuser ของ Ubuntuสำหรับรายละเอียดเกี่ยวกับผลลัพธ์และข้อจำกัดของโปรแกรม

หากกระบวนการกำลังดาวน์โหลดแพ็กเกจ แตกไฟล์ กำหนดค่าแพ็กเกจ หรือแสดงความคืบหน้าในโปรแกรมอัปเดตแบบกราฟิก ให้รอจนกว่าจะเสร็จสิ้น การอัปเดตขนาดใหญ่และดิสก์ที่ทำงานช้าอาจใช้เวลานานกว่าที่คาดไว้ เมื่อการทำงานเสร็จสิ้น ให้ลองใช้apt-getคำสั่งเดิมอีกครั้ง การเริ่มคำสั่ง APT อื่นในขณะที่คำสั่งแรกกำลังทำงานอยู่จะไม่ทำให้คำสั่งแรกเสร็จเร็วขึ้น

หากการทำงานดูเหมือนค้าง ให้ตรวจสอบว่าเอาต์พุต การใช้งาน CPU หรือดิสก์ หรือเวลาที่ผ่านไปมีการเปลี่ยนแปลงหรือไม่ ไม่มีค่าหมดเวลาใดค่าหนึ่งที่พิสูจน์ได้ว่างานทุกงานในแพ็กเกจค้างอยู่ หากกระบวนการนั้นเป็นคำสั่งเบื้องหน้าของคุณเองอย่างชัดเจนและคุณสามารถขัดจังหวะได้อย่างปลอดภัย ให้ใช้คำCtrl+Cสั่งในเทอร์มินัลนั้นและปล่อยให้มันปิดตัวลงอย่างราบรื่น อย่าฆ่ากระบวนการเพียงเพราะมันถือล็อกอยู่
ในกรณีสุดท้าย หากคุณตรวจสอบแล้วว่ากระบวนการนั้นไม่ตอบสนองจริง ๆ ระบุ PID ที่แน่นอนได้แล้ว และเข้าใจว่าการขัดจังหวะการกำหนดค่าแพ็กเกจอาจทำให้แพ็กเกจบางส่วนยังไม่เสร็จสมบูรณ์ ให้ส่งสัญญาณยุติการทำงานตามปกติ:
sudo kill -TERM PID
แทนที่PIDด้วยรหัสกระบวนการที่ได้รับการยืนยันแล้ว หลีกเลี่ยง การใช้คำสั่ง `docker run` kill -9, killall dpkg`docker run` หรือ ` fuser -kdocker run` เป็นการแก้ไขทั่วไป การยุติกระบวนการโดยใช้กำลังอาจขัดจังหวะสคริปต์ของแพ็กเกจหรือทำให้ต้องกู้คืนงาน หากงานนั้นเป็นบริการอัตโนมัติแทนที่จะเป็นงานที่คุณเริ่มต้น ให้ตรวจสอบสถานะหรือรอแทนที่จะยุติกระบวนการที่ไม่คุ้นเคย
หากไม่มีกระบวนการ APT หรือ dpkg เหลืออยู่ และการติดตั้งหรืออัปเกรดครั้งก่อนถูกขัดจังหวะ ให้ขอให้ dpkg ดำเนินการกำหนดค่าแพ็กเกจที่แตกไฟล์แล้วให้เสร็จสิ้น จากนั้นตรวจสอบสถานะแพ็กเกจของ APT:
sudo dpkg --configure -a
sudo apt-get check

อ่านข้อความแจ้งเตือนและข้อผิดพลาดต่างๆ คำสั่งแรกสามารถเรียกใช้สคริปต์การกำหนดค่าแพ็กเกจได้ ซึ่งอาจใช้เวลานานหรืออาจมีคำถามเพิ่มเติมapt-get checkตรวจสอบการพึ่งพาที่เสียหาย หากพบปัญหาเกี่ยวกับการพึ่งพา โปรดตรวจสอบการเปลี่ยนแปลงที่เสนอ ก่อนใช้งานsudo apt-get -f installตัวเลือกนี้จะพยายามซ่อมแซมการพึ่งพา และอาจติดตั้งหรือลบแพ็กเกจเพื่อดำเนินการดังกล่าว อย่าอนุมัติการลบที่คุณไม่เข้าใจคู่มือ apt-get ของ Ubuntuอธิบาย รายละเอียด checkเกี่ยวกับเรื่อง--fix-brokenนี้
fuserและรายการกระบวนการแทนdpkg --configure -a...”คำสั่งนี้ใช้จัดการกับงานการกำหนดค่าที่ค้างอยู่ ไม่ได้แก้ปัญหาการล็อกที่ยังคงถูกถือครองโดยกระบวนการที่กำลังทำงานอยู่ รอหรือแก้ปัญหาการล็อกของกระบวนการที่กำลังทำงานอยู่ให้เรียบร้อยก่อน จากนั้นจึงใช้คำสั่งซ่อมแซมเมื่อจำเป็นเท่านั้นลองใช้คำสั่งเดิมอีกครั้งหลังจากตัวล็อกออกจากระบบ การทำงานที่สำเร็จควรจะผ่านข้อความล็อกและดำเนินการติดตั้งแพ็กเกจตามที่ร้องขอ หากdpkg --configure -aเสร็จสิ้นและapt-get checkไม่รายงานปัญหาการพึ่งพาใดๆ แสดงว่าการกำหนดค่าแพ็กเกจและการตรวจสอบการพึ่งพาอยู่ในสถานะที่ดีขึ้น แต่นั่นไม่ได้หมายความว่าปัญหาที่เกี่ยวข้องกับที่เก็บข้อมูลหรือเครือข่ายที่ไม่เกี่ยวข้องทั้งหมดจะได้รับการแก้ไขแล้ว
หากเกิดข้อผิดพลาดเกี่ยวกับการล็อกขึ้นทันที ให้บันทึกเส้นทางการล็อกที่แน่นอน ผลลัพธ์ของsudo fuser -vคำสั่งสำหรับเส้นทางนั้น คำสั่งกระบวนการที่ตรงกัน และ PID รวมถึงว่างานยังคงดำเนินต่อไปหรือไม่ รายละเอียดเหล่านี้จะช่วยแยกแยะการอัปเดตที่แข่งขันกันตามปกติออกจากกระบวนการที่ต้องการการแก้ไขปัญหาเพิ่มเติม อย่าลบไฟล์ออกจาก/var/lib/dpkgหรือลบไฟล์ล็อกเพื่อใช้แทนการระบุตัวกระบวนการ
ดาวน์โหลด FlightGear ได้ฟรีจากเว็บไซต์ทางการ เปรียบเทียบแพ็กเกจสำหรับ Windows, macOS และ Linux ติดตั้งไฟล์ข้อมูล และเริ่มต้นการบินครั้งแรกของคุณ
OKSampler แปลงคลิป MP3 เป็นคีย์บนแป้นพิมพ์และสามารถเล่นเสียงวนซ้ำได้ เรียนรู้ว่าซอฟต์แวร์ฟรีรุ่นเก่านี้ทำอะไรได้บ้าง ฟีเจอร์เก่าๆ สิ้นสุดลงตรงไหน และควรตรวจสอบอะไรบ้างก่อนดาวน์โหลด
เปิด Google Tasks ในเบราว์เซอร์ เพิ่มทางลัด Chrome หรือเปิดใช้งานในรูปแบบแอป และจัดการรายการสิ่งที่ต้องทำตามวันที่ผ่านปฏิทินและ Gmail
ติดตั้งเกม Don't Starve Together เวอร์ชัน Linux ผ่าน Steam เริ่มเล่นในโลกใหม่ หรือเข้าร่วมกับเพื่อน ๆ โดยทำตามขั้นตอนการตั้งค่าและการแก้ไขปัญหาเหล่านี้
เรียนรู้วิธีเล่น DiRT Rally บน Linux หากคุณมีเกมนี้อยู่แล้วบน Steam: ติดตั้งเวอร์ชันสำหรับระบบ Linux โดยเฉพาะ เปิดใช้งาน และใช้ Proton เป็นตัวเลือกสำรองเท่านั้น
ติดตั้งเกม Squad บน Linux โดยใช้ Steam Play และ Proton จากนั้นติดตั้งเกม เลือกเครื่องมือตรวจสอบความเข้ากันได้ และแก้ไขปัญหาเกี่ยวกับการโกงเกม
ดาวน์โหลดและตรวจสอบไฟล์ ISO ของ LMDE 5 ที่จัดเก็บไว้ สร้าง USB ที่สามารถบูตได้ และเลือกการตั้งค่าการติดตั้งที่ปลอดภัย Elsie หมดอายุการใช้งานแล้ว โปรดดู LMDE เวอร์ชันปัจจุบัน
สร้าง USB สำหรับติดตั้ง Windows 11 บน Linux ด้วย Ventoy: ดาวน์โหลดไฟล์ ISO อย่างเป็นทางการ ติดตั้ง Ventoy อย่างปลอดภัย คัดลอกอิมเมจ และบูตไปยังพีซีเป้าหมาย
ติดตั้ง Wireshark บน Ubuntu, Debian, Fedora, Arch หรือ openSUSE โดยใช้คำสั่งแพ็กเกจปัจจุบัน จากนั้นกำหนดค่าการจับแพ็กเก็ตแบบเรียลไทม์ได้อย่างปลอดภัย
ติดตั้ง Devuan Excalibur จากไฟล์ ISO แบบ Live บนเดสก์ท็อป ตรวจสอบไฟล์ที่ดาวน์โหลด สร้าง USB ที่สามารถบูตได้ ป้องกันพาร์ติชั่นที่มีอยู่ และทำการติดตั้งให้เสร็จสมบูรณ์ด้วย Refracta Installer