Titel: pacman --overwrite Parameter
Beitrag von: Sebastian am 01. Oktober 2023, 10:15:07
Hallo Andreas,
Da ich wissen wollte, ob eine angepasste Konfigurationsdatei mit überschrieben wird, wenn man den --overwrite Parameter bei der installation eines Paket Updates mit angibt, habe ich das einfach mal ausprobiert.
Das sagt das Handbuch dazu:
--overwrite <glob>
Bypass file conflict checks and overwrite conflicting files. If the package that is about to be installed contains files that are already installed and match glob, this option will cause all those files to be overwritten. Using --overwrite will not allow overwriting a directory with a file or installing packages with conflicting files and directories. Multiple patterns can be specified by separating them with a comma. May be specified multiple times. Patterns can be negated, such that files matching them will not be overwritten, by prefixing them with an exclamation mark. Subsequent matches will override previous ones. A leading literal exclamation mark or backslash needs to be escaped.
|
|
pacman(8) (https://man.archlinux.org/man/pacman.8#UPGRADE_OPTIONS_(APPLY_TO_-S_AND_-U))
Using --overwrite will not allow overwriting a directory with a file or installing packages with conflicting files and directories.
|
|
Demnach müsste der Paramter eigentlich sogar ziemlich safe sein, da er keine Dateien anderer Pakete überschreibt.
Ich habe das ganze mit folgendem PKGBUILD ausprobiert:
Code:
# This is an example PKGBUILD file. Use this as a start to creating your own, # and remove these comments. For more information, see 'man PKGBUILD'. # NOTE: Please fill out the license field for your package! If it is unknown, # then please put 'unknown'.
# Maintainer: Your Name <youremail@domain.com> pkgname=dummypkg pkgver=1 pkgrel=1 pkgdesc="Ein Dummy Paket um pacman -U --overwrite '*' zu testen." arch=(any) license=('unkown') _config="dummy_config" backup=("opt/${pkgname}/${_config}")
package() { cd "${pkgdir}" mkdir -p "${pkgdir}/opt/${pkgname}" echo "Ich sollte ein Binary werden" >"${pkgdir}/opt/${pkgname}/dummy_binary" echo "Ich bin eine Config erstellt am $(date -Is)" >"${pkgdir}/opt/${pkgname}/${_config}" }
|
|
Das Paket gebaut, installiert und eine Anpassung in der Datei /opt/dummypkg/dummy_config vorgenommen.
Dann habe ich im PKGBUILD die pkgver um 1 erhöht und das Paket noch mal gebaut und installiert. Nur dieses mal mit dem --overwrite '*' Parameter. Und was soll ich sagen pacman hat mir zum Glück die Datei nicht überschrieben, sondern mir eine .pacnew Datei ins Verzeichnis gelegt.
Mit anderen Worten du hast recht Andreas es werden keine Konfigurationsdateien damit aus Versehen überschrieben. |
Titel: Re:pacman --overwrite Parameter
Beitrag von: Andreas am 02. Oktober 2023, 07:59:40
Danke fürs ausprobieren! Ich habe es ehrlich gesagt auch nur vermutet. Jetzt wissen wir es!
LG Andreas |
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
|