1
0
mirror of https://github.com/tiyn/wiki.git synced 2026-09-13 18:41:35 +02:00

Restructuring: Fixed spelling and tables

This commit is contained in:
2026-04-03 10:17:26 +02:00
parent f4181c2c3d
commit 58f836b4d4
187 changed files with 1039 additions and 622 deletions

View File

@@ -78,14 +78,14 @@ To access the files of the system an Arch Linux boot stick has to be created as
[a previous section](#create-installation-medium).
After booting into it set your keymap layout using the `loadkeys` setup similar to
[the installation preparation](/wiki/linux/arch-linux/installation.md#1-preparation).
Afterwards [mount](/wiki/linux/disk-management.md#mounting) the partition that contains the root
Afterward, [mount](/wiki/linux/disk-management.md#mounting) the partition that contains the root
file system to the `/mnt` directory.
It is possible that LUKS encrypted file systems need to be
[opened](/wiki/linux/dm-crypt.md#openclose-an-encrypted-volume) and then mounted using the
`/dev/mapper` symbolic link.
On some systems there are home or boot file system that have to be mounted on `/mnt/boot` or
`/mnt/home` after mounting the root file system.
Afterwards use `arch-chroot /mnt` to get into the not bootable system.
Afterward, use `arch-chroot /mnt` to get into the not bootable system.
Now the command line of the system can be accessed for troubleshooting.
After troubleshooting `exit` the system and [unmount](/wiki/linux/disk-management.md#mounting) all previously
mounted file systems and try to boot back into the system.
@@ -94,7 +94,7 @@ If the system broke during an update then the easiest way to fix it, is by runni
command again.
The used command can be found in `/var/log/pacman.log`.
Make sure to run exactly this command.
Afterwards try to reboot into the system.
Afterward, try to reboot into the system.
Another common source for not bootable systems is
[the initial ramdisk](#problems-with-the-initial-ramdisk).

View File

@@ -87,7 +87,7 @@ For this guide this partition is assumed to be `/dev/sda2`.
```sh
cryptsetup -c aes-xts-plain -s 512 -y -v luksFormat /dev/sda2
```
Afterwards confirm with `YES`.
Afterward, confirm with `YES`.
Now you can assign a passphrase.
The passphrase has to be entered at boot to decrypt the system.
Recovering of this passphrase is **not** possible.
@@ -125,7 +125,7 @@ Now the created filesystems will be mounted for the installation.
Now you need a working internet connection.
If a wireless internet connection is needed start `iwctl`, scan (`station wlan0 scan`) and connect
to the router (`station wlan0 connect <router ssid>`).
Afterwards the internet connection will be established.
Afterward, the internet connection will be established.
Exit `iwctl`.
- `pacstrap /mnt base base-devel dosfstools gptfdisk lvm2 linux linux-firmware vim networkmanager ntp`
@@ -246,7 +246,7 @@ In some cases the Arch keyring needs to be repopulated.
This is discussed in
[the package manager entry](/wiki/linux/package_manager/pacman_and_aur.md#error-during-updating-is-marginal-trust).
Additionally if you have a NVidia Graphics Cards you should read
Additionally, if you have a NVidia Graphics Cards you should read
[the NVidia article](/wiki/linux/nvidia.md) too.
If you are interested in automatic decryption of the dm-crypt encrypted

View File

@@ -7,9 +7,9 @@ This entry features the BlueZ package and all software that is based on it.
## Setup
On most [Linux](/wiki/linux.md) distributions BlueZ can be installed with the `bluez` package.
Additionally the `bluez-utils` package needs to be installed.
Additionally, the `bluez-utils` package needs to be installed.
To load the kernel module `modprobe btusb` needs to be run.
Afterwards the
Afterward, the
[service](/wiki/linux/systemd.md#startstopenabledisable-a-service) can be
started and enabled by running the following commands.
@@ -27,14 +27,14 @@ This section addresses the usage of Bluez.
The Bluetooth features can be managed by different types of front-ends.
- `bluetoothctl` is a command-line interface included in the `bluez-utils`
package
package
- `bluetuith` can be used as a bluetooth manager with a
[terminal](/wiki/linux/system_console.md) user interface.
It is included in a package of the same name, that needs to be installed
before usage.
Using `bluetuith` the [Bluetooth](/wiki/bluetooth.md) can be turned on (or off) by pressing `o`,
devices can be searched for by pressing `s`, a selected device can be paired by pressing `p` and
finally connected by pressing `c` before `bluetuith` can be left with `Q`.
[terminal](/wiki/linux/system_console.md) user interface.
It is included in a package of the same name, that needs to be installed
before usage.
Using `bluetuith` the [Bluetooth](/wiki/bluetooth.md) can be turned on (or off) by pressing `o`,
devices can be searched for by pressing `s`, a selected device can be paired by pressing `p` and
finally connected by pressing `c` before `bluetuith` can be left with `Q`.
## Troubleshooting
@@ -73,6 +73,6 @@ For this run the following command where `<bluetooth-adapter>` is the name of th
rfkill unblock <bluetooth-adapter>
```
Afterwards the adapter will probably be recognized again but a restart of service
Afterward, the adapter will probably be recognized again but a restart of service
`bluetooth.service` eventually has to be restarted as described in the
[systemd entry](/wiki/linux/systemd.md#startstopenabledisable-a-service-and-retrieve-its-logs).

View File

@@ -30,7 +30,7 @@ For this reason the following command has to be run first.
apt-mark hold docker-ce docker-ce-cli containerd.io
```
Afterward the packages of the current major release version have to be
Afterward, the packages of the current major release version have to be
[upgrading](/wiki/linux/package_manager/apt.md#updating-upgrading) using APTs `full-upgrade`
option.
Then a reboot is recommended.
@@ -52,7 +52,7 @@ Sometimes this process asks if the user wants to replace the local configuration
ones.
It is generally recommended to select `N` and reject these new configurations.
Finally another reboot is needed and the version number can be
Finally, another reboot is needed and the version number can be
[checked again](#retrieve-debian-version) confirming that the major version upgrade was
successfully performed.

View File

@@ -26,4 +26,4 @@ chmod +x ~/.xinitrc
ln -s ~/.xsession ~/.xinitrc
```
Afterwards the session will start like the `xinitrc`
Afterward, the session will start like the `xinitrc`

View File

@@ -6,8 +6,12 @@ DM-Crypt can create and manage encrypted devices.
### Creating an Encrypted Devices
To create a encrypted device simply run:
`cryptsetup -c aes-xts-plain -s 512 -y -v luksFormat /dev/sda2`.
To create a encrypted device simply run the following command.
```sh
cryptsetup -c aes-xts-plain -s 512 -y -v luksFormat /dev/sda2
```
Where `/dev/sda2` is the device to be created.
### Create/Add a Key File to an encrypted volume
@@ -25,22 +29,32 @@ dd bs=512 count=4 if=/dev/random of=<path to destination>
It is possible to increase the length to get a stronger key file.
Alternatively strong LUKS keys can be created using [OpenSSL](/wiki/linux/openssl.md)
using a bitlength of 4096:
`openssl genrsa -out <path to destination> 4096`.
using a bitlength of 4096 using the following command.
```sh
openssl genrsa -out <path to destination> 4096
```
The key file will then be saved to `<path to destination>`.
Finally the key file can be added to an opened LUKS encrypted volume by running
the following command:
`cryptsetup luksAddKey <path to LUKS volume> <path to key file>`.
Finally, the key file can be added to an opened LUKS encrypted volume by running the following
command.
```sh
cryptsetup luksAddKey <path to LUKS volume> <path to key file>
```
`<path to LUKS device>` is the encrypted device (for example `/dev/sda2`) and
`<path to key file>` is the location of the key file.
### Resize a LUKS Encrypted Volume
If volume groups on the encrypted volume are opened make sure to close them
with the following command modified to the present needs:
`vgchange -a n <volume group>`
If volume groups on the encrypted volume are opened make sure to close them with the following
command modified to the present needs.
```sh
vgchange -a n <volume group>
```
Open the encrypted volume:
`cryptsetup luksOpen <path to LUKS volume> <mapper location>`.
@@ -51,7 +65,10 @@ Now resize the encrypted volume to all available space of the partition.
If the encrypted volume should not be extended to the whole partition
or the partition is too small for its intended purposes, make sure to resize the
partition first accordingly (see [disk management](/wiki/linux/disk-management.md)).
`cryptsetup resize crypt-volume`
```sh
cryptsetup resize crypt-volume
```
### Open/Close an Encrypted Volume
@@ -64,11 +81,15 @@ Using `secret` as a `<map location>` the opened drive is available at
Alternatively an encrypted volume can be decrypted using
[a key file](#createadd-a-key-file-to-an-encrypted-volume) if set up for it.
This can be achieved by running:
`cryptsetup luksOpen <path to LUKS volume> crypt-volume --key-file=<key file location>`.
This can be achieved by running the following command.
```sh
cryptsetup luksOpen <path to LUKS volume> crypt-volume --key-file=<key file location>
```
`<path to LUKS device>` is the encrypted device (for example `/dev/sda2`).
Afterwards it can be closed by running `cryptsetup close /dev/mapper/crypt0`.
Afterward, it can be closed by running `cryptsetup close /dev/mapper/crypt0`.
### Creating/Add a USB Decryption Key
@@ -84,15 +105,24 @@ This guide will assume its address is `/dev/sde`.
Fill in the first sectors (in this case 94, make sure this number is bigger
than skip sector count and size sector count combined) stick with a random
sequence:
`dd if=/dev/urandom of=/dev/sde bs=512 seek=1 count=94`.
Save the key to a keyfile (with offset 14848 = 29 x 512 and
keysize 2048 = 4 x 512):
`dd if=/dev/sde bs=512 skip=29 count=4 > key.bin`.
sequence.
```sh
dd if=/dev/urandom of=/dev/sde bs=512 seek=1 count=94
```
Save the key to a keyfile (with offset 14848 = 29 x 512 and keysize 2048 = 4 x 512):
```sh
dd if=/dev/sde bs=512 skip=29 count=4 > key.bin
```
Add the keyfile to the encrypted partition (assuming the dm-crypted device is
called `/dev/sda2`):
`cryptsetup luksAddKey /dev/sda2 key.bin`.
called `/dev/sda2`).
```sh
cryptsetup luksAddKey /dev/sda2 key.bin
```
Next it has to be made sure that the decryption key, is available at the same
position every time.
@@ -115,8 +145,11 @@ Assuming the `serial` is `14AB0000000096`.
SUBSYSTEMS=="usb", ATTRS{serial}=="14AB0000000096", KERNEL=="sd*", SYMLINK+="usbkey%n"
```
Then reload the udev rules by running:
`udevadm control --reload-rules`.
Then reload the udev rules by running the following command.
```sh
udevadm control --reload-rules
```
Unplug the stick and plug it back in.
It should be available under `dev/usbkey`.
@@ -140,10 +173,18 @@ Then modify `/boot/loader/entries/arch.conf` and add
`cryptkey=/dev/usbkey:14848:2048` to the
end of the `options` line.
Finally run:
`mkinitcpio -p linux`.
Finally, run the following command.
```sh
mkinitcpio -p linux
```
Then reboot the system.
```sh
reboot
```
Reboot the system with `reboot`.
Make sure the USB key for decryption is plugged in.
If so the encrypted partition should be decrypted automatically.
@@ -161,7 +202,7 @@ First adapt and insert the following lines into `/etc/fstab`:
`<mapping location>` is a freely choosable identificator and while the
`<mount location>` is an existing directory for the volume to be mounted on.
Additionally the following lines has to be adapted and added to the file
Additionally, the following lines has to be adapted and added to the file
`/etc/crypttab`:
```txt
@@ -208,5 +249,10 @@ options cryptdevice=UUID=3c306b1b-49a5-48c1-b93f-a619b96d6855:lvm:allow-discard
options rd.luks.name=3c306b1b-49a5-48c1-b93f-a619b96d6855=lvm rd.luks.options=discard,fido2-device=auto root=/dev/mapper/main-root resume=/dev/mapper/main-swap rw quiet splash
```
Finally rebuild the initramfs `sudo mkinitcpio -p linux` and `reboot`.
Finally, rebuild the Initramfs and reboot.
Make sure to touch FIDO2-key during boot to make it work.
```sh
sudo mkinitcpio -p linux
reboot
```

View File

@@ -43,7 +43,7 @@ Run the following command to edit the configuration file for the newly created E
systemctl --user edit --force -full easyeffects.service
```
Afterward set the contents of this file to the following.
Afterward, set the contents of this file to the following.
Due to EasyEffect working together with [Pipewire and Wireplumber](/wiki/linux/pipewire.md) some
precautions have to be taken to start it before these two.

View File

@@ -59,7 +59,7 @@ An explanation of this was given by
[aergistal on Stack Overflow](https://stackoverflow.com/questions/29082422/ffmpeg-video-compression-specific-file-size).
This can easily be done with the calculation `bitrate = target size / duration`
in Bits/Second.
Afterwards the encoding can be done by using Two-Pass Encoding as explained in
Afterward, the encoding can be done by using Two-Pass Encoding as explained in
[a previous section](#two-pass-encoding).
Note that the bitrate for videos is split amongst a bitrate for video and a
bitrate for audio.

View File

@@ -76,8 +76,8 @@ fontforge arial.ttf
A font can be added to the local users fonts using a `.ttf` file.
The file has to be copied into the local fonts directory `~/.local/share/fonts`.
Afterwards the [cache should be reloaded](#reload-the-cache).
Finally the font can be [found](#list-or-find-font-family).
Afterward, the [cache should be reloaded](#reload-the-cache).
Finally, the font can be [found](#list-or-find-font-family).
### Reload the Cache

View File

@@ -1,13 +1,12 @@
# fwupd
[fwupd](https://fwupd.org/) is a daemon for managing and installing firmware
updates on Linux based operating systems.
[fwupd](https://fwupd.org/) is a daemon for managing and installing firmware updates on Linux based
operating systems.
It is mainly used for UEFI firmware and supported devices.
## Setup
fwupd can be installed on most distributions by installing the
`fwupd` package.
fwupd can be installed on most distributions by installing the `fwupd` package.
## Usage
@@ -20,7 +19,7 @@ First the devices updatable by fwupd can be checked.
fwupdmgr get-devices
```
Afterwards the latest metadata can be downloaded by the following command.
Afterward, the latest metadata can be downloaded by the following command.
```sh
fwupdmgr refresh
@@ -32,7 +31,7 @@ The updates can the be listed.
fwupdmgr get-updates
```
Finally the updates can be installed.
Finally, the updates can be installed.
```sh
fwupdmgr update

View File

@@ -107,7 +107,7 @@ The following sections assumes using a [Linux-based system](/wiki/linux.md) usin
For this a
[SSH certificate has to be created](/wiki/linux/openssh.md#generate-new-keys) and
[added to the authentication agent](/wiki/linux/openssh.md#adding-keys-to-authentication-agent).
Afterwards it the public SSH key to be added to the git server.
Afterward, it the public SSH key to be added to the git server.
For GitHub there is
[a guide on that topic](https://docs.github.com/en/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password).
@@ -144,7 +144,7 @@ A more or less complete overview of the options was performed in an
[delta](https://github.com/dandavison/delta) first needs to be installed.
Most [package managers](/wiki/linux/package_manager.md) package it in the package `git-delta`.
Afterwards it needs to be enabled.
Afterward, it needs to be enabled.
To do this globally add the following lines to the configuration file of git, which can be found in
`~/.gitconfig`.
Depending on the system settings and preferences the dark-mode (`dark`) and the side-by-side view
@@ -170,7 +170,7 @@ Depending on the system settings and preferences the dark-mode (`dark`) and the
`git diff` look.
It can be installed via most [package managers](/wiki/linux/package_manager.md) using the
`diff-so-fancy` package.
Afterwards the following lines need to be run to complete the configuration.
Afterward, the following lines need to be run to complete the configuration.
```sh
# switch to diff-so-fancy

View File

@@ -15,10 +15,10 @@ This section addresses the usage of Gnirehtet.
## Setting Up and Running Reverse Tethering
The following command can be used to setup the reverse tethering and also run it.
For it to work the [Android](/wiki/android.md) device has to enable `USB Debugging` so Gnirehtet can automatically be
installed (which is internally done using `adb`).
Additionally `Use USB for` has to be set to `File Transfer` and not to
`USB Tethering` as this would start the normal tethering process and resolving internet access from
For it to work the [Android](/wiki/android.md) device has to enable `USB Debugging` so Gnirehtet
can automatically be installed (which is internally done using `adb`).
Additionally, `Use USB for` has to be set to `File Transfer` and not to `USB Tethering` as this
would start the normal tethering process and resolving internet access from
the [Linux](/wiki/linux.md) system to the Android device and not the other way around.
The initiating of the reverse tethering can be done by using the following command.

View File

@@ -61,7 +61,7 @@ gpg --import-ownertrust ownertrust.txt
Again the first command can be run individually to import single public keys that are not owned.
Afterwards the following commands can be run to set the ultimate trust level to the key pair.
Afterward, the following commands can be run to set the ultimate trust level to the key pair.
Caution is advised.
```sh
@@ -125,9 +125,9 @@ e-mail to.
gpg --edit-key <key-id>
```
Afterwards a console will open.
Afterward, a console will open.
Using `adduid` another user can be added by following the on-screen instructions.
Afterwards `save` will save the progress and exit from the console.
Afterward, `save` will save the progress and exit from the console.
To delete an existing user and e-mail also open the edit-console.
Then list the existing users using the command `uid` and select the user id of the key to delete

View File

@@ -25,7 +25,7 @@ command.
upower -e
```
Afterward different values like the state, voltage, percentage and much other can be displayed.
Afterward, different values like the state, voltage, percentage and much other can be displayed.
Additionally, it will show the original capacity (`energy-full-design`) and the current capacity
(`energy-full`), which can be used to determine the health of the battery.
The following is an example command where `<battery-name>` is the name of the batter returned from

View File

@@ -22,7 +22,7 @@ This can be done by using one or both of the following commands.
systemctl start lemurs.service
```
Finally the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
Finally, the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
system.
```sh

View File

@@ -7,7 +7,7 @@ It is available for both [X](/wiki/linux/x_window_system.md) and Wayland.
## Setup
On most linux distributions LightDM can be installed with the `lightdm` package.
Additionally `lightdm-gtk-greeter` and `xorg-server-xephyr` are recommended.
Additionally, `lightdm-gtk-greeter` and `xorg-server-xephyr` are recommended.
This setup will work with [LightDM-GTK-Greeter](#lightdm-gtk-greeter) which is the default greeter.
If another greeter is to be chosen `lightdm-gtk-greeter` does not have to be installed, but an
alternative for it.
@@ -37,7 +37,7 @@ lightdm --test-mode --debug
systemctl start lightdm.service
```
Finally the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
Finally, the [SystemD](/wiki/linux/systemd.md) lightdm service needs to be enabled and reboot the
system.
```sh

View File

@@ -57,7 +57,12 @@ To resize the physical volume to the size of the containing volume run:
To increase the size of the logical volume you have to have free space in the according volume
group.
You can check that by running: `vgdisplay`.
You can check that by running the following command.
```sh
vgdisplay
```
If you don't have enough space you have to resize the physical volume as described in this article.
Then run the following command.
@@ -90,7 +95,7 @@ If the volume to shrink is the root volume it has to be done offline.
For that a simple installation stick is enough.
[The Arch Linux entry](/wiki/linux/arch-linux.md#installation-medium) describes the creation of
such a boot stick.
Afterwards the operating system has to be booted from the just created stick or a comparable
Afterward, the operating system has to be booted from the just created stick or a comparable
device.
For non-root volumes this extra step can be skipped.
@@ -141,7 +146,7 @@ sudo pvmove <path to physical volume>
`<path to physical volume>` is the physical volume that will get emptied and later removed from the
logical volume.
Afterwards the physical volume is emptied and can be removed from the logical volume by running the
Afterward, the physical volume is emptied and can be removed from the logical volume by running the
following command.
```sh
@@ -154,6 +159,6 @@ After this command the physical volume is no longer a part of it.
If no longer used the empty physical volume can then be removed as described in the
[according section](#remove-physical-volume).
Afterwards the file system can be matched to the logical volume so it takes up the full new size.
Afterward, the file system can be matched to the logical volume so it takes up the full new size.
This is explained in the
:wq[entry about disk management](/wiki/linux/disk-management.md#growing-a-file-system).

View File

@@ -17,7 +17,7 @@ This can be done by using one or both of the following commands.
systemctl start ly.service
```
Finally the [SystemD](/wiki/linux/systemd.md) Ly service needs to be enabled and reboot the
Finally, the [SystemD](/wiki/linux/systemd.md) Ly service needs to be enabled and reboot the
system.
```sh

View File

@@ -7,14 +7,13 @@ For the rest of this entry `n` is the number of drives inside a raid device.
### Get Information About a Raid
To get an info for a running raid (assuming it is `/dev/md0`) run
`mdadm -D /dev/md0`.
To get an info for a running raid (assuming it is `/dev/md0`) run `mdadm -D /dev/md0`.
### Add Disk/Partition to Raid Device
You can add a disk or partition to a raid device by running the following.
It is assumed you are adding a partition called `/dev/sdd1` but it could also
be a whole drive and the mdadm drive is called `/dev/md0`.
It is assumed you are adding a partition called `/dev/sdd1` but it could also be a whole drive and
the MDADM drive is called `/dev/md0`.
`mdadm --add /dev/md0 /dev/sdd1`
@@ -36,18 +35,17 @@ mdadm --grow --raid-disks=5 /dev/md0
`5` is the number of disks that should be active.
For adding disks view the [previous section](#add-diskpartition-to-raid-device).
In the [following section](#changing-reshape-speed) methods are described that
can be tried to affect the performance of the reshaping of a Raid array.
In the [following section](#changing-reshape-speed) methods are described that can be tried to
affect the performance of the reshaping of a Raid array.
### Changing Reshape Speed
Reshaping can take a long time.
It can be useful to increase or decrease the speed of it depending on the usage
of the raid array while resizing.
It can be useful to increase or decrease the speed of it depending on the usage of the raid array
while resizing.
The following section is based on a guide by
[nixCraft](https://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html)
and addresses the temporary change of speed of the reshape process of a raid
array.
and addresses the temporary change of speed of the reshape process of a raid array.
There are two values that can be temporarily changed to limit the reshape speed.
Those are `dev.raid.speed_limit_min` which defaults to `1000` and
@@ -79,8 +77,7 @@ It can be changed with the following command which sets it to `32 MiB`.
echo 32768 > /sys/block/md3/md/stripe_cache_size
```
However make sure not to set it too large, as this can result in a
"out of memory" condition.
However make sure not to set it too large, as this can result in a `out of memory` condition.
The memory consumed can be calculated with the following formula.
```txt
@@ -92,7 +89,7 @@ memory_consumed = system_page_size * nr_disks * stripe_cache_size
Raid 1 creates a mirror with even amount of drives.
For `n=2` [raid 5](#raid-5) and raid 1 are basically the same.
The space efficiency is `1/n` and the fault tolerance is `n-1` drive failure.
The read perfromance is `n` and the write performance `1`.
The read performance is `n` and write performance `1`.
#### Create Raid 1 Device
@@ -110,25 +107,20 @@ Note that mostly raid 1 devices consisting of 2 drives should be converted to
[raid 5](#raid-5).
- Remove all drives but 2 (if there are more drives than that) by running
`mdadm /dev/md0 --fail /dev/sda1` and `mdadm /dev/md0 --remove /dev/sda1`
where `sda1` is the drive to remove
- Make sure your raid 1 array has only 2 active drives by running
`mdadm --grow /dev/md0 -n 2`
`mdadm /dev/md0 --fail /dev/sda1` and `mdadm /dev/md0 --remove /dev/sda1`
where `sda1` is the drive to remove
- Make sure your raid 1 array has only 2 active drives by running `mdadm --grow /dev/md0 -n 2`
- Now convert your raid 1 to a raid 5 device with `mdadm --grow /dev/md0 -l5`
- Add the disks you removed back to the raid with
`mdadm /dev/md0 --add /dev/sda1`
- Finally grow the active drive number to your needs (in this example 4)
`mdadm --grow /dev/md0 -n4`
- MDADM now reshapes the raid. You can monitor it by running
`watch cat /proc/mdstat`
- Add the disks you removed back to the raid with `mdadm /dev/md0 --add /dev/sda1`
- Finally, grow the active drive number to your needs (in this example 4)
`mdadm --grow /dev/md0 -n4`
- MDADM now reshapes the raid. You can monitor it by running `watch cat /proc/mdstat`
### Raid 5
Raid 5 creates a raid device with distributed parity and is set to have at least
3 drives.
Raid 5 creates a raid device with distributed parity and is set to have at least 3 drives.
The space efficiency is `1-(1/n)` and the fault tolerance is `1` drive failure.
The read perfromance is `n` and the write performance `1/4` for single sector
and `n-1` for full stripe.
The read performance is `n` and write performance `1/4` for single sector and `n-1` for full
stripe.
In the special case of 2 drives in a raid 5 it is functionally the same as
[raid 1](#raid-1).
In the special case of 2 drives in a raid 5 it is functionally the same as [raid 1](#raid-1).

View File

@@ -24,7 +24,7 @@ Desktop and gaming systems will benefit the most.
To setup the zen kernel do the following. Firstly install the packages `linux-zen` and
`linux-zen-header`.
Afterwards open the file `boot/loader/entries/arch.conf` and change the following lines.
Afterward, open the file `boot/loader/entries/arch.conf` and change the following lines.
```txt
linux /vmlinuz-linux
@@ -40,7 +40,7 @@ initrd /initramfs-linux-zen.img
If you want to switch the backup to Zen too, the backup file in `boot/loader/entries/` has to be
changed too.
Afterwards the system should be rebooted for the change to take effect.
Afterward, the system should be rebooted for the change to take effect.
## Usage
@@ -62,7 +62,7 @@ PRESETS=('default' 'fallback')
Notice that the options are separated only by a space.
To just build a fallback image remove `'default'` or vice versa.
Afterwards the initial ramdisk has to be [rebuild](#manually-generate-initial-ramdisk).
Afterward, the initial ramdisk has to be [rebuild](#manually-generate-initial-ramdisk).
### Manually Generate Initial Ramdisk
@@ -85,7 +85,7 @@ mkinitcpio -P
To save space on the boot partition the kernel images can be compressed.
To enable compression activate it in `/etc/mkinitcpio.conf` under `COMPRESSION=`.
In the configuration file some compression algorithms are recommended.
Additionally compression options can be set under `COMPRESSION_OPTIONS=`.
Additionally, compression options can be set under `COMPRESSION_OPTIONS=`.
An easily usable example for this is the following line.
```txt

View File

@@ -32,5 +32,5 @@ network:
version: 2
```
Afterwards netplan has to be restarted by running `sudo netplan apply`.
Afterward, netplan has to be restarted by running `sudo netplan apply`.
The addresses then are assigned to the system.

View File

@@ -6,12 +6,10 @@ It is used to set up [Wi-Fi](/wiki/linux/hardware_%28linux%29.md#wi-fi).
## Setup
NetworkManager can be installed with the `networkmanager` package on most linux
distributions which provides daemon aswell as `nmcli` a command line interface
and `nmtui` a [terminal](/wiki/linux/system_console.md) user interface for
configuration.
Additionally `nm-connection-editor` can be installed for a graphical user
interface.
NetworkManager can be installed with the `networkmanager` package on most linux distributions which
provides daemon aswell as `nmcli` a command line interface and `nmtui` a
[terminal](/wiki/linux/system_console.md) user interface for configuration.
Additionally, `nm-connection-editor` can be installed for a graphical user interface.
## Usage
@@ -21,12 +19,12 @@ After installation `networkmanager.service` has to be enabled by the used
### OpenVPN Integration
NetworkManager needs a plugin to work with openvpn configurations.
NetworkManager needs a plugin to work with OpenVPN configurations.
This plugin can be installed with the `networkmanager-openvpn` package.
OpenVPNs `.ovpn` files can then be imported by running
`nmcli connection import type openvpn file <openvpn-file>`.
Afterwards they can be modified accordingly.
Afterward, they can be modified accordingly.
### Prioritize Connections

View File

@@ -59,7 +59,7 @@ It functions similar to the first and uses the following command.
ssh-copy-id -f -i <path-to-public-key> <host>
```
The `-f` flag can alos be omittet to check if the key is already installed.
The `-f` flag can also be omitted to check if the key is already installed.
For being very safe is important, a dry run can be performed using the `-n` flag.
### Mount Directory With SSHFS
@@ -107,15 +107,15 @@ X-forwarding is enabled by editing a line to look like the following.
```txt
X11Forwarding yes
```
Make sure to restart the SSH daemon afterwards by running the following command.
f
Make sure to restart the SSH daemon afterward by running the following command.
```sh
service sshd restart
```
Afterwards X-forwarding should be enabled on the server.
For full functionality install the `x11-apps` package aswell.
Afterward, X-forwarding should be enabled on the server.
For full functionality install the `x11-apps` package as well.
#### Enabling X-Forwarding on a Client
@@ -148,7 +148,7 @@ A specific port can be tunneled from a remote host to a client via SSH.
This could be especially useful when coding remotely and wanting to access a database like
PostgreSQL or other services.
For the forwarding of a port run the following command.
`<local address>` (for example `localhost`) and `<local port>` (for example `63333`) are the
`<local address>` (for example `localhost`) and `<local port>` (for example `63333`) are the
target (and most of the time local) address and port to tunnel the service to.
`<address of server>` (for example `joe@foo.com` or an alias) specifies the address and username of
the server that hosts the service and `<port of service>` (for example `5432`) describes the port
@@ -166,7 +166,7 @@ the process.
ps aux | grep "ssh -f -N -L <local port>"
```
Afterwards it can be killed by running the follwing command where `<process-id>` is the id of the
Afterward, it can be killed by running the following command where `<process-id>` is the ID of the
process found with the previous command.
```sh
@@ -174,14 +174,14 @@ kill <process-id>
```
Files that are based on a remote server can be mounted as described in
[the corresponding section](#mount-directory-with-sshfs) to setup complete remote development.
[the corresponding section](#mount-directory-with-sshfs) to set up complete remote development.
### Specify Key Exchange Algorithms
It can be useful to specify the key exchange algorithms in the OpenSSH config file `~/.ssh/config`.
Some key exchange algorithms are more secure regarding post-quantum attacks.
The following configuration prefers and enforces hybrid post-quantumresistant key exchange
algorithms (`mlkem768x25519-sha256` and `sntrup761x25519-sha512`).
algorithms (`mlkem768x25519-sha256` and `sntrup761x25519-sha512`).
A modern classical fallback (`curve25519-sha256`) is included for compatibility.
This can be considered a form on
[system hardening](/wiki/linux/system-hardening.md#specific-steps-to-harden-a-system).

View File

@@ -17,7 +17,7 @@ command.
apt update
```
Afterwards there are two possible update types without changing the major release version.
Afterward, there are two possible update types without changing the major release version.
The following command - `upgrade` - updates the packages only if no new or previously removed dependencies are
needed.

View File

@@ -53,7 +53,7 @@ This works like the following assuming the package `v4l2loopback-dmks` needs to
sudo downgrade v4l2loopback-dmks
```
Afterwards the target version can be selected and the downgrading process will conclude.
Afterward, the target version can be selected and the downgrading process will conclude.
After the downgrade of a package you will get asked if you want to
[ignore future updates](#ignoring-packages).
@@ -67,7 +67,7 @@ Using the `makepkg` command it can be installed like the following command shows
makepkg -sirc
```
Afterwards it is installed on the system and can be further managed (especially uninstalled) by the
Afterward, it is installed on the system and can be further managed (especially uninstalled) by the
Pacman package manager.
### Installing an AUR Program with a Specific Version
@@ -77,7 +77,7 @@ For this navigate to the AUR page of the program to install.
On the right-hand side click on `View Changes` and select the version you want to install in the
commit list.
Next to `download` a `.tar.gz` file can be downloaded which includes a `PKGBUILD` file.
Afterwards it needs to be [uncompressed](/wiki/linux/tar.md#uncompressing-a-tar-archive).
Afterward, it needs to be [uncompressed](/wiki/linux/tar.md#uncompressing-a-tar-archive).
### Clear Cache

View File

@@ -58,7 +58,7 @@ papis add https://arxiv.org/abs/1712.03134
```
To remove an entry the following command can be run.
Afterwards the entry that should be removed can be easily selected via the terminal user interface.
Afterward, the entry that should be removed can be easily selected via the terminal user interface.
```sh
papis rm
@@ -112,13 +112,13 @@ inside the folder `tmp-db`.
papis bibtex read mylib.bib import -a -o tmp-db
```
Afterwards the contents of the temporary database should be checked to be correctly imported.
Afterward, the contents of the temporary database should be checked to be correctly imported.
```sh
papis -l tmp-db edit
```
Afterwards the contents of the temporary library should be moved to the actualy directory where
Afterward, the contents of the temporary library should be moved to the actualy directory where
papis stores its entries.
The path for that can be found in the [config file](#configuration).
@@ -126,7 +126,7 @@ The path for that can be found in the [config file](#configuration).
mv tmp-db/* /path/to/your/library/folder/
```
Finally the cache needs to be cleared
Finally, the cache needs to be cleared
[as described in the corresponding section](#clearing-the-cache) for Papis to display the new
entries correctly.

View File

@@ -5,12 +5,11 @@
## Setup
For clients that use the [PulseAudio](/wiki/linux/pulseaudio.md) API
`pipewire-pulse` (on Arch-based distros or according
packages on other distros) can be installed.
For clients that use the [PulseAudio](/wiki/linux/pulseaudio.md) API `pipewire-pulse` (on
Arch-based distros or according packages on other distros) can be installed.
It will automatically remove unneeded and conflicting PulseAudio packages.
Additionally `pipewire-alsa` and `pipewire-jack` for JACK and Alsa clients are
available and recommended to install for full compatibility with most software.
Additionally, `pipewire-alsa` and `pipewire-jack` for JACK and Alsa clients are available.
They are recommended to be installed for full compatibility with most software.
Make sure to restart to be sure everything is running correctly.
### Configuration
@@ -41,7 +40,7 @@ used as a simple mixer.
### Routing
This section focusses on graph-based interfaces also called patchbays.
This section focuses on graph-based interfaces also called patchbays.
For more advanced routing [qpwgraph](https://github.com/rncbc/qpwgraph) can be used, but the
GTK-based [Helvum](https://gitlab.freedesktop.org/pipewire/helvum) is also available.
The third available option is [Patchance](https://github.com/Houston4444/Patchance) - this is the
@@ -88,8 +87,8 @@ pw-loopback -C <id>
### Virtual Devices
This section focusses on the temporary and permanent creation and removal of virtual devices like
virtual sinks and sources aswell as coupled nodes like loopbacks.
This section focuses on the temporary and permanent creation and removal of virtual devices like
virtual sinks and sources as well as coupled nodes like loopbacks.
Please note that problems may occur if [EasyEffects](/wiki/linux/easyeffects.md) is used in
combination with virtual devices.

View File

@@ -8,7 +8,7 @@ It can change the native resolution early in the boot process and display splash
On most linux distributions LightDM can be installed with the `plymouth` package.
Afterwards the kernel options need to be changed.
Afterward, the kernel options need to be changed.
On [Arch Linux](/wiki/linux/arch-linux.md) systems this can be done by editing the file located at
`/boot/loader/entries/arch.conf`.
In the options line append `quiet` if you want to use the quiet-mode and `splash` if you want to
@@ -27,7 +27,7 @@ The listing of installed themes is featured in a [latter section](#list-availabl
Then inside the file `/etc/mkinitcpio.conf` add the hook under the `HOOKS` section.
Add `plymouth` after `systemd` (if available) and before `encrypt` and `lvm2` (if available.)
Finally regenerate the initial ramdisk as described
Finally, regenerate the initial ramdisk as described
[in the mkinitcpio entry](/wiki/linux/mkinitcpio.md#manually-generate-initial-ramdisk).
For this run the following command.

View File

@@ -85,7 +85,7 @@ Sometimes this process asks if the user wants to replace the local configuration
ones.
It is generally recommended to select `N` and reject these new configurations.
Finally another reboot is needed and the version number can be
Finally, another reboot is needed and the version number can be
[checked again](#retrieve-pve-version) confirming that the major version upgrade was
successfully performed.
@@ -125,7 +125,7 @@ For example if you want to the disk 100 by 100G (100GibiByte):
qm resize 100 ide0 +100G
```
Afterwards the partition of the VM needs to be enlarged.
Afterward, the partition of the VM needs to be enlarged.
For that
[the disk management article](/wiki/linux/disk-management.md#grow-non-lvm-partition)
can be used for non-LVM paritions.
@@ -140,7 +140,7 @@ First remove `local-lvm` with `lvremove /dev/pve/data`.
Then remove `local-lvm` in the proxmox gui via `Datacenter/Storage/Remove`.
Change the `Content` of the remaining storage according to your needs.
Add the free storage to the remaining storage with `lvresize -rl +100%FREE /dev/pve/root`.
Finally extend the filesystem `resize2fs /dev/mapper/pve-root`.
Finally, extend the filesystem `resize2fs /dev/mapper/pve-root`.
### USB Passthrough

View File

@@ -16,7 +16,7 @@ qt5ct is officially archived and qt6ct is the recommended program to use and wil
discussed in this article.
These programs can sometimes be found as [package](/wiki/linux/package_manager.md) of the same
name.
Afterwards `qt6ct` can be run to get a graphical user interface to set the theme and icons of Qt
Afterward, `qt6ct` can be run to get a graphical user interface to set the theme and icons of Qt
applications.
This will create or edit a configuration file located at `~/.config/qt6ct/qt6ct.conf`.
To make this config apply for all Qt applications the following line needs to be inserted into the
@@ -26,7 +26,7 @@ To make this config apply for all Qt applications the following line needs to be
export QT_QPA_PLATFORMTHEME="qt6ct"
```
Afterwards `qt6ct` can be used to enable the dark mode or change other configurations.
Afterward, `qt6ct` can be used to enable the dark mode or change other configurations.
#### Achieving a System-Wide Uniform Look
@@ -56,5 +56,5 @@ When updating the system it is possible that the theme will not work correctly a
Often the error `The libqt6ct.so plugin is compiled against incompatible Qt version` is responsible
for this.
To fix it most of the time it is enough to recompile the `qt6ct` package.
Afterwards a reboot might be needed for the theme to be displayed correctly again.
Afterward, a reboot might be needed for the theme to be displayed correctly again.

View File

@@ -72,7 +72,7 @@ In the following example the string `string1` will be substituted by `string2` f
rename 's/string1/string2/g' file.ext
```
Additionally `find` can be used to recursively substitute substrings in all files inside a folder
Additionally, `find` can be used to recursively substitute substrings in all files inside a folder
`folder` (including subfolders).
```sh
@@ -161,7 +161,7 @@ yay -S dash
sudo ln -sfT /bin/dash /bin/sh
```
Afterwards create the file `/usr/share/libalpm/hooks/bash-update.hook` and fill
Afterward, create the file `/usr/share/libalpm/hooks/bash-update.hook` and fill
it with the following text.
```txt
@@ -229,7 +229,7 @@ find <directory> -type f -exec sed -i "s/<query>/<replacement>/g" {} \;
ANSI-Colors can easily be used in the shell by using the control sequences as described by
[techstop](https://techstop.github.io/bash-script-colors).
Each color has an own sequence and can be combined to affect the background.
Additionally the font can also be changed using these control sequences.
Additionally, the font can also be changed using these control sequences.
The following tables display these sequences.

View File

@@ -58,7 +58,7 @@ On Ubuntu systems the repository first has to be added by running the following
add-apt-repository -y ppa:flacon
```
Afterwards `flacon` can be installed like a normal package.
Afterward, `flacon` can be installed like a normal package.
## Troubleshooting

View File

@@ -9,11 +9,11 @@ Notable works of Suckless are the following.
- [slock](https://tools.suckless.org/slock/) is a screen locker
- [st](https://st.suckless.org/) is a [terminal](/wiki/linux/system_console.md)
- [dwl](https://codeberg.org/dwl/dwl) is a window manager similar to dwm that can be used on
[Wayland](/wiki/linux/wayland.md) systems.
For the IPC-patch [dwlmsg](https://codeberg.org/notchoc/dwlmsg) can also be used.
[Wayland](/wiki/linux/wayland.md) systems.
For the IPC-patch [dwlmsg](https://codeberg.org/notchoc/dwlmsg) can also be used.
Additionally to this Suckless maintains a list of free and open-source software that is endorsed by
Suckless.
Additionally, to this Suckless maintains a list of free and open-source software that is endorsed
by Suckless.
This list can be found on [Suckless' Website](https://suckless.org/rocks/).
## Setup
@@ -28,22 +28,21 @@ Expressions in `<>` may need replacement.
- Download the default version of the suckless program you want to patch
- Add and commit all the files in the `base` branch
- Clean the master branch
with `make clean & rm -f config.h & git reset --hard origin/base`
with `make clean & rm -f config.h & git reset --hard origin/base`
- Apply patches (this has to be done only once for each branch (except updates))
- Create and switch to a new branch for the patch with `git branch <feature>`
- Download the `.diff` file of the according feature into your directory
- Apply the patch to the current directory with `git apply <feature>.diff`
- Add and commit all the files in the `<feature>` branch
- Merge all branches into master branch (sometimes you can skip already merged
ones)
ones)
- Merge each branch (except the new feature) into master with `git merge <feature>`
- (maybe you have to manually merge some errors)
- If you have a `config` branch merge `config` into `master` before adding the
new `feature`
- Finally update the `config` branch
- Finally, update the `config` branch
- If not created already create a `config` branch from the `base` branch
- Get the `config.def.h` of `master` into `config` with
`git checkout master config.def.h`
- Get the `config.def.h` of `master` into `config` with `git checkout master config.def.h`
## Troubleshooting
@@ -51,12 +50,10 @@ This section addresses various errors that can happen when using suckless progra
### Suckless Program Crashes Or Struggles With Colored Emojis
Suckless programs especially `st` and `dmenu` can not display colored
emojis.
Suckless programs especially `st` and `dmenu` can not display colored emojis.
This is because of problems with libxft.
libxft is the client side font rendering library to display anti-aliased text.
To change this [libxft-bgra](https://github.com/uditkarode/libxft-bgra) needs
to be installed.
To change this [libxft-bgra](https://github.com/uditkarode/libxft-bgra) needs to be installed.
This is a patched version especially for running with the suckless programs.
### Display Manager Problems with Full Screen Windows
@@ -65,6 +62,6 @@ Using `dwm` or its [Wayland](/wiki/linux/wayland.md) counterpart `dwl` there may
with full screen programs.
Some of these programs (especially [Steam](/wiki/game/steam.md) [Games](/wiki/game.md)) might
apparently freeze.
However, this may be not the case as they may be only displaying a freeze frame.
However, this may be not the case as they may be only displaying a freeze-frame.
This can sometimes be fixed by navigating out of the window managers full screen, then making it a
floating window and then setting it to be full screen again.

View File

@@ -12,7 +12,7 @@ To run swayidle it has to be called - preferably after the boot process.
An example of this will look like the following.
This will [suspend-then-hibernate](/wiki/linux/systemd.md#change-suspend-and-hibernate-behavior)
the system after 30 seconds.
Additionally a program [xss-lock](/wiki/linux/xss-lock.md) has to be used to let swayidle know to
Additionally, a program [xss-lock](/wiki/linux/xss-lock.md) has to be used to let swayidle know to
use a specific lock command.
```sh

View File

@@ -108,7 +108,7 @@ HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
```
Afterwards the logind service has to be restarted
Afterward, the logind service has to be restarted
[as described on a later section](#startstopenabledisable-a-service-and-retrieve-its-logs).
```sh

View File

@@ -9,7 +9,7 @@ optimizing battery life.
TLP can be installed on most distributions by installing the `tlp` package.
Additionally, the installation of `tlp-rdw` is recommended, which is used to get better control over
radio devices.
Afterward the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
Afterward, the TLP [service](/wiki/linux/systemd.md#startstopenabledisable-a-service) needs to be
started and enabled.
In contrast to other
[SystemD services](/wiki/linux/systemd.md#startstopenabledisable-a-service) this

View File

@@ -69,7 +69,7 @@ Note the line starting with `ExecStart=/bin/` is the same line described in the
[above section](#create-temporary-v4l2-devices).
Make sure to change it if needed.
Afterwards enable the service to start at every boot process aswell as running it by using the
Afterward, enable the service to start at every boot process aswell as running it by using the
following command:
```sh

View File

@@ -118,7 +118,7 @@ main() {
main "$@"
```
Additionally the following lines can be inserted into the configuration of vifm
Additionally, the following lines can be inserted into the configuration of vifm
`~/.config/vifm/vifmrc` as needed.
They provide previews for various possible types of file extensions.

View File

@@ -6,7 +6,7 @@
## Setup
On most Linux distributions Watson can be installed with the `watson` package.
Additionally Watson can be installed using Pythons pip package manager.
Additionally, Watson can be installed using Pythons pip package manager.
The pip package is called `td-watson`.
Alternatively it can be installed via [GitHub](https://github.com/TailorDev/Watson).
@@ -37,7 +37,7 @@ The tracking of the time can be stopped by running the following command.
watson stop
```
Afterwards the summary of the tracked time can be displayed by running the following command.
Afterward, the summary of the tracked time can be displayed by running the following command.
```sh
watson report
@@ -50,7 +50,7 @@ forgotten at that time.
For this the following command can be run.
It works similarly to starting a time frame as explained in the
[section above](#tracking-time-and-displaying-tracked-time).
Additionally the start and stop time are specified with the `--from` and `--to` flags.
Additionally, the start and stop time are specified with the `--from` and `--to` flags.
```sh
watson add --from "2018-03-20 12:00:00" --to "2018-03-20 13:00:00" programming +addfeature

View File

@@ -32,6 +32,6 @@ Most of the problems regarding WPA Supplicant can be fixed by restarting the
systemctl restart wpa_supplicant
```
Afterwards - if the error still persists - it may be useful to reenable the Wi-Fi device as
explained in the
Afterward, if the error still persists - it may be useful to reenable the Wi-Fi device as explained
in the
[section of the NetworkManager entry](/wiki/linux/networkmanager.md#restarting-and-reenabling-wi-fi).

View File

@@ -125,7 +125,7 @@ setxkbmap -layout <layout> -option compose:<compose>
#### Display
This section describes the handling of displays by X.
Additionally to the guides in this section that are independent of the used graphics unit special
Additionally, to the guides in this section that are independent of the used graphics unit special
configuration for [Nvidia](/wiki/linux/nvidia.md) and [Intel](/wiki/linux/intel.md) can be found in
their respective entries in this wiki.
@@ -180,7 +180,7 @@ The DPI number should be adjusted as needed.
Xft.dpi: 100
```
Afterwards `~/.config/xorg/xpcspec` needs to be sourced in the `~/.xinitrc` file.
Afterward, `~/.config/xorg/xpcspec` needs to be sourced in the `~/.xinitrc` file.
For this to work the following line needs to be added into the `~/.xinitrc` file .
```sh