[CentOS] Tools not included in CentOS 7 minimal

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.

Network Manager

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.

Use the nmtui to enable the interface to request ip address from dhcp every time system reboots.
1
Edit the connection, select the interface and edit, enable the Automatically Connect.
2

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
3

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 /usr/local/bin/python3.7.

No nslookup

Surprisingly there is no nslookup in centos minimal installation, to install it sudo yum install bind-utils -y.

Nano

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

Desktop environment

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.
Pre-requisite:

  1. sudo yum install epel-release.
  2. 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 startx

nano ~/.xinitrc
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.

Snap

I have already installed the epel-release hence I will need to install the copr.
sudo yum install yum-plugin-copr
Then: sudo yum copr enable @pki/epel-7.3
You will see this, choose yes.
4

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.
5

My purpose is to easily install pycharm and other softwares…
6

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s