Jak mogę uzyskać „pełny” kod zakończenia dla apt-get
takich błędów
Package google-chrome is a virtual package provided by:
google-chrome-stable 29.0.1547.76-r223446
google-chrome-beta 30.0.1599.47-1
You should explicitly select one to install.
E: Package 'google-chrome' has no installation candidate
mieć inny kod wyjścia niż takie błędy pobierania
Err http://dl.google.com/linux/chrome/deb/ stable/main google-chrome-stable amd64 29.0.1547.76-r223446
Something wicked happened resolving 'dl.google.com:http' (-11 - System error)
Obecnie oba błędy kończą się za pomocą 100
Zasadniczo chciałbym, aby błędy pobierania zakończyły się z innym kodem niż błędy podobne do pierwszego. Jeśli to możliwe, chciałbym, aby każdy konkretny błąd miał inny kod wyjścia, ale powyższy przykład to minimum, którego potrzebuję. Jak mogę to zrobić w waniliowej instalacji Ubuntu bez dodatkowego oprogramowania (z wyjątkiem aptitude
)?
apt-get --download-only
najpierw zrobienie tego .apt-cache policy X
?apt-cache policy google-chrome
nie daje ci linii ze słowem „Kandydat”, podczas gdyapt-cache policy google-chrome-stable
byłoby.Odpowiedzi:
Nie jest to kompletna odpowiedź, ale możesz najpierw przetestować istnienie pakietów, wykonując
apt-cache policy X
i grepując dane wyjściowe dla „Candidate (none)” lub „Could not find package X” itp.źródło
Wierzę, że to nie jest przypadek XY, a ty po prostu chcesz móc ogólnie debugować apt-get. Przy takich założeniach oto moja odpowiedź.
Z
man apt.conf
:Dlatego musisz tylko aktywować reguły dla każdego z zachowań debugowania
apt-get
:Te trzy są pierwszymi, które strona podręcznika zaleca, a pierwsza pomoże ci w debugowaniu pierwszego wyświetlanego błędu. Po drugie możesz potrzebować:
https
,ftp
,cdrom
.Strona podręcznika ma znacznie więcej, możesz je łatwo wymienić
man apt.conf | grep -A5 -i debug
.Wszystko to powinno być napisane przy użyciu poprawnej składni i są to wartości logiczne:
lub jeśli chcesz użyć wielu linii:
Jeśli chcesz uruchomić tylko dla instancji apt-get, możesz użyć przełącznika
-o
/--option
:Inną metodą jest utworzenie spersonalizowanego pliku konfiguracyjnego i załadowanie go za pomocą przełącznika
-c
/--config-file
:Jeśli chodzi o zmianę kodów wyjścia, uważam, że nie możesz tego zrobić, chyba że zmienisz kod źródłowy.
apt-get
jest najnowocześniejszym oprogramowaniem, ponieważ ma zaawansowane metody debugowania procesu bez konieczności polegania na kodach zakończenia.źródło
apt-get
, nie przez cały czas.-o
opcji do uruchamiania poleceń ad-hoc. Zaktualizowałem moją odpowiedź.apt-cache policy PACKAGE
, jak powiedział Jos. Próbowałem sprawdzić, czy pakiet można zainstalować, być może nie zadałem właściwego pytania, ale to dobra odpowiedź