ฉันจะลบบรรทัดที่ไม่ถูกต้องออกจากรายการแหล่งที่มาของฉันได้อย่างไร


68

ฉันได้ทำการยกเลิกการติดตั้งและติดตั้ง Ubuntu Software Center ใหม่ตามข้อมูลที่ฉันพบในเธรดที่คล้ายกันและฉันก็ได้รับการตอบกลับเกี่ยวกับบรรทัดที่ 91 หรืออะไรทำนองนั้น

ฉันพยายามอัปโหลดภาพหน้าจอ แต่เนื่องจากฉันใหม่มันจึงไม่อนุญาต ฉันยังไม่สามารถหาวิธีตัดและวางอะไรได้ดังนั้นฉันต้องพิมพ์สิ่งที่หน้าจอข้อผิดพลาดบอกว่าทั้งเมื่อฉันพยายามเปิดศูนย์ซอฟต์แวร์และไม่มีอะไรเกิดขึ้นเมื่อฉันพยายามป้อนคำสั่งลงในเทอร์มินัลเพื่อถอนการติดตั้ง อะไรก็ตามที่ฉันได้รับดังต่อไปนี้:

COULD NOT INTITIALIZE THE PACKAGE INFORMATION
An unresolvable problem occured while initializing the package information
Please report t:his bug against the 'update-manager' package and include the
following error message:
'E: Malformed line 91 in source list/etc/apt/sources.list (dist parse) 
E: The list of sources could not be read., 
E: The package list of status file could not be parsed or opened.

ฉันจะรายงานข้อบกพร่องได้อย่างไร สิ่งที่สามารถทำได้เกี่ยวกับเรื่องนี้ ฉันได้ค้นหาและทุกสิ่งที่ทุกคนบอกว่าจะพาฉันกลับไปที่ข้อความแสดงข้อผิดพลาดบรรทัดเดียวกัน

ดังนั้นฉันไม่รู้วิธีไปที่บรรทัดที่ 91 ในรายการแหล่งที่มา เพื่อบอกสิ่งที่พูด ขออภัยฉันยังใหม่กับสิ่งนี้ นั่นคือสิ่งที่ฉันต้องการคือการหาวิธีไปที่นั่นและแก้ไขสิ่งที่พูด ฉันอยากจะไม่ต้องแบ่งพาร์ติชั่นฮาร์ดไดรฟ์ของฉันและเริ่มต้นใหม่อีกครั้งดังนั้นฉันรอคอยที่จะได้รับการแก้ไขปัญหานี้อย่างแท้จริง ฉันต้องสามารถติดตั้งซอฟต์แวร์ใหม่ได้


8
คุณสามารถเพิ่มเนื้อหาของคุณ/etc/apt/sources.listระหว่างบรรทัดที่ 67 และ 69 ได้หรือไม่?
Bruno Pereira

2
cat /etc/apt/sources.listแก้ไขคำถามของคุณที่จะรวมถึงการส่งออกของคำสั่ง และไม่ต้องล้างข้อมูลทุกอย่าง มันเป็นปัญหาที่ง่ายมาก ( จากประสบการณ์ของฉัน )
Anwar

คุณไม่ต้องการคะแนนตัวแทนเพื่อโพสต์เอาต์พุต อย่างไรก็ตามคุณจำเป็นต้องจัดรูปแบบเอาต์พุตเป็นโค้ดมิเช่นนั้นจะไม่อนุญาตให้คุณโพสต์เอาต์พุตเนื่องจากคุณมีจุดตัวแทนไม่เพียงพอที่จะโพสต์ลิงก์หลายลิงก์ แก้ไขคำถามและวางผลลัพธ์แล้วเน้นผลลัพธ์จากนั้นกด CTRL + K เพื่อจัดรูปแบบผลลัพธ์เป็นรหัสแล้วบันทึกการเปลี่ยนแปลง
mchid

คำตอบ:


55

บางบรรทัดใช้งานไม่ได้ในsources.listไฟล์ของคุณ(หรือ*.listไฟล์อื่นsources.list.d/)

