add grub-pc, curl and wget to server package list

This commit is contained in:
manuel 2024-09-19 12:21:21 +00:00
parent f766f53f25
commit 63796b5401
23 changed files with 371 additions and 162 deletions

View File

@ -0,0 +1,31 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Exit immediately if a command exits with a non-zero status
set -e
# Function to remove NVIDIA software
remove_nvidia_packages() {
echo "Removing NVIDIA-related packages..."
if dpkg -l | grep -q nvidia; then
apt-get --purge --yes autoremove nvidia*
echo "NVIDIA packages removed successfully."
else
echo "No NVIDIA packages found to remove."
fi
}
# Main function
main() {
remove_nvidia_packages
echo "Software removal process completed."
}
# Run the main function
main
exit 0

View File

@ -1,12 +0,0 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
### Error checking added to "lint-trap" section.
### Missing files no longer cause builds to fail.
# Remove software
apt --purge --yes autoremove nvidia*

View File

@ -4,5 +4,38 @@
# #
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me) # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
### install cockpit server manager # Exit immediately if a command exits with a non-zero status
apt -y install cockpit cockpit-machines cockpit-podman set -e
# Function to check if a package is installed
is_installed() {
dpkg -l "$1" &> /dev/null
}
# Function to install Cockpit and related packages
install_cockpit_packages() {
PACKAGES=("cockpit" "cockpit-machines" "cockpit-podman")
for PACKAGE in "${PACKAGES[@]}"; do
if ! is_installed "$PACKAGE"; then
echo "Installing $PACKAGE..."
apt-get install -y "$PACKAGE"
echo "$PACKAGE installed successfully."
else
echo "$PACKAGE is already installed."
fi
done
}
# Main function
main() {
echo "Starting Cockpit installation..."
install_cockpit_packages
echo "Cockpit installation completed."
}
# Run the main function
main
exit 0

View File

@ -2,37 +2,100 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# #
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Exit immediately if a command exits with a non-zero status
set -e
# Function to check if a package is installed
is_installed() {
dpkg -l "$1" &> /dev/null
}
# Install required SELinux packages # Install required SELinux packages
apt -y install selinux-basics selinux-policy-default auditd install_selinux_packages() {
PACKAGES=("selinux-basics" "selinux-policy-default" "auditd")
for PACKAGE in "${PACKAGES[@]}"; do
if ! is_installed "$PACKAGE"; then
echo "Installing $PACKAGE..."
apt-get install -y "$PACKAGE"
echo "$PACKAGE installed successfully."
else
echo "$PACKAGE is already installed."
fi
done
}
# Initialize SELinux # Initialize SELinux if not already active
selinux-activate initialize_selinux() {
if [ ! -f /etc/selinux/config ]; then
echo "Activating SELinux..."
selinux-activate
else
echo "SELinux is already activated."
fi
}
# Restart auditd service # Restart auditd service
systemctl restart auditd restart_auditd() {
if systemctl is-active --quiet auditd; then
echo "Restarting auditd service..."
systemctl restart auditd
else
echo "Auditd service not running."
fi
}
# Enable SELinux policy activation on boot # Disable AppArmor if it is running
systemctl enable selinux-policy-activate disable_apparmor() {
if systemctl is-active --quiet apparmor; then
# Disable AppArmor echo "Disabling and removing AppArmor..."
systemctl disable apparmor systemctl disable apparmor
systemctl stop apparmor systemctl stop apparmor
apt -y purge apparmor apt-get -y purge apparmor
else
# Additional configuration (optional) echo "AppArmor is not running or already disabled."
# Here you can add commands to adjust policies or configure additional rules fi
}
# Set SELinux to enforcing mode # Set SELinux to enforcing mode
/usr/sbin/setenforce 1 set_selinux_enforcing() {
if getenforce | grep -q "Enforcing"; then
echo "SELinux is already in enforcing mode."
else
echo "Setting SELinux to enforcing mode..."
/usr/sbin/setenforce 1
fi
}
# Configure file contexts (example) # Configure file contexts (example)
/sbin/restorecon -Rv /etc/ restore_file_contexts() {
echo "Restoring file contexts in /etc/..."
/sbin/restorecon -Rv /etc/
}
# Allow HTTPD scripts and modules to connect to the network (example) # Allow HTTPD scripts and modules to connect to the network (example)
/usr/sbin/setsebool -P httpd_can_network_connect 1 configure_httpd_selinux() {
echo "Allowing HTTPD scripts and modules to connect to the network..."
/usr/sbin/setsebool -P httpd_can_network_connect 1
}
# Main function
main() {
install_selinux_packages
initialize_selinux
restart_auditd
disable_apparmor
set_selinux_enforcing
restore_file_contexts
configure_httpd_selinux
echo "SELinux setup completed successfully."
}
# Run the main function
main
exit 0 exit 0

