Czy istnieje sposób na wymuszenie apt-get
wyświetlenia monitu o tak / nie? Istnieje --force-yes
opcja, ale wydaje się, że nie ma żadnej --force-prompt
lub podobnej opcji. Jeśli spróbujesz zainstalować pakiet, który ma już wszystkie zależności, rozpocznie się instalacja bez wyświetlania monitu o tak / nie. Może to być uciążliwe, jeśli chcesz sprawdzić, czy istnieją zależności i które zostaną zainstalowane, ponieważ nie wiesz, czy potencjalne zależności zostaną zainstalowane wcześniej.
UWAGA: Kiedy „apt-get install” prosi mnie o potwierdzenie, czy chcę kontynuować, czy nie? jest nieco powiązany, ponieważ opisuje, w jakich standardowych warunkach wyświetlany jest monit. Interesuje mnie jednak, jak to wymusić.
apt-get
z odpowiednią opcją. Szczerze mówiąc, ta hipotetyczna opcja nie wydaje mi się bardzo przydatna.apt-get install
zamiastapt-cache showpkg
.Odpowiedzi:
Po prostu nie ma takiej możliwości przy obecnej implementacji apt-get, trzeba by otworzyć prośbę o funkcję i odwołać się do opiekuna. Obecne zachowanie apt-get polega na tym, że gdy lista pakietów, które domyślnie zadeklarowałeś do zainstalowania, jest równa liczbie pakietów, które zostaną zainstalowane, a żadne inne pakiety nie zostaną naruszone przez aktualizacje lub przerwy, apt-get zakłada, że użytkownik już jest pewien, co zostanie zrobione , jeśli nie jesteś pewien lub chcesz przeanalizować, co zostanie zrobione bez faktycznej instalacji pakietu, możesz skorzystać z zalecenia Costas z
-s, --simulate, --just-print, --dry-run, --recon, --no-act
.Istnieją inne narzędzia, takie jak apt-listbugs, które analizowałyby wersje pakietów do zainstalowania przed ich faktyczną instalacją (w tym przypadku pod kątem błędów) i ostrzegały.
źródło
Polecenie zakłada
yes
tylko na wypadek zainstalowania jednego pakietu (który został zainicjowany z wiersza poleceń) ORAZ wszystkie zależności w systemie, tj. Nic do zainstalowania poza jednym zapytanym pakietem.Innymi słowy „jeśli nie ma nic do zobaczenia (bez dodatkowych pakietów), to nie ma monitu (nie ma o co prosić)”.
Do celów testowych możesz użyć klucza
-s, --simulate, --just-print, --dry-run, --recon, --no-act
źródło
all dependecies are installed
już nie zostaniesz promowany, więc żadne inne pakiety nie zostaną zainstalowane.Widzę stare pytanie, ale teraz w podobnej sytuacji. Zwykle używam
sudo aptitude install -P PACKAGE_NAME
, o co zawsze pytam przed instalacją. Jednak teraz w domyślnym menedżerze pakietów Debiana jestapt|apt-get
i nie ma tej funkcji. Oczywiście nadal mogę go zainstalowaćaptitude
i używać ... Jednak napisałem małą funkcję / skrypt opakowujący sh / bash, o którąapt-get
należy zapytać przed instalacją. Jest naprawdę surowy i napisałem go jako funkcję w moim terminalu.Teraz wyjaśnijmy:
Aby użyć tej funkcji jako skryptu sh / bash, po prostu utwórz plik skryptu, np.
my_apt-get.sh
Z zawartością (Uwaga: lista nie zawiera komentarzy, aby była nieco krótsza ;-)):Następnie włóż go np. Do
~/bin/
i uruchom go za pomocą$ chmod u+x ~/bin/my_apt-get.sh
. Jeśli katalog~/bin
jest zawarty wPATH
zmiennej, będziesz mógł ją wykonać po prostu przez:Proszę zanotować:
sudo
. Jeśli korzystasz zroot
konta, prawdopodobnie musisz je dostosować.źródło