แก้ไขไฟล์ที่กล่าวถึงในข้อผิดพลาดเพื่อแก้ไขบรรทัดที่เสียหาย

  1. หากต้องการทำสิ่งนี้ให้เรียกใช้คำสั่งนี้ (กดCtrl+ Alt+ Tเพื่อเปิด Terminal):

    sudo -H gedit /etc/apt/sources.list
    

    หรือแทนที่จะเป็น Gedit (ซึ่งไม่ใช่ระบบ Ubuntu ทั้งหมด) คุณอาจต้องการเปิดไฟล์ด้วยเครื่องมือแก้ไขข้อความเทอร์มินัล:

    sudoedit /etc/apt/sources.list
    

    หากจำเป็นให้เปลี่ยนที่มีชื่อไฟล์อื่นเช่นเส้นทางไปยังแฟ้มบางส่วนภายใน/etc/apt/sources.list/etc/apt/sources.list.d/

  2. ค้นหาบรรทัดที่มีรูปแบบไม่ถูกต้อง (อ้างอิงถึงข้อผิดพลาดสำหรับหมายเลขบรรทัดจากนั้นมองไปรอบ ๆ จุดนั้น) นี่คือตัวอย่างของบรรทัดที่จัดรูปแบบอย่างถูกต้อง:

    # Comment, marked by a line starting with '#'
    deb http://site.example.com/debian distribution component1 component2 component3
    deb-src http://site.example.com/debian distribution component1 component2 component3
    

    URL distributionและส่วนประกอบจะแตกต่างกัน มันไม่จำเป็นต้องมี 3 องค์ประกอบ

    สิ่งใดที่ไม่พอดีกับรูปแบบนี้ไม่ถูกต้อง

  3. บันทึกไฟล์และออกจากโปรแกรมแก้ไขข้อความ จากนั้นรันคำสั่งนี้ในหน้าต่าง Terminal:

    sudo apt-get update
    

สมมติว่าไม่มีข้อผิดพลาดปัญหาจะได้รับการแก้ไขแล้ว คุณควรจะสามารถใช้งาน Sofware Center ได้

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


ฉันคิดว่าบางครั้งสำหรับ distros ตาม Debian ที่คุณต้องการ./ในตอนท้ายของบรรทัดดังในตัวอย่าง
user10089632

27

วิธีการด่วน

วิธีแก้ปัญหาสำหรับปัญหานี้คือการสร้างsources.listรายการตั้งแต่เริ่มต้น

deb http://archive.ubuntu.com/ubuntu precise main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu precise universe main multiverse restricted

deb http://security.ubuntu.com/ubuntu/ precise-security universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu precise-updates universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu precise-backports universe main multiverse restricted

# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

# deb http://extras.ubuntu.com/ubuntu precise main
# deb-src http://extras.ubuntu.com/ubuntu precise main
  • คัดลอกเนื้อหาข้างต้น (ในกล่องสีเทา) และเปิดsources.listไฟล์เป็น root

    การพิมพ์ข้อความsudo -H gedit /etc/apt/sources.listนี้ในเครื่องเทอร์มินัลและการกดปุ่มEnterจะทำงาน

  • จากนั้นวางเนื้อหาที่คัดลอกไว้ในsources.list- โปรดทราบว่าคุณอาจจำเป็นต้องแทนที่preciseด้วยชื่อรหัสที่แสดงถึงรุ่น Ubuntu ของคุณเช่นtrusty14.04 จากนั้นบันทึกและปิด gedit

  • จากนั้นทำsudo apt-get updateและคุณจะเห็นว่ารายการพื้นที่เก็บข้อมูลมีการปรับปรุง

คำอธิบาย: ที่นี่เรากำลังแทนที่เนื้อหาด้วยไฟล์ source.list อื่นด้วยรายการที่เก็บข้อมูลจากเซิร์ฟเวอร์หลัก หากคุณต้องการใช้เซิร์ฟเวอร์ในพื้นที่ของคุณเพื่อsources.listดูวิธีการด้านล่าง

วิธีที่แนะนำ

