diff --git a/archon.2 b/archon.2 deleted file mode 100644 index 2921d01..0000000 --- a/archon.2 +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/bash -# -# -# Archon -- Ελληνικός Arch Linux Installer -# Copyright (c)2017 Vasilis Niakas, Salih Emin and Contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation version 3 of the License. -# -# Please read the file LICENSE, README and AUTHORS for more information. -# -# -echo -echo '---------------------------------------------' -echo '7 - Τροποποίηση Γλώσσας και Ζώνης Ώρας ' -echo ' ' -echo 'Θα ρυθμίσουμε το σύστημα να είναι στα Αγγλικά' -echo 'και ζώνη ώρας την Ελλάδα/Αθήνα ' -echo '---------------------------------------------' -echo -sleep 1 -echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen -locale-gen -echo LANG=en_US.UTF-8 > /etc/locale.conf -export LANG=en_US.UTF-8 -ln -sf /usr/share/zoneinfo/Europe/Athens /etc/localtime -hwclock --systohc -echo -echo -echo '---------------------------------------------' -echo '8 - Ρύθμιση Hostname ' -echo ' ' -echo 'Θα χρειαστεί να δώσετε ένα όνομα στον ' -echo 'Υπολογιστή σας ' -echo '---------------------------------------------' -sleep 1 -echo -read -rp "Δώστε όνομα υπολογιστή (hostname): " hostvar -echo "$hostvar" > /etc/hostname -echo -sleep 1 -echo -echo -echo '-------------------------------------' -echo '9 - Ρύθμιση της κάρτας δικτύου ' -echo ' ' -echo 'Θα ρυθμιστεί η κάρτα δικτύου σας ώστε' -echo 'να ξεκινάει αυτόματα με την εκκίνηση ' -echo 'του Arch Linux ' -echo '-------------------------------------' -sleep 1 -ethernet=$(ip link | grep "2: "| grep -oE "(en\\w+)") # Αναζήτηση κάρτας ethernet -if [ "$ethernet" = "" ]; then # Έλεγχος αν υπάρχει κάρτα ethernet - echo "Δε βρέθηκε κάρτα δικτύου" # και αν υπάρχει γίνεται εγκατάσταση -else # και ενεργοποίηση - systemctl enable dhcpcd@"$ethernet".service - echo "Η κάρτα δικτύου $ethernet ρυθμίστηκε επιτυχώς"; -fi -echo -wifi=$(ip link | grep ": "| grep -oE "(w\\w+)") # Αναζήτηση κάρτας wifi -if [ "$wifi" = "" ]; then # Έλεγχος αν υπάρχει κάρτα wifi - echo "Δε βρέθηκε ασύρματη κάρτα δικτύου" # και αν υπάρχει γίνεται εγκατάσταση -else # και ενεργοποίηση - pacman -S --noconfirm iw wpa_supplicant dialog wpa_actiond - systemctl enable netctl-auto@"$wifi".service - echo "Η ασύρματη κάρτα δικτύου $wifi ρυθμίστηκε επιτυχώς" -fi -sleep 1 -echo -echo -echo '-------------------------------------' -echo '10 - Ρύθμιση χρήστη ROOT ' -echo ' ' -echo 'Αλλαγή συνθηματικού(password) ' -echo 'του root χρήστη ' -echo '-------------------------------------' -sleep 1 -######################################################### -until passwd # Μέχρι να είναι επιτυχής -do # η αλλαγή του κωδικού -echo # του root χρήστη, θα -echo "O root κωδικός δεν άλλαξε, δοκιμάστε ξανά!" # τυπώνεται αυτό το μήνυμα -echo # -done # -######################################################### -sleep 1 -echo -echo -echo '---------------------------------------' -echo '11 - Linux LTS kernel (προαιρετικό) ' -echo ' ' -echo 'Για λόγους αξιοπιστίας, προτείνουμε ' -echo 'να υπάρχει και δεύτερος πυρήνας (LTS)' -echo 'για τις περιπτώσεις που στο μέλλον ' -echo 'χρειαστεί να κάνετε ανάκτηση συστήματος' -echo '---------------------------------------' -sleep 1 -while true; do - read -rp "Θέλετε να εγκαταστήσετε πυρήνα μακράς υποστήριξης (Long Term Support) (y/n); " yn - case $yn in - [Yy]* ) sudo pacman -S --noconfirm linux-lts; break;; - [Nn]* ) break;; - * ) echo "μη έγκυρη απάντηση";; - esac -done -echo -echo -echo '---------------------------------------' -echo '12 - Ρύθμιση GRUB' -echo '' -echo 'Θα γίνει εγκατάσταση του μενού επιλογών' -echo 'εκκινησης GRUB Bootloader' -echo '---------------------------------------' -sleep 1 -if [ -d /sys/firmware/efi ]; then - pacman -S --noconfirm grub efibootmgr os-prober - grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck - grub-mkconfig -o /boot/grub/grub.cfg -else - pacman -S --noconfirm grub os-prober - read -rp " Σε ποιο δίσκο θέλετε να εγκατασταθεί ο grub (/dev/sd?); " grubvar - grub-install --target=i386-pc --recheck "$grubvar" - grub-mkconfig -o /boot/grub/grub.cfg -fi -sleep 1 -echo -echo -echo '-------------------------------------' -echo '13 - Δημιουργία Χρήστη ' -echo '' -echo 'Για την δημιουργία νέου χρήστη θα' -echo 'χρειαστεί να δώσετε όνομα/συνθηματικό' -echo '' -echo 'Στο χρήστη αυτόν θα δωθούν δικαιώματα' -echo 'διαχειριστή (sudo)' -echo '-------------------------------------' -sleep 1 -read -rp "Δώστε παρακαλώ νέο όνομα χρήστη: " onomaxristi -useradd -m -G wheel -s /bin/bash "$onomaxristi" -######################################################### -until passwd "$onomaxristi" # Μέχρι να είναι επιτυχής -do # η αλλαγή του κωδικού -echo # του χρήστη, θα -echo "O κωδικός του χρήστη δεν άλλαξε, δοκιμάστε ξανά!" # τυπώνεται αυτό το μήνυμα -echo # -done # -######################################################### -echo "$onomaxristi ALL=(ALL) ALL" >> /etc/sudoers -echo -echo -echo '-------------------------------------' -echo '14 - Προσθήκη Multilib και AUR' -echo '' -echo 'Θα προστεθεί δυνατότητα για πρόσβαση ' -echo 'στα λογισμικά του AUR, όπως επίσης ' -echo 'και υποστήριξη για 32bit βιβλιοθήκες' -echo 'που απαιτούν κάποια λογισμικά' -echo '-------------------------------------' -sleep 1 -echo -{ - echo "[multilib]" - echo "Include = /etc/pacman.d/mirrorlist" - echo "[archlinuxfr]" - echo "SigLevel = Never" - echo "Server = http://repo.archlinux.fr/\$arch" -} >> /etc/pacman.conf -pacman -Syy --noconfirm yaourt -echo -echo -echo '-------------------------------------' -echo '15 - Προσθήκη SWAP' -echo '' -echo 'Θα χρησιμοποιηθεί το systemd-swap αντί ' -echo 'για διαμέρισμα SWAP ώστε το μέγεθός' -echo 'του να μεγαλώνει εάν και εφόσoν το ' -echo 'απαιτεί το σύστημα' -echo '-------------------------------------' -sleep 1 -############################ Installing Zswap ############################### -pacman -S --noconfirm systemd-swap -# τα default του developer αλλάζουμε μόνο: -echo -{ - echo "zswap_enabled=0" - echo "swapfc_enabled=1" -} >> /etc/systemd/swap.conf.d/systemd-swap.conf -systemctl enable systemd-swap diff --git a/archon.sh b/archon.sh index 331e58f..3db0040 100644 --- a/archon.sh +++ b/archon.sh @@ -11,21 +11,217 @@ # Please read the file LICENSE, README and AUTHORS for more information. # # + + +function chroot_stage { + echo + echo '---------------------------------------------' + echo '7 - Τροποποίηση Γλώσσας και Ζώνης Ώρας ' + echo ' ' + echo 'Θα ρυθμίσουμε το σύστημα να είναι στα Αγγλικά' + echo 'και ζώνη ώρας την Ελλάδα/Αθήνα ' + echo '---------------------------------------------' + echo + sleep 2 + echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen + locale-gen + echo LANG=en_US.UTF-8 > /etc/locale.conf + export LANG=en_US.UTF-8 + ln -sf /usr/share/zoneinfo/Europe/Athens /etc/localtime + hwclock --systohc + echo + echo + echo '---------------------------------------------' + echo '8 - Ρύθμιση Hostname ' + echo ' ' + echo 'Θα χρειαστεί να δώσετε ένα όνομα στον ' + echo 'Υπολογιστή σας ' + echo '---------------------------------------------' + sleep 2 + echo + read -rp "Δώστε όνομα υπολογιστή (hostname): " hostvar + echo "$hostvar" > /etc/hostname + echo + sleep 2 + echo '-------------------------------------' + echo '9 - Ρύθμιση της κάρτας δικτύου ' + echo ' ' + echo 'Θα ρυθμιστεί η κάρτα δικτύου σας ώστε' + echo 'να ξεκινάει αυτόματα με την εκκίνηση ' + echo 'του Arch Linux ' + echo '-------------------------------------' + sleep 2 + ethernet=$(ip link | grep "2: "| grep -oE "(en\\w+)") # Αναζήτηση κάρτας ethernet + if [ "$ethernet" = "" ]; then # Έλεγχος αν υπάρχει κάρτα ethernet + echo "Δε βρέθηκε κάρτα δικτύου" # και αν υπάρχει γίνεται εγκατάσταση + else # και ενεργοποίηση + systemctl enable dhcpcd@"$ethernet".service + echo "Η κάρτα δικτύου $ethernet ρυθμίστηκε επιτυχώς"; + fi + echo + wifi=$(ip link | grep ": "| grep -oE "(w\\w+)") # Αναζήτηση κάρτας wifi + if [ "$wifi" = "" ]; then # Έλεγχος αν υπάρχει κάρτα wifi + echo "Δε βρέθηκε ασύρματη κάρτα δικτύου" # και αν υπάρχει γίνεται εγκατάσταση + else # και ενεργοποίηση + pacman -S --noconfirm iw wpa_supplicant dialog wpa_actiond + systemctl enable netctl-auto@"$wifi".service + echo "Η ασύρματη κάρτα δικτύου $wifi ρυθμίστηκε επιτυχώς" + fi + sleep 2 + echo + echo '-------------------------------------' + echo '10 - Ρύθμιση χρήστη ROOT ' + echo ' ' + echo 'Αλλαγή συνθηματικού(password) ' + echo 'του root χρήστη ' + echo '-------------------------------------' + echo + sleep 1 + ######################################################### + until passwd # Μέχρι να είναι επιτυχής + do # η αλλαγή του κωδικού + echo # του root χρήστη, θα + echo "O root κωδικός δεν άλλαξε, δοκιμάστε ξανά!" # τυπώνεται αυτό το μήνυμα + echo # + done # + ######################################################### + sleep 2 + echo + echo + echo '---------------------------------------' + echo '11 - Linux LTS kernel (προαιρετικό) ' + echo ' ' + echo 'Μήπως προτειμάτε τον LTS πυρήνα Linux ' + echo 'ο οποίος είναι μακράς υποστήριξης; ' + echo '---------------------------------------' + sleep 2 + while true; do + read -rp "Θέλετε να χρησιμοποιείτε πυρήνα μακράς υποστήριξης (Long Term Support) (y/n); " yn + case $yn in + [Yy]* ) sudo pacman -S --noconfirm linux-lts; break;; + [Nn]* ) break;; + * ) echo "μη έγκυρη απάντηση";; + esac + done + echo + echo + echo '---------------------------------------' + echo '12 - Ρύθμιση GRUB ' + echo ' ' + echo 'Θα γίνει εγκατάσταση του μενού επιλογών' + echo 'εκκινησης GRUB Bootloader ' + echo '---------------------------------------' + echo + sleep 2 + if [ -d /sys/firmware/efi ]; then + pacman -S --noconfirm grub efibootmgr os-prober + grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck + grub-mkconfig -o /boot/grub/grub.cfg + else + pacman -S --noconfirm grub os-prober + read -rp " Σε ποιο δίσκο θέλετε να εγκατασταθεί ο grub (/dev/sd?); " grubvar + grub-install --target=i386-pc --recheck "$grubvar" + grub-mkconfig -o /boot/grub/grub.cfg + fi + sleep 2 + echo + echo '-------------------------------------' + echo '13 - Δημιουργία Χρήστη ' + echo ' ' + echo 'Για την δημιουργία νέου χρήστη θα ' + echo 'χρειαστεί να δώσετε όνομα/συνθηματικό' + echo ' ' + echo 'Στο χρήστη αυτόν θα δωθούν δικαιώματα' + echo 'διαχειριστή (sudo) ' + echo '-------------------------------------' + echo + sleep 2 + read -rp "Δώστε παρακαλώ νέο όνομα χρήστη: " onomaxristi + useradd -m -G wheel -s /bin/bash "$onomaxristi" + ######################################################### + until passwd "$onomaxristi" # Μέχρι να είναι επιτυχής + do # η αλλαγή του κωδικού + echo # του χρήστη, θα + echo "O κωδικός του χρήστη δεν άλλαξε, δοκιμάστε ξανά!" # τυπώνεται αυτό το μήνυμα + echo # + done # + ######################################################### + echo "$onomaxristi ALL=(ALL) ALL" >> /etc/sudoers + echo + echo + echo '-------------------------------------' + echo '14 - Προσθήκη Multilib και AUR ' + echo ' ' + echo 'Θα προστεθεί δυνατότητα για πρόσβαση ' + echo 'στα λογισμικά του AUR, όπως επίσης ' + echo 'και υποστήριξη για 32bit βιβλιοθήκες ' + echo 'που απαιτούν κάποια λογισμικά ' + echo '-------------------------------------' + sleep 2 + echo + { + echo "[multilib]" + echo "Include = /etc/pacman.d/mirrorlist" + echo "[archlinuxfr]" + echo "SigLevel = Never" + echo "Server = http://repo.archlinux.fr/\$arch" + } >> /etc/pacman.conf + pacman -Syy --noconfirm yaourt + echo '--------------------------------------' + echo '15 - Προσθήκη SWAP ' + echo ' ' + echo 'Θα χρησιμοποιηθεί το systemd-swap αντί' + echo 'για διαμέρισμα SWAP ώστε το μέγεθός ' + echo 'του να μεγαλώνει εάν και εφόσoν το ' + echo 'απαιτεί το σύστημα ' + echo '--------------------------------------' + sleep 2 + ############################ Installing Zswap ############################### + pacman -S --noconfirm systemd-swap + # τα default του developer αλλάζουμε μόνο: + echo + { + echo "zswap_enabled=0" + echo "swapfc_enabled=1" + } >> /etc/systemd/swap.conf.d/systemd-swap.conf + systemctl enable systemd-swap +} + + clear + +#Έλεγχος chroot +while test $# -gt 0; do + case "$1" in + --stage) + shift + if [ "$1" == "chroot" ]; then + chroot_stage + exit + fi + shift + ;; + *) + shift + ;; + esac +done + + #Τυπικός έλεγχος για το αν είσαι root. because you never know -if [ "$(id -u)" -ne 0 ] ; then - echo "Λυπάμαι, αλλά πρέπει να είσαι root χρήστης για να τρέξεις το Archon." - echo "Έξοδος..." - sleep 2 - exit 1 +if [ "$(id -u)" -ne 0 ] ; then + echo "Λυπάμαι, αλλά πρέπει να είσαι root χρήστης για να τρέξεις το Archon." + echo "Έξοδος..." + sleep 2 + exit 1 fi #Τυπικός έλεγχος για το αν το τρέχει σε Arch. if [ ! -f /etc/arch-release ] ; then - echo "Λυπάμαι, αλλά το σύστημα στο οποίο τρέχεις το Archon δεν είναι Arch Linux" - echo "Έξοδος..." - sleep 2 - exit + echo "Λυπάμαι, αλλά το σύστημα στο οποίο τρέχεις το Archon δεν είναι Arch Linux" + echo "Έξοδος..." + sleep 2 + exit fi @@ -64,7 +260,7 @@ esac echo sleep 1 echo '---------------------------------------' -echo ' 1 - Έλεγχος σύνδεσης στο διαδίκτυο' +echo ' 1 - Έλεγχος σύνδεσης στο διαδίκτυο ' echo '---------------------------------------' if ping -c 3 www.google.com &> /dev/null; then echo '---------------------------------------' @@ -72,17 +268,17 @@ if ping -c 3 www.google.com &> /dev/null; then echo ' Η εγκατάσταση μπορεί να συνεχιστεί' echo '---------------------------------------' else - echo 'Ελέξτε αν υπάρχει σύνδεση στο διαδίκτυο' - exit + echo 'Ελέξτε αν υπάρχει σύνδεση στο διαδίκτυο' + exit fi sleep 1 echo echo echo '---------------------------------------------' echo ' 2 - Παρακάτω βλέπετε τους διαθέσιμους δίσκους' -echo ' ' -echo ' Διαλέξτε το δίσκο που θα γίνει η εγκατάσταση' -echo '---------------------------------------------' +echo ' ' +echo ' Διαλέξτε το δίσκο που θα γίνει η εγκατάσταση ' +echo '----------------------------------------------' lsblk | grep -i sd echo echo @@ -132,7 +328,7 @@ sleep 1 echo echo echo '--------------------------------------------------------' -echo ' 4 - Προσθήκη πηγών λογισμικού (Mirrors)' +echo ' 4 - Προσθήκη πηγών λογισμικού (Mirrors) ' echo '--------------------------------------------------------' sleep 1 pacman -Syy @@ -157,15 +353,14 @@ echo ' ' echo ' Τώρα θα γίνει είσοδος στο εγκατεστημένο Arch Linux ' echo '--------------------------------------------------------' sleep 1 -chmod +x archon.2 -cp archon.2 /mnt/archon2.sh +cp archon.sh /mnt/archon.sh genfstab -U /mnt >> /mnt/etc/fstab -arch-chroot /mnt ./archon2.sh +arch-chroot /mnt ./archon.sh --stage chroot echo echo echo '--------------------------------------------------------' -echo ' Τέλος εγκατάστασης' -echo ' Το σύστημα θα επανεκκινήσει σε 5 δευτερόλεπτα ' +echo ' Τέλος εγκατάστασης ' +echo ' Το σύστημα θα επανεκκινήσει σε 5 δευτερόλεπτα ' echo '--------------------------------------------------------' sleep 5 reboot