Linux-Tech-Tips/README.md

4.6 KiB

Random Linux Tips (WIP)

This is a random collection of useful thing I came across by simply using Linux.
It's mostly distro-agnostic and sometimes specific for Arch- and/or pacman-based distros.

0. Short example template.

  • Description: What is this good for.
  • Requires: Do you need any particular software (provide a link)?
  • How-to: Straight forward description and maybe a code example.
    • Detailled description if necessary.
    • # this is the actual code lol
  • Aditionally: Anything else that might be important like additional ressources.

1. Automatically clear cache.

  • Description: Move files older than a specific amount of time from your user's ~/.cache directory to the trash.
  • Requires: rmtrash.
  • How-to: Add the following line to your crontab using the command "crontab -e" (or EDITOR=$editor crontab -e).
    • 0 17 * * * /usr/bin/find ~/.cache/* -mtime +7 -exec /usr/bin/rmtrash -rf {} \;
    • This command looks at files in ~/.cache every day at 5 p.m. and moves files older than 7 days to the trash.
  • Additionally: This can also be done using regular rm instead of rmtrash.

2. Limit Systemd journal size.

  • Description: Limit the Systemd journal to a specific size.
  • Requires: Specific to systems using Systemd.
  • How-to: Edit /etc/systemd/journald.conf and change SystemMaxUse=50M.
  • Additionally: ArchWiki: Systemd.
  • Additionally: This can also be achieved using journalctl and be limited by time.

3. Syntax highlight for nano

  • Description: Enable syntax highlighting for nano.
  • Requires: The nano editor.
  • How-to: Edit ~/.config/nano/nanorc or to /etc/nanorc and add the following.
    • include "/usr/share/nano/*.nanorc".
  • Additionally: ArchWiki: Nano.

4. Repeat a command using watch.

  • Description: Repeat and watch a command in a custom interval.
  • Requires: The procfs package.
  • How-to: Use watch followed by your command.
    • Example: # watch -n 1.0 "du -h -s ./$folder
    • This prints the summarized size of $folder in human-readable format every second.
  • Additionally: ---

5. Use sudo !!.

  • Description: Repeat the last command using sudo.
  • Requires: The sudo package.
  • How-to: Just type sudo !! and the last command will be repeated using sudo.
  • Additionally: ---

6. Prevent overwriting files.

  • Description: Use alias for rm, cp and mv.
  • How-to: Add the following alias into your ~/.bashrc.
    • Use -interactive option to get asked before overwriting files.
    • alias mv="mv -i"
  • Additionally: ArchWiki: Core utilities.

7. Auto-clean package cache.

  • Description: Automatically clean the pacman package cache using paccache.
  • Requires: A pacman-based distro and the pacman-contrib package.
  • How-to: Enable the paccache.timer.
    • systemctl enable paccache.timer

  • Additionally: Edit the paccache.service in /usr/lib/systemd/system/ and change the command to e.g. keep the latest installed version and no uninstalled version of all packages: ExecStart=/usr/bin/paccache -rk1 && /usr/bin/paccache -ruk0

8. Passwordless SSH

  • Description: Connect to a device using SSH without a password.
  • Requires:
  • How-to:

  • Additionally:

9. Automatically clean orphaned packages.

  • Description: Automatically remove orphaned packages.
  • Requires: A pacman-based distribution.
  • How-to: Add the following line to your crontab.
    • 0 20 * * * /usr/bin/pacman -Qtdq | /usr/bin/pacman -Rns -
  • Additionally: This example removes orphans everyday at 8 p. m. but the

10. Automatic retrieve latest mirrors.

  • Description: Automatically retrieve the latest Arch Linux mirrors and write them to the mirrorlist.
  • Requires: An Arch-based distro and reflector.
  • How-to: Install reflector and enable the reflector.timer.
    • # systemctl enable reflector.timer
  • Additionally: ArchWiki.