Title : Arch Linux distribution maintenance program.
Description: A TUI(terminal user interface) which provides updates, maintenance, and backups for an Arch based linux distribution. This program provides numerous tools to Arch Linux users. The program is menu-based and written in bash. It is mainly text based but also uses dialog GUI's at a few points mainly for directory and file selection. It can also display desktop notifications. A detailed list of the dozens of options is provided below in features section.
Main Author: Gavin Lyons
History: See changelog.md in documentation section for version control history
Github Contributors: "binaryplease" "uros-stegic"
Copyright: Copyright (C) 2016 Gavin Lyons , see LICENSE.md in documentation section.
cylon is installed by PKGBUILD on a Arch based Linux system. The PKGBUILD file is available in the AUR - Arch user repository. Install it using an AUR helper program or installations instructions on Arch user repository page of Arch linux wiki. The program will work on any arch based system. Arch, manjaro, endeavourOS etc.
The program installs an icon in system application menus under system.
It can be also run in a terminal by typing cylon:
Options list (standalone cannot be combined):
|-h --help||Print cylon information and exit|
|-s --system||Print system information and exit|
|-v --version||Print version information and exit|
|-c --config||Opens the cylon config file for editing and exit|
|-d --default||Bleachbit system clean , this will execute options selected in bleachbit GUI or bleachbit config file|
|-b --bleachbit||Opens the bleachbit select menus|
|-m --maint||Runs Automatic system maintenance scan This carries many of the menu functions in system maintenance menu in a single sweep, It will not change system just create report files|
|-u --update||Runs a full update report with various execution options. Report provides Arch news rss reader & arch-audit vulnerable packages output CVE data(Common Vulnerabilities and Exposures) & number and type of updates available for all repos|
|-p --print||print the package lists (REF1)|
|-r --rss||print arch news reader with option to fetch number of items|
|-z --delete||display the AUR package removal dialog menu function|
|-l --lint||shortcut to open rmlint wrapper menu|
|-n --notify||Display a desktop notifications with update information, also gives some terminal output|
Cylon files installed by the package build are listed below:
|/usr/bin/cylon||The main shell script|
|/usr/lib/cylon/modules/*_module||12 library files containing functions|
|/usr/share/applications/cylon.desktop||desktop entry file|
|$HOME/.config/cylon/cylonCfg.conf||config file, optional, user made, NOT installed|
README.md is displayed to screen by a menu option on cylon info page. Type "man cylon" to display manpage. The manpage is a truncated version of the readme file. More information on the modules files can be found in modules_info.md in documentation folder.
Config file: The user can create an optional config file, used
for custom system backup. If the user is not using the system backup option the user does NOT need config file.
If config file missing the System uses hard-coded dummy defaults. The config file can be edited from a main menu option or by option -c
cylonCfg.conf file setup example: Just copy and paste this into file and change paths for your setup. alternatively a config file template with dummy values is in documentation folder of the repository.
Packages files list can be viewed in package_lists.md, which is in the sub-folder documentation of repository. The package files list is a collection of 26 lists describing the system.
In the repository documentation folder, there are various support documents.
|changelog.md||version control history file|
|license.md||copyright details file|
|cylon.7||man page which is truncated version of readme.md|
|cylonCfg.conf||A dummy copy of config file for user setup convenience|
|modules_info.md||An overview of the modular library files and the functions|
|package_lists.md||An overview of the packages files list generated by program|
|features_info.md||More detailed information for some features|
CYLONDEST, CYLON_CONFIG and CYLON_COLOR_OFF are three optional custom environmental variables used by program. If variable CYLONDEST and CYLON_CONFIG are not set or do not exist, cylon uses the default path. CYLON_COLOR_OFF is used for turning off colored text output. For information on setting environment variables see arch linux wiki.
Most system output (logfiles, downloads and updates etc) is placed at below path, unless otherwise specified on screen. Output folders are created with following time/date stamp syntax HHMM-DDMONYY-X where X is output type i.e download, update etc. The default path is:
This optional Environment variable is provided for users who wish to use different destination path for program output folder.
The default path for config file is
This optional Environment variable is provided for users who wish to use different destination path for program config file.
if it does not exist or is not set cylon uses colored output. This optional Environment variable is provided for users who wish to see no colour in terminal. Set it equal to "on"
"nano" is used as default text editor for editing config files IF $EDITOR user environment variable is not set.
Some functions require dependencies packages to be installed. There are three dependencies and the rest are optional dependencies. The optional dependencies are left to user discretion. Software will check for missing dependencies and report if user tries to use a function which requires a missing one. Software will display installed dependencies packages on cylon info page. also "n/a" is usually displayed besides uninstalled options in menus.
gnu-netcat and openbsd-netcat peform same function, only 1 can be or needs to be installed, both included because of conflicts. There are used to check that network is "up" at various points in program.
Auracle and trizen are both AUR helpers you can install one or both depending on preference. Auracle is a more minimalist helper. trizen is more fully featured. Auracle is used for -u and -n functions, plus step 24 of the package list maker Auracle is new and still in development hence the -git extension.
libnotify should be installed on the vast majority of Arch systems already.
dialog should already be installed in an arch linux system installed by the arch linux installation guide on wiki. If you install Arch some other way It may not be there, so included as depends.
expac is used a lot and will be already installed on many systems.
pacman_contrib contains numerous tools(checkupdates pacache etc)related to pacman , used to be part of pacman before version 5.0. In cylon 5.3 added as a dependency.
|dialog||used to make file select menus|
|expac||used to create package lists|
|pacman-contrib||Misc pacman related tools|
|libnotify||used for desktop notifications|
|bleachbit||for system clean and shredding|
|netcat||to check for internet connection (either gnu or openbsd)|
|rmlint||to check for lint and duplicates|
|rsync||for rsync backup function|
|Arch-audit||Uses data collected by the Arch CVE team|
|lostfiles||to scan for lostfiles|
The program functions are divided into 6 sections: update, maintenance, backup, security, network and miscellaneous.
The update section is the core of the program and provides a wrapper for pacman, trizen and auracle. It provides an extension to auracle to allow it to install and update packages. It also provides a full system update report function and various other options.
The maintenance section provides a variety of scans and checks, it also a provides command line wrapper for rmlint and bleach-bit.
The backup section provides ability to backup system using various tools.
Other misc functions include an option to edit config file, information menus for system and cylon. Terminal launcher at path of cache output.
There is more detailed information in documentation folder, see "see also" section.
1: System update section
AUR helper auracle options
AUR helper trizen options
Full System update
2: System maintenance section
3: System backup section
4: System security section
5: Network options section
6: Miscellaneous section
Option to open terminal at output folder path in new window
Config file view/edit option.
System information display
Bleach bit CLI
Pacman options menu
Remove foreign packages menu