Page 2 sur 2
Re: [yaourt] nettoyage mais... (en cours)
Publié : sam. 19 sept. 2009, 15:46
par tuxce
un essai, ça prend que les fichiers ayant un nom en double, détecte la version la plus récente et supprime ceux qui l'ont pas.
Code : Tout sélectionner
#!/bin/sh
PACMAN_CACHE=/var/cache/pacman/pkg/
#\1 nom
#\2 version
#\3 release
#\5 architecture
SED_PKG='\(.*\)-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$'
cd "$PACMAN_CACHE"
ls | sed "s/$SED_PKG/\\1/" | uniq -c \
| sort -nr | grep -v '^ *1 ' | \
while read num pkg
do
lastver="0"
for version in $(ls "$pkg"* | sed "s/$SED_PKG/\\2-\\3/")
do
ret=$(vercmp "$lastver" "$version")
[ $ret -lt 0 ] && lastver="$version"
done
condemned=$(ls "$pkg"* | grep -Fv "$lastver")
rm -v $condemned
done
bon par contre, ça suppose qu'il n'y a que des paquets là dedans.
Re: [yaourt] nettoyage mais... (en cours)
Publié : sam. 19 sept. 2009, 17:36
par wido
le souci c'est que pour les noms en double comme:
Code : Tout sélectionner
bin32-winetricks-20090705-1-x86_64.pkg.tar.gz
bin32-wine-1.1.29-1-x86_64.pkg.tar.gz
bin32-wine-1.1.26-1-x86_64.pkg.tar.gz
il ne m'a gardé que bin32-winetricks-20090705-1-x86_64.pkg.tar.gz
c'est la même chose pour les fichier kernel26 et kernel26-firmware
par contre les noms simples comme git,conky,... nickel rien à redire
voici ce qui reste:
Code : Tout sélectionner
acct-6.3.2-2-x86_64.pkg.tar.gz
acetoneiso2-2.1-1-x86_64.pkg.tar.gz
alsa-lib-1.0.21.a-1-x86_64.pkg.tar.gz
alsa-utils-1.0.21-1-x86_64.pkg.tar.gz
apr-util-1.3.9-2-x86_64.pkg.tar.gz
bin32-winetricks-20090705-1-x86_64.pkg.tar.gz
bootchart-0.9-5-x86_64.pkg.tar.gz
bwidget-1.9.0-1-any.pkg.tar.gz
cdrdao-1.2.3rc2-1-x86_64.pkg.tar.gz
chkrootkit-0.49-1-x86_64.pkg.tar.gz
cloog-ppl-0.15.7-1-x86_64.pkg.tar.gz
cmake-2.6.4-3-x86_64.pkg.tar.gz
conky-1.7.2-1-x86_64.pkg.tar.gz
coreutils-7.6-1-x86_64.pkg.tar.gz
curl-7.19.6-1-x86_64.pkg.tar.gz
cvs-1.11.23-3-x86_64.pkg.tar.gz
damageproto-1.2.0-1-any.pkg.tar.gz
db4.1-4.1.25-3-x86_64.pkg.tar.gz
dbus-1.2.16-1-x86_64.pkg.tar.gz
dbus-core-1.2.16-1-x86_64.pkg.tar.gz
dhcpcd-5.1.0-1-x86_64.pkg.tar.gz
dmxproto-2.2.99.1-1-any.pkg.tar.gz
e2fsprogs-1.41.9-1-x86_64.pkg.tar.gz
enca-1.10-1-x86_64.pkg.tar.gz
enchant-1.5.0-1-x86_64.pkg.tar.gz
ethtool-6-2-x86_64.pkg.tar.gz
exo-0.3.102-1-x86_64.pkg.tar.gz
fakeroot-1.13-1-x86_64.pkg.tar.gz
fftw-3.2.2-1-x86_64.pkg.tar.gz
filezilla-3.2.7.1-1-x86_64.pkg.tar.gz
firefox-3.5.3-1-x86_64.pkg.tar.gz
firefox-fr-3.5.3-1.pkg.tar.bz2
font-bitstream-speedo-1.0.0-5-any.pkg.tar.gz
fontsproto-2.1.0-1-any.pkg.tar.gz
fortune-mod-chucknorris-fr-20090824-1-x86_64.pkg.tar.gz
freeglut-2.4.0-4-x86_64.pkg.tar.gz
fuse-2.8.0-1-x86_64.pkg.tar.gz
gamin-0.1.10-1.pkg.tar.gz
gconf-2.26.2-3-x86_64.pkg.tar.gz
ghc-6.10.4-1-x86_64.pkg.tar.gz.part
ghostscript-8.70-2-x86_64.pkg.tar.gz
giblib-1.2.4-4-x86_64.pkg.tar.gz
gimp-2.6.6-3-x86_64.pkg.tar.gz
git-1.6.4.4-1-x86_64.pkg.tar.gz
glibc-2.10.1-4-x86_64.pkg.tar.gz
gnome-mime-data-2.18.0-4-any.pkg.tar.gz
gnupg2-2.0.13-2-x86_64.pkg.tar.gz
gnutls-2.8.3-1-x86_64.pkg.tar.gz
gparted-0.4.6-2-x86_64.pkg.tar.gz
gstreamer0.10-0.10.24-1-x86_64.pkg.tar.gz
gstreamer0.10-bad-0.10.14-1-x86_64.pkg.tar.gz
gstreamer0.10-bad-plugins-0.10.14-1-x86_64.pkg.tar.gz
gstreamer0.10-base-0.10.24-1-x86_64.pkg.tar.gz
gstreamer0.10-base-plugins-0.10.24-1-x86_64.pkg.tar.gz
gstreamer0.10-ffmpeg-0.10.8-1-x86_64.pkg.tar.gz
gstreamer0.10-ugly-0.10.12-1-x86_64.pkg.tar.gz
gstreamer0.10-ugly-plugins-0.10.12-1-x86_64.pkg.tar.gz
gtkglext-1.2.0-2-x86_64.pkg.tar.gz
gvim-7.2.245-1-x86_64.pkg.tar.gz
hal-info-0.20090716-2-any.pkg.tar.gz
hd2u-1.0.3-1-x86_64.pkg.tar.gz
hdparm-9.27-1-x86_64.pkg.tar.gz
httrack-3.43.5-1-x86_64.pkg.tar.gz
human-icon-theme-0.33.6ubuntu2-2-any.pkg.tar.gz
human-icon-theme-0.34-1-any.pkg.tar.gz
human-icon-theme-0.35-1-any.pkg.tar.gz
imagemagick-6.5.5.6-1-x86_64.pkg.tar.gz
initscripts-2009.08-1-x86_64.pkg.tar.gz
inputproto-1.5.1-2-any.pkg.tar.gz
intltool-0.41.0-1-any.pkg.tar.gz
john-1.7.0.2-5-x86_64.pkg.tar.gz
jre-6u16-1-x86_64.pkg.tar.gz
kernel-headers-2.6.30.5-1-x86_64.pkg.tar.gz
kernel26-firmware-git-20090823-1-x86_64.pkg.tar.gz
kernel26-git-20090823-1-x86_64.pkg.tar.gz
lesstif-0.95.0-3-x86_64.pkg.tar.gz
lib32-alsa-lib-1.0.21.a-1-x86_64.pkg.tar.gz
lib32-atk-1.26.0-1.pkg.tar.gz
lib32-cairo-1.8.8-1-x86_64.pkg.tar.gz
lib32-db-4.7.25.4-1.pkg.tar.gz
lib32-e2fsprogs-1.41.8-2.1-x86_64.pkg.tar.gz
lib32-expat-2.0.1-2.pkg.tar.gz
lib32-fontconfig-2.6.0-2.pkg.tar.gz
lib32-glibc-2.10.1-4-x86_64.pkg.tar.gz
lib32-gnutls-2.8.3-1-x86_64.pkg.tar.gz
lib32-gtk2-2.16.5-1-x86_64.pkg.tar.gz
lib32-heimdal-1.2.1-5-x86_64.pkg.tar.gz
lib32-libcups-1.3.11-1-x86_64.pkg.tar.gz
lib32-libdrm-2.4.13-1-x86_64.pkg.tar.gz
lib32-libgcrypt-1.4.4-2-x86_64.pkg.tar.gz
lib32-libgpg-error-1.6-1.1.pkg.tar.gz
lib32-libice-1.0.6-1-x86_64.pkg.tar.gz
lib32-libjpeg-7-1-x86_64.pkg.tar.gz
lib32-libpng-1.2.39-1-x86_64.pkg.tar.gz
lib32-libsm-1.1.1-1-x86_64.pkg.tar.gz
lib32-libtasn1-2.2-1.pkg.tar.gz
lib32-libtiff-3.9.1-1-x86_64.pkg.tar.gz
lib32-libxau-1.0.5-1-x86_64.pkg.tar.gz
lib32-libxcursor-1.1.10-1-x86_64.pkg.tar.gz
lib32-libxft-2.1.13-1.pkg.tar.gz
lib32-libxinerama-1.0.99.1-1-x86_64.pkg.tar.gz
lib32-libxml2-2.7.3-3-x86_64.pkg.tar.gz
lib32-libxp-1.0.0-3-x86_64.pkg.tar.gz
lib32-libxslt-1.1.24-2.pkg.tar.gz
lib32-libxt-1.0.6-1-x86_64.pkg.tar.gz
lib32-libxxf86vm-1.0.99.1-1-x86_64.pkg.tar.gz
lib32-lzo2-2.03-1.pkg.tar.gz
lib32-mesa-7.5.1-2-x86_64.pkg.tar.gz
lib32-ncurses-5.7-2.pkg.tar.gz
lib32-opencdk-0.6.6-1.1.pkg.tar.gz
lib32-openssl-0.9.8k-4-x86_64.pkg.tar.gz
lib32-pango-1.24.5-1.1-x86_64.pkg.tar.gz
lib32-pixman-0.16.0-1-x86_64.pkg.tar.gz
lib32-printproto-1.0.4-1-x86_64.pkg.tar.gz
lib32-readline-6.0.004-1-x86_64.pkg.tar.gz
lib32-sqlite3-3.6.17-1-x86_64.pkg.tar.gz
lib32-util-linux-ng-2.16-1-x86_64.pkg.tar.gz
lib32-xcb-util-0.3.6-1-x86_64.pkg.tar.gz
libarchive-2.7.1-1-x86_64.pkg.tar.gz
libass-0.9.6-2.1-x86_64.pkg.tar.gz
libburn-0.7.0.pl00-1-x86_64.pkg.tar.gz
libcups-1.4.0-2-x86_64.pkg.tar.gz
libdca-0.0.5-2-x86_64.pkg.tar.gz
libdmx-1.0.99.1-1-x86_64.pkg.tar.gz
libdrm-2.4.13-1-x86_64.pkg.tar.gz
libdvdcss-1.2.10-1-x86_64.pkg.tar.gz
libdvdnav-4.1.3-1-x86_64.pkg.tar.gz
libdvdread-4.1.3-1-x86_64.pkg.tar.gz
libfetch-2.25-1-x86_64.pkg.tar.gz
libfontenc-1.0.5-1-x86_64.pkg.tar.gz
libice-1.0.6-1-x86_64.pkg.tar.gz
libisofs-0.6.22-1-x86_64.pkg.tar.gz
libldap-2.4.18-1-x86_64.pkg.tar.gz
libmysqlclient-5.1.38-1-x86_64.pkg.tar.gz
libofa-0.9.3-2-x86_64.pkg.tar.gz
libogg-1.1.4-1-x86_64.pkg.tar.gz
libpciaccess-0.10.8-1-x86_64.pkg.tar.gz
libpng-1.2.39-1-x86_64.pkg.tar.gz
libsm-1.1.1-1-x86_64.pkg.tar.gz
libtiff-3.9.1-1-x86_64.pkg.tar.gz
libtorrent-0.12.5-1-x86_64.pkg.tar.gz
libunique-1.0.8-1-x86_64.pkg.tar.gz
libvorbis-1.2.3-1-x86_64.pkg.tar.gz
libxau-1.0.5-1-x86_64.pkg.tar.gz
libxcursor-1.1.10-1-x86_64.pkg.tar.gz
libxinerama-1.0.99.1-1-x86_64.pkg.tar.gz
libxml2-2.7.3-3-x86_64.pkg.tar.gz
libxp-1.0.0-3-x86_64.pkg.tar.gz
libxpm-3.5.7-2-x86_64.pkg.tar.gz
libxss-1.2.0-1-x86_64.pkg.tar.gz
libxxf86dga-1.0.99.1-1-x86_64.pkg.tar.gz
libxxf86vm-1.0.99.1-1-x86_64.pkg.tar.gz
lshw-B.02.14-1.pkg.tar.gz
lynx-2.8.7-1-x86_64.pkg.tar.gz
man-db-2.5.6-1-x86_64.pkg.tar.gz
meld-1.3.1-1-x86_64.pkg.tar.gz
mesa-7.5.1-2-x86_64.pkg.tar.gz
module-init-tools-3.10-1-x86_64.pkg.tar.gz
mpc-0.17-1-x86_64.pkg.tar.gz
mpd-0.15.2-1-x86_64.pkg.tar.gz
mtools-4.0.10-5-x86_64.pkg.tar.gz
murrine-themes-collection-20090906-1-any.pkg.tar.gz
neon-0.28.6-1-x86_64.pkg.tar.gz
nss-3.12.4-1-x86_64.pkg.tar.gz
ntp-4.2.4p7-3-x86_64.pkg.tar.gz
openntpd-3.9p1-7.pkg.tar.gz
openoffice-base-3.1.1-1-x86_64.pkg.tar.gz
openoffice-fr-3.1.1-1-any.pkg.tar.gz
openssh-5.2p1-1-x86_64.pkg.tar.gz
pacman-3.3.0-3-x86_64.pkg.tar.gz
pciutils-3.1.4-1-x86_64.pkg.tar.gz
perl-error-0.17015-1-x86_64.pkg.tar.gz
perl-locale-gettext-1.05-4-x86_64.pkg.tar.gz
perlxml-2.36-2-x86_64.pkg.tar.gz
physfs-2.0.0-2-x86_64.pkg.tar.gz
pidgin-2.6.1-1-x86_64.pkg.tar.gz
pixman-0.16.0-1-x86_64.pkg.tar.gz
playonlinux-3.6-1-x86_64.pkg.tar.gz
postgresql-libs-8.4.1-1-x86_64.pkg.tar.gz
printproto-1.0.4-1-x86_64.pkg.tar.gz
psutils-1.17-2-x86_64.pkg.tar.gz
python-lxml-2.2.2-1-x86_64.pkg.tar.gz
python-pycurl-7.19.0-3.pkg.tar.gz
python-simplejson-2.0.9-1.pkg.tar.gz
qsvn-0.8.2-1.pkg.tar.gz
qt-4.5.2-7-x86_64.pkg.tar.gz
rapidsvn-0.10.0-1-x86_64.pkg.tar.gz
raptor-1.4.19-1-x86_64.pkg.tar.gz
rasqal-0.9.16-1-x86_64.pkg.tar.gz
realripper-1.1-1-x86_64.pkg.tar.gz
redland-1.0.9-2-x86_64.pkg.tar.gz
rsync-3.0.6-1-x86_64.pkg.tar.gz
rtorrent-0.8.5-1-x86_64.pkg.tar.gz
scite-2.01-1-x86_64.pkg.tar.gz
screen-4.0.3-8-x86_64.pkg.tar.gz
scrnsaverproto-1.2.0-1-any.pkg.tar.gz
scrot-0.8-3-x86_64.pkg.tar.gz
sdl_net-1.2.7-3-x86_64.pkg.tar.gz
sdl_perl-2.2.1.8-1-x86_64.pkg.tar.gz
sdl_ttf-2.0.9-2-x86_64.pkg.tar.gz
setuptools-0.6c9-2-x86_64.pkg.tar.gz
smbclient-3.3.7-2-x86_64.pkg.tar.gz
sonata-1.6.2-1-x86_64.pkg.tar.gz
sqlite3-3.6.17-1-x86_64.pkg.tar.gz
streamripper-1.64.6-1-x86_64.pkg.tar.gz
subversion-1.6.5-4-x86_64.pkg.tar.gz
supertuxkart-0.6.2-1-x86_64.pkg.tar.gz
syslog-ng-3.0.4-1-x86_64.pkg.tar.gz
t1lib-5.1.2-2-x86_64.pkg.tar.gz
tcl-8.5.7-1-x86_64.pkg.tar.gz
tcllib-1.11.1-1.pkg.tar.gz
thunar-thumbnailers-0.4.1-3-x86_64.pkg.tar.gz
tk-8.5.7-1-x86_64.pkg.tar.gz
tor-0.2.1.19-1-x86_64.pkg.tar.gz
translator-0.9.6.01-1-x86_64.pkg.tar.gz
transmission-cli-1.74-1-x86_64.pkg.tar.gz
transmission-gtk-1.74-1-x86_64.pkg.tar.gz
ttf-dejavu-2.30-1-any.pkg.tar.gz
tzdata-2009l-1-x86_64.pkg.tar.gz
udev-146-2-x86_64.pkg.tar.gz
unrar-3.9.6-1-x86_64.pkg.tar.gz
usbutils-0.86-2-x86_64.pkg.tar.gz
videoproto-2.3.0-1-any.pkg.tar.gz
vim-7.2.245-1-x86_64.pkg.tar.gz
virtualbox_bin-3.0.6-2.pkg.tar.bz2
wicd-1.6.2.2-1-x86_64.pkg.tar.gz
wireshark-1.2.1-1.1-x86_64.pkg.tar.gz
xcb-util-0.3.6-1-x86_64.pkg.tar.gz
xcursor-archcursorblue-0.0.2-2.pkg.tar.gz
xf86-input-evdev-2.2.5-1-x86_64.pkg.tar.gz
xf86dgaproto-2.0.99.1-1-any.pkg.tar.gz
xf86vidmodeproto-2.2.99.1-1-any.pkg.tar.gz
xfce4-clipman-plugin-1.1.0-1-x86_64.pkg.tar.gz
xfce4-notes-plugin-1.7.1-1-x86_64.pkg.tar.gz
xfce4-power-manager-0.8.3.1-1-x86_64.pkg.tar.gz
xfsprogs-3.0.3-1-x86_64.pkg.tar.gz
xineramaproto-1.1.99.1-1-any.pkg.tar.gz
xmlrpc-c-1.06.36-1-x86_64.pkg.tar.gz
xorg-font-utils-7.4-3-x86_64.pkg.tar.gz
xorg-server-utils-7.4-7-x86_64.pkg.tar.gz
xpdf-3.02_pl3-1-x86_64.pkg.tar.gz
xscreensaver-5.10-1-x86_64.pkg.tar.gz
xterm-246-1-x86_64.pkg.tar.gz
xulrunner-1.9.1.3-1-x86_64.pkg.tar.gz
xz-utils-4.999.9beta-1-x86_64.pkg.tar.gz
yaourt-0.9.2.6-1.pkg.tar.bz2
et ce qui a été effacé (déplacer

)
Code : Tout sélectionner
acetoneiso2-2.0.3.2-1-x86_64.pkg.tar.gz
acetoneiso2-2.0.4-1-x86_64.pkg.tar.gz
alsa-lib-1.0.21-1-x86_64.pkg.tar.gz
apr-1.3.8-1-x86_64.pkg.tar.gz
apr-1.3.8-2-x86_64.pkg.tar.gz
apr-util-1.3.9-1-x86_64.pkg.tar.gz
bin32-wine-1.1.26-1-x86_64.pkg.tar.gz
bin32-wine-1.1.29-1-x86_64.pkg.tar.gz
cmake-2.6.4-2-x86_64.pkg.tar.gz
coreutils-7.5-1-x86_64.pkg.tar.gz
coreutils-7.5-2-x86_64.pkg.tar.gz
dhcpcd-5.0.7-1-x86_64.pkg.tar.gz
exo-0.3.101-2-x86_64.pkg.tar.gz
fftw-3.2.1-1-x86_64.pkg.tar.gz
firefox-fr-3.5.2-1-x86_64.pkg.tar.bz2
git-1.6.4-1-x86_64.pkg.tar.gz
git-1.6.4.1-1-x86_64.pkg.tar.gz
git-1.6.4.2-1-x86_64.pkg.tar.gz
git-1.6.4.3-1-x86_64.pkg.tar.gz
gnupg2-2.0.13-1-x86_64.pkg.tar.gz
gparted-0.4.6-1-x86_64.pkg.tar.gz
gstreamer0.10-bad-0.10.13-1-x86_64.pkg.tar.gz
gstreamer0.10-bad-plugins-0.10.13-1-x86_64.pkg.tar.gz
hdparm-9.22-1-x86_64.pkg.tar.gz
hdparm-9.22-2-x86_64.pkg.tar.gz
hdparm-9.26-1-x86_64.pkg.tar.gz
imagemagick-6.5.4.8-1-x86_64.pkg.tar.gz
kernel26-2.6.30.5-1-x86_64.pkg.tar.gz
kernel26-2.6.30.6-1-x86_64.pkg.tar.gz
kernel26-2.6.31-1-x86_64.pkg.tar.gz
kernel26-firmware-2.6.30-1-x86_64.pkg.tar.gz
kernel26-firmware-2.6.31-1-x86_64.pkg.tar.gz
lib32-alsa-lib-1.0.20-1.pkg.tar.gz
lib32-alsa-lib-1.0.21-1-x86_64.pkg.tar.gz
lib32-libtiff-3.9.0-1-x86_64.pkg.tar.gz
lib32-libxcursor-1.1.9-2.pkg.tar.gz
lib32-libxinerama-1.0.3-2.pkg.tar.gz
lib32-mesa-7.5-2-x86_64.pkg.tar.gz
lib32-pixman-0.14.0-2.pkg.tar.gz
libcups-1.4.0-1-x86_64.pkg.tar.gz
libldap-2.3.43-3-x86_64.pkg.tar.gz
libtiff-3.8.2-6-x86_64.pkg.tar.gz
libtiff-3.9.0-1-x86_64.pkg.tar.gz
meld-1.3.0-2-x86_64.pkg.tar.gz
mesa-7.5.1-1-x86_64.pkg.tar.gz
openoffice-base-3.1.0.99-1-x86_64.pkg.tar.gz
qt-4.5.2-6-x86_64.pkg.tar.gz
redland-1.0.9-1-x86_64.pkg.tar.gz
scite-1.79-1.pkg.tar.gz
subversion-1.6.4-2-x86_64.pkg.tar.gz
subversion-1.6.5-3-x86_64.pkg.tar.gz
syslog-ng-3.0.3-3-x86_64.pkg.tar.gz
udev-146-1-x86_64.pkg.tar.gz
usbutils-0.86-1-x86_64.pkg.tar.gz
virtualbox_bin-3.0.4-1-x86_64.pkg.tar.bz2
virtualbox_bin-3.0.6-1.pkg.tar.bz2
xf86-input-evdev-2.2.4-1-x86_64.pkg.tar.gz
xmlrpc-c-1.06.35-1-x86_64.pkg.tar.gz
xorg-server-1.6.3-3-x86_64.pkg.tar.gz
xorg-server-1.6.3-4-x86_64.pkg.tar.gz
xorg-server-1.6.3.901-1-x86_64.pkg.tar.gz
xscreensaver-5.09-1-x86_64.pkg.tar.gz
xterm-245-1-x86_64.pkg.tar.gz
Re: [yaourt] nettoyage mais... (en cours)
Publié : sam. 19 sept. 2009, 18:13
par Abazigal
Ouais, je vois le soucis:
Quand il arrive à cette ligne,
pkg vaut
"bin32-wine" par exemple, mais à cause de l'étoile,
ls renvoie aussi
"bin32-winetricks"; ce qui fait qu'au lieu de comparer
"1.1.29-1" et
"1.1.26-1", il compare
"1.1.29-1",
"1.1.26-1" et
"20090705-1".
Comme c'est
"20090705-1" qui 'gagne', le
ls plus bas rempli
"condamned" avec tout ce qui ne contient pas
"20090705-1" dans
"bin32-winetricks-20090705-1-x86_64.pkg.tar.gz",
"bin32-wine-1.1.29-1-x86_64.pkg.tar.gz" et
"bin32-wine-1.1.26-1-x86_64.pkg.tar.gz", c'est à dire
"bin32-wine-1.1.29-1-x86_64.pkg.tar.gz" et
"bin32-wine-1.1.26-1-x86_64.pkg.tar.gz". Du coup, les 2
"bin32-wine" sont virés.
Ha, tiens, c'est pas très clair, comme explication
Pour contourner le problème, il suffirait de réappliquer la grosse regexp du début, en remplacant le champ 1 par $pkg;
en gros, dans le script, remplacer
par
Code : Tout sélectionner
for version in $(ls "$pkg"* | grep "$pkg-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | sed "s/$SED_PKG/\\2-\\3/")
et
par
Code : Tout sélectionner
condemned=$(ls "$pkg"* | grep "$pkg-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | grep -Fv "$lastver")
À confirmer / infirmer / optimiser ...

Re: [yaourt] nettoyage mais... (en cours)
Publié : sam. 19 sept. 2009, 18:53
par wido
pour les problèmes de bin32-wine , c'est corrigés, il ne reste plus que le souci avec les noms kernel26
Code : Tout sélectionner
kernel-headers-2.6.30.5-1-x86_64.pkg.tar.gz
kernel26-firmware-git-20090823-1-x86_64.pkg.tar.gz
kernel26-git-20090823-1-x86_64.pkg.tar.gz
kernel26-2.6.30.5-1-x86_64.pkg.tar.gz
kernel26-2.6.30.6-1-x86_64.pkg.tar.gz
kernel26-2.6.31-1-x86_64.pkg.tar.gz
kernel26-firmware-2.6.30-1-x86_64.pkg.tar.gz
kernel26-firmware-2.6.31-1-x86_64.pkg.tar.gz
le script modifié m'a effacé:
Code : Tout sélectionner
kernel26-2.6.30.5-1-x86_64.pkg.tar.gz
kernel26-2.6.30.6-1-x86_64.pkg.tar.gz
kernel26-2.6.31-1-x86_64.pkg.tar.gz
kernel26-firmware-2.6.30-1-x86_64.pkg.tar.gz
kernel26-firmware-2.6.31-1-x86_64.pkg.tar.gz
est-ce logique? ou faut-il que je supprime les versions kernel26-firmware-git et kernel26-git pour qu'il me garde ceux qui sont supportées par l'équipe arch?
Re: [yaourt] nettoyage mais... (en cours)
Publié : sam. 19 sept. 2009, 19:12
par Abazigal
Essaye de remplacer
Code : Tout sélectionner
for version in $(ls "$pkg"* | grep "$pkg-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | sed "s/$SED_PKG/\\2-\\3/")
par
Code : Tout sélectionner
for version in $(ls "$pkg"* | grep "$pkg-\([^-]*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | sed "s/$SED_PKG/\\2-\\3/")
et
Code : Tout sélectionner
condemned=$(ls "$pkg"* | grep "$pkg-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | grep -Fv "$lastver")
par
Code : Tout sélectionner
condemned=$(ls "$pkg"* | grep "$pkg-\([^-]*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | grep -Fv "$lastver")
Re: [yaourt] nettoyage mais... (en cours)
Publié : sam. 19 sept. 2009, 21:20
par wido
j'ai modifié le script pour qu'il analyse aussi les paquets "any"
Code : Tout sélectionner
#!/bin/sh
PACMAN_CACHE=/var/cache/pacman/pkg/
#\1 nom
#\2 version
#\3 release
#\5 architecture
SED_PKG='\(.*\)-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\|any\)\)\{0,1\}\.pkg\.tar\..*$'
cd "$PACMAN_CACHE"
ls | sed "s/$SED_PKG/\\1/" | uniq -c \
| sort -nr | grep -v '^ *1 ' | \
while read num pkg
do
lastver="0"
#for version in $(ls "$pkg"* | sed "s/$SED_PKG/\\2-\\3/")
#for version in $(ls "$pkg"* | grep "$pkg-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64|\)\)\{0,1\}\.pkg\.tar\..*$" | sed "s/$SED_PKG/\\2-\\3/")
for version in $(ls "$pkg"* | grep "$pkg-\([^-]*\)-\([0-9]\+\)\(-\(i686\|x86_64\|any\)\)\{0,1\}\.pkg\.tar\..*$" | sed "s/$SED_PKG/\\2-\\3/")
do
ret=$(vercmp "$lastver" "$version")
[ $ret -lt 0 ] && lastver="$version"
done
#condemned=$(ls "$pkg"* | grep -Fv "$lastver")
#condemned=$(ls "$pkg"* | grep "$pkg-\(.*\)-\([0-9]\+\)\(-\(i686\|x86_64\)\)\{0,1\}\.pkg\.tar\..*$" | grep -Fv "$lastver")
condemned=$(ls "$pkg"* | grep "$pkg-\([^-]*\)-\([0-9]\+\)\(-\(i686\|x86_64\|any\)\)\{0,1\}\.pkg\.tar\..*$" | grep -Fv "$lastver")
rm $condemned
#mv $condemned /var/cache/pacman/backup/
done
et merci les

, j'ai gagné pas moins de 500Mo

Re: [yaourt] nettoyage mais... (résolu)
Publié : sam. 03 oct. 2009, 14:20
par tuxce
il faudrait qu'on lise les doc plus souvent quand même

par hasard, je tombe sur:
man pacman.conf a écrit : CleanMethod = KeepInstalled | KeepCurrent
If set to KeepInstalled (the default), the -Sc operation will clean packages that are no longer installed (not present in the local database). If set to KeepCurrent, -Sc will clean outdated packages (not present in any sync database). The second behavior is useful when the package cache is shared among multiple machines, where the local databases are usually different, but the sync databases in use could be the same.
en gros, rajouter:
dans pacman.conf fait ce que tu souhaites.
Re: [yaourt] nettoyage mais... (résolu)
Publié : sam. 17 oct. 2009, 16:22
par wido
j'ai vu ta manip tuxce, ça n'a pas l'air de fonctionner dans un dépôt local.
j'ai une modification à faire concernant le script, je me retrouve avec des fichiers de type:
Code : Tout sélectionner
dbus-python-0.83.0-2-x86_64.pkg.tar.gz
dbus-python-0.83.0-2.1-x86_64.pkg.tar.gz
j'ai essayé ça:
Code : Tout sélectionner
SED_PKG='\(.*\)-\(.*\)-\([0-9]\+\.[0-9]\+\)\(-\(i686\|x86_64\|any\)\)\{0,1\}\.pkg\.tar\..*$'
ça n'a pas l'air de fonctionner
Re: [yaourt][Script] nettoyage dépot local (presque résolu)
Publié : dim. 27 déc. 2009, 00:07
par wido
J'ai trouvé mieux:
repo-clean
Code : Tout sélectionner
dossier=/votredepot
TMP=/votredépotoir
cd $dossier
repo-clean -mm -d $TMP/