29 lines
591 B
Bash
Executable File
29 lines
591 B
Bash
Executable File
#!/bin/bash
|
|
echo 'Cleaning up Claque...'
|
|
|
|
cd /data/Packages
|
|
|
|
ARCH=('x86_64' 'i686' 'noarch')
|
|
ARCHES=$(printf -- " --arch=%s" "${ARCH[@]}")
|
|
ARCHES="${ARCHES:1}"
|
|
|
|
declare -A DL_PKGS
|
|
|
|
for file in *.rpm; do
|
|
pkg_info=$(rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$file" 2>/dev/null)
|
|
DL_PKGS["$pkg_info"]+="$file "
|
|
done
|
|
|
|
for na in "${!DL_PKGS[@]}"; do
|
|
echo ${DL_PKGS["$na"]} | tr ' ' '\n' | sort -V | head -n -2 | xargs -d '\n' -r rm -v --
|
|
done
|
|
|
|
set -f
|
|
dnf5 download -y $ARCHES --refresh --best --destdir /data/Packages/ $PACKAGES
|
|
|
|
set +f
|
|
|
|
createrepo -q /data --update
|
|
|
|
echo 'Finished'
|