mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-08-15 17:32:22 +00:00
Update common-functions.sh
This commit is contained in:
parent
da9762f60e
commit
6e1cb2e0fe
@ -85,9 +85,13 @@ lvm_repair_check() {
|
|||||||
cleanup_duplicate_repos() {
|
cleanup_duplicate_repos() {
|
||||||
msg_info "$(translate "Cleaning up duplicate repositories...")"
|
msg_info "$(translate "Cleaning up duplicate repositories...")"
|
||||||
|
|
||||||
local sources_file="/etc/apt/sources.list"
|
|
||||||
local temp_file=$(mktemp)
|
|
||||||
local cleaned_count=0
|
local cleaned_count=0
|
||||||
|
local sources_file="/etc/apt/sources.list"
|
||||||
|
|
||||||
|
|
||||||
|
if [[ -f "$sources_file" ]]; then
|
||||||
|
local temp_file
|
||||||
|
temp_file=$(mktemp)
|
||||||
declare -A seen_repos
|
declare -A seen_repos
|
||||||
|
|
||||||
while IFS= read -r line || [[ -n "$line" ]]; do
|
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||||
@ -96,7 +100,7 @@ cleanup_duplicate_repos() {
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$line" =~ ^deb ]]; then
|
if [[ "$line" =~ ^[[:space:]]*deb ]]; then
|
||||||
read -r _ url dist components <<< "$line"
|
read -r _ url dist components <<< "$line"
|
||||||
local key="${url}_${dist}"
|
local key="${url}_${dist}"
|
||||||
if [[ -v "seen_repos[$key]" ]]; then
|
if [[ -v "seen_repos[$key]" ]]; then
|
||||||
@ -113,12 +117,18 @@ cleanup_duplicate_repos() {
|
|||||||
|
|
||||||
mv "$temp_file" "$sources_file"
|
mv "$temp_file" "$sources_file"
|
||||||
chmod 644 "$sources_file"
|
chmod 644 "$sources_file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
local old_pve_files=(/etc/apt/sources.list.d/pve-*.list)
|
local old_pve_files=(/etc/apt/sources.list.d/pve-*.list /etc/apt/sources.list.d/proxmox.list)
|
||||||
|
|
||||||
for file in "${old_pve_files[@]}"; do
|
for file in "${old_pve_files[@]}"; do
|
||||||
if [ -f "$file" ] && [[ "$file" != "/etc/apt/sources.list.d/pve-enterprise.list" ]]; then
|
if [[ -f "$file" ]]; then
|
||||||
if [ -f "/etc/apt/sources.list.d/proxmox.sources" ]; then
|
local base_name
|
||||||
|
base_name=$(basename "$file" .list)
|
||||||
|
local sources_equiv="/etc/apt/sources.list.d/${base_name}.sources"
|
||||||
|
|
||||||
|
if [[ -f "$sources_equiv" ]] && grep -q "^Enabled: *true" "$sources_equiv"; then
|
||||||
msg_info "$(translate "Removing old repository file: $(basename "$file")")"
|
msg_info "$(translate "Removing old repository file: $(basename "$file")")"
|
||||||
rm -f "$file"
|
rm -f "$file"
|
||||||
cleaned_count=$((cleaned_count + 1))
|
cleaned_count=$((cleaned_count + 1))
|
||||||
@ -126,10 +136,12 @@ cleanup_duplicate_repos() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ $cleaned_count -gt 0 ]; then
|
|
||||||
|
if [ "$cleaned_count" -gt 0 ]; then
|
||||||
msg_ok "$(translate "Cleaned up $cleaned_count duplicate/old repositories")"
|
msg_ok "$(translate "Cleaned up $cleaned_count duplicate/old repositories")"
|
||||||
apt-get update > /dev/null 2>&1 || true
|
apt-get update > /dev/null 2>&1 || true
|
||||||
else
|
else
|
||||||
msg_ok "$(translate "No duplicate repositories found")"
|
msg_ok "$(translate "No duplicate repositories found")"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user