estrai feat_add_lsb_release in file dedicato e migliora rilevamento distro
- nuovo featlib/lsb-release.sh con feat_add_lsb_release - docker.sh importa lsb-release.sh - logica robusta per DISTRIB_ID/DISTRIB_CODENAME con fallback multipli - case-insensitive per LinuxMint/Ubuntu - lsb-release installato on-demand solo se necessariomaster
parent
296b354422
commit
92bad88c68
|
|
@ -1,6 +1,8 @@
|
||||||
#! /bin/bash --
|
#! /bin/bash --
|
||||||
[ ! -z "${GREZZO_1577141523}" ] && return; GREZZO_1577141523=0
|
[ ! -z "${GREZZO_1577141523}" ] && return; GREZZO_1577141523=0
|
||||||
|
|
||||||
|
. "$(this_script_path)/lsb-release.sh"
|
||||||
|
|
||||||
function feat_addpacks_docker() {
|
function feat_addpacks_docker() {
|
||||||
if ! feat_missing "apt-get"; then
|
if ! feat_missing "apt-get"; then
|
||||||
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
|
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
|
||||||
|
|
@ -10,30 +12,51 @@ function feat_addpacks_docker() {
|
||||||
sudo apt-get install \
|
sudo apt-get install \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
gnupg \
|
gnupg
|
||||||
lsb-release
|
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
|
if [ -f /etc/lsb-release ]; then
|
||||||
. /etc/lsb-release
|
. /etc/lsb-release
|
||||||
|
fi
|
||||||
|
if [ -f /etc/os-release ]; then
|
||||||
|
. /etc/os-release
|
||||||
|
fi
|
||||||
|
DISTRIB_ID="${DISTRIB_ID:-$ID}"
|
||||||
|
DISTRIB_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}"
|
||||||
|
if [ -z "$DISTRIB_CODENAME" ]; then
|
||||||
|
feat_needed "lsb_release"
|
||||||
|
if [ -f /etc/lsb-release ]; then
|
||||||
|
. /etc/lsb-release
|
||||||
|
fi
|
||||||
|
DISTRIB_ID="${DISTRIB_ID:-$ID}"
|
||||||
|
DISTRIB_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}"
|
||||||
|
if [ -z "$DISTRIB_CODENAME" ]; then
|
||||||
|
echo "Impossibile determinare DISTRIB_CODENAME (mancano /etc/lsb-release e /etc/os-release)" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
sudo rm -rf /etc/apt/keyrings/docker.gpg >/dev/null 2>&1
|
sudo rm -rf /etc/apt/keyrings/docker.gpg >/dev/null 2>&1
|
||||||
if [[ "$DISTRIB_ID" == "LinuxMint" ]]; then
|
if [[ "$DISTRIB_ID" == "LinuxMint" || "$DISTRIB_ID" == "linuxmint" ]]; then
|
||||||
|
if [ -f /etc/upstream-release/lsb-release ]; then
|
||||||
. /etc/upstream-release/lsb-release
|
. /etc/upstream-release/lsb-release
|
||||||
|
DISTRIB_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}"
|
||||||
|
fi
|
||||||
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||||
echo \
|
echo \
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||||
$DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
$DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
elif [[ "$DISTRIB_ID" == "Ubuntu" ]]; then
|
elif [[ "$DISTRIB_ID" == "Ubuntu" || "$DISTRIB_ID" == "ubuntu" ]]; then
|
||||||
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||||
echo \
|
echo \
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
$DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
else
|
else
|
||||||
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||||
echo \
|
echo \
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
|
||||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
$DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
fi
|
fi
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#! /bin/bash --
|
||||||
|
[ ! -z "${GREZZO_1737747200}" ] && return; GREZZO_1737747200=0
|
||||||
|
|
||||||
|
function feat_add_lsb_release() {
|
||||||
|
if ! feat_missing "apt-get"; then
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y lsb-release
|
||||||
|
elif ! feat_missing "pacman"; then
|
||||||
|
sudo pacman -S --needed lsb-release
|
||||||
|
elif ! feat_missing "apk"; then
|
||||||
|
sudo apk add --no-cache lsb-release
|
||||||
|
elif ! feat_missing "yum"; then
|
||||||
|
sudo yum install -y redhat-lsb-core
|
||||||
|
elif ! feat_missing "zypper"; then
|
||||||
|
sudo zypper in lsb-release
|
||||||
|
fi
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue