|
|
|
---
|
|
|
|
title: Archlinux
|
|
|
|
date: 2023-11-29T20:33:48+0100
|
|
|
|
lastmod: 2024-04-21T17:15:40+0000
|
|
|
|
tags:
|
|
|
|
- archlinux
|
|
|
|
|
|
|
|
#showDate: false
|
|
|
|
showReadingTime: false
|
|
|
|
showWordCount: false
|
|
|
|
showPagination: false
|
|
|
|
#showAuthor: false
|
|
|
|
showBreadcrumbs: true
|
|
|
|
|
|
|
|
feed_exclude: true
|
|
|
|
# site_exclude: true
|
|
|
|
|
|
|
|
draft: true
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Predictable network interfaces
|
|
|
|
|
|
|
|
Get back the "old" interface names like `eth0` or `wlan0` with
|
|
|
|
[systemd.link](https://www.man.page/5/systemd.link).
|
|
|
|
|
|
|
|
### Ethernet
|
|
|
|
|
|
|
|
This makes my ethernet interface be called **eth0** again.
|
|
|
|
|
|
|
|
Create `/usr/lib/systemd/network/80-ether.link` with this content:
|
|
|
|
|
|
|
|
~~~systemd
|
|
|
|
[Match]
|
|
|
|
Type=ether
|
|
|
|
|
|
|
|
[Link]
|
|
|
|
NamePolicy=keep kernel
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Reboot.
|
|
|
|
|
|
|
|
### Wireless
|
|
|
|
|
|
|
|
This makes my wireless interface be called **wlan0** again.
|
|
|
|
|
|
|
|
Create `/usr/lib/systemd/network/80-wlan.link` with this content:
|
|
|
|
|
|
|
|
~~~systemd
|
|
|
|
[Match]
|
|
|
|
Type=wlan
|
|
|
|
|
|
|
|
[Link]
|
|
|
|
NamePolicy=keep kernel
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Reboot.
|
|
|
|
|
|
|
|
## Setup WiFi networks
|
|
|
|
|
|
|
|
### Using **iwctl**
|
|
|
|
|
|
|
|
~~~console
|
|
|
|
$ iwctl device list
|
|
|
|
$ iwctl station wlan0 scan
|
|
|
|
$ iwctl station wlan0 get-networks
|
|
|
|
$ iwctl station wlan0 connect {ssid}
|
|
|
|
~~~
|
|
|
|
|
|
|
|
### Using **nmcli** (NetworkManager)
|
|
|
|
|
|
|
|
~~~console
|
|
|
|
$ nmcli device wifi list
|
|
|
|
$ nmcli device wifi rescan
|
|
|
|
$ nmcli device wifi connect {ssid} --ask
|
|
|
|
$ nmcli device wifi show-password
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Last command shows the connected SSID and a QR-code within the terminal.
|
|
|
|
|
|
|
|
## Using NetworkManager
|
|
|
|
|
|
|
|
We create some files in `/etc/NetworkManager/conf.d`:
|
|
|
|
|
|
|
|
## Using `iwd` as the WiFi backend
|
|
|
|
|
|
|
|
`wifi_backend.conf`:
|
|
|
|
|
|
|
|
~~~ini
|
|
|
|
[device]
|
|
|
|
wifi.backend=iwd
|
|
|
|
~~~
|
|
|
|
|
|
|
|
## Using `dhcpcd` as DHCP client
|
|
|
|
|
|
|
|
`dhcp-client.conf`:
|
|
|
|
|
|
|
|
~~~ini
|
|
|
|
[main]
|
|
|
|
dhcp=dhcpcd
|
|
|
|
~~~
|
|
|
|
|
|
|
|
## Do not manage one specific USB dongle
|
|
|
|
|
|
|
|
`99-unmanaged-devices.conf`:
|
|
|
|
|
|
|
|
~~~ini
|
|
|
|
[keyfile]
|
|
|
|
unmanaged-devices=mac:xx:xx:xx:xx:xx:xx
|
|
|
|
~~~
|
|
|
|
|
|
|
|
## Prefer local DNS instead of systemd-resolved defaults
|
|
|
|
|
|
|
|
<https://unix.stackexchange.com/a/442599>
|
|
|
|
|
|
|
|
## CPU frequency scaling
|
|
|
|
|
|
|
|
<https://wiki.archlinux.org/title/CPU_frequency_scaling>
|
|
|
|
|
|
|
|
## YubiKeys
|
|
|
|
|
|
|
|
<https://wiki.archlinux.org/title/YubiKey>
|
|
|
|
|
|
|
|
## LunarVim custom key mappings
|
|
|
|
|
|
|
|
I know, this is an Arch Linux post but hey, I don't care.
|
|
|
|
|
|
|
|
<https://github.com/LunarVim/LunarVim/issues/2602>
|
|
|
|
|
|
|
|
## Mounting nfs shares with systemd
|
|
|
|
|
|
|
|
<https://wiki.archlinux.org/title/NFS#Mount_using_/etc/fstab_with_systemd>
|
|
|
|
|
|
|
|
### Arch Linux ARM installation on a Raspberry Pi 2
|
|
|
|
|
|
|
|
The wiki page is for Raspberry Pi 4.
|
|
|
|
|
|
|
|
<https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4>
|
|
|
|
|
|
|
|
## Create a 32-bit Wine prefix
|
|
|
|
|
|
|
|
I create my wine prefixes usually like this:
|
|
|
|
|
|
|
|
~~~console
|
|
|
|
$ export WINEPREFIX=/home/dominic/.wine-winlink
|
|
|
|
$ export WINEARCH=win32
|
|
|
|
$ wine wineboot
|
|
|
|
~~~
|
|
|
|
|
|
|
|
## Installing multiple ruby versions
|
|
|
|
|
|
|
|
I came to the point to test an older website from me and it was made with
|
|
|
|
Jekyll which I had to install quickly. Problems occured with OpenSSL and I
|
|
|
|
finally managed to install ruby version 2.7.1 and 3.0.0 in my home directory.
|
|
|
|
|
|
|
|
~~~console
|
|
|
|
$ rvm pkg install openssl
|
|
|
|
$ rvm install "ruby-3.0.0" --with-openssl-dir=$HOME/.rvm/usr
|
|
|
|
$ rvm install "ruby-2.7.1" --with-openssl-dir=$HOME/.rvm/usr
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Later in the desired directory, I re-installed the gems because with ruby 2.7.1
|
|
|
|
I got another "Directory not found" error.
|
|
|
|
|
|
|
|
I had to do this because I used ruby 2.7.1 on one website.
|
|
|
|
|
|
|
|
~~~console
|
|
|
|
$ bundle install --force
|
|
|
|
~~~
|
|
|
|
|