mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-07-16 05:49:49 +00:00
23301f98b3
- Refactored `is_backports_enabled()` to dynamically detect backports using `DEBIAN_CODENAME` instead of hardcoded strings, improving script portability. - Added support for standalone classic backports files (`/etc/apt/sources.list.d/debian-backports.list`) and deb822 format (`*.sources`) to ensure consistent detection across different repository configurations. - Resolved Mesa and Kernel backports detection bugs, ensuring correct dialogue prompts and preventing false error messages during installation. - Implemented smart rounding for zram memory allocation to the nearest Gigabyte for optimized performance. - Enhanced Whiptail manual input validation for zram to block empty, non-numeric, or zero values. - Introduced a dedicated `software_centers.sh` module for the modular and clean installation of GNOME Software and Plasma Discover. - Added smart desktop environment detection (GTK/QT) to automatically suggest and install the optimal software center. - Implemented a two-phase installation flow for software centers (Base Store -> Optional Flatpak support) with static consistency warnings based on the detected desktop environment. - update README.md
69 lines
2.0 KiB
Bash
69 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
# zram.sh - Configure compressed swap in RAM
|
|
|
|
install_zram() {
|
|
echo -e "${YELLOW}ZRAM Configuration${NC}"
|
|
|
|
if [ -z "$RAM_KB" ] || [ "$RAM_KB" -eq 0 ]; then
|
|
echo -e "${RED}Could not determine RAM size. Aborting.${NC}"
|
|
return 1
|
|
fi
|
|
|
|
local half_ram_mb=$(( ((RAM_KB / 1024 / 1024 + 1) / 2) * 1024 ))
|
|
|
|
local algo
|
|
algo=$(whiptail --title "ZRAM Compression" --menu \
|
|
"ZRAM compresses a portion of RAM into compressed swap,\
|
|
effectively increasing available memory.
|
|
|
|
Useful for systems with limited RAM or when you need
|
|
more swap space without disk writes.
|
|
|
|
Choose compression algorithm:" \
|
|
$TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
|
|
"lz4" "Fastest, low CPU (recommended)" \
|
|
"zstd" "Better ratio, more CPU" \
|
|
3>&1 1>&2 2>&3)
|
|
|
|
if [ -z "$algo" ]; then
|
|
echo "ZRAM configuration cancelled."
|
|
return 0
|
|
fi
|
|
|
|
local zram_size
|
|
if _confirm "ZRAM Size" "Use recommended size for ZRAM? (${half_ram_mb} MB out of ${RAM_SUMMARY})"; then
|
|
zram_size=$half_ram_mb
|
|
else
|
|
zram_size=$(whiptail --title "ZRAM Size" --inputbox \
|
|
"Enter ZRAM size in MB:" 8 60 "$half_ram_mb" 3>&1 1>&2 2>&3)
|
|
if [ -z "$zram_size" ] || ! [[ "$zram_size" =~ ^[0-9]+$ ]] || [ "$zram_size" -eq 0 ]; then
|
|
echo "ZRAM configuration cancelled."
|
|
return 0
|
|
fi
|
|
fi
|
|
|
|
if ! _confirm "ZRAM Summary" "Algorithm: ${algo}\nSize: ${zram_size} MB\nPriority: 100\n\nApply?"; then
|
|
echo "ZRAM configuration cancelled."
|
|
return 0
|
|
fi
|
|
|
|
_run_cmd "ZRAM" "sudo apt install -y zram-tools" "Installing zram-tools..."
|
|
|
|
echo "Writing configuration..."
|
|
sudo tee /etc/default/zramswap > /dev/null <<EOF
|
|
ALGO=$algo
|
|
SIZE=$zram_size
|
|
PRIORITY=100
|
|
EOF
|
|
|
|
echo "Restarting zramswap service..."
|
|
sudo systemctl restart zramswap
|
|
|
|
echo ""
|
|
echo -e "${GREEN}ZRAM configured successfully.${NC}"
|
|
echo ""
|
|
sudo zramctl
|
|
echo ""
|
|
echo -e "${GREEN}You can verify with: sudo zramctl${NC}"
|
|
}
|