/
arch_linux
/
postinstall
Обзор
Документация
Войти
/
arch_linux
/
postinstall
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/05_system_base.sh
67 строк
2 KB
arch_linux
upload files
22 ноя 2025, 09:19
22 ноя 2025, 09:19
a4711e8
Код
Авторство
О чём код?
#!/bin/bash # Обновление системы и базовые пакеты set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${SCRIPT_DIR}/common.sh" enable_multilib() { print_info "Включение multilib репозитория..." if grep -q "^#\[multilib\]" /etc/pacman.conf; then sudo sed -i '/^#\[multilib\]/{n;s/^#//;}' /etc/pacman.conf sudo sed -i 's/^#\[multilib\]/\[multilib\]/' /etc/pacman.conf print_success "Multilib репозиторий включен" elif grep -q "^\[multilib\]" /etc/pacman.conf; then print_success "Multilib репозиторий уже включен" else echo -e "\n[multilib]\nInclude = /etc/pacman.d/mirrorlist" | sudo tee -a /etc/pacman.conf print_success "Multilib репозиторий добавлен" fi sudo pacman -Sy } update_system() { print_info "Проверка обновлений системы..." if sudo pacman -Sy --noconfirm && sudo pacman -Qu | grep -q .; then print_info "Обновление системы..." sudo pacman -Syu --noconfirm print_success "Система обновлена" else print_success "Система уже обновлена" fi } install_base_packages() { print_info "Установка базовых пакетов..." local base_packages=( "base-devel" "git" "curl" "wget" "htop" "neofetch" "tree" "unzip" "unrar" "p7zip" "ntfs-3g" "dosfstools" "networkmanager" "sudo" "bash-completion" ) for package in "${base_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done sudo systemctl enable NetworkManager sudo systemctl start NetworkManager print_success "Базовые пакеты установлены" } main() { print_header "ОБНОВЛЕНИЕ СИСТЕМЫ И БАЗОВЫЕ ПАКЕТЫ" enable_multilib update_system install_base_packages save_state } main "$@"