Ubuntu Minimal Virtual Machine
On minimal virtual machine you will want to add these additional tools which are normally installed in the standard Ubuntu. Go to the Ubuntu Packages website you want more details or to search for additional packages.
Still making the list of minimal virtual machine by going through each package not included and looking it up on the Ubunu Package Search website.
Quick one line install,
# All in one command sudo apt-get install at man vim rsync
As of Ubuntu 18 this ntp functionality is built-in using timesyncd and no longer needed,
# All in one command sudo apt-get install ntp
Here is the long version of it,
# Alternatively do one line at a time sudo apt-get install at # To run a job at a specified time. sudo apt-get install man # man pages. sudo apt-get install vim # Newer vi which has color coding. sudo apt-get install rsync # Transfer just the differences between two sets of files across the network sudo apt-get install ntp # Ensures your time is synced (covered in setup, but listed here for completeness)
This above list is still being refined and I am considering including,
sudo apt-get install dnsutil # Might be useful as it has nslookup. geoip-database # Determine geo location of ip. Probably installed with dnsutil. sudo apt-get install command-not-found # Suggest packages to install when command is not found.
Recommended Tools
Run the following command to install the Bonsai Framework recommended for everyday administration,
sudo apt-get install telnet zip unzip mlocate htop wget ne colordiff wdiff
Here is the long version of it,
sudo apt-get install telnet # great for verifying connection to listening ports sudo apt-get install zip unzip # easy to use zip software sudo apt-get install mlocate # quick file searching sudo updatedb # If you want to manually update the database for mlocate searching. sudo apt-get install htop # enhanced version of top to see system performance sudo apt-get install wget # easily download things from the Internet sudo apt-get install ne # easy dos like editor, push ESC key to see menu sudo apt-get install colordiff wdiff # diff tools to colourize diff files and word diff to diff at a word level (rather then the regular line) # Not sure about ACLs anymore. They do not work as expected. # sudo apt-get install acl # great at setting more than one user or group permissions for a file or directory
Otherwise you can continue to read about each and install them selectively.
mlocate
mlocate is a nice file search tool. Better than slocate because it respects permissions when searching. Faster and easier to use then find because it uses a database. As of Ubuntu 9.0.4 is part of the installation and a cron is already setup to keep the search index database up to date.
sudo apt-get install mlocate sudo updatedb # If you want to manually update the database.
ne Editor
ne is an editor similar to DOS Edit. It is menu driven and easy to use for new people. The only thing I wish it had was to be able to select text with the shift and arrow keys like DOS Edit.
sudo apt-get install ne # Nice easy to use editor like DOS edit
htop
Great tool to view system performance and what is happening to various processes. It is an improved version of the built in top command.
sudo apt-get install htop
wget
Tool to grab files over http and https.
sudo apt-get install wget
More
Read the Unix & Linux Tools articles to learn about often used commands and see additional tools used for specialized circumstances.
acl
Read the ACL Page
Installing on Red Hat
To install the tools listed above on Red Hat, follow the subsequent steps:
Install the Fedora Project repository (add proxy settings as necessary)
Promptwget http://dl.fedoraproject.org/pub/epel1/7/x86_64/e/epel-release-7-9.noarch.rpm [-e use_proxy=yes -e http_proxy={proxyaddress:port}] sudo rpm -ihv epel-release-7.9.noarch.rpm
Since ne Editor is not in the Fedora Project, install that repository as well
Promptwget http://ne.di.unimi.it/ne-3.0.1-1.x86_64.rpm sudo rpm -ihv ne-3.0.1-1.x86_64.rpm
If you are installing packages from behind a proxy where some packages install from outside the proxy and others behind it, you can install the packages behind the proxy first and then update the yum.conf file afterwards. According to documentation, this step could be avoided by setting the value proxy=_none_ on repo.conf files that do not require to go through the proxy. However, this does not always seem to work as designed. In this case, we have two dependent packages that are installed behind the proxy
Promptsudo yum install systemd-python sudo yum install bzip2
- If you are behind a proxy, update the following line in /etc/yum.conf => proxy={http://proxyaddress:port}
Run the following script
Bash script#!/bin/bash # Script to install recommended tools on RHEL declare -a arr=("at" "man" "vim" "rsync" "ntp" "telnet" "zip" "unzip" "mlocate" "htop" "wget" "ne" "colordiff" "wdiff" "openssh" "fail2ban") for i in "${arr[@]}" do fi ! rpm -qa | grep "^${i}-[0-9]"; then yum -y install $i fi done printf "The following packages are installed:\n\n" for i in "${arr[@]}" do printf "${i} : " rpm -qa | grep "^${i}-[0-9]" || printf "Not installed\n" done