fix scripts with sudo

This commit is contained in:
Tomas Mirchev 2025-02-24 15:57:20 +01:00
parent f2467ad75e
commit f814f5aa29
7 changed files with 30 additions and 40 deletions

View File

@ -53,16 +53,16 @@
"git",
{
"package": "zsh",
"install": "sudo apt install zsh",
"install": "sudo apt install -y zsh",
"post-link": "./scripts/linux-setup_zsh.sh"
},
{
"package": "tmux",
"install": "sudo apt install tmux"
"install": "sudo apt install -y tmux"
},
{
"package": "htop",
"install": "sudo apt install htop"
"install": "sudo apt install -y htop"
}
],
"linux-dev": [

View File

@ -2,14 +2,9 @@
set -e
if [ "$EUID" -ne 0 ]; then
echo "Please run this script as root: sudo $0"
exit 1
fi
echo "Removing old Docker versions..."
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do
apt-get remove -y $pkg || true
sudo apt-get remove -y $pkg || true
done
# Detect OS
@ -23,24 +18,24 @@ else
fi
echo "Updating package list and installing dependencies..."
apt-get update
apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
echo "Setting up Docker repository..."
# Add Docker's official GPG key
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/${DOCKER_OS}/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/${DOCKER_OS}/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/${DOCKER_OS} \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
echo "Installing Docker..."
apt-get update
apt-get install -y \
sudo apt-get update
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
@ -49,15 +44,15 @@ apt-get install -y \
# Verify installation
echo "Verifying Docker installation..."
docker --version
containerd --version
sudo docker --version
sudo containerd --version
echo "Configuring Docker permissions..."
groupadd docker 2>/dev/null || true
usermod -aG docker ${SUDO_USER:-$USER}
sudo groupadd docker 2>/dev/null || true
sudo usermod -aG docker ${SUDO_USER:-$USER}
echo "Enabling and starting Docker services..."
systemctl enable --now docker.service
systemctl enable --now containerd.service
sudo systemctl enable --now docker.service
sudo systemctl enable --now containerd.service
echo "Docker setup completed. Please log out and log back in for group changes to take effect."

0
scripts/linux-setup_sudoers.sh Normal file → Executable file
View File

View File

@ -2,20 +2,15 @@
set -e
if [ "$(id -u)" -ne 0 ]; then
echo "Please run this script as root: sudo $0"
exit 1
fi
# Check if Zsh is already installed
if command -v zsh &> /dev/null; then
echo "Zsh is already installed. Skipping installation."
else
echo "Updating package list..."
apt-get update
sudo apt-get update
echo "Installing Zsh..."
apt-get install -y zsh
sudo apt-get install -y zsh
if ! command -v zsh &> /dev/null; then
echo "Error: Zsh installation failed."
@ -25,6 +20,6 @@ fi
echo "Changing default shell to Zsh for user ${SUDO_USER:-$USER}..."
zsh_path=$(command -v zsh)
chsh -s "$zsh_path" "${SUDO_USER:-$USER}"
sudo chsh -s "$zsh_path" "${SUDO_USER:-$USER}"
echo "Zsh installation and setup complete. Please log out and log back in for changes to take effect."

View File

@ -46,12 +46,12 @@ chmod 700 "$SSH_DIR"
# Generate SSH key
if [ -f "$KEY_PATH" ]; then
echo "Error: Key file $KEY_PATH already exists."
exit 1
echo "Skipping: Key file $KEY_PATH already exists."
exit 0
fi
ssh-keygen -t ed25519 -C "$COMMENT" -f "$KEY_PATH" -N ""
echo "SSH key created: $KEY_PATH"
echo "SSH key created at: $KEY_PATH"
echo "Public key:"
cat "$KEY_PATH.pub"

12
setups/linux-vm.sh Normal file → Executable file
View File

@ -19,25 +19,25 @@ if ! sudo -v; then
exit 1
fi
# /bin/bash ../scripts/linux-setup_sudoers.sh
# /bin/bash ./scripts/linux-setup_sudoers.sh
/bin/bash ../scripts/linux-change_hostname.sh "$NEW_HOSTNAME"
/bin/bash ./scripts/linux-change_hostname.sh "$NEW_HOSTNAME"
echo ""
echo "Installing docker..."
/bin/bash ../scripts/linux-setup_docker.sh
/bin/bash ./scripts/linux-setup_docker.sh
echo ""
echo "Creating internal SSH keys..."
/bin/bash ../scripts/setup_ssh_keys.sh --comment "${USER}@${NEW_HOSTNAME}"
/bin/bash ./scripts/setup_ssh_keys.sh --comment "${USER}@${NEW_HOSTNAME}"
echo ""
echo "Installing packages..."
python3 ../manage.py install linux-vm
python3 ./manage.py install linux-vm
echo ""
echo "Linking config..."
python3 ../manage.py link linux-vm --force
python3 ./manage.py link linux-vm --force
echo ""
echo "Updating git remote origin url..."

0
setups/macos.sh Normal file → Executable file
View File