Fórum Root.cz
Hlavní témata => Distribuce => Téma založeno: hknmtt 01. 04. 2025, 17:33:16
-
Potrebujem zbehnut prikaz na odinstalovanie nejakych balikov na Ubuntu 24. Ked spustim
apt purge a b c -y -qq
tak je vsetko v poriadku, na prvy krat. Ale ak ho spustim druhy krat, napriklad ked je to sucastou nejakeho skriptu, tak mi to zlyha s E: Unable to locate package foo
. Ako to mozem vynutit, pripade aky iny prikaz na odinstalovanie mozem spustit viacnasobne a nebude si stazovat? Na webe som nasiel zmienku o --force-remove-reinstreq
ale nechce mi to zobrat, neviem ci to apt podporuje alebo robim nieco zle s tym.
-
reálně .. si udělej nějaký wrapper na ansible.builtin.package [1]..
Ale jako jo, šlo by na to napsat oneliner do bashe s nějakými `dpkg` a `&&`.
[1] https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_module.html
-
Zda sa, ze najvhodnejsie riesenie je odinstalovat iba jeden balik naraz. Potom funguje aj -qqq aby si nestazoval.
-
Hm, tak nie. Stale si stazuje ak balik nejestvuje. Proste 2>/dev/null asi len
-
Tak ani tak nie, lebo ak program neexistuje, apt mi exitne s kodom 100, co sa vyhodnoti ako zlyhanie.
-
dohledani "nainstalovanejch"(nebo i odinstalovanejch pres 'remove' s pozustatkem conf aka rc) s jednoduchou for smyckou
packages="a b c d"
for i in ${packages}; do dpkg -l ${i} &>/dev/null && purge+=" ${i}"; done
apt -qq purge -y ${purge}
nebo obecna "prasarna", prepsat error code na 0 (pokud to mas s "set -e" kdy ti pri chybe script umyslne skonci)
apt -qq purge -y nenainstalovanej || true