J'ai quelques questions sur le passage d'apt-get à zypper dans les scripts bash.
Quel est l'équivalent de cela?
sudo apt-get install curl --assume-yes
(où curl pourrait être n'importe quel paquet)
J'ai trouvé la feuille de triche Zypper - openSUSE . Très agréable! Mais j'apprécierais la voix de l'expérience ici - quelle est la bonne façon d'utiliser zypper dans un script où je veux accepter automatiquement toutes les invites et ne pas sauter les choses qui nécessitent une réponse?
Avec mon inexpérience, je serais tenté d'utiliser:
sudo zypper --non-interactive --no-gpg-checks --quiet install --auto-agree-with-licenses curl
Mais est-ce vraiment l'équivalent de --assume-yes
?
Qu'en est-il de leur équivalent?
sudo apt-get autoremove -y
sudo apt-get autoclean -y
Cela suggère qu'il n'y en a pas un ...
Existe-t-il un remplacement pour gdebi-core? Ou est-ce que gdebi n'est jamais nécessaire avec le "puissant solveur de satisfiabilité" de zypper? J'utilise gdebi pour les situations où j'ai besoin d'installer un paquet sur une ancienne version et j'ai déjà un fichier .deb (mais pas toutes les dépendances).
-n
option et une-y
option et ils signifient la même chose mais ils doivent être placés à des positions différentes dans la ligne de commande? Oui, c'est déroutant. (Pour être clair: je ne tire pas sur le messager; je dis que le développeur aurait dû penser davantage aux problèmes de convivialité.)zypper
a une-n
option. Lainstall
commande sub a à la fois une-y
option qui est une commodité qui alias à l'-n
option globale , et a également sa propre-n
qui est l'abréviation de--name
. Il est possible d'installer des packages par fonctionnalité. Ainsi,zypper install -n blah
spécifie de résoudre uniquement le package nomméblah
et de ne pas considérer les packages qui fournissentblah
. Sans cela, zypper peut résoudre en fonction de la section fournit à partir d'un RPM (y compris les comparaisons de versions), ce qui peut faciliter la résolution des dépendances.zypper install 'python>3.5'
par exemple.zypper install -n
est si vous souhaitez peut-être installer un package spécifique dont le nom est une capacité fournie par d'autres. Par exemple, il existe peut-être quelques implémentations de vi, et vous ne voulez qu'un package spécifique nommé vi sans résolution retomber sur gvim (qui fournit vi) dans le cas où levi
package spécifique manque pour une raison quelconque dans votre référentiel. Personnellement, je n'aime pas la nature déroutante des options courtes et les utilise rarement dans les scripts ou tout ce que quelqu'un (comme moi) pourrait avoir besoin de lire plus tard. : DVous avez l'option --non interactive. Depuis la page de manuel:
Il n'y a pas de véritable correspondance avec la suppression automatique d'apt-get. La plus proche est l'
--clean-deps
option de laremove
commande, qui nettoie les dépendances tout de suite (mais pas après).la source
zypper.conf
la confirmation permanente comme dans d'autres gestionnaires de paquets?Voilà un échantillon
Bien sûr, vous pouvez inclure plus d'options comme,
--auto-agree-with-licenses
mais n'oubliez pas que cela fait la différence si c'est avant ou aprèsinstall
la source
Cela a fonctionné pour moi (vérifié sur SLES12SP3):
Remarque
-C/--no-check
pourzypper ar
.Vous pouvez maintenant installer des packages:
la source