Alpine Linux kurulumundan sonrası

Alpine Linux kurulumundan sonra temel kurulumları otomatik yapmak için aşağıdaki bash scripti kullanabilirsiniz

 

“`bash
#!/bin/bash

# Alpine Linux After Install Script
# Bu betik Alpine Linux kurulumundan sonra temel yapılandırmaları yapar

# Hata durumunda betiği durdur
set -e

# Renk kodları
RED=’\033[0;31m’
GREEN=’\033[0;32m’
YELLOW=’\033[1;33m’
NC=’\033[0m’

# Root kontrolü
if [ “$(id -u)” != “0” ]; then
  echo -e “${RED}Bu betik root yetkisi gerektirir${NC}”
  exit 1
fi

# Fonksiyonlar
print_message() {
   echo -e “${GREEN}==>${NC} $1”
}

print_warning() {
   echo -e “${YELLOW}==>${NC} $1”
}

# Repository güncelleme
update_system() {
   print_message “Sistem güncelleniyor…”
   cat > /etc/apk/repositories << EOF
http://dl-cdn.alpinelinux.org/alpine/v3.19/main
http://dl-cdn.alpinelinux.org/alpine/v3.19/community
EOF
   apk update && apk upgrade
}

# Temel paketlerin kurulumu
install_base_packages() {
   print_message “Temel paketler kuruluyor…”
   apk add sudo vim curl wget git htop bash \
       net-tools iputils openssh lsblk usbutils \
       pciutils nano tmux tree
}

# Kullanıcı oluşturma
create_user() {
   print_message “Yeni kullanıcı oluşturuluyor…”
   read -p “Kullanıcı adı: ” username
   adduser $username
   addgroup $username wheel
   echo “%wheel ALL=(ALL) ALL” > /etc/sudoers.d/wheel
}

# SSH yapılandırması
configure_ssh() {
   print_message “SSH yapılandırılıyor…”
   rc-update add sshd default
   service sshd start
   
   # SSH güvenlik ayarları
   sed -i ‘s/#PermitRootLogin.*/PermitRootLogin no/’ /etc/ssh/sshd_config
   sed -i ‘s/#PasswordAuthentication.*/PasswordAuthentication yes/’ /etc/ssh/sshd_config
   
   rc-service sshd restart
}

# Saat dilimi ayarı
configure_timezone() {
   print_message “Saat dilimi ayarlanıyor…”
   setup-timezone Europe/Istanbul
}

# Sistem araçları yapılandırması
configure_system_tools() {
   print_message “Sistem araçları yapılandırılıyor…”
   
   # Bash’i varsayılan shell yap
   sed -i ‘s/\/bin\/ash/\/bin\/bash/g’ /etc/passwd
   
   # Vim yapılandırması
   cat > /etc/vim/vimrc.local << EOF
syntax on
set number
set showmatch
set ignorecase
set smartcase
set incsearch
set ruler
EOF
}

# Ana fonksiyon
main() {
   print_message “Alpine Linux yapılandırması başlıyor…”
   
   update_system
   install_base_packages
   create_user
   configure_ssh
   configure_timezone
   configure_system_tools
   
   print_message “Yapılandırma tamamlandı!”
   print_warning “Sistemi yeniden başlatmanız önerilir.”
}

# Betiği çalıştır
main

“`

Bu betik şunları yapar:

1. Sistem güncellemesi
2. Temel paketlerin kurulumu
3. Yeni kullanıcı oluşturma
4. SSH yapılandırması
5. Saat dilimi ayarı
6. Temel sistem araçlarının yapılandırması

Kullanmak için:
1. Betiği bir dosyaya kaydedin (örn: `alpine-setup.sh`)
2. Çalıştırma izni verin: `chmod +x alpine-setup.sh`
3. Root olarak çalıştırın: `./alpine-setup.sh`

Betik etkileşimli olarak çalışır ve gerekli bilgileri sorar. Güvenlik ayarlarını ve temel yapılandırmaları otomatik olarak yapar.

 

==> Alpine Linux yapılandırması başlıyor…
==> Sistem güncelleniyor…
fetch http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
v3.19.7-23-g6f54aca1199 [http://dl-cdn.alpinelinux.org/alpine/v3.19/main]
v3.19.7-23-g6f54aca1199 [http://dl-cdn.alpinelinux.org/alpine/v3.19/community]
OK: 23119 distinct packages available
OK: 181 MiB in 86 packages
==> Temel paketler kuruluyor…
(1/28) Installing iputils-arping (20221126-r2)
(2/28) Installing iputils-clockdiff (20221126-r2)
(3/28) Installing iputils-ping (20221126-r2)
(4/28) Installing iputils-tracepath (20221126-r2)
(5/28) Installing iputils (20221126-r2)
(6/28) Installing libmount (2.39.3-r0)
(7/28) Installing libsmartcols (2.39.3-r0)
(8/28) Installing lsblk (2.39.3-r0)
(9/28) Installing nano (7.2-r1)
(10/28) Installing mii-tool (2.10-r3)
(11/28) Installing net-tools (2.10-r3)
(12/28) Installing hwdata-pci (0.377.2-r0)
(13/28) Installing pciutils-libs (3.10.0-r0)
(14/28) Installing pciutils (3.10.0-r0)
(15/28) Installing libevent (2.1.12-r7)
(16/28) Installing tmux (3.3a_git20230428-r0)
(17/28) Installing tree (2.1.1-r0)
(18/28) Installing hwdata-usb (0.377.2-r0)
(19/28) Installing udev-init-scripts (35-r1)
(20/28) Installing udev-init-scripts-openrc (35-r1)
(21/28) Installing eudev-libs (3.2.14-r1)
(22/28) Installing eudev (3.2.14-r1)
(23/28) Installing eudev-openrc (3.2.14-r1)
(24/28) Installing pkgconf (2.1.0-r0)
(25/28) Installing eudev-dev (3.2.14-r1)
(26/28) Installing libusb (1.0.26-r3)
(27/28) Installing libusb-dev (1.0.26-r3)
(28/28) Installing usbutils (017-r0)
Executing busybox-1.37.0-r12.trigger
Executing eudev-3.2.14-r1.trigger
OK: 188 MiB in 114 packages
==> Yeni kullanıcı oluşturuluyor…
Kullanıcı adı: onder
Changing password for onder
New password:
Retype password:
passwd: password for boot changed by root
==> SSH yapılandırılıyor…
* rc-update: sshd already installed in runlevel `default’; skipping
* WARNING: sshd has already been started
* Caching service dependencies …                                                                                                                                                                                                    [ ok ]
* Stopping sshd …                                                                                                                                                                                                                   [ ok ]
* Starting sshd …                                                                                                                                                                                                                   [ ok ]
==> Saat dilimi ayarlanıyor…
==> Sistem araçları yapılandırılıyor…
==> Yapılandırma tamamlandı!
==> Sistemi yeniden başlatmanız önerilir.