mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-19 19:39:01 +02:00
51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
if [ "$1" == "-install" ]
|
|
then
|
|
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
|
packages=$(cat /opt/scripts/.docker_config/.packages)
|
|
echo ' '
|
|
for i in $packages; do
|
|
if [ "$(dpkg-query -W -f='${Status}' "$i" 2>/dev/null | grep -c "ok installed")" -eq 0 ];
|
|
then
|
|
echo -n "$i is not installed. Installing... "
|
|
DEBIAN_FRONTEND=noninteractive apt-get -q -y install "$i" >> /opt/scripts/setup_packages.log 2>&1
|
|
return=$?
|
|
if [[ "$return" -ne 0 ]]; then
|
|
echo "Failed."
|
|
echo "For more details see \"/opt/scripts/setup_packages.log\"."
|
|
echo ' '
|
|
else
|
|
echo "Done."
|
|
fi
|
|
else
|
|
echo "$i is already installed."
|
|
fi
|
|
done
|
|
elif [ "$1" == "-update" ]; then
|
|
echo -n "Updating Linux packages on first run... "
|
|
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
|
return=$?
|
|
apt-get -q -y upgrade >> /opt/scripts/setup_packages.log 2>&1
|
|
return1=$?
|
|
if [[ "$return" -ne 0 || "$return1" -ne 0 ]]; then
|
|
echo "Failed."
|
|
echo "For more details see \"/opt/scripts/setup_packages.log\"."
|
|
echo "Make sure the container has internet access to get the latest package updates."
|
|
echo "This has no impact to the setup process. The script will continue."
|
|
else
|
|
echo 'Done.'
|
|
fi
|
|
else
|
|
echo "No paramerter found!"
|
|
exit 1
|
|
fi
|
|
|
|
# Silent Cleanup
|
|
apt-get -qq autoclean -y && apt-get -qq autoremove && apt-get -qq clean
|
|
rm -rf /tmp/* /var/tmp/* && rm -rf /root/.cache/* && rm -rf /var/lib/apt/lists/* && rm -f /opt/scripts/.docker_config/.packages
|
|
|
|
exit 0
|