ไปที่แหล่งกำเนิดเว็บไซต์รายการอูบุนตู

  • เลือกประเทศของคุณ.
  • เลือกสาขาที่คุณต้องการเช่น Main, Restricted, Multiverse, Universe
  • เลือกรายการอัพเดทที่ต้องการ -
  • เลือกรายการที่เก็บของบุคคลที่สามใด ๆ หากคุณต้องการ
  • คลิกสร้างรายการที่ด้านล่างของหน้าคุณจะได้รับรายการพร้อมที่เก็บ
  • คัดลอกรายการนั้นและแทนที่ด้วยsources.listไฟล์ที่คุณมี

คุณทำเสร็จแล้ว (ฉันหวังว่านี่จะช่วยได้)


5
แปลกที่นี่ไม่ได้รับการยอมรับ !! การแก้ไขอย่างรวดเร็วแสดงความคิดเห็นบรรทัดที่มีปัญหา/etc/apt/sources.listโดยเพิ่ม##เป็นอักขระตัวแรกในบรรทัด sudo apt-get updateแล้วลอง
โนเบิลพี. อับราฮัม

3
อาจไม่ได้รับการยอมรับเนื่องจากผู้ใช้อาจเปิดใช้ repos อื่น ๆ และพวกเขาจะสูญเสียถ้าพวกเขาทำสิ่งนี้ ตัวอย่างเช่นผู้ใช้ VirtualBox ส่วนใหญ่รับจาก repo ของ Oracle นอกจากนี้ออราเคิลยังใช้ชื่อแพคเกจที่แตกต่างกันใน repos มากกว่า Ubuntu ทำ ดังนั้นถ้าฉันติดตั้ง VirtualBox ด้วย repo ของ Oracle และทำตามคำแนะนำนี้ฉันจะนั่งที่ VirtualBox เวอร์ชันเดียวกันตลอดเวลาและไม่เคยได้รับการอัปเดต ไม่เคย
John Scott

@FuzzyToothpaste พวกเขาจะไม่สูญเสียพวกเขาหากพวกเขาทำสิ่งนี้ มันจะลบรายการที่ซ้ำกันเท่านั้น สถานการณ์ตัวอย่างของคุณไม่มีอะไรเกี่ยวข้องกับปัญหานี้
อันวาร์

เมื่อใช้ไซต์ตัวสร้างรายการแหล่งที่มาของ Ubuntuเพื่อสร้างไฟล์ source.list ใหม่อย่าลืมอัปเดตคีย์ GPG ปัญหาอาจยังคงอยู่
Tushar Goswami

6

อย่างที่คุณเห็นจากข้อผิดพลาดมันบอกว่าไฟล์ source.list ของคุณมีรายการผิด ไม่สามารถแยกวิเคราะห์รายการที่ผิดนี้ได้ ข้อผิดพลาดนี้ไม่เกี่ยวข้องกับ Software Center แต่ส่วนใหญ่เกี่ยวข้องกับ apt (The package manager)

วิธีการแก้ปัญหานี้จะแก้ไขเส้นในรูปแบบ91รายการ

หากคุณไม่เข้าใจว่าเกิดอะไรขึ้นกับบรรทัดที่ 91 โปรดโพสต์บรรทัดที่ 91 และฉันจะช่วยเหลือคุณ


6

โปรดวางไฟล์/etc/apt/sources.listเพื่อให้เราสามารถแก้ไขปัญหานี้ให้คุณได้ ดูคำตอบแบบฝึกหัดสั้น ๆ นี้สำหรับวิธีการ:

ฉันจะแชร์เอาต์พุตของคำสั่งหรือไฟล์ข้อความกับผู้อื่นได้อย่างง่ายดายได้อย่างไร?


นี้สามารถบางครั้งจะมีการแก้ไขที่ง่ายมาก แต่คุณต้องสำรองข้อมูล sources.listครั้งแรกนับตั้งแต่มันเป็นไฟล์ที่สำคัญ

  1. เปิด terminal กับCtrl+ +AltT
  2. ประเภท / วาง: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup(สิ่งนี้จะสร้างสำเนาสำรอง)
  3. sudo sed -i -e '68d' /etc/apt/sources.list (สิ่งนี้จะลบบรรทัดที่มีปัญหา)
  4. sudo apt-get update (สิ่งนี้จะอัปเดตฐานข้อมูลด้วยไฟล์ที่แก้ไขโดยหวังว่า)

