Cylon – Arch Linux distribution maintenance Tool

Cylon is a menu driven small shell script which basically gives you an idea to manage/maintain the Arch Linux and it’s derivatives by offering fourteen categories with variety of applications (hassle free application installation), which helps you to complete your day to day operation very smoothly.

The script provides updates, maintenance, backups and system checks utilities for an Arch based Linux distribution like Manjaro, Antergos, Chakra, etc.,.

This script is based on CLI but also uses dialog GUI’s in few places for directory and file selection. Overall 100+ utilities are there in the script for varies purpose.

cylon main shell script will be placed in default bin directory /usr/bin/cylon. All the system output folders will be placed in HOME/Documents/Cylon with following time/date stamp syntax HHMM-DDMONYY-X where X is output type like download, update, etc.,.

Make a note, cylon tool wont install any of the utilities which is available in the script by default. There are two dependencies packages can be installed which is necessary to run cylon and the rest are optional dependencies which can be installed when applications require a missing dependencies.

cylon will display installed dependencies packages on cylon info page. If a utility is not installed on system, it shows n/a followed by function name.

The functions are divided into 6 sections update, maintenance, backup, security, network and miscellaneous.

  • Update : The update section is the core of the program and provides a wrapper for pacman, pacaur and cower. It also provides a full system update report function and various other options.
  • Maintenance : The maintenance section provides a variety of scans and checks, it also a provides command line wrapper for rmlint and bleach-bit.
  • Backup : The backup section provides a wrapper for gdrive, rsync, etc program. Also can able to backup system using various tools.
  • Security : The security section provides a wrapper for ccrypt and an extended launcher for various security tools as well as a password generator.
  • Network : The network section provides various tools to check network and configuration.
  • Miscellaneous : This section included varies software like system info, weather forecast, terminal launcher and giving option to edit config files.

How to install Cylon on Arch Linux

Cylon package is available in AUR repository, in order to install packages from AUR repository, we need to install either packer or yaourt AUR wrapper.

Suggested Read :
(#) How to Install Yaourt on Arch Linux
(#) Packer – (AUR+Pacman) wrapper which replaces poorly written Yaourt

$ yaourt -S cylon
or
$ packer -S cylon

How to use Cylon

As I told in the beginning of this article, it’s a CLI utility so just fire following command on terminal to start use cylon. Make sure you have to run cylon from privilege user.

$ sudo cylon

Ouput:

=====================================================================================================
                           _         _        _
     /\                   | |       | |      (_)
    /  \     _ __    ___  | |__     | |       _   _ __    _   _  __  __
   / /\ \   | '__|  / __| | '_ \    | |      | | | '_ \  | | | | \ \/ /
  / ____ \  | |    | (__  | | | |   | |____  | | | | | | | |_| |  >  <
 /_/    \_\ |_|     \___| |_| |_|   |______| |_| |_| |_|  \__,_| /_/\_\
=====================================================================================================
cylon 4.2-3 -- Arch Linux Maintenance Program
04:02:11-02-Wed-Week31-Aug-2017
Unix epoch time 1501660931
=====================================================================================================
Main Menu:
1) pacman                   8) Network Maintenance
2) cower n/a                9) xterm terminal
3) pacaur n/a              10) View/Edit config file
4) System Update           11) System information
5) System Maintenance      12) Cylon information
6) System backup           13) Weather
7) System Security         14) Exit
By your command:

From the above output, you can see there are fourteen (14) menus available in cylon. Let see, what are the applications each entry has.

1-Pacman

In pacman section, you can perform most of the pacman package manager activity such as Install, Remove, Update, Upgrade, Search packages in the database, Package Information, Search already installed packages, Verify package, package copy, pacman database backup, prune older packages from cache, and remove all cached version of uninstalled packages.

See the lists below.

Pacman package manager options:-
 1) Check Network and check for pacman updates (no download)
 2) pacman -Syu Upgrade packages
 3) pacman -Si Display information for a package in database
 4) pacman -S Install Package
 5) pacman -Ss Search for packages in the database
 6) pacman -Rs Remove Package
 7) pacman -Qs Search for already installed packages
 8) pacman -Qi  Display information for locally installed packages
 9) pacman -Ql  List all files owned by a given package.