View File

@ -4,5 +4,30 @@
# #
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me) # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
### Remove unnecessary files # Exit immediately if a command exits with a non-zero status
rm /etc/default/grub set -e
# Function to remove unnecessary files
remove_file() {
local FILE_PATH="$1"
if [ -f "$FILE_PATH" ]; then
echo "Removing file: $FILE_PATH"
rm "$FILE_PATH"
echo "File $FILE_PATH removed successfully."
else
echo "File $FILE_PATH does not exist, skipping removal."
fi
}
# Main function
main() {
remove_file "/etc/default/grub"
echo "File cleanup completed."
}
# Run the main function
main
exit 0

View File

@ -4,9 +4,28 @@
# #
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me) # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
### Error checking added to "lint-trap" section. # Exit immediately if a command exits with a non-zero status
### Missing files no longer cause builds to fail. set -e
# Remove software # Function to remove NVIDIA software
apt --purge --yes autoremove nvidia* remove_nvidia_packages() {
echo "Removing NVIDIA-related packages..."
if dpkg -l | grep -q nvidia; then
apt-get --purge --yes autoremove nvidia*
echo "NVIDIA packages removed successfully."
else
echo "No NVIDIA packages found to remove."
fi
}
# Main function
main() {
remove_nvidia_packages
echo "Software removal process completed."
}
# Run the main function
main
exit 0

View File