หากคุณไม่เห็นข้อผิดพลาดปรากฏขึ้นเมื่อคุณลองขั้นตอนที่ 4 ปัญหาจะได้รับการแก้ไข คุณสามารถออกจากเทอร์มินัลและกลับไปที่ Software Center / Update Manager และควรใช้งานได้

sudo cp /etc/apt/sources.list.backup /etc/apt/sources.listถ้ายังมีปัญหาคุณสามารถเรียกคืนไฟล์ต้นฉบับจากสถานีด้วย ในกรณีดังกล่าวโปรดวางบรรทัดที่มีปัญหาหรือแม้แต่ไฟล์ทั้งหมดลงใน Pastebin จากนั้นเราสามารถช่วยเหลือเพิ่มเติมได้


3
การลบบรรทัดที่ละเมิดอาจไม่ใช่ความคิดที่ดี (แต่ขอชื่นชมคำแนะนำในการสำรองข้อมูลก่อนที่จะทำสิ่งนี้) ถ้าเป็นที่เก็บข้อมูลที่ผู้ใช้ต้องการ? นอกจากนี้หากบรรทัดยาวถูกแบ่งออกเป็นสองบรรทัดคุณจะมีสองบรรทัดที่ผิดรูปแบบ (และขั้นตอนจะต้องทำซ้ำ) man sources.listมีส่วนที่มีตัวอย่างและอาจเป็นประโยชน์ในการขอให้ผู้ใช้เปรียบเทียบบรรทัดของเขากับตัวอย่างบางทีเขาสามารถกำหนดสิ่งที่ผิดและแก้ไขด้วยตนเอง โดยส่วนตัวฉันจะรอจนกว่าเขาจะโพสต์ไฟล์ source.list ของเขา
roadmr

@roadmr: ขอบคุณฉันเห็นด้วยกับทุกสถานการณ์ที่คุณวางไว้อย่างสมบูรณ์ ฉันเพิ่งรู้สึกว่ามือใหม่อาจไม่รู้วิธีโพสต์ไฟล์โดยเฉพาะบรรทัดที่ระบุจากไฟล์นั้นเว้นแต่จะได้รับคำแนะนำ นั่นเป็นแรงบันดาลใจให้ฉันเขียน QA-howto นี้ด้วยตนเอง :-)
ish

@ Roadmr ฉันเชื่อว่าคุณจะได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับสองบรรทัดที่มีรูปแบบไม่ถูกต้องหากหนึ่งบรรทัดที่ยาวถูกแบ่งออกเป็นสองบรรทัด
mchid

โปรดทราบว่าถ้า-i.backupจะถูกส่งไปsedแทนเพียง-iแล้วsedจะทำให้แฟ้มสำรองข้อมูลตัวเอง
Eliah Kagan

5

ไฟล์/etc/apt/sources.listนี้ประกอบด้วย URL ของเว็บเซิร์ฟเวอร์และตำแหน่งของแหล่งข้อมูลอื่น ๆ (เช่นซีดี) ซึ่งคุณได้รับซอฟต์แวร์และอัปเดตของคุณ โดยพื้นฐานแล้วจะบอก Ubuntu ว่าจะค้นหาซอฟต์แวร์ใหม่และอัพเดตสำหรับโปรแกรมที่ติดตั้งแล้ว ข้อความแสดงข้อผิดพลาดที่คุณได้รับนั้นหมายถึงว่าไฟล์นั้นถูกโจมตี โดยที่ไม่รู้ว่าไฟล์ในไฟล์ของคุณเป็นอะไรมันยากที่จะรู้ว่ามันผิดอะไร ดังนั้นคุณควรโพสต์ผลลัพธ์ของsudo more /etc/apt/sources.listเราเพื่อช่วยให้คุณดีขึ้น

