2026-05-18 09:56:57 +04:00
if which apt-get > /dev/null 2>& 1; then pm = $( which apt-get) ; silent_inst = "-yq install --install-recommends" ; check_pkgs = "-yq update" ; docker_pkg = "docker.io" ; dist = "debian" ; \
2023-11-14 16:57:04 +07:00
elif which dnf > /dev/null 2>& 1; then pm = $( which dnf) ; silent_inst = "-yq install" ; check_pkgs = "-yq check-update" ; docker_pkg = "docker" ; dist = "fedora" ; \
elif which yum > /dev/null 2>& 1; then pm = $( which yum) ; silent_inst = "-y -q install" ; check_pkgs = "-y -q check-update" ; docker_pkg = "docker" ; dist = "centos" ; \
2025-06-23 06:34:40 +04:00
elif which zypper > /dev/null 2>& 1; then pm = $( which zypper) ; silent_inst = "-nq install" ; check_pkgs = "-nq refresh" ; docker_pkg = "docker" ; dist = "opensuse" ; \
2025-01-27 22:54:21 +04:00
elif which pacman > /dev/null 2>& 1; then pm = $( which pacman) ; silent_inst = "-S --noconfirm --noprogressbar --quiet" ; check_pkgs = "-Sup" ; docker_pkg = "docker" ; dist = "archlinux" ; \
2023-08-13 03:10:41 -07:00
else echo "Packet manager not found" ; exit 1; fi ; \
2023-11-14 16:57:04 +07:00
echo " Dist: $dist , Packet manager: $pm , Install command: $silent_inst , Check pkgs command: $check_pkgs , Docker pkg: $docker_pkg " ; \
2023-08-13 03:10:41 -07:00
if [ " $dist " = "debian" ] ; then export DEBIAN_FRONTEND = noninteractive; fi ; \
2023-11-14 16:57:04 +07:00
if ! command -v sudo > /dev/null 2>& 1; then $pm $check_pkgs ; $pm $silent_inst sudo; fi ; \
if ! command -v fuser > /dev/null 2>& 1; then sudo $pm $check_pkgs ; sudo $pm $silent_inst psmisc; fi ; \
if ! command -v lsof > /dev/null 2>& 1; then sudo $pm $check_pkgs ; sudo $pm $silent_inst lsof; fi ; \
2023-11-27 21:47:54 +07:00
if ! command -v docker > /dev/null 2>& 1; then \
sudo $pm $check_pkgs ; sudo $pm $silent_inst $docker_pkg ; \
sleep 5; sudo systemctl enable --now docker; sleep 5; \
2023-08-13 03:10:41 -07:00
fi ; \
2025-01-27 22:54:21 +04:00
if [ " $( cat /sys/module/apparmor/parameters/enabled 2>/dev/null) " = "Y" ] ; then \
if ! command -v apparmor_parser > /dev/null 2>& 1; then sudo $pm $check_pkgs ; sudo $pm $silent_inst apparmor; fi ; \
fi ; \
2023-11-27 21:47:54 +07:00
if [ " $( systemctl is-active docker) " != "active" ] ; then \
sudo $pm $check_pkgs ; sudo $pm $silent_inst $docker_pkg ; \
sleep 5; sudo systemctl start docker; sleep 5; \
2023-08-13 03:10:41 -07:00
fi ; \
2023-11-27 21:47:54 +07:00
if ! command -v sudo > /dev/null 2>& 1; then echo "Failed to install sudo, command not found" ; exit 1; fi ; \
2026-01-30 08:04:27 +04:00
docker --version; \
uname -sr