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.