fix scripts with sudo
This commit is contained in:
parent
f2467ad75e
commit
f814f5aa29
@ -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": [
|
||||
|
||||
@ -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
0
scripts/linux-setup_sudoers.sh
Normal file → Executable 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."
|
||||
|
||||
@ -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
12
setups/linux-vm.sh
Normal file → Executable 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
0
setups/macos.sh
Normal file → Executable file
Loading…
Reference in New Issue
Block a user