There are a few things not included in the minimal installation of CentOS 7. So here’s a record on the things which I need.
I have installed Arch, CentOS and Debian Linux, I need to give appreciation to the teams who have compiled the packages and easily download from the repository, because the complexity of compiling software has been done by the teams installing these three types of linux even at bare minimum is not as difficult as those BSDs.
The centos 7 minimal install gives user a chance to install things user needs, I should say as long as you are an ethusiast customizing centos minimal installation is not a problem, it is not technically too difficult as the most difficult things have already been done by the Centos team, customizing centos minimal installation is like building with lego blocks which those blocks have already been made by the team.
No dhcp request
My only interface did not have ip address, hence used
dhclient ens33 to request ip address from dhcp server.
This package is not included, after interface has ip address, download NetworkManager from YUM
yum install NetworkManager -y, then start the service immediately and whenever the CentOS reboot
systemctl enable --now NetworkManager.
nmtui to enable the interface to request ip address from dhcp every time system reboots.
Edit the connection, select the interface and edit, enable the Automatically Connect.
Normal user is not in sudoers
Sudo is installed in minimal installation, but your new normal user if need to access admin privilege will fail because you need to add the normal user to the wheel group.
To add my user
cyruslab to wheel with root account,
usermod -aG wheel cyruslab
wget and git
sudo yum wget git -y
I need wget to pull the python3 and install it.
Python3 and gcc
Python3 and gcc are not included in the minimal installation. Gcc is required to compile the source of Python3.
Pre-requisite of Python3:
sudo yum install gcc libffi-devel bzip2-devel openssl-devel -y
Change to tmp directory, then use wget to get the python3 source. I am using python3.7 for development and hence
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz, after that untar and unzip the package
tar xzvf Python-3.7.6.tgz.
Change to the Python-3.7.6 director within tmp, then
./configure --enable-optimizations, then compile it
sudo make altinstall, the compiled binary will be
Surprisingly there is no nslookup in centos minimal installation, to install it
sudo yum install bind-utils -y.
I prefer nano as text editor as it makes more sense to me without memorizing commands and refer to cheat sheet.
sudo yum install nano -y
Minimal install gives you a shell with enough tools to work from it, desktop environment is not one of the application.
I need XFCE to run Python IDE.
sudo yum install epel-release.
sudo yum groupinstall "X Window system" -y
The X Window system is necessary to launch xfce when running startx.
sudo yum groupinstall "xfce"
My purpose is to launch desktop environment whenever I need it, else i will just use the shell, hence my purpose is to launch it by using
then put in
exec /bin/xfce4-session, in my environment this is the location of xfce4-session, you should be using
which xfce4-sssion to check the absolute path. This xinitrc file will be called when running startx.
I have already installed the epel-release hence I will need to install the
sudo yum install yum-plugin-copr
sudo yum copr enable @pki/epel-7.3
You will see this, choose yes.
Then install snapd:
sudo yum install snapd -y
Start the snapd service:
sudo systemctl enable --now snapd
Create a symbolic link (shortcut)
sudo ln -sf /var/lib/snapd/snap /snap
Install the snap store with snap:
sudo snap install snap-store.
My purpose is to easily install pycharm and other softwares…