10) pacman -Qkk Verify packages
11) paccache -r Prune older packages from cache, Keep last 3
12) paccache -ruk0 To remove all cached versions of UNinstalled packages
13) Remove all packages not required as dependencies (orphans)
14) Make a copy of package lists
15) Back-up the local pacman database
16) Arch Linux News Rss feed
17) arch-audit n/a
18) pactree options
19) Edit pacman config file
20) View pacman log
21) pacman optimize
22) Return to main menu
By your command:

Hit 22 to return to main menu.

2-Cower

cower is a simple tool to get information and download packages from the Arch User Repository (AUR). In this section, we can perform most of the AUR actions such as Install, Remove, update, upgrade, and search.

=====================================================================================================
AUR packages management by cower. Number of foreign packages installed = 2
=====================================================================================================

AUR package install and updates by cower, options:-
 1) Check network and check for AUR updates (no download), cower -uc
 2) Information for package, cower -ic
 3) Search for package, cower -sc
 4) Download package, cower -dc + optional Install
 5) Get updates for installed packages, cower -dvuc + Update
 6) Download package only, no install. cower -dc
 7) Make copy of package lists
 8) Read AUR Package comments
 9) Edit cower config file
10) Remove foreign packages explicitly installed menu
11) Display AUR packages with no Maintainer
12) Return
By your command:

3-Pacaur

Pacaur is an Arch User Repository (AUR) helper which is designed to minimize user prompt interaction. In this section, we can perform the same action like cower.

=====================================================================================================
AUR packages management by pacaur. Number of foreign packages installed = 3
=====================================================================================================

Pacaur options:-
 1) Check Network and check for AUR updates (no download), pacaur -k
 2) Search for package, pacaur -s
 3) Display information for package, pacaur -i
 4) Get updates for installed packages, pacaur -u
 5) Download, build and install the package, pacaur -y
 6) Download and build the package, pacaur -m
 7) Download the package, pacaur -d
 8) Delete pacaur cache
 9) Edit pacaur config file
10) Update all packages in all repositories, pacaur -Syu
11) Make a copy of package lists
12) Remove foreign packages explicitly installed menu
13) Return
By your command:

4-System Update

In this section, we can perform full system update & AUR package update.

arch-audit is Installed
pacaur is Installed
Accessing archlinux.org Network Database....
=====================================================================================================
Arch Linux News Rss feed
Enter number of items of news to fetch or press [ENTER] for default of 1

 :: Deprecation of ABS tool and rsync endpoint ::
 [ https://www.archlinux.org/news/deprecation-of-abs/ ]
 Mon, 15 May 2017 10:55:50 +0000
Press any key to continue
=====================================================================================================
Arch-audit upgradable vulnerable packages

Arch-audit vulnerable packages
binutils
glibc
libffi
linux
pcre
Press any key to continue
=====================================================================================================
Number of Pacman updates ready ..> 3
python2-requests 2.18.1-1 -> 2.18.3-1
python2-setuptools 1:36.2.4-1 -> 1:36.2.7-1
python2-urllib3 1.21.1-1 -> 1.22-1
=====================================================================================================
Number of updates available for installed AUR packages ..> 0
=====================================================================================================
Update options:-
1) pacman -Syu Update Main only  3) pacaur -u Update AUR only
2) pacaur -Syu Update  All       4) No Update exit
By your command:

5-System Maintenance

In this section, users allowed to perform varies system maintenance activity such as system boot-up performance, Broken Symlinks, Disks pace usage, Top 200 biggest files, etc.,.

Directory for output made at:-
/root/Documents/Cylon/1749-02Aug17-SYSINFO
System Maintenance options
 1) Failed Systemd Services and status
 2) Check Journalctl log for Errors
 3) Check Journalctl for fstrim SSD trim
 4) Analyze system boot-up performance
 5) Check for Broken Symlinks
 6) Find files where no group or User corresponds to file's numeric ID
 7) lostfiles n/a
 8) Diskspace usage
 9) Find 200 of the biggest files
10) Find inodes usage
11) Old configuration files scan
12) Print sensors information
13) Clean journal files
14) Delete core dumps /var/lib/systemd/coredump/
15) Delete files
16) inxi n/a
17) bleachbit n/a
18) rmlint n/a
19) htop n/a
20) Return
By your command:

6-System backup

This section lets you to take a full and partial system backup with verity of backup utility such as rsync, gdirve, etc,.,

