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.