หากไฟล์มีปัญหาเกินกว่าจะซ่อมคุณสามารถใช้ตัวสร้างซอร์สของ Ubuntuเพื่อสร้างsources.listใหม่ได้ แต่คุณควรสำรองข้อมูลเก่าของคุณไว้ล่วงหน้า นอกจากนี้สิ่งนี้จะทำให้คุณสูญเสียการเปลี่ยนแปลงทั้งหมดที่คุณทำไว้กับแหล่งซอฟท์แวร์ของคุณเช่นใน Sofware Center

วิธีที่ดีกว่าในการแก้ไขปัญหานี้คือให้เราเห็นว่ามีอะไรผิดปกติกับคุณ sources.list

แก้ไขหลังจากที่คุณโพสต์sources.list:

ฉันเชื่อว่าไฟล์ที่คุณโพสต์ควรมีลักษณะเช่นนี้ (โปรดสังเกตบรรทัดสุดท้ายและบรรทัดที่หายไป/etc/apt/sources.listในตอนท้าย):

# /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.canonical.com/ubuntu partner
deb-src http://archive.canonical.com/ubuntu partner

ฉันจะลองตัวสร้างรายการแหล่งที่มาหลังจากที่สำรองข้อมูลไฟล์ของฉัน แต่มันอาจใช้เวลาสักครู่ แล็ปท็อปของฉันยังอยู่บน HDD ดังนั้นจึงยังไม่เร็ว ฉันเพิ่ม source.list ไปที่ข้อความด้านบน
Odi1215

การสำรองไฟล์เพียงไฟล์เดียวก็เพียงพอsources.listแล้ว
con-f-use

โอเคจะทำ จากนั้นฉันจะลองตัวสร้างรายการแหล่งที่มา?
Odi1215

บวก. ใช่แล้ว
con-f-use

ฉันพิมพ์ sudo /etc/apt/sources.list มากกว่า แต่ไม่มีอะไรเกิดขึ้น
Odi1215

5

โปรดลองแก้ไขsources.listไฟล์ของคุณโดยวางsudo gedit /etc/apt/sources.listในเทอร์มินัล (อาจถามรหัสผ่านของคุณ) หลังจากนั้นคุณจะมีตัวเลือกเพื่อเปิดใช้งาน "หมายเลขบรรทัด" ในเมนูแก้ไข / การตั้งค่าของ gEdit และคลิกช่องทำเครื่องหมาย จากนั้นไปที่บรรทัดด้วยตนเองในข้อผิดพลาดของคุณเช่น 91 หรือโดยใช้ "ค้นหา / ไปที่บรรทัด" (Ctrl + ฉันทำเคล็ดลับ)

ป้อนคำอธิบายรูปภาพที่นี่

ที่จุดเริ่มต้นของบรรทัดที่ 91 ปล่อยสัญลักษณ์ # สอง ( ##) เพื่อแสดงความคิดเห็นในบรรทัดนั้นและวิธีนี้จะลบออกจากกระบวนการอัปเดต (คุณสามารถลบบรรทัดนั้นด้วยความเสี่ยงของคุณเองฉันขอแนะนำให้คุณสำรองข้อมูล)

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

ดูเหมือนว่าข้อความในบรรทัดที่ 91 ของsources.listไฟล์ของคุณเสียหายหรือมีข้อผิดพลาดบางชนิดซึ่งหมายความว่าซอฟต์แวร์บางตัวไม่สามารถติดตั้ง / อัปเดต / อัปเกรดได้

โดยการแสดงความคิดเห็น / ลบบรรทัดที่ผิดพลาดซอฟต์แวร์จะไม่ได้รับการติดตั้ง (หากยังไม่ได้ดำเนินการ) หรือจะไม่อัปเดต / อัปเกรดหากนั่นคือสิ่งที่คุณพยายามทำ ซึ่งฉันขอแนะนำให้คุณตรวจสอบว่าบรรทัดนั้นมาจากไหน (ต้องใช้ซอฟต์แวร์ใด) และทำการแก้ไขตามความเหมาะสมเพื่อให้ทุกอย่างทำงานได้ดี


4

หากคุณพบข้อผิดพลาดของบรรทัดที่มีรูปแบบไม่ถูกต้องเช่นด้านล่างนี้ฉันขอแนะนำให้คุณใส่ความคิดเห็น ( เพิ่มไว้#ก่อนบรรทัด ) แทนที่จะลบมันใน/etc/apt/sources.listไฟล์

E: Malformed line 91 in source list /etc/apt/sources.list (dist parse)

จากข้อผิดพลาดข้างต้นหมายเลขบรรทัด91ใน/etc/apt/sources.listไฟล์เสียหาย เพื่อแสดงความคิดเห็นหมายเลขบรรทัดที่ 91 คุณต้องเรียกใช้คำสั่งด้านล่างบนเทอร์มินัล

sudo sed -i '91s/\(.*\)/#\1/' /etc/apt/sources.list

91ในรหัสข้างต้นหมายถึงหมายเลขบรรทัด แทนที่หมายเลข 91 ในรหัสด้านบนด้วยของคุณหากคุณมีข้อผิดพลาดบรรทัดผิดรูปแบบ

ในบางกรณีข้อผิดพลาดบรรทัดผิดรูปแบบก็จะเกิดขึ้นในรายการไฟล์ที่มีอยู่จริงใน/etc/apt/sources.list.dไดเรกทอรี ตัวอย่างเช่น,

E: Malformed line 1 in source list /etc/apt/sources.list.d/google.list (dist parse)

ในกรณีนี้ฉันขอแนะนำให้คุณลบgoogle.listไฟล์โดยเรียกใช้sudo rm /etc/apt/sources.list.d/google.listแล้วเพิ่ม PPA ที่เกี่ยวข้องอีกครั้ง

ในที่สุดก็อัพเดทที่เก็บทั้งหมดโดยการเรียกใช้sudo apt-get updateคำสั่งบนเทอร์มินัล ตอนนี้ข้อผิดพลาดจะไม่ปรากฏขึ้น


3

คุณต้องลบบรรทัดสุดท้ายของไฟล์นี้ (ไม่ใช่ไฟล์เอง):

 /etc/apt/sources.list

sources.listไฟล์ของคุณต้องมีลักษณะดังนี้:

# /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe   multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.canonical.com/ partner
deb-src http://archive.canonical.com/ partner

แน่นอนว่าการแทนที่sources.listไฟล์ของคุณด้วยข้อความนั้นอาจเป็นสิ่งที่เลวร้ายมาก จุดสำคัญคือแต่ละบรรทัดเริ่มต้นด้วยdebหรือdeb-src(ยกเว้นสำหรับความคิดเห็นที่ขึ้นต้นด้วย#)


1
@ Malika สวัสดีฉันดีใจที่นี่แก้ไขปัญหาได้แล้ว แต่โปรดลองตอบคำถามไม่เพียง แต่สำหรับผู้ถามเท่านั้น แต่ยังสำหรับผู้ที่ Google คำถามนี้และมีปัญหาที่แตกต่างกันเล็กน้อยของผู้ถาม นี่อาจต้องการคำอธิบายเพิ่มเติมอีกเล็กน้อยเพื่อให้เป็นคำตอบ "ทั่วไป" ที่ดี :)
Jjed

@JacobJohanEdwards ฉันไม่สามารถเห็นด้วยกับคุณเพราะเราไม่สามารถช่วยคนที่ดำเนินการคำสั่งก่อนที่จะอ่านคำถาม IMO
Anwar

2
@ อันวาร์ในความคิดของฉันมันเป็นความรับผิดชอบของผู้ตอบที่จะ (ก) ไม่ตอบในวิธีที่จะช่วยให้ผู้ถามดั้งเดิมเท่านั้นคำสั่ง ข้อจำกัดความรับผิดชอบช่วย
Jjed

1

เปิดเทอร์มินัลโดยใช้CTRL+ Alt+ Tและดำเนินการคำสั่งด้านล่างเพื่อลบบรรทัด 6 ซึ่งเป็นรูปแบบที่ไม่ถูกต้องของแหล่งที่เก็บบรรทัดดังนั้นจึงทำให้คุณมีข้อผิดพลาดเกี่ยวกับบรรทัดที่มีรูปแบบไม่ถูกต้อง

คำเตือน:อย่าเรียกใช้คำสั่งนี้โดยไม่อ่านคำถามก่อนคำสั่งนี้จะลบบรรทัด 68 ของ/etc/apt/sources.listไฟล์ ตรวจสอบว่าปัญหาของคุณคล้ายและแม้ว่ามันจะแทนที่68ด้วยหมายเลขของสายที่คุณจะต้องลบ

sudo sed -i.old '68d' /etc/apt/sources.list

คำสั่งนี้จะลบบรรทัดที่ใช้sedในสถานที่ /etc/apt/sources.list.oldมันทำให้การสำรองข้อมูลที่เรียกว่า หากคุณไม่ต้องการสำรองข้อมูลแล้วคุณสามารถใช้ธรรมดาแทน-i-i.old

หรือคุณสามารถลบบรรทัดด้วย Gedit ด้วยตนเอง

  • กดAlt+ และประเภทF2 (หากคุณไม่มีคุณสามารถใช้)gksu gedit /etc/apt/sources.list
    gksusudo -H gedit
  • ค้นหาความเสียหาย/etc/apt/sources.listและลบออก
  • บันทึกและออกจาก Gedit

รูปแบบที่ถูกต้องของบรรทัดแหล่งเก็บข้อมูล:

รูปแบบที่ถูกต้องของบรรทัดซอร์สของที่เก็บคือ:

<type of repository> <location i.e URI>  <dist-name> <components i.e main, universe>

ตัวอย่างเช่น:

  deb http://archive.ubuntu.com/ubuntu precise main
  • ประเภท: เป็นประเภทของธุรกรรมซื้อคืนก็แสดงให้เห็นว่ามันเป็นพื้นที่เก็บข้อมูลไบนารีไม่ได้เป็นพื้นที่เก็บข้อมูลแหล่งที่มาซึ่งมีพิมพ์debdeb-scr
  • ที่ตั้ง: http://archive.ubuntu.com/ubuntuที่ตั้งของที่เก็บ
  • Dist-name: preciseเป็นชื่อการแจกจ่ายของ Ubuntu ที่วางจำหน่าย สำหรับ Ubuntu 12.04 มันคือprecise11.10oneiric

  • คอมโพเนนต์: mainระบุถึงส่วนประกอบของที่เก็บ ที่เก็บ Ubuntu แบ่งออกเป็นสี่ส่วน

    1. หลัก - ซึ่งมีซอฟต์แวร์โอเพนซอร์ซฟรีและเป็นทางการรองรับ
    2. Universe - โปรแกรมเหล่านี้ไม่ได้รับการสนับสนุนจาก Canonical แต่ได้รับการดูแลโดยชุมชน
    3. ถูก จำกัด - ซอฟต์แวร์เหล่านี้รองรับโดย Canonical แต่ไม่ฟรี สิ่งเหล่านี้ได้รับการสนับสนุนเพื่อมอบไดรเวอร์ที่จำเป็น
    4. ลิขสิทธิ์ - เหล่านี้เป็นซอฟต์แวร์ที่ไม่ใช้งานฟรีและไม่รองรับโดย Canonical

ดูหน้านี้สำหรับข้อมูลเพิ่มเติม

ตอนนี้คุณสามารถเข้าใจได้ว่า/etc/apt/sources.listไม่ใช่แหล่งที่เก็บบรรทัดและดังนั้นจึงapt-getบ่นเกี่ยวกับมัน



1
สวัสดีอันวาร์นี่เป็นคำตอบที่ดี แต่มีความเสี่ยงมากที่จะมีsudo sedคำสั่งที่อยู่ด้านบนสุดของมัน ผู้คนจำนวนมากที่มีปัญหาเดียวกัน (แต่มีสถานการณ์ที่แตกต่างกันเล็กน้อย) จะเห็นคำตอบนี้และจงใจเรียกใช้และอาจทำลายการsources.listซ่อมแซมของพวกเขา ในกรณีนี้อาจมีวิธีการทั่วไปเพิ่มเติม (พร้อมโปรแกรมแก้ไขข้อความ)
Jjed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.