@ -2,37 +2,109 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# #
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Install required SELinux packages # Exit immediately if a command exits with a non-zero status
apt -y install selinux-basics selinux-policy-default auditd set -e
# Initialize SELinux # Function to check if a package is installed
selinux-activate is_installed() {
dpkg -l "$1" &> /dev/null
}
# Install required SELinux packages if not already installed
install_selinux_packages() {
PACKAGES=("selinux-basics" "selinux-policy-default" "auditd")
for PACKAGE in "${PACKAGES[@]}"; do
if ! is_installed "$PACKAGE"; then
echo "Installing $PACKAGE..."
apt-get install -y "$PACKAGE"
else
echo "$PACKAGE is already installed."
fi
done
}
# Initialize SELinux if not already active
initialize_selinux() {
if [ ! -f /etc/selinux/config ]; then
echo "Activating SELinux..."
selinux-activate
else
echo "SELinux is already activated."
fi
}
# Restart auditd service # Restart auditd service
systemctl restart auditd restart_auditd() {
if service auditd status &> /dev/null; then
echo "Restarting auditd service..."
service auditd restart
else
echo "Auditd service not found."
fi
}
# Enable SELinux policy activation on boot # Enable SELinux policy activation on boot
systemctl enable selinux-policy-activate enable_selinux_policy() {
if [ -f /etc/init.d/selinux-policy-activate ]; then
echo "Enabling SELinux policy activation on boot..."
update-rc.d selinux-policy-activate defaults
else
echo "SELinux policy activation script not found."
fi
}
# Disable AppArmor # Disable AppArmor if it is running
systemctl disable apparmor disable_apparmor() {
systemctl stop apparmor if service apparmor status &> /dev/null; then
apt -y purge apparmor echo "Disabling AppArmor..."
service apparmor stop
# Additional configuration (optional) update-rc.d -f apparmor remove
# Here you can add commands to adjust policies or configure additional rules apt-get -y purge apparmor
else
echo "AppArmor is not running."
fi
}
# Set SELinux to enforcing mode # Set SELinux to enforcing mode
/usr/sbin/setenforce 1 set_selinux_enforcing() {
if getenforce | grep -q "Enforcing"; then
echo "SELinux is already in enforcing mode."
else
echo "Setting SELinux to enforcing mode..."
/usr/sbin/setenforce 1
fi
}
# Configure file contexts (example) # Configure file contexts (example)
/sbin/restorecon -Rv /etc/ restore_file_contexts() {
echo "Restoring file contexts in /etc/..."
/sbin/restorecon -Rv /etc/
}
# Allow HTTPD scripts and modules to connect to the network (example) # Allow HTTPD scripts and modules to connect to the network (example)
/usr/sbin/setsebool -P httpd_can_network_connect 1 configure_httpd_selinux() {
echo "Allowing HTTPD scripts and modules to connect to the network..."
/usr/sbin/setsebool -P httpd_can_network_connect 1
}
# Main function
main() {
install_selinux_packages
initialize_selinux
restart_auditd
enable_selinux_policy
disable_apparmor
set_selinux_enforcing
restore_file_contexts
configure_httpd_selinux
echo "SELinux setup completed successfully."
}
# Run the main function
main
exit 0 exit 0

View File

@ -4,5 +4,30 @@
# #
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me) # SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
### Remove unnecessary files # Exit immediately if a command exits with a non-zero status
rm /etc/default/grub set -e
# Function to remove unnecessary files
remove_file() {
local FILE_PATH="$1"
if [ -f "$FILE_PATH" ]; then
echo "Removing file: $FILE_PATH"
rm "$FILE_PATH"
echo "File $FILE_PATH removed successfully."
else
echo "File $FILE_PATH does not exist, skipping removal."
fi
}
# Main function
main() {
remove_file "/etc/default/grub"
echo "File cleanup completed."
}
# Run the main function
main
exit 0

View File

@ -1,102 +0,0 @@
#!/bin/bash
# Detect the init system
if command -v openrc-init > /dev/null 2>&1; then
INIT_SYSTEM="openrc"
elif command -v runit > /dev/null 2>&1; then
INIT_SYSTEM="runit"
elif [ -d /etc/init.d ] && [ -f /etc/init.d/rc ]; then
INIT_SYSTEM="sysvinit"
else
echo "Unsupported init system."
exit 1
fi
# Create the welcome script
cat << 'EOF' > /usr/local/bin/welcome.sh
#!/bin/bash
echo "Welcome to your live system!"
EOF
# Make the welcome script executable
chmod +x /usr/local/bin/welcome.sh
case "$INIT_SYSTEM" in
openrc)
# Create OpenRC init script for welcome.sh
cat << 'EOF' > /etc/init.d/welcome
#!/sbin/openrc-run
command="/usr/local/bin/welcome.sh"
command_background=false
description="Welcome Script"
depend() {
after net
}
EOF
# Set permissions
chmod +x /etc/init.d/welcome
# Enable the service to start on boot
rc-update add welcome default
;;
sysvinit)
# Create SysVinit init script for welcome.sh
cat << 'EOF' > /etc/init.d/welcome
#!/bin/sh
### BEGIN INIT INFO
# Provides: welcome
# Required-Start: $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Welcome Script
### END INIT INFO
case "\$1" in
start)
echo "Starting welcome script"
/usr/local/bin/welcome.sh &
;;
stop)
echo "Stopping welcome script"
# No stop action needed for this script
;;
*)
echo "Usage: /etc/init.d/welcome {start|stop}"
exit 1
;;
esac
exit 0
EOF
# Set permissions
chmod +x /etc/init.d/welcome
# Enable the service to start on boot
update-rc.d welcome defaults
;;
runit)
# Create runit service directory for welcome.sh
mkdir -p /etc/sv/welcome
# Create the run script for the service
cat << 'EOF' > /etc/sv/welcome/run
#!/bin/sh
exec /usr/local/bin/welcome.sh
EOF
# Set permissions
chmod +x /etc/sv/welcome/run
# Create the service link
ln -s /etc/sv/welcome /etc/runit/runsvdir/default/
;;
*)
echo "Unsupported init system."
exit 1
;;
esac

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to install Apache if not installed # Function to install Apache if not installed
install_apache_if_needed() { install_apache_if_needed() {
if ! dpkg -l apache2 > /dev/null 2>&1; then if ! dpkg -l apache2 > /dev/null 2>&1; then

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to install Docker if not installed # Function to install Docker if not installed
install_docker_if_needed() { install_docker_if_needed() {
if ! command -v docker &> /dev/null; then if ! command -v docker &> /dev/null; then

View File

@ -1,4 +1,8 @@
k#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to enable firewalld # Function to enable firewalld
enable_firewalld() { enable_firewalld() {

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to set hostname # Function to set hostname
set_hostname() { set_hostname() {
NEW_HOSTNAME=$(dialog --inputbox "Enter the new hostname:" 10 60 3>&1 1>&2 2>&3 3>&-) NEW_HOSTNAME=$(dialog --inputbox "Enter the new hostname:" 10 60 3>&1 1>&2 2>&3 3>&-)

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to install MariaDB if not installed # Function to install MariaDB if not installed
install_mariadb_if_needed() { install_mariadb_if_needed() {
if ! dpkg -l mariadb-server > /dev/null 2>&1; then if ! dpkg -l mariadb-server > /dev/null 2>&1; then

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to install Nginx if not installed # Function to install Nginx if not installed
install_nginx_if_needed() { install_nginx_if_needed() {
if ! dpkg -l nginx > /dev/null 2>&1; then if ! dpkg -l nginx > /dev/null 2>&1; then

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to install Postfix if not installed # Function to install Postfix if not installed
install_postfix_if_needed() { install_postfix_if_needed() {
if ! dpkg -l postfix > /dev/null 2>&1; then if ! dpkg -l postfix > /dev/null 2>&1; then

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Função para instalar PostgreSQL, se necessário # Função para instalar PostgreSQL, se necessário
install_postgresql_if_needed() { install_postgresql_if_needed() {
if ! dpkg -l postgresql > /dev/null 2>&1; then if ! dpkg -l postgresql > /dev/null 2>&1; then

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to generate SSH keys # Function to generate SSH keys
generate_ssh_keys() { generate_ssh_keys() {
dialog --yesno "Do you want to generate SSH keys?" 10 60 dialog --yesno "Do you want to generate SSH keys?" 10 60

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to configure static IP # Function to configure static IP
configure_static_ip() { configure_static_ip() {
while true; do while true; do

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to create users # Function to create users
create_user() { create_user() {
local USERNAME local USERNAME

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Function to update package list # Function to update package list
update_package_list() { update_package_list() {
echo "Updating package list..." echo "Updating package list..."

View File

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2023 PeppemrintOS Team (peppermintosteam@proton.me)
# Directory where the scripts are located # Directory where the scripts are located
SCRIPT_DIR="/usr/local/bin" SCRIPT_DIR="/usr/local/bin"

View File

@ -310,6 +310,9 @@ SERVER_LIST = ('zonefstoolspep\n'
'openssl\n' 'openssl\n'
'cups\n' 'cups\n'
'git\n' 'git\n'
'grub-pc\n'
'wget\n'
'curl\n'
) )
MINI_LIST = ('nano\n' MINI_LIST = ('nano\n'