Gaurish Sharma wrote:
On Tuesday 16 Feb 2010 6:31:52 pm Nagy Gabor wrote:
Check /var/lib/pacman/local/, you will probably find many duplicated entries there. Then you should manually remove the older entries.
(This is probably caused by backup or buggy third party scripts. Next major pacman release will catch duplicated database entries and warn the user.)
Hi, you are right, there were duplicated entries(which I removed). I think which were caused while taking backups via rsync. I wonder, how could I advoid such problems in future.
I've got this little script: ################################# #! /bin/bash # /root/bin/arch-linux-local-dup-packages.sh _date: 20100217-2244_ iam="${0##*/}" match="${1}" ex=0 declare -A pkg_local pkg_local_dir="/var/lib/pacman/local" pkg="" _pkg="" pkg_name="" pkg_entry="" for pkg in "${pkg_local_dir}"/* do _pkg="${pkg##*/}" pkg_name="${_pkg%-*-*}" pkg_entry=${pkg_local["${pkg_name}"]} [ -z "${pkg_entry}" ] && { pkg_local["${pkg_name}"]="${_pkg}" : } || { pkg_local["${pkg_name}"]="${pkg_entry} ${_pkg}" echo "${iam}: duplicate: ${pkg_local[${pkg_name}]}" ((ex++)) : } done shopt -s extglob [ -n "${match}" ] && for pkg in "${!pkg_local[@]}" do pkg_entry=${pkg_local["${pkg}"]} [ -z "${pkg}" ] && { echo "${iam}: zero entry: ${pkg} -> ${pkg_entry}" ((ex++)) continue } case "${pkg}" in ${match}) echo "${iam}: match: ${pkg} -> ${pkg_entry}" ;; esac case "${pkg_entry}" in ${match}) echo "${iam}: match: ${pkg} <- ${pkg_entry}" ;; esac done exit ${ex} ################################# clemens