==== dnf installer bash script (Fedora 40) ====
When you run the code below, ensure to redirect output and errors to a log file.\\
**If this is a new install, consider the SELinux settings.**
\\
----
\\
#!/bin/bash
#
# install-my-dnf-packages-fc40.bash
# Fedora 40 version
#
# NOTES:
# Installed groups can be found with:
# dnf group list
#
# Contents of groups can be found with:
# dnf group info "Group Name"
#
# TO RUN:
# ./install-my-dnf-packages-fc40.bash > /tmp/install-my-dnf-packages-fc40.log 2>&1
#
echo ""
echo "*****************************************************************"
echo "* Beginning all Updates *"
echo "*****************************************************************"
echo ""
echo "dnf -y install wget"
dnf -y install wget
# Probably needed in future for some RockyLinux packages
#echo ""
#echo "dnf -y install epel-release"
#dnf -y install epel-release
# Probably needed in future for PHP version management
#echo ""
#echo "Enable the CRB repo (added by EPEL)"
#dnf install dnf-plugins-core
#/usr/bin/crb enable
echo "*****************************************************************"
echo "***************** UPDATING CURRENT PACKAGES ********************"
echo "*****************************************************************"
dnf -y update
echo ""
echo "******************** FOR VBox Guest Additions *******************"
dnf -y install kernel-headers kernel-devel gcc make perl
dnf -y install elfutils elfutils-devel elfutils-libelf elfutils-libelf-devel
echo ""
echo "********************* NOW INSTALLING GROUP ********************"
echo "Basic Web Server"
echo "*****************************************************************"
# Do not install optional packages (avoid problems with mod_security)
dnf -y groupinstall "Basic Web Server"
echo ""
echo "********************* NOW INSTALLING GROUP ********************"
echo "Development Tools"
echo "*****************************************************************"
dnf -y groupinstall --with-optional "Development Tools"
echo ""
echo "********************* NOW INSTALLING GROUP ********************"
echo "System Tools"
echo "*****************************************************************"
dnf -y groupinstall --with-optional "System Tools"
echo ""
echo "********************* NOW INSTALLING GROUP ********************"
echo "Engineering and Scientific"
echo "*****************************************************************"
dnf -y groupinstall "Engineering and Scientific"
echo ""
echo "********************* NOW INSTALLING GROUP ********************"
echo "VideoLAN Client"
echo "*****************************************************************"
dnf -y groupinstall "VideoLAN Client"
echo ""
echo "********************* NOW INSTALLING EXTRAS ********************"
echo ""
echo "About to install: xorg-x11-fonts*"
dnf -y install xorg-x11-fonts*
echo ""
echo "About to install: libreoffice*"
dnf -y install libreoffice*
echo ""
echo "About to install: mariadb*"
dnf -y install mariadb*
echo ""
echo "About to install: cups"
dnf -y install cups
echo ""
echo "About to install: alpine"
dnf -y install alpine
echo ""
echo "About to install: ImageMagick*"
dnf -y install ImageMagick*
echo ""
echo "About to install: gedit"
dnf -y install gedit
echo ""
echo "About to install: lftp"
dnf -y install lftp*
echo ""
echo "About to install: traceroute"
dnf -y install traceroute
echo ""
echo "About to install: firewall-config"
dnf -y install firewall-config
echo ""
echo "About to install: ftp"
dnf -y install ftp
echo ""
echo "About to install: mate-user-admin"
dnf -y install mate-user-admin
echo ""
echo "About to install: mutt"
dnf -y install mutt
# Possible Xfce Problem - No longer needed?
#echo ""
#echo "About to install: NetworkManager*"
#dnf -y install NetworkManager*
echo ""
echo "About to install: openconnect*"
echo "NOTE: Check for openconnect-devel errors"
dnf -y install openconnect*
echo ""
echo "About to install: postfix"
dnf -y install postfix
echo ""
echo "About to install: s-nail since mailx is not available in Rocky Linux 9"
dnf -y install s-nail
echo ""
echo "About to install: evince"
dnf -y install evince
echo ""
echo "About to install: remmina"
dnf -y install remmina
echo ""
echo "About to install: ncftp"
dnf -y install ncftp
echo ""
echo "About to install: dkms"
dnf -y install dkms
# Possible Xfce Problem - no longer needed?
#echo ""
#echo "About to install: gstreamer1* gstreamer1-*"
#dnf -y install gstreamer1* gstreamer1-*
#
#echo ""
#echo "About to install: PackageKit-gstreamer-plugin"
#dnf -y install PackageKit-gstreamer-plugin
echo ""
echo "About to install: gimp"
dnf -y install gimp
echo ""
echo "About to install: php-xml"
dnf -y install php-xml # phpMyAdmin
echo ""
echo "About to install: fail2ban.noarch"
dnf -y install fail2ban.noarch
echo ""
echo "About to install: python3-PyMySQL"
dnf -y install python3-PyMySQL
echo ""
echo "About to install: python3-pip"
dnf -y install python3-pip
echo ""
echo "About to run: python -m pip install dictor"
python -m pip install dictor
echo ""
echo "TODO: About to install: perl-Array-Diff.noarch"
# If won't install, use cpanm
# find_missing_asm_files.pl
dnf -y install perl-Array-Diff.noarch
echo ""
echo "About to install: perl-Array-Unique.noarch"
dnf -y install perl-Array-Unique.noarch
echo ""
echo "About to install: perl-CPAN"
dnf -y install perl-CPAN
echo ""
echo "About to install: perl-File-Slurp.noarch"
dnf -y install perl-File-Slurp.noarch
echo ""
echo "About to install: perl-IPC-System-Simple.noarch"
dnf -y install perl-IPC-System-Simple.noarch
echo ""
echo "TODO About to install: perl-IO-All.noarch"
# check_stations.pl
# If EPEL 9 version not available, use cpanm
dnf -y install perl-IO-All.noarch
echo ""
echo "About to install: perl-List-MoreUtils"
dnf -y install perl-List-MoreUtils
echo ""
echo "About to install: perl-LWP*"
dnf -y install perl-LWP*
echo ""
echo "installing perl-Hash-MultiValue"
dnf -y install perl-Hash-MultiValue
echo ""
echo "installing perl-DBD-MySQL"
dnf -y install perl-DBD-MySQL
echo ""
echo "About to install: bind-utils"
dnf -y install bind-utils
echo ""
echo "About to install: qt5-qtx11extras"
dnf -y install "qt5-qtx11extras" # VirtualBox
echo ""
echo "About to install: vsftpd"
dnf -y install vsftpd
echo ""
echo "About to install: jq" # TAT
dnf -y install jq
echo ""
echo "About to install: tidy"
dnf -y install tidy
echo ""
echo "About to install: pv"
dnf -y install pv
echo ""
echo "About to install: vim"
dnf -y install vim
echo ""
echo "About to install: ncdu"
dnf -y install ncdu
echo ""
echo "About to install: seahorse"
dnf -y install seahorse
echo ""
echo "About to install: keepassxc"
dnf -y install keepassxc
echo ""
echo "About to install: firefox"
dnf -y install firefox
echo ""
echo "About to install: libcurl-devel"
dnf -y install libcurl-devel
echo ""
echo "About to install: samba-*"
dnf -y install samba-*
echo ""
echo "About to install: totem"
dnf -y install totem
echo ""
echo "About to install: Google Chrome"
if [[ ! -e /root/downloads ]]; then
mkdir /root/downloads
fi
cd /root/downloads
if [[ -f google-chrome-stable_current_x86_64.rpm ]]; then
rm google-chrome-stable_current_x86_64.rpm
fi
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
dnf -y localinstall google-chrome-stable_current_x86_64.rpm
echo ""
echo "About to install: Google Chrome Beta"
cd /root/downloads
if [[ -f google-chrome-beta_current_x86_64.rpm ]]; then
rm google-chrome-beta_current_x86_64.rpm
fi
wget https://dl.google.com/linux/direct/google-chrome-beta_current_x86_64.rpm
dnf -y localinstall google-chrome-beta_current_x86_64.rpm
echo ""
echo "About to install: inxi"
dnf -y install inxi
echo ""
echo "*********************** ENABLE SERVICES ************************"
systemctl start httpd.service
systemctl enable httpd.service
systemctl start chronyd.service
systemctl enable chronyd.service
systemctl start postfix
systemctl enable postfix
systemctl start sshd.service
systemctl enable sshd.service
echo ""
echo "******************** ENABLE GRAPHICAL LOGIN ********************"
systemctl isolate graphical.target
systemctl set-default graphical.target
echo ""
echo "*****************************************************************"
echo "Installing XFCE for Rocky Linux 9... *"
echo "See https://docs.rockylinux.org/guides/desktop/xfce_installation/"
echo "for more information. "
echo "*****************************************************************"
dnf -y group install "Xfce Desktop"
dnf -y install xfce4-cpugraph-plugin
dnf -y install xfce4-weather-plugin
# May be needed for RockyLinux lightdm install
#dnf -y copr enable stenstorp/lightdm
dnf -y install lightdm
systemctl disable gdm
systemctl enable lightdm
echo ""
echo "*****************************************************************"
echo "* AUTO install DONE *"
echo "*****************************************************************"
echo ""
echo "*****************************************************************"
echo "You probably want to reboot your machine, then finish next *"
echo "steps. *"
echo "*****************************************************************"
echo ""
echo ""
echo "*****************************************************************"
echo "Test, then fix VPN if needed *"
echo "See: https://bugzilla.redhat.com/show_bug.cgi?id=1549242 "
echo "As root: update-crypto-policies --set LEGACY "
echo "*****************************************************************"
echo ""
echo "*****************************************************************"
echo "MATE not yet available for Rocky Linux 9 *"
echo "See https://forums.rockylinux.org/t/mate-being-added-to-epel-8-and-9/6479/4"
echo "*****************************************************************"
echo ""
echo "*****************************************************************"
echo "* END OF INSTALL *"
echo "*****************************************************************"
echo ""