Checking Linux Repositories and Logging
Repositories on Linux
A Linux repository is a storage location that contains essential and popular software for different Linux distributions and, each distribution has its own official repositories (also called standard-repositories).
You can manage many packages (software) supported by your distribution and your system can install software from it.
But what happens if I want to get some packages that are not in an official repository of my distro... it's simple, you can add other repositories, not always recommended but if you decided to add a new repo it's at your own risk. The repositories for a third party (non-standard) can be infected by malicious packages inside it.
In order to get access to all or some packages in the repositories, we need to use a package manager like pacman, apt, yum, yaourt among others.
List installed repositories in RHEL/CentOS 7
To review the list of installed repositories you need to type in the console
$ yum repolist
Example of output:
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,072
extras/7/x86_64 CentOS-7 - Extras 498
updates/7/x86_64 CentOS-7 - Updates 2,594
List installed repositories in RHEL/CentOS 8
To review the list of installed repositories you need to type in the console
$ dnf repolist
Example of output:
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
extras CentOS Linux 8 - Extras
List installed repositories in Debian/Ubuntu
To review the list of installed repositories you need to type in the console
$ grep -Erh ^deb /etc/apt/sources.list*
Example of output:
deb http://archive.ubuntu.com/ubuntu/ focal main restricted
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ focal universe
deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://archive.ubuntu.com/ubuntu/ focal multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
deb http://security.ubuntu.com/ubuntu/ focal-security universe
deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
Linux Logging
The operating systems provided a wealth of diagnostic information for your personal computer and servers too. Everyone, from kernel events to user actions is logged by Linux, in case something went wrong you will be able to see exactly what went wrong.
Linux System Logs
Linux has a special directory /var/log where all the logs are stored. OS, services, and applications running on the system use this powerful directory.
Some of the most important Linux systems logs include:
- /var/log/syslog and /var/log/messages store all global system activity data, including startup messages. Debian-based systems like Ubuntu store this in /var/log/syslog, while Red Hat-based systems like RHEL or CentOS use /var/log/messages.
- /var/log/auth.log and /var/log/secure store all security-related events such as logins, root user actions, and output from pluggable authentication modules (PAM). Ubuntu and Debian use /var/log/auth.log, while Red Hat and CentOS use /var/log/secure.
- /var/log/kern.log stores kernel events, errors, and warning logs, which are particularly helpful for troubleshooting custom kernels.
- /var/log/cron stores information about scheduled tasks (cron jobs). Use this data to verify that your cron jobs are running successfully.
Other applications create their own logs inside this directory, for example /var/log/mysql
Syslog
Syslog is a standard for creating and transmitting logs. When we talk about syslog we can refer to the syslog service which receives and processes syslog messages. It listens for events by creating a socket located at /dev/log, which applications can write to it.
Another reference could be the syslog protocol that specifies how to transmit logs over a network, also defines a data format for log messages. This protocol uses port 514 for plain text messages and 6514 for encrypted messages.
Finally, we can refer to a syslog message, which is any log formatted in the syslog message format, this message consists of a standardized header and message containing the log's contents.
Syslog Format and Field
The fields included in the standardized header can be a timestamp, name of the application that generates the event, locations in the system where the message is originated, and its priority. This format can be modified by yourself in your syslog implementation's configuration file. I recommend do not change this format due is and standard and many applications, developers, and system administrators are familiarized with it.
Here is an example log message using the default format. It’s from the sshd daemon, which controls remote logins to the system. This message describes a failed login attempt:
Jun 4 22:14:15 server1 sshd[41458] : Failed password for root from 10.0.2.2 port 22 ssh2
Logging with Systemd
Many Linux distributions contain a system that is a process and service manager. Systemd implements its own logging service called journald that can replace or complement syslog.
Related articles
Updated 12 months ago