Nie jest niczym niezwykłym, że użytkownik Ubuntu (lub innej dystrybucji z zarządzaniem pakietami apt) napotyka błąd:
user@box ~ $ sudo apt-get install x
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package x 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 'x' has no installation candidate
Zostało zadanych kilka pytań na ten temat na różnych stronach StackExchange, na przykład openvpn na AskUbuntu, ale ogólnie dotyczą one sposobu uzyskania określonego pakietu pomimo błędu.
Nie znalazłem żadnego pakietu, który nie zostałby znaleziony po prostu (choć nie zawsze łatwo), poprzez określenie, czy jest on nadal dystrybuowany, i pod którym repozytorium, jeśli tak, i upewnienie się, że repozytorium znajduje się w apt.sources, lub najgorsze przychodzi najgorsze pobranie .deb lub source do skompilowania.
Więc moje pytanie jest bardziej ogólne i chociaż wydaje mi się, że ma dość prostą i dlatego nie ekscytującą odpowiedź, nie mogę wymyślić, jak je znaleźć za pomocą konwencjonalnych metod wyszukiwarek, więc zwracam się do AskUbuntu: Czy istnieje polecenie lub opcja, które mogę użyj, aby określić, który pakiet / które pakiety odnoszą się do brakującego pakietu?
źródło
apt-get install libtinfo6
raporty niedostępne, ale do których odwołuje się inny pakiet, aleapt-cache search libtinfo6
nie dają żadnych wyników. Czy jest jakiś inny sposób na zrobienie podobnej rzeczy?terminfo
jednak następnym razem; zdarzyło się to wcześniej i prawdopodobnie powtórzy się.Czasami dzieje się tak, ponieważ APT po prostu nic nie wie o tym, o czym mówisz, ale można to rozwiązać, uruchamiając:
Po uruchomieniu tego zazwyczaj błąd znika, ponieważ
apt
iapt-get
wiem, jak zrobić to, o co teraz pytam.źródło
apt-get update
następuje,apt-get upgrade -y
ponieważ-y
pomija potwierdzenie użytkownika. Nie ma sensu używać go zapt-get update
. Mimo to wcale nie odpowiada to na pytanie.apt-get update
.apt-get update
odpowiada na pytanie AB (pakiet istnieje w repo aleapt-get install
iapt-cache
nie wiem na ten temat.)sudo apt-get update
jest po prostu wolna od kontrowersji i była dla mnie właściwym rozwiązaniem.