Welcome to the Arch Linux Installation and Maintenance Scripts repository! This collection of scripts simplifies the installation of Arch Linux with different filesystems and configurations, as well as system maintenance tasks.
- install_arch_btrfs.sh: Installs Arch Linux with a BTRFS filesystem.
- install_arch_zfs.sh: Installs Arch Linux with a ZFS filesystem.
- optimize_arch.sh: Optimizes Arch Linux system performance.
- fix_bootloader.sh: Fixes a corrupted bootloader for standard filesystems.
- fix_bootloader_btrfs.sh: Fixes a corrupted bootloader for BTRFS filesystem.
- improve_fonts.sh: Enhances font rendering and appearance.
- improve_fonts_kde.sh: Optimizes font settings for KDE Plasma.
- rebuild-pacman-db.sh: Rebuilds the Pacman database.
- reinstall_sddm.sh: Reinstalls SDDM and resets its configuration.
- Save the script to a file, e.g.,
install_arch_btrfs.sh
. - Make it executable:
chmod +x install_arch_btrfs.sh
- Run with root privileges:
sudo ./install_arch_btrfs.sh
- Save the script to a file, e.g.,
install_arch_zfs.sh
. - Make it executable:
chmod +x install_arch_zfs.sh
- Run with root privileges:
sudo ./install_arch_zfs.sh
- Save the script to a file, e.g.,
optimize_arch.sh
. - Make it executable:
chmod +x optimize_arch.sh
- Run with root privileges:
sudo ./optimize_arch.sh
- Boot into Arch Linux live environment.
- Mount your root partition to
/mnt
:mount /dev/sda2 /mnt
- Save the script to a file, e.g.,
fix_bootloader.sh
. - Make it executable:
chmod +x fix_bootloader.sh
- Run with root privileges:
sudo ./fix_bootloader.sh
- Boot into Arch Linux live environment.
- Mount your root partition to
/mnt
with BTRFS subvolumes:mount -o subvol=@ /dev/sda2 /mnt
- Save the script to a file, e.g.,
fix_bootloader_btrfs.sh
. - Make it executable:
chmod +x fix_bootloader_btrfs.sh
- Run with root privileges:
sudo ./fix_bootloader_btrfs.sh
- Save the script to a file, e.g.,
improve_fonts.sh
. - Make it executable:
chmod +x improve_fonts.sh
- Run with root privileges:
sudo ./improve_fonts.sh
- Save the script to a file, e.g.,
improve_fonts_kde.sh
. - Make it executable:
chmod +x improve_fonts_kde.sh
- Run with root privileges:
sudo ./improve_fonts_kde.sh
- Save the script to a file, e.g.,
rebuild-pacman-db.sh
. - Make it executable:
chmod +x rebuild-pacman-db.sh
- Run with root privileges:
sudo ./rebuild-pacman-db.sh
- Save the script to a file, e.g.,
reinstall_sddm.sh
. - Make it executable:
chmod +x reinstall_sddm.sh
- Run with root privileges:
sudo ./reinstall_sddm.sh
- Network Check: Checks for an active network connection and prompts for setup if needed.
- Disk Partitioning: Partitions the specified disk into an EFI partition and a BTRFS partition.
- BTRFS Setup: Formats the BTRFS partition and creates subvolumes for root, home, and snapshots.
- Package Installation: Installs the specified packages using
pacstrap
. - System Configuration: Configures localization, network settings, and the bootloader.
- User Setup: Prompts for a username and password, encrypts the password, and creates the user.
- Services: Enables necessary services such as
sddm
,NetworkManager
, andzram-generator
. - Reboot: Unmounts the partitions and reboots the system.
- Network Check: Checks for an active network connection and prompts for setup if needed.
- Disk Partitioning: Partitions the specified disk into an EFI partition and a partition for ZFS.
- ZFS Setup: Installs necessary ZFS packages, loads the ZFS module, and creates the ZFS pool and datasets.
- Package Installation: Installs the specified packages using
pacstrap
. - System Configuration: Configures localization, network settings, and the bootloader.
- User Setup: Prompts for a username and password, encrypts the password, and creates the user.
- Services: Enables necessary services such as
sddm
,NetworkManager
,zram-generator
, and ZFS-related services. - Reboot: Unmounts the partitions and reboots the system.
- Update Package Databases: Ensures package databases are up-to-date.
- Reinstall All Packages: Reinstalls all installed packages to ensure they are correctly registered.
- Verify Package Integrity: Verifies the integrity of installed packages.
- Clean Package Cache: Cleans up the package cache to free up space.
- Remove Orphaned Packages: Removes packages that are no longer needed.
- Clean System Logs: Cleans up old system logs.
- Optimize Network Settings: Tweaks network settings for better performance.
- Clear Temporary Files: Removes temporary files to free up space.
- Mount the Root Partition: Mount your root partition to
/mnt
. - Mount the Boot Partition: Mount your boot partition to
/mnt/boot
. - Bind Mount Necessary Directories: Bind mount
/dev
,/proc
,/sys
, and/run
to/mnt
. - Chroot into Mounted Root: Chroot into the mounted root to run necessary commands.
- Install GRUB Bootloader: Reinstall the GRUB bootloader.
- Generate GRUB Configuration File: Generate a new GRUB configuration file.
- Unmount Directories and Partitions: Unmount the bind mounts and partitions.
- Mount the Root Partition: Mount your root partition to
/mnt
with BTRFS subvolumes. - Mount the Boot Partition: Mount your boot partition to
/mnt/boot
. - Bind Mount Necessary Directories: Bind mount
/dev
,/proc
,/sys
, and/run
to/mnt
. - Chroot into Mounted Root: Chroot into the mounted root to run necessary commands.
- Install GRUB Bootloader: Reinstall the GRUB bootloader.
- Generate GRUB Configuration File: Generate a new GRUB configuration file.
- Unmount Directories and Partitions: Unmount the bind mounts and partitions.
- Installs necessary packages and popular fonts.
- Configures font rendering settings.
- Updates the font cache.
- Installs necessary packages and popular fonts.
- Configures font rendering settings.
- Updates the font cache.
- Additional KDE-specific font configuration.
- Additional scripts for different configurations and filesystems.
- Improved error handling and user prompts.
- Enhanced documentation and guides.
We welcome contributions! Please feel free to submit pull requests or open issues to improve the scripts or add new features.
This project is licensed under the MIT License. See the LICENSE file for more details.
Happy installing!
Note: Always back up your data before running installation scripts and ensure you understand each step of the process. This repository is provided as-is, without any warranties or guarantees.