One of the things that make Linux-based operating systems great is the high degree of customization they offer us. We can customize and adapt (almost) everything to our needs, from the options the kernel is compiled with, to the desktop environment. On any Linux distribution, the terminal emulator is an essential tool for power users and system administrators. Starship is a free and open source plugin written in rust we can use to customize our favorite shell prompt by using a variety of modules.
Egidio Docile
3 Methods to install PyCharm Community Edition on Linux
PyCharm is a professional Python IDE (Integrated Development Environment) developed by JetBrains, which supports a lot of features like code completion, refactoring, debugging, etc. Two versions of the IDE exist: the “Professional” version, which must be purchased, and the free, “Community” version, which is based on open source software, and can be downloaded and installed free of charge. Various methods can be used to install the IDE on Linux.
How to manage git repositories with Python
Neither Python nor Git need presentations: the former is one of the most used general-purpose programming language; the latter is probably the most used version control system in the world, created by Linus Torvalds himself. Normally, we interact with git repositories using the git binary; when we need to work with them using Python, instead, we can use the GitPython library.
Introduction to terminal multiplexer Tmux
Tmux is a terminal multiplexer: it let us run and manage multiple terminal sessions from a single screen. This is specially useful when connecting to remote machines using ssh, since, among the other things, it allows us to keep processes started from those terminals running in the background when we disconnect from the session (or logout and close the remote secure shell altogether), letting us re-attach to it at a later time.
How to manage Vim plugins natively
Vim is definitely one of the most venerated text editors in the Unix world. Although its learning curve can be pretty steep when accustomed to more traditional text editors, its usage can dramatically improve productivity. A lot of plugins are available for the editor; almost always their source code is hosted on Github or similar platforms based on Git. To manage such plugins, several third-party plugin managers were developed in time, such as Pathogen or Vim-Plug, but since version 8 of the editor, a native way to manage plugins was introduced.
How to mount a Samba shared directory at boot
Samba is a free and open source interoperability suite of programs which allows us to share files and printers between machines running Linux or Windows. A Samba share is pretty easy to configure and can easily be accessed on clients, since the vast majority of Linux file explorers has built-in support samba. In certain situations, however, we may want to mount a Samba share at boot, just like a normal filesystem on a specified mountpoint.
How to define a custom Firewalld zone
Firewalld is the default high-level firewall manager on the Red Hat family of distributions. One of its peculiarities is that it defines a series of so called firewall zones: each zone can be considered like a different level of trust and can be configured to allow traffic through a specific set of ports. While Firewalld comes with some predefined zones which can be easily examined and modified, sometimes we may want to create our custom zones from scratch.
Introduction to Borg Backup
Borg is a very useful application we can use to create deduplicating backups on Linux. Free and open source software, it is, for the most part, written in Python and supports data compression and encryption. Thanks to the data de-duplication feature, only data which actually changes is archived, and this let us optimize both disk space and execution time. Borg is really easy to install, since it is packaged and included in the repositories of the most used Linux distributions.
How to export repositories with the git-daemon
Git is probably the most used version control software in the world. Free and open source, it was created by Linus Torvalds, and it is the base of services provided by web platforms like Github and Gitlab. In a previous article we discussed the git workflow basics,
How to create incremental and differential backups with tar
Tar (Tape ARchiver) is one the most useful utilities in the toolbox of every Linux system administrator out there. With tar we can create archives which can be used for various purposes: to package applications source code, for example, or to create and store data backups.
How to restore hibernation on Fedora
Hibernation, also known as “suspend to disk”, is the most efficient power saving mode in terms of energy consumption. On hibernation, the state of the random access memory is stored on disk, and the machine is completely power down. Although efficient, hibernation is commonly not recommended if using a solid state drive, because each time the system enters this power state, a lot of data must be written to disk, which as we know, has a limited number of write cycles. For this and other reasons, as the the low number of machines on which hibernation works reliably on Linux, Fedora decided to disable this power state by default.
How to install and use snaps on Fedora
Developed by Canonical, the company behind Ubuntu, and originally meant to be used on the latter, the Snappy package manager is a free and open source software used to install and manage snap packages. The purpose of Snap packages, just like flatpaks, is to distribute sandboxed and self-contained applications (applications are packaged together with their dependencies).