1
0
mirror of https://github.com/tiyn/wiki.git synced 2025-10-10 01:41:23 +02:00

restructuring to wiki-repo

This commit is contained in:
TiynGER
2020-04-10 18:51:58 +02:00
parent 7964ab15b4
commit f189138649
70 changed files with 1190 additions and 0 deletions

222
arch-linux/#installation.md Normal file
View File

@@ -0,0 +1,222 @@
# Arch installation with LUKS encryption and LVM
This is the English version of the [German installation guide on rvbg.eu](https://wiki.rvbg.eu/#arch/installation.md).
This guide is based upon a [german arch wiki entry](https://wiki.archlinux.de/title/Moderne_Installation_mit_UEFI_und_Verschlüsselung).
At the end of this guide a fully functional Arch Linux will be installed.
## 1. Preparation
Ahead of the installation an Arch boot-stick has to be created. The iso-file can be found on the [official website](https://www.archlinux.org/download/).
The iso can be written on an USB-stick using ```dd```.
After that the USB can be plugged in the system on which Arch should be installed.
Boot the target system and select ```Boot Arch Linux (x86_64)```.
If you need to set the keyboard layout to anything other than english you can temporarily do so by using the ```loadkeys``` command.
This has to be followed by your country id (for example a german keyboard layout would be ```de```,```de-latin1``` or ```de-latin1-nodeadkeys```.
## 2. Formatting of the target drive
Using ```lsblk``` you can list all the drives and partitions.
Select a drive to install Arch on.
In this step you can see if old partitions need to be deleted.
For reasons of simplicity the following guide will assume the selected drive to be ```/dev/sda```.
### Clear disk completely:
This step can take quite a while especially for large drives.
- `dd status=progress if=/dev/zero of=/dev/sda`
Now all partitions should be removed.
### Create new partitions:
If you miss click during the progress of the following commands you can press ```CTRL+C``` to close the program.
No changes will be made until the confirmation at the end.
The swap partition will be created later under lvm.
- `gdisk /dev/sda`
- `N` - Create a new empty partition table
- `↵ Enter` - Create a partition
- `↵ Enter` - Confirm first sector
- `+512M` - Assign size of 512 MB for the first partition
- `ef00` - Make the partition bootable
- `n` - Create a second partition
- `↵ Enter` - Confirm creation of partition
- `↵ Enter` - Confirm first sector
- `↵ Enter` - Confirm last sector
- `↵ Enter` - Confirm partition type
- `P` - Show created partitions
- `W` - Save all changes
- `Y` - Confirm saving changes
## 3. Encryption
We need to find out which partitions is the one we want to encrypt.
Using ```blkid | grep /dev/sda``` all partitions we created get listed.
The right partition has the label ```Linux filesystem```.
For this guide this partition is assumed to be ```/dev/sda2```.
- `modprobe dm-crypt` - load kernelmodule for encryption
- `cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2` - encryption
- 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.
## 4. Setup LVM
- `cryptsetup luksOpen /dev/sda2 lvm` - Opening encrypted partition and mapping it to ```/dev/mapper/lvm```
- `pvcreate /dev/mapper/lvm` - Create a LVM physical volume
- `vgcreate main /dev/mapper/lvm` - Create LVM Volume Group
- `lvcreate -L 16G -n swap main` - Create Swap in LVM (recommended: swap size is equal to ram size)
- `lvcreate -l 100%FREE -n root main` - Create LVM Logical Volume for /
## 5. Create filesystems and mounting them temporarily
We have to find out which partition is our boot-partition.
Using ```blkid | grep /dev/sda``` once again, we can identify it by looking for the ```EFI system partition``` label.
The guide assumes this partition to be at ```/dev/sda1```.
- ```mkfs.fat -F 32 -n UEFI /dev/sda1``` - Assign filesystem of EFI partition
- ```mkfs.ext4 -L root /dev/mapper/main-root``` - Assign filesystem of root partition
- ```mkswap /dev/mapper/main-swap``` - Assign swap filesystem
Now the created filesystems will be mounted for the installation.
- `mount /dev/mapper/main-root /mnt` - Mounting root partition
- `mkdir /mnt/boot`
- `mount /dev/sda1 /mnt/boot` - Mount EFI partition
- `swapon /dev/mapper/main-swap` - Mounting swap partition
## 6. Prepare base installation (optional)
In this step the country specific mirrorserver for the installation will be configured.
This will improve the download speed.
- `cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak` - Create a backup of mirrorlist
- `grep -E -A 1 ".*Germany.*$" /etc/pacman.d/mirrorlist.bak | sed '/--/d' > /etc/pacman.d/mirrorlist` - Example command to only use *German* mirrors
- `cat /etc/pacman.d/mirrorlist` - Check if the file is to your liking. If it is not, you can just recover by using ```mirrorlist.bak```
## 7. Starting base installation
- `pacstrap /mnt base base-devel dosfstools gptfdisk lvm2 linux linux-firmware networkmanager vim` - Installation of main system with needed tools
- `pacstrap /mnt wpa_supplicant wireless_tools` - (optional) installation of wireless tools
- `genfstab -Up /mnt > /mnt/etc/fstab` - creation of fstab
- `arch-chroot /mnt` - Switch into the newly installed system
- `echo ArchLinux > /etc/hostname` - Assign hostname. ```ArchLinux``` can be changed for any name of your preference.
## 8. Set Region and Language
- `echo LANG=en_US.UTF-8 > /etc/locale.conf` - Assign system Language to be english (you can use other languages, look into the ```/etc/locale.conf``` for a list of all available languages)
- `vim /etc/locale.gen` - Assigning system language by uncomment the lines depending on your needs.
In this example:
```
en_US.UTF-8 UTF-8
```
- `locale-gen` - Generate languages
- if you need any other keymap than english you can change it now for example to German by `localectl --no-convert set-keymap de-latin1-nodeadkeys`.
- `localectl status` - Check if the layout is right
- `tzselect` - Set region
# 9. Configure and create kernel-image
- `vim /etc/mkinitcpio.conf`
- Search the line `MODULES=()` and change it to:
`MODULES=(ext4)`
- Search the line `HOOKS=([...])` and change it to:
`HOOKS=(base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsck shutdown)`
- `mkinitcpio -p linux` - generate Kernel-Image
## 10. Install and configure UEFI bootloader
- `bootctl install` - Prepare bootloader
- `ls -l /dev/disk/by-uuid` - find out the UUID
- `lsblk -no UUID /dev/sda2 | head -n1 > /boot/loader/entries/arch.conf` - print the UUID in your configuration file
- `vim /boot/loader/entries/arch.conf` - Create configuration
- Change the config to look similar to this:
```
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=<enter your uuid here>:lvm:allow-discards root=/dev/mapper/main-root:lvm:allow-discards resume=/dev/mapper/main-swap rw quiet lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8
```
- `cp /boot/loader/entries/arch-fallback.conf` - Create a fallback
- `vim /boot/loader/entries/arch-fallback.conf` - Edit the file
- change the file to look similar to this:
```
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=<enter your uuid here>:lvm:allow-discards root=/dev/mapper/main-root:lvm:allow-discards resume=/dev/mapper/main-swap rw quiet lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8
```
- `vim /boot/loader/loader.conf` - Create loader configuration
- Insert the following text
```
timeout 1
default arch
```
## 11. Finishing base installation
- `exit` - exit the installed system
- `umount /mnt/{boot,}` - unmount all partitions
- `shutdown now` - shutdown device
- Now remove the Arch boot-stick
- Start the device again
If the system is installed in a virtual environment or a system with deactivated UEFI, don't forget to enable the EFI option, otherwise the system won't boot.
## 12. Activate network connection
- Log in as ```root``` user
- `systemctl enable NetworkManager.service` - Activate NetworkManager
- `systemctl enable wpa_supplicant.service` - (Optional) activate wpa_supplicant
- `systemctl start NetworkManager.service` - Start NetworkManager
The device should connect to the internet if it is connected via LAN.
Using ```nmtui``` you can administer the wired and wireless connections
## 13. Automatic time settings
- `pacman -Syu ntp` - Installing time service
- `ntpd -qg` - Get current time
- `hwclock --systohc` - Synchronize hardware clock
- `systemctl enable ntpd.service` - enable time service
## 14. Create user
- `vim /etc/sudoers` - Open sudoers file
- uncomment the following lines
```
%whell All=(ALL) ALL
```
- `useradd -m user` - Create a user with ```user``` as name. For the user a home directory will be created.
- `usermod -aG wheel user` - Add user ```user``` to wheel group
- `passwd -d user` - Remove password for user ```user```
- `logout` - logout from root
- log in as the newly created user
On the freshly installed system there are 2 users.
Make sure to set the password!
You can add one using ```passwd```.
## 15. Install yay
- `sudo pacman -S git` - install git
- `cd /opt`
- `sudo git clone https://aur.archlinux.org/yay-git.git` - Clone the yay git repository
- `sudo chown -R user:user yay-git` - Change owner
- `cd yay-git`
- `makepkg -si` - Start installation
## 16. Activate sound
- `yay -S alsa-utils pulseaudio-alsa`
The volume can be changed with `alsamixer`.
## Changelog and versions
> 03.04.2020 - Version 1.1en (based on 03.04.2020 - Version 1.1)
>
> 05.04.2020 - Version 2.1en (based on 05.04.2020 - Version 2.1)

4
arch-linux/README.md Normal file
View File

@@ -0,0 +1,4 @@
# Arch Installation
These markdown entries are some guides i am using personally for installing the base system.
There are some additional software recommendations aswell.
Due to my personal preference most of them are commandline applications.

View File

@@ -0,0 +1,47 @@
# Calendar
`khal` is a calendar you can use in your terminal.
To sync calendars you'll need `vdirsyncer` aswell.
## Installation and configuration
- `pacman -S khal vdirsyncer` - Install needed packages
- To configure vdirsyncer edit a file in `~/.config/vdirsyncer/config`.
```
[general]
status_path = "~/.cache/vdirsyncer/status"
#calendar
[pair private_calendar]
a = "private_calendar_local"
b = "private_calendar_remote"
collections = ["from a", "from b"]
metadata = ["color"]
[storage private_calendar_local]
type = "filesystem"
path = "~/.local/share/pim/calendars/private_calendar"
fileext = ".ics"
[storage private_calendar_remote]
type = "caldav"
url = "https://<url>"
auth = "basic"
username = "<username>"
password = "<password>"
```
- `vdirsyncer discober && vdirsyncer metasync` - After that initialize vdirsyncer.
- `vdirsyncer sync` - Synchronize your data (put it in a crontab to run periodically)
- Edit the `~/.config/khal/config`
- Insert the following lines
```
[calendars]
[[calendars]]
path = ~/.local/share/pim/calendars/*/*
type = discover
```

View File

@@ -0,0 +1,43 @@
# Contacts
`khard` is a adressbook that runs in your terminal.
To sync the data using CardDAV you'll need `vdirsyncer` aswell.
## Installation and configuration
- `pacman -S khard vdirsyncer` - Install needed programs
- Edit the `~/.config/vdirsyncer/config`.
- Insert the following lines:
```
[general]
status_path = "~/.cache/vdirsyncer/status"
#contacts
[pair private_contacts]
a = "private_contacts_local"
b = "private_contacts_remote"
collections = ["from a", "from b"]
[storage private_contacts_local]
type = "filesystem"
path = "~/.local/share/pim/contacts"
fileext = ".vcf"
[storage private_contacts_remote]
type = "carddav"
url = "https://<url>"
username = "<username>"
password = "<password>"
auth = "basic"
```
- `vdirsyncer discover && vdirsyncer metasync` - Initialize vdirsyncer
- `vdirsyncer sync` - Synchronize the addressbook (put this into a crontab to update periodically)
- Add and configure a config for khard
- `mkdir ~/.config/khard` - add a directory for the config
- `cp /usr/share/doc/khard/khard.conf.example ~/.config/khard/khard.conf` - Copy the example configuration
- Adjust `khard.conf` to your needs
## Mutt
It is possible to use your khard-addressbook in mutt.
To see how it works check out the [Mutt](/#arch/mail.md).

View File

@@ -0,0 +1,41 @@
# Mutt
Neomutt is a mail program that runs in your terminal.
It can be easily configured using mutt-wizard.
## Installation
- `yay -S neomutt isync msmtp pass` - Install all dependecies
- Install mutt-wizard from [github](https://github.com/LukeSmithxyz/mutt-wizard) (AUR is not up to date)
## Using mutt-wizard
After installation you're able to use the following commands, that will guide you through configuration.
`mw add` to add mailaccounts
`mw ls` to list existing ones
`mw pass` to revise passwords
`mw delete` to delete accounts
`mw purge` to delete all accounts and settings
`mw cron` toggle a cronjob to sync mail
## Use khard in mutt
- Edit `~/.config/mutt/muttrc`
- Append the following lines.
```
set query_command= "khard email --parsable --search-in-source-files %s"
bind editor <Tab> complete-query
bind editor ^T complete
macro index,pager A \
"<pipe message>khard add-email<return>" \
"add the sender email address to khard"
```
- You should now be able to tab-complete email-addresses in neomutt
- You can also add new ones by pressing A

View File

@@ -0,0 +1,23 @@
# Tablecalculation
`sc-im` is a program to view and edit tables especially in csv-format.
## Installation
- `yay -S sc-im` - Install sc-im
- `sc-im <insert-filename>.csv` - Edit files
## Usage
`sc-im` uses vim keys to move.
You can insert text to a cell with `\` and numbers using `=`.
You can edit existing entries with `e` for text and `E` for numbers.
You can delete (multiple (for example `3`) rows `dr`/`d3r`, yank rows `yr`/`y3r`.
You can delete (multiple (for example `3`) columns `dc`/`d3c`, yank rows `yc`/`y3c`.
You can insert new rows `ir`/`i3r` or columns `ic`/`i3c`.
### Special numbers
There are some functions you can use when in numbers mode.
- `=@sum(<start-cell>:<end-cell>)` - Summarize all number-entries in the range of given cells

View File

@@ -0,0 +1,18 @@
# Wine
Wine is a compatibility layer to run windows programs on linux machines.
## Installation and Configuration
- Enable multilib support in pacman
- `vim /etc/pacman.conf` - Uncomment the following lines
```
[multilib]
Include = /etc/pacman.d/mirrorlist
```
- `pacman -S wine winetricks` - Install wine and configuration helper
- Set the global variable `WINEPREFIX` to your liking, standard is `$HOME/.wine`
- `winetricks` - run the installation of basic windows dependencies to the wine directory
- Move the program you want to run to `$WINEPREFIX/drive_c/`
- `winetricks sandbox` - (Optional) if you don't want wine to set up directories or files into your home directory
- `wine $WINEPREFIX/drive_c/<insert program>` - Run the program with wine

View File

@@ -0,0 +1,64 @@
# Thinkpad X220
These are a bunch of useful programs if you own a thinkpad X220.
This guide is done in collaboration with [rvbg.eu](https://wiki.rvbg.eu).
## Install Gfx drivers
`yay -S xf86-video-intel`
## Fan controlling
- ` yay -S lm_sensors thinkfan` - Install the needed utilities
- `sudo modprobe thinkpad_acpi` - After that load the kernel module thinkpad_acpi
- `sudo cp /usr/share/doc/thinkfan/examples/thinkfan.conf.simple /etc/thinkfan.conf` - Copy and configure the config file
- `systemctl start thinkfan` - Start the thinkfan service
- `sudo thinkfan -n` - Check the output
`systemctl enable thinkfan.service` - enable the thinkfan service
## Change brightness via keyboard
- `sudo vim /boot/loader/entries/arch.conf` - Open the bootloader configuration
- Go to the `options` line.
Append the following.
```
acpi_osi="!Windows 2012"
```
- `shutdown -r now` - Reboot the system
## Activate battery options
- `yay -S tlp` - Install the service
- `yay -S acpi_call` - Enables battery charging stop at given capacity
- `sudo vim /etc/tlp.conf` - Open the battery options
- Change the following lines
```
START_CHARGE_THRESH_BAT0=80
STOP_CHARGE_THRESH_BAT0=90
```
The battery will start charging at 80 percent and stop charging at 90.
- `sudo tlp start` - Start service and save changed options
- `sudo systemctl enable tlp.service` - Enable the service
## Setup Thinkpad Dock
- `yay -S dockd` - Install the docking service
- `yay -S xrandr arandr` - Instll multimonitor tools
- Dock the system
- `arandr` - Setup the monitor configuration
- `dockd --config docked` - Save the changes (has to maybe be stopped by `CTRL + C`)
- Undock the system
- `arandr` - Setup the monitor configuration
- `dockd --config undocked` - Save the changes (has to maybe be stopped by `CTRL + C`)
- `systemctl enable acpid` - Activate ACPI listener
- `systemctl start acpid` - Start ACPI listener
Scripts to change configuration at docking/undocking
- For the docked configuration use `vim /etc/dockd/dock.hook`
- For the undocked configuration use `vim /etc/dockd/undock.hook`