Go to file
proledatarian 61da0eb820 Finished v1. 2022-02-08 21:28:48 +00:00
README.md Finished v1. 2022-02-08 21:28:48 +00:00

README.md

Linux Tech Tips

This is a random collection of useful things I came across.
It's mostly distro-agnostic but sometimes specific for pacman-based distros.

TOC

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. Automatic clear cache.

  • Description: Automatically move files older than a specific amount of time from your user's ~/.cache directory to the trash.
  • Requires: The rmtrash package.
  • 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. Repeat last command as su.

  • 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.time
  • 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 remote maschine using SSH without a password.
  • Requires: A SSH implementation like TinySSH.
  • How-to: Generate a keypair and send the public key to the remote maschine's authorized keys.
    • Generate a keypair: ssh-keygen -t rsa
    • Send the key: ssh-copy-id $remote-username@$remote-ip-address
    • Fill in the username and IP address of your remote maschine.
    • For example: ssh-copy-id foo@192.168.178.123
  • Additionally: Here's a more detailed tutorial.

9. Automatic 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: Reflector.