[arch-general] Updated /var/cache/pacman/pkg old package version removal scripts
Guys, I have updated the script that I use to scan /var/cache/pacman/pkg and move old package versions to /home/backup/pkg-1 (next older version in: pkg-2, then pkg-3 and finally pkg-del). Additions to the script include directory md5sum checks for new packages (the script skips parsing any directory if there are no changes) and a disk usage summary at the end showing the size of each directory. As in the past, there are 2 scripts involved. The script you execute is 'fduparch.sh' which calls fduppkg for each directory. Currently, the only packages that the script misses are those with number as part of the name like "mplayer-32663-1". It handles virtually all others without issue. Grab the scripts here: http://www.3111skyline.com/dl/Archlinux/scripts/fduparch.sh http://www.3111skyline.com/dl/Archlinux/scripts/fduppkg To use the scripts, just download the scripts, make sure they are executable, and then create soft links to them in /usr/local/bin. I have the links setup as follows: fduparch -> /home/david/scr/arch/fduparch.sh fduppkg -> /home/david/scr/arch/fduppkg Then just call fduparch to remove duplicates from /var/cache/pacman/pkg and create the directories under /home/backup. I have it configured to save the last 3 versions of each package in /home/backup/{pkg-1,pkg-2,pkg-3} with any remaining duplicates dumped in /home/backup/pkg-del to be deleted - manually. Run fduparch [-h | --help] for a usage summary for both scripts. I have changed the backup package dir names from pkg-old, pkg-older to just pkg-1, pkg-2... pkg-del. The script has checks for the pkg-old, pkg-older names and moves the directories to the new names if you have used a prior version of the script. To change the location or number of backup directories, just edit the following line in fduparch.sh and remove or rename the locations: DIRLIST=( /var/cache/pacman/pkg /home/backup/pkg-1 /home/backup/pkg-2 /home/backup/pkg-3 /home/backup/pkg-del ) For example to just save just one prior version of your packages and move everything else to pkg-del, then just do: DIRLIST=( /var/cache/pacman/pkg /home/backup/pkg-1 /home/backup/pkg-del ) ** you need at least 1 directory in addition to /var/cache/pacman/pkg for the array logic ${#DIRLIST[@]}-1 to work. But beyond that, you can simply change the name and location of the backup package directories to whatever you want. The script creates 2 other files. /home/backup/.data/pkgdir-md5.txt to hold the md5sums for the directories and /home/backup/log/pkgdups.log.bz2 which is simply a log file of what was moved where. You can change any of this to suit your taste by editing the variables in the script. Also, to run the script as your user with sudo, just edit the line: if [[ $USER == david ]]; then and change david to your username. Otherwise you will need to run the script as root for permissions to move packages from /var/cache/pacman/pkg and to create the /home/backup directory. The script output (default) shows a brief heading for each directory it operates on and then provides a disk usage summary at the end: 09:58 archangel:~/arch/pkg> fduparch calling: 'fduppkg /var/cache/pacman/pkg -d /home/backup/pkg-1 -l pkgdups.log' Total packages to screen: 1989 Removing duplicates from: /var/cache/pacman/pkg Duplicates directory: /home/backup/pkg-1 Log file location: pkgdups.log Verbose mode set: [use -q to stop pkg output | -s to stop all output] pkg [ 70] binutils dup => binutils-2.20.1-4-x86_64.pkg.tar.xz pkg [ 308] f-spot dup => f-spot-0.6.2-1-x86_64.pkg.tar.xz <snip> 11 duplicates moved to /home/backup/pkg-1 <snip operations on other directories> Duplicate Removal Summary 3.2G /var/cache/pacman/pkg 2.4G /home/backup/pkg-1 2.8G /home/backup/pkg-2 2.4G /home/backup/pkg-3 103M /home/backup/pkg-del If there are no changes to the files in the directories, then they are skipped and you are just presented with a summary at the end. For anyone interested in learning a bit about bash scripting, the scripts are reasonably commented and cover a broad spectrum of what bash can do. Enjoy. -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com
On 01/02/2011 06:07 PM, David C. Rankin wrote:
Guys,
I have updated the script that I use to scan /var/cache/pacman/pkg and move old package versions to /home/backup/pkg-1 (next older version in: pkg-2, then pkg-3 and finally pkg-del).
Bug fixed in the create md5sum function and pkg-3 directory dropped as a default. If you grabbed the scripts in the past day, grab a new copy: http://www.3111skyline.com/dl/Archlinux/scripts/fduparch.sh (no changes to fduppkg) -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com
participants (1)
-
David C. Rankin