What are standard things you do after a fresh Linux install?

Playing back in saved dot-files to my $HOME and looking if everything works as expected.
After that I try to harden the system according to it’s pre-requisites and to my liking (apparmor or se-linux, dnscrypt-proxy or unbound with trusted upstream dns-providers, etc.), some will get the picture…

:v:

Not only after a fresh install, but standard things done frequently with a rolling distro.

I feel that I need a way to lockdown a DE feature set with sort of an LTS model, while still embracing most of the remainder of the OS and Kernel to keep following a rolling model. Raises the question: Should I be using native Arch instead? I want something similar to a KDE Plasma - Lite.

I feel that KDE Plasma on EndeavourOS has recently changed in ways that are similar to the decisions made by Microsoft or OpenSUSE, it’s losing the lightweight feeling that existed just a short time ago. Just one example of a change that bothers me are the network configuration tools: why was the functionality for using CIDR to set an IPv4 subnet mask removed? Also, I’m not sure if the clipboard promiscuity has always been there, or if I just recently noticed it. I think that puppy should be locked down by default… …it’s not that I am losing my love for EndeavourOS, I think it is great. But certain things that cause distro hops are still there :slight_smile:

I have three Endeavour installs on this machine, I think I will delete the Endeavour on partition #2, and do a native Arch for times when I am in this mood. I’m still not getting my actual work done…

Native Arch with Kde isn’t any different.

3 Likes

You can complain about Microsoft, or OpenSuse, but not about EOS.
Still if you want a bit relaxed update cycles grab Debian-Testing
( set the testing repos in sources list ) and enjoy. ( I dont recomend
non rolling distros because they are kind a’ not so coool :slight_smile: :slight_smile: :slight_smile:
( Debian-Testing is at least partly rolling )

Certain things that cause me to distro-hop is that I don’t want to acknowledge which D.E. is better than another one, because I’m being given a choice. But this is before Plasma v5.27 or the new version that would be upon us soon.

Non-rolling-release distros not being so cool depends on who you ask. The idea of updating far more than using doesn’t fall on everybody. Then when it breaks anyway…

Back on topic: that’s why everytime further I check out a new distro I would like to straight out go and try to put Wine on it. Because updating is contributing a lot to boredom. Adjusting look and feel and good behavior is also time-consuming and often not fun. I’m often opening the preference screen of a program to change one setting, like the “swap” backup for Kate/KWrite. :confused:

Since I migrated to systemd-boot, the first thing I do is install LTS kernel and add a boot entry. Then I add a couple of entries like Fallback and Boot to Terminal.

I set up Zram, enable parallel Pacman downloads, make a couple of Pacman hooks like Clean Cache and Automatic menu generation for Fluxbox/Openbox. Then I set up a Reflector timer, and persistent keyboard layout.

And a recently discovered must-have feature in Paru, and probably Yay: enable NewsOnUpgrade. It displays the latest unread news from the Arch News site, before you update.

congrats :people_hugging:

1 Like

Could you give details on how to do all this, like adding the boot entries etc?

No problem. Here are my notes. Ask if you need help.

Boot entries
I use /boot as the mount point. I think in a default EOS systemd-boot install the mount point is /efi, so you’ll have to adjust accordingly. Also adjust your disk UUID. You’ll see that I use intel microcode. Skip or adjust to your needs (like amd microcode). Also, this is for a btrfs filesystem installation.

Entries:

make fallback entry

sudo cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf
sudo nano /boot/loader/entries/arch-fallback.conf

paste:

title Arch Linux Fallback
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux-fallback.img
options root=UUID=xxx rootflags=subvol=@ rw

check:
bootctl list

boot to terminal entry

sudo cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-terminal.conf
sudo nano /boot/loader/entries/arch-terminal.conf

paste:

title Arch Linux Terminal
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=UUID=xxx rootflags=subvol=@ rw systemd.unit=multi-user.target

check
bootctl list

install LTS kernel and add entry
sudo pacman -S linux-lts linux-lts-headers

sudo cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-lts.conf
sudo nano /boot/loader/entries/arch-lts.conf

paste:

title Arch Linux LTS kernel
linux /vmlinuz-linux-lts
initrd /intel-ucode.img
initrd /initramfs-linux-lts.img
options root=UUID=8acc6775-eb54-4aa6-9e59-ec51fdfd9bc1 rootflags=subvol=@ rw

check
bootctl list

Zram

I have 16gb ram. Zram does away with the need for a swap file or partition for me, and it plays nice with btrfs snapshots. Some people use disk-based swap in addition to zram:

zram notes:

install
sudo pacman -Syu zram-generator

configure
sudo nano /usr/lib/systemd/zram-generator.conf

paste:

[zram0]
zram-fraction = 1.0
max-zram-size= 8192
compression-algorithm=zstd
swap-priority=60

sudo systemctl daemon-reload
sudo systemctl start /dev/zram0
reboot

Check with htop

Explanation of the parameters:
zram-fraction = If the value is 1.0 it means that the zram will be equal to the amount of physical ram of the pc, example. If the pc has 3.72gb of ram, the zram will be exactly that value.

max-zram-size = Just as its name says, this parameter limits the maximum amount of zram on the system, as recommended 8gb should be the maximum.

compression-algorithm = In this parameter you choose the algorithm that is responsible for compressing and decompressing

swap-priority = This parameter is the value at which zram will start to work, in 99% of Linux distros the default value is 60.

Important: It is not recommended to use more zram than the available ram (for obvious reasons)

Pacman

Clean cache hook:

Summary
sudo mkdir /etc/pacman.d/hooks
sudo mkdir /etc/pacman.d/hooks.bin 

that last folder is for placing scripts in, not needed for hooks

make clean cache hook:

sudo nano /etc/pacman.d/hooks/paccache.hook

paste:

[Trigger]
Type = Package
Operation = Remove
Operation = Install
Operation = Upgrade
Target = *

[Action]
Description = Removing unnecessary cached files (keeping the latest two)...
When = PostTransaction
Exec = /usr/bin/paccache -rvk2

Reflector

I think this is already taken care of in a defualt EOS install, this is my note for Arch. 4 countries is probably a little overkill, adjust to your needs:

Summary

install


sudo pacman -S reflector curl rsync --needed

set mirrorlist
sudo reflector --verbose -c DK -c DE -c NO -c SE --protocol https --sort rate --latest 10 --download-timeout 5 --save /etc/pacman.d/mirrorlist

automation
sudo systemctl enable --now reflector.timer

check
systemctl status reflector.timer
configure
sudo nano /etc/xdg/reflector/reflector.conf

paste:

# Reflector configuration file for the systemd service.
#
# Empty lines and lines beginning with "#" are ignored.  All other lines should
# contain valid reflector command-line arguments. The lines are parsed with
# Python's shlex modules so standard shell syntax should work. All arguments are
# collected into a single argument list.
#
# See "reflector --help" for details.

# Recommended Options

# Set the output path where the mirrorlist will be saved (--save).
--save /etc/pacman.d/mirrorlist

# Select the transfer protocol (--protocol).
--protocol https

# Select the country (--country).
# Consult the list of available countries with "reflector --list-countries" and
# select the countries nearest to you or the ones that you trust. For example:
--country Norway,Sweden,Denmark,Germany

# Use only the  most recently synchronized mirrors (--latest).
--latest 5

# Age
--age 12

# Sort the mirrors by synchronization time (--sort).
--sort rate

# Download timeout
--download-timeout 5

Display latest unread news when you update with Paru

Summary

copy the config file to /home:

mkdir ~/.config/paru
cp /etc/paru.conf ~/.config/paru/paru.conf

open it in a text editor, and uncomment this line:
NewsOnUpgrade

Enable parallel Pacman downloads

Summary

sudo nano /etc/pacman.conf

uncomment this line

ParallelDownloads = 5

6 Likes

Block SSH/Telnet because i don’t need access to EOS over a network. (Newbies : This will not block your internet):

sudo nano /etc/ssh/sshd_config

Remove the ‘#’ in the line with

#PermitRootLogin no

ctrl + o . Then enter to save.

ctrl + x to exit.


Increase the mousewheel scrolling ‘speed’ in firefox:

  1. In firefox type: about:config

  2. Search for:

mousewheel.min_line_scroll_amount

  1. Change value (anything from 5 - 60). I prefer 60 :slight_smile:

(For those wondering; This will not work in Windows)

3 Likes

Zram is recommended if we already have swap partition?

It is generally recommended as an alternative to disk based swap, so I’d say no.I use it for its simplicity mainly, but there are some other advantages which you can look up.

But some people use disk based swap in addition to zram, because the system can freeze in special load cases with just zram. This is not relevant to me, so I use zram only. If you use both, you’ll maybe have to configure priority, so the system uses zram as first priority.

1 Like

Hooks to auto-update initramfs, set performance mode, download required software, set up services and lastly customize the look.

Refresh the mirrors, remove things I dont want, add things I do want, adjust settings to my liking and then upgrade the whole thing.

1 Like

I just did an install recently. So - updated for 2023.

Install Gnome

Setup SysRq
Extensions
Poptiling
Dash to panel
Set caps locks to additional hyper key

Use it. That’s about all the customization I need anymore. After so many years of customization, tweaking, customizing, etc. I don’t know if I’ve just “settled” or if they really do know what I want better than anyone else.

I love trying everything, but day to day, this jsut seems to fit how I do things.

2 Likes

LTS kernel can be installed right in the EOS installer though… and for me personally, all of my kernels have a fallback entry by default o:

That is probably the default in an EOS install, but not in my fresh Linux install.

Install a backup utility.
Install a GUI for pacman and yay
Install a GUI for managing systemd services/units/timers/etc
Configure my Desktop
Restore the backup of documents

And then start my work.

Interesting. What GUI do you use for managing services etc? Do they have an option to restart the services by any chance?

Also interested to know which pacman GUI you use. I’ve used a few, but some of them caused some errors and some were too confusing or ugly to use, so I’ve opted to just use konsole and yay/paru/pacman in text form.

SystemdGiene and SystemDAdmin

Octopi for pacman. Drawback it does not work with AUR. Octopi is very similar to Synaptic. Though I would have loved it if KDE Discover would work with Arch repositories as well as AUR.