Mam kilka pytań na temat przejścia z apt-get na zypper w skryptach bash.
Co to jest równoważne?
sudo apt-get install curl --assume-yes
(gdzie curl może być dowolnym pakietem)
Znalazłem Zypper Cheat Sheet - openSUSE . Bardzo dobrze! Ale doceniłbym tutaj głos doświadczenia - jaki jest właściwy sposób użycia zyppera w skrypcie, w którym chcę automatycznie zgadzać się na wszystkie monity i nie pomijać rzeczy wymagających odpowiedzi?
Z moim niedoświadczeniem skusiłbym się użyć:
sudo zypper --non-interactive --no-gpg-checks --quiet install --auto-agree-with-licenses curl
Ale czy to naprawdę ekwiwalent --assume-yes
?
Co z ich odpowiednikiem?
sudo apt-get autoremove -y
sudo apt-get autoclean -y
To sugeruje, że nie ma ...
Czy istnieje zamiennik gdebi-core? Czy też gdebi nigdy nie jest potrzebny z „potężnym narzędziem do rozwiązywania problemów zypper”? Używam gdebi w sytuacjach, w których muszę zainstalować pakiet na starszej wersji i mam już plik .deb (ale nie wszystkie zależności).
-n
opcja i-y
opcja, które oznaczają to samo, ale muszą być umieszczone w różnych pozycjach w linii poleceń? Tak, to mylące. (Żeby było jasne: nie strzelam do posłańca; mówię, że deweloper powinien był więcej pomyśleć o problemach z użytecznością.)zypper
ma-n
opcję. Polecenieinstall
sub ma zarówno-y
opcję, która jest wygodą aliasu do-n
opcji globalnej , jak i swoją własną,-n
której jest skrótem--name
. Możliwe jest instalowanie pakietów według możliwości.zypper install -n blah
Określa więc, aby rozstrzygać tylko pakiet o nazwieblah
i nie brać pod uwagę pakietów, które go udostępniająblah
. Bez tego program zypper może rozstrzygać na podstawie sekcji dostarczania z RPM (w tym porównań wersji), co może ułatwić rozwiązywanie zależności.zypper install 'python>3.5'
na przykład.zypper install -n
jest, jeśli chcesz zainstalować konkretny pakiet, którego nazwa jest funkcją udostępnianą przez innych. Na przykład, być może istnieje kilka implementacji vi, a chcesz tylko określony pakiet o nazwie vi bez rozdzielczości wracający do gvim (który zapewnia vi) w przypadku, gdyvi
z jakiegoś powodu brakuje określonego pakietu w repozytorium. Osobiście nie podoba mi się myląca natura krótkich opcji i rzadko używam ich w skryptach lub cokolwiek innego, co ktoś (jak ja) może przeczytać później. : DMasz opcję --nieinteraktywną. Ze strony podręcznika:
Nie ma prawdziwej korespondencji z autorove apt-get. Najbliższa jest
--clean-deps
opcjaremove
polecenia, która natychmiast usuwa zależności (ale nie później).źródło
zypper.conf
celu stałego potwierdzenia, jak w innych menedżerach pakietów?To jest próbka
Oczywiście możesz podać więcej opcji,
--auto-agree-with-licenses
ale pamiętaj, że to robi różnicę, jeśli jest to przed, czy poinstall
źródło
To zadziałało dla mnie (sprawdzone na SLES12SP3):
Uwaga
-C/--no-check
dlazypper ar
.Teraz możesz zainstalować pakiety:
źródło