ทุกแพ็คเกจ“ ไม่มีตัวเลือกการติดตั้ง”


26

ในขณะที่พยายามติดตั้งopenssh-serverบน Ubuntu 14.04 64- บิตฉันได้รับข้อผิดพลาดดังต่อไปนี้:

Package openssh-server is not available but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'openssh-server' has no installation candidate

ฉันเห็นข้อผิดพลาดเดียวกันเมื่อพยายามติดตั้งแพคเกจใด ๆ

นี่คือsources.listไฟล์:

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

2
คุณวิ่งapt-get updateหรือยัง นอกจากนี้คุณได้ตรวจสอบหากsources.listมีรายการที่เกี่ยวข้อง?
psimon

apt-cache policyกรุณาโพสต์การส่งออกของ
Faheem Mitha

4
โปรดอย่าโพสต์ภาพหน้าจอของการส่งข้อความ: โพสต์ข้อความเพื่อให้สามารถอ่านได้จริง ...
jasonwryan

salman @ salman-Inspiron: ~ $ sudo apt-cache นโยบายรหัสผ่าน [sudo] รหัสผ่านสำหรับ salman: ไฟล์แพคเกจ: 100 / var / lib / dpkg / สถานะการเปิดตัว a = ตอนนี้แพคเกจที่ปักหมุด: salman @ salman-Inspiron: ~ $
salman 299402

1
ฉันแนะนำการแก้ไขที่ควรทำให้คำตอบนี้เป็นเพียงต้องการการอนุมัติ
Oli

คำตอบ:


25

หากนั่นคือ/etc/apt/sources.listไฟล์ทั้งหมดของคุณนั่นจะอธิบายสถานการณ์ปัจจุบันของคุณ และฉันไม่มีคำอธิบายว่าทำไมคุณจึงติดตั้ง repo ที่ Hardy ฉันสงสัยว่าคุณได้ติดตามการกวดวิชาเก่าและมีบางสิ่งที่แตก

ขั้นตอนแรกของคุณคือการนำ repos กลับมาใช้ใหม่ ฉันขอแนะนำให้ใช้เครื่องมือเช่นRepoGenเพื่อให้ได้พื้นฐาน แต่ล้มเหลวซึ่งนี่เป็นสิ่งสำคัญที่สุด:

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

ติดสิ่งเหล่านั้นไว้ในที่ที่ถูกต้องด้วยsudoedit /etc/apt/sources.list(คุณอาจทิ้งเส้นเหล่านั้นด้วยความอดทน) เมื่อบันทึกแล้วให้เรียกใช้sudo apt-get updateแล้วคุณจะสามารถติดตั้งสิ่งต่าง ๆ ได้อีกครั้ง


คำตอบนี้ช่วยด้วยaskubuntu.com/questions/789302/สำหรับฉัน
Shayan

3

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

ก่อนอื่นเราต้องเชื่อมต่ออินเทอร์เน็ตเพื่อให้กระบวนการอัปเดตเกิดขึ้น

$sudo apt-get remove openssh-client

$sudo apt-get update

หากการอัปเดตไม่สามารถเกิดขึ้นได้เนื่องจาก/var/lib/apt/lists/lockคุณอาจลบไฟล์ดังกล่าวซึ่งจะช่วยในการดาวน์โหลดกระบวนการอัปเดต จากนั้นเรียกใช้คำสั่งต่อไปซึ่งควรจะทำงาน

$sudo apt-get install openssh-server

อย่าลองสิ่งนี้มันไม่ได้ผลสำหรับฉันและตอนนี้ฉันมีเวลาน้อยกว่าก่อน
WhatAMesh

2

ข้อความผิดพลาดนี้บ่งชี้ว่า 'แพคเกจเสมือน' ที่มีอยู่เฉพาะในProvides:สายของแพคเกจอื่นหรือจะเรียกว่าในDepends:, Recommends:หรือSuggests:สายของแพคเกจอื่น ๆ (s)

ในการแสดงรายการแพ็คเกจที่มี 'การให้: openssh-server' คุณจะต้องเรียกใช้:

aptitude search "?provides(openssh-server)"

ฉันสงสัยว่าคุณมีปัญหาอื่น ๆ ในระบบอูบุนตูของคุณอาจเป็นในsources.listไฟล์ของคุณ- บนเดเบียนอย่างน้อย openssh-server เป็นแพ็คเกจจริงไม่ใช่แพ็คเกจเสมือน ฉันจะแปลกใจถ้ามันแตกต่างกับอูบุนตู

$ aptitude search "?provides(openssh-server)"
i   openssh-server                  - secure shell (SSH) server, for secure acce
p   openssh-server:i386             - secure shell (SSH) server, for secure acce

0

ฉันมีปัญหาเดียวกันและนำออกและเพิ่มรายการแหล่งที่มาซ้ำแล้วซ้ำอีก ในท้ายที่สุดมันกลับกลายเป็นว่าฉันมีarmhfสถาปัตยกรรมต่างประเทศที่ติดตั้งและที่ทำให้เกิดปัญหา ดังนั้นก่อนอื่นให้กำจัดแพ็คเกจ ARM ทั้งหมดแล้วตามด้วยสถาปัตยกรรม

apt-get purge ".*:<arch>"
dpkg --remove-architecture <arch>

หลังจากนั้นapt-get updateก็วิ่งโดยไม่มีปัญหาและในที่สุดฉันก็สามารถอัพเดตแพ็คเกจได้อีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.