Portál AbcLinuxu, 7. listopadu 2025 23:30
rpm -qa --last nebo awk -F "|" '!/^#/ { if ( $2 == "install" ) print $1, ":", $3"-"$4}' /var/log/zypp/history mají přesné identifikace balíčků. Neřešil jste něco podobného jinde?
package_manager install package např. zypper install krusader či yum install krusader nebo aptitude install krusader a nezajímá mne, jaká je v současnosti aktuální verze a architektura (přičemž i verze může být pro jednu distribuci různá podle toho který konkrétní repozitář mám připojený.). Ano skript, který vyrobí instalační script. Tak jsem jen chtěl vědět jestli někdo podobný skript nemá.
tmp=$(mktemp)
for logfile in /var/log/aptitude* ; do
if zcat --test $logfile 2>/dev/null ; then
zcat $logfile | sed -n 's#\[INSTALL\] \(.*\)#\1#p' >> $tmp
else
sed -n 's#\[INSTALL\] \(.*\)#\1#p' $logfile >> $tmp
fi
done
tmp2=$(mktemp)
sort -u $tmp > $tmp2
aptitude search '~i!~M' | awk '{print $2}' | sort -u > $tmp
comm -12 $tmp $tmp2
rm -f $tmp $tmp2
Pokud se do toho začnou míchat různé architektury (multiarch), tak to bude složitější.
dpkg --get-selections
a
dpkg --set-selections
Pouzival sem to na normalizaci instalaci, protoze to zaroven odstrani ze systemu vsechny kraviny (cups, fail2ban, etc.), ktere jsem na puvodnim vykopal rucne.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.