Reading config file cylonCfg.conf at:-
/root/.config/cylon
Done!
Pick Destination directory for system backup or gdrive option
1) /run/media/root/Linux_backup/foo  5) gdrive n/a
2) /run/media/root/iomega_320/foo    6) rsync n/a
3) /root/Documents/Cylon/            7) Return
4) Custom
By your command:

7-System Security

This section offers you with varies security related utilities to keep the system more safe.

System Security Menu options:-
1) ccrypt n/a
2) clamav n/a
3) rkhunter n/a
4) lynis n/a
5) Password generator
6) List the password aging info of a user
7) Audit SUID/SGID Files
8) Return
By your command:

8-Network Maintenance

This section dedicated to network related activities.

Directory for output made at:-
/root/Documents/Cylon/1753-02Aug17-NETINFO
Files report will be written to path above -
Network. options:-
 1) wavemon n/a -wireless network monitor
 2) speedtest-cli n/a -testing internet bandwidth
 3) Check if website up with netcat and ping
 4) Display all interfaces which are currently available
 5) Display kernal routing table
 6) Check the status of UFW, Uncomplicated Firewall
 7) Network Time Synchronization status check
 8) traceroute print route packets trace to network host
 9) tracepath traces path to a network host
10) View all open ports
11) Return
By your command:

9-xterm terminal

This section has option to open xterm terminal at output folder path in new window.

10-View/Edit config file

This section allows you to View and edit the configuration files as per your requirements.

11-System information

This section will print the system information.

=====================================================================================================
System Information display Page 1
=====================================================================================================
Uptime = up 1 day, 1 hour, 21 minutes
Kernel = Linux 4.12.3-1-ARCH #1 SMP PREEMPT Sat Jul 22 15:32:02 UTC 2017
Operating System = x86_64 GNU/Linux
Network node name = Arch.2daygeek.com
User name = root
Shell = /bin/bash
/usr/lib/cylon/modules/Misc_module: line 248: xdpyinfo: command not found
/usr/lib/cylon/modules/Misc_module: line 248: xdpyinfo: command not found
Screen Resolution =  x
CPU =  Intel Core Processor (Haswell, no TSX)
RAM used/total = (201MB / 1956MB)
Editor variable = nano
Pacman cache = /var/cache/pacman/pkg/
Space used by pkg downloaded in cache: 239M
Hold packages:  pacman glibc
Number of orphans: 1
Packages by repositories:-
Core: 142
Extra: 19
Community: 9
error: repository "multilib" was not found.
Multilib: 0
Foreign: 1
Press any key to continue
System information page 2
Searching / please wait ....
All .pacnew and .pacsave files: 7
All installed packages: 174
All native packages: 173
All explicitly installed packages: 75
All explicitly installed native packages that are
not direct or optional dependencies: 34
All explicitely installed pkgs not base/base-devel grps: 21
All foreign installed packages: 1
All foreign explicitly installed packages: 1
All packages installed as dependencies: 99
All modified by user system backup file: 17
4 Largest packages :
201.54 MiB      linux-firmware
91.96 MiB       gcc-libs
91.83 MiB       linux
71.79 MiB       python2
4 Newest updated packages :
2017-08-02 03:42:05     cylon
2017-08-02 03:42:00     expac
2017-08-02 03:42:00     dialog
2017-08-02 03:36:43     ca-certificates-utils
Press any key to continue

12-Cylon information

This section will tell you about installed and non-installed dependencies list.

=====================================================================================================
Cylon information and readme.md file  display.
=====================================================================================================
Cylon is an Arch Linux maintenance CLI program written in Bash script.
This program provides numerous tools to Arch Linux users to carry
out updates, maintenance, system checks, backups and more.
Written by G.Lyons, Reports to  <[email protected]>
AUR package name = cylon, at aur.archlinux.org by glyons.
Version=cylon 4.2-3
Cylon program location = /usr/bin/cylon
Cylon modules for functions = /usr/lib/cylon/modules/*
Folder for Cylon output data = /root/Documents/Cylon/
Location of cylonCfg.conf = /root/.config/cylon
Location of readme.md changlog.md = /usr/share/doc/cylon
Location of License.md = /usr/share/licenses/cylon
Man page, Desktop entry and icon also installed
Environment variable CYLONDEST is not Set
Press any key to continue and check which dependencies are installed

Dependencies
dialog is Installed NOTE non-optional
expac is Installed NOTE non-optional
cower is Not installed NOTE AUR package
gdrive is Not installed NOTE AUR package
lostfiles is Not installed NOTE AUR package
pacaur is Not installed NOTE AUR package
arch-audit is Not installed
rmlint is Not installed
rkhunter is Not installed
gnu-netcat is Not installed NOTE No need if using openbsd-netcat
openbsd-netcat is Not installed NOTE No need if using gnu-netcat
clamav is Not installed
bleachbit is Not installed
ccrypt is Not installed
rsync is Not installed
lynis is Not installed
inxi is Not installed
htop is Not installed
wavemon is Not installed
speedtest-cli is Not installed
Do you want to view readme [y/n] ?

13-Weather

This section shows you 3 day weather forecast information through wttr.in

By your command:13
3 day weather forecast by WTTR.IN
Type a City name, airport code, domain name or area code:-
Bangalore
Weather report: Bangalore, India

    \  /       Partly cloudy
  _ /"".-.     71-77 °F
    \_(   ).   → 12 mph
    /(___(__)  3 mi
               0.1 in
                                                       ┌─────────────┐
┌──────────────────────────────┬───────────────────────┤  Thu 03 Aug ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Partly cloudy  │    \  /       Partly cloudy  │  _`/"".-.     Patchy rain po…│               Cloudy         │
│  _ /"".-.     78-82 °F       │  _ /"".-.     86-89 °F       │   ,\_(   ).   80-84 °F       │      .--.     75-78 °F       │
│    \_(   ).   → 14-16 mph    │    \_(   ).   → 16-18 mph    │    /(___(__)  → 16-19 mph    │   .-(    ).   → 15-20 mph    │
│    /(___(__)  12 mi          │    /(___(__)  12 mi          │      ‘ ‘ ‘ ‘  12 mi          │  (___.__)__)  12 mi          │
│               0.0 in | 0%    │               0.0 in | 0%    │     ‘ ‘ ‘ ‘   0.0 in | 82%   │               0.0 in | 38%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐
┌──────────────────────────────┬───────────────────────┤  Fri 04 Aug ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Partly cloudy  │    \  /       Partly cloudy  │  _`/"".-.     Light rain sho…│               Cloudy         │
│  _ /"".-.     78-82 °F       │  _ /"".-.     84-86 °F       │   ,\_(   ).   80-84 °F       │      .--.     75-78 °F       │
│    \_(   ).   → 16-19 mph    │    \_(   ).   → 16-19 mph    │    /(___(__)  → 15-20 mph    │   .-(    ).   → 14-20 mph    │
│    /(___(__)  12 mi          │    /(___(__)  12 mi          │      ‘ ‘ ‘ ‘  11 mi          │  (___.__)__)  12 mi          │
│               0.0 in | 0%    │               0.0 in | 0%    │     ‘ ‘ ‘ ‘   0.0 in | 94%   │               0.1 in | 55%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐
┌──────────────────────────────┬───────────────────────┤  Sat 05 Aug ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Partly cloudy  │    \  /       Partly cloudy  │  _`/"".-.     Light rain sho…│  _`/"".-.     Patchy rain po…│
│  _ /"".-.     78-82 °F       │  _ /"".-.     84-87 °F       │   ,\_(   ).   78-82 °F       │   ,\_(   ).   73-77 °F       │
│    \_(   ).   → 16-19 mph    │    \_(   ).   → 16-19 mph    │    /(___(__)  → 14-22 mph    │    /(___(__)  → 13-19 mph    │
│    /(___(__)  12 mi          │    /(___(__)  12 mi          │      ‘ ‘ ‘ ‘  11 mi          │      ‘ ‘ ‘ ‘  11 mi          │
│               0.0 in | 0%    │               0.0 in | 0%    │     ‘ ‘ ‘ ‘   0.1 in | 91%   │     ‘ ‘ ‘ ‘   0.0 in | 57%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘

New feature: multilingual location names wttr.in/станция+Восток (in UTF-8) and location search wttr.in/~Kilimanjaro (just add ~ before)
Follow @igor_chubin for wttr.in updates

14-Exit

If you have done the package installation and want to exit the cylon, use this option. To know more details about cylon, I would advise you to navigate to cylon cylon -h page.

By your command:14

Goodbye root!
Press any key to continue and exit.

Leave a Reply

Your email address will not be published. Required fields are marked *