Browse Source

added arch linux installation blog post

Thomas Buck 4 years ago
parent
commit
323bde8c4e
1 changed files with 547 additions and 0 deletions
  1. 547
    0
      input/blog/2019/2019_09_09_arch_linux.md

+ 547
- 0
input/blog/2019/2019_09_09_arch_linux.md View File

@@ -0,0 +1,547 @@
1
+title: Blog
2
+post: Arch Linux Installation
3
+date: 2019-09-09
4
+comments: true
5
+---
6
+
7
+## {{ page["post"] }}
8
+<!--%
9
+from datetime import datetime
10
+date = datetime.strptime(page["date"], "%Y-%m-%d").strftime("%B %d, %Y")
11
+print "*Posted at %s.*" % date
12
+%-->
13
+
14
+I've now been running Arch Linux on my Desktop for over a year.
15
+After exclusively running Mac OS X for many years before, this was my first real step into a Desktop Linux distribution.
16
+It has been surprisingly painless and I'm very happy with my machine.
17
+Here are all the steps I've ran to install and setup Arch, with some explanations in between.
18
+
19
+Of course, take a look at the [Arch Wiki installation guide](https://wiki.archlinux.org/index.php/installation_guide) before doing anything.
20
+
21
+### Rotating the Virtual Console
22
+
23
+At the time of installing Arch, the first monitor output of my machine was connected to a rotated display.
24
+To be able to work properly, you may want to rotate the Linux virtual console.
25
+This can be done by adding the argument `fbcon=rotate:1` to the kernel boot options.
26
+When the system is booted, you can execute the following command.
27
+Also check out the [kernel documentation](https://www.kernel.org/doc/Documentation/fb/fbcon.txt).
28
+
29
+<pre class="sh_sh">
30
+echo 1 > /sys/class/graphics/fbcon/rotate_all
31
+</pre>
32
+
33
+### Installation
34
+
35
+Boot into the Arch Live USB stick environment.
36
+After getting the time, format your harddisk (see [UEFI & GPT partitioning in Wiki](https://wiki.archlinux.org/index.php/Partitioning#UEFI.2FGPT_example_layout)) and mount the new partitions.
37
+
38
+<pre class="sh_sh">
39
+timedatectl set-ntp true
40
+fdisk -l
41
+fdisk /dev/nvme0n1
42
+mkfs.ext4 /dev/nvme0n1p3
43
+mkfs.ext4 /dev/nvme0n1p4
44
+mkfs.fat -F32 /dev/nvme0n1p1
45
+mkswap /dev/nvme0n1p2
46
+swapon /dev/nvme0n1p2
47
+
48
+mount /dev/nvme0n1p3 /mnt
49
+mkdir /mnt/boot
50
+mount /dev/nvme0n1p1 /mnt/boot
51
+mkdir /mnt/home
52
+mount /dev/nvme0n1p4 /mnt/home
53
+</pre>
54
+
55
+Generate the mirrorlist by speed (see [Mirrorlist in Wiki](https://wiki.archlinux.org/index.php/Mirrors#List_by_speed)).
56
+
57
+<pre class="sh_sh">
58
+cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
59
+rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup | tee /etc/pacman.d/mirrorlist
60
+</pre>
61
+
62
+Bootstrap the new installation.
63
+
64
+<pre class="sh_sh">
65
+pacstrap /mnt base base-devel
66
+genfstab -L /mnt >> /mnt/etc/fstab
67
+arch-chroot /mnt
68
+</pre>
69
+
70
+Start setting up the machine (see [Locale in Wiki](https://wiki.archlinux.org/index.php/installation_guide#Locale)).
71
+
72
+<pre class="sh_sh">
73
+ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
74
+hwclock --systohc
75
+vi /etc/locale.gen
76
+locale-gen
77
+vi /etc/locale.conf
78
+vi /etc/hostname
79
+vi /etc/hosts
80
+passwd
81
+</pre>
82
+
83
+Install some important stuff.
84
+
85
+<pre class="sh_sh">
86
+pacman -Syu sudo vim avahi nss-mdns zsh
87
+vim /etc/nsswitch.conf
88
+systemctl enable avahi-daemon.service
89
+</pre>
90
+
91
+Create your new user account.
92
+
93
+<pre class="sh_sh">
94
+useradd -m -G wheel /usr/bin/zsh thomas
95
+chfn --full-name “Thomas Buck” thomas
96
+passwd thomas
97
+visudo
98
+</pre>
99
+
100
+Install systemd-boot and add boot entries (see [systemd-boot in Wiki](https://wiki.archlinux.org/index.php/Systemd-boot#Adding_boot_entries)).
101
+
102
+<pre class="sh_sh">
103
+bootctl --path=/boot install
104
+cat /usr/share/systemd/bootctl/arch.conf > /boot/loader/entries/arch.conf
105
+blkid /dev/nvme0n1p3 >> /boot/loader/entries/arch.conf
106
+vim /boot/loader/entries/arch.conf
107
+</pre>
108
+
109
+Configure systemd-boot (also see [systemd-boot in Wiki](https://wiki.archlinux.org/index.php/Systemd-boot#Loader_configuration)).
110
+
111
+<pre class="sh_sh">
112
+vim /boot/loader/loader.conf
113
+</pre>
114
+
115
+Add Intel Microcode to systemd-boot (see [Microcode in Wiki](https://wiki.archlinux.org/index.php/Microcode#systemd-boot)).
116
+
117
+<pre class="sh_sh">
118
+pacman -Syu intel-ucode
119
+vim /boot/loader/entries/arch.conf
120
+</pre>
121
+
122
+Configure automatic systemd-boot update (see [systemd-boot in Wiki](https://wiki.archlinux.org/index.php/Systemd-boot#Automatic_update)).
123
+
124
+<pre class="sh_sh">
125
+mkdir /etc/pacman.d/hooks
126
+vim /etc/pacman.d/hooks/systemd-boot.hook
127
+</pre>
128
+
129
+Install NetworkManager (see [NetworkManager in Wiki](https://wiki.archlinux.org/index.php/NetworkManager)).
130
+
131
+<pre class="sh_sh">
132
+pacman -Syu networkmanager
133
+systemctl enable NetworkManager
134
+</pre>
135
+
136
+<pre class="sh_sh">
137
+vim /etc/systemd/timedsyncd.conf
138
+timedatectl set-ntp true
139
+</pre>
140
+
141
+I'm using an nVidia graphics card.
142
+
143
+<pre class="sh_sh">
144
+pacman -Syu xorg-server
145
+pacman -Syu nvidia opencl-nvidia
146
+
147
+vim /etc/mkinitcpio.conf
148
+vim /boot/loader/entries/arch.conf
149
+# https://wiki.archlinux.org/index.php/NVIDIA#DRM_kernel_mode_setting
150
+
151
+vim /etc/pacman.d/hooks/nvidia.hook
152
+# https://wiki.archlinux.org/index.php/NVIDIA#Pacman_hook
153
+
154
+mkinitcpio -P
155
+</pre>
156
+
157
+Start installing more stuff.
158
+
159
+<pre class="sh_sh">
160
+pacman -Syu sddm
161
+systemctl enable sddm
162
+
163
+systemctl enable nvidia-persistenced.service
164
+systemctl start nvidia-persistenced.service
165
+
166
+pacman -Syu pulseaudio pulseaudio-alsa pulseaudio-bluetooth pulseaudio-zeroconf
167
+pacman -Syu plasma-meta vlc phonon-qt5-gstreamer phonon-qt5-vlc dolphin dolphin-plugins kdialog kfind ark yakuake
168
+pacman -Syu nvidia-settings sddm-kcm
169
+</pre>
170
+
171
+All this has been done in the (chrooted) environment of the Live USB stick until now.
172
+Now we reboot into the new installation.
173
+
174
+<pre class="sh_sh">
175
+exit
176
+umount -R /mnt
177
+reboot
178
+</pre>
179
+
180
+Installing Synergy so I can comfortably continue writing these commands while in the new installation (see [Synergy in Wiki](https://wiki.archlinux.org/index.php/Synergy#Installation)).
181
+
182
+<pre class="sh_sh">
183
+pacman -Syu synergy
184
+cp /etc/synergy.conf.example /etc/synergy.conf
185
+vim /etc/synergy.conf
186
+systemctl --user enable --now synergys.service
187
+</pre>
188
+
189
+Of course I need an AVR and Arduino toolchain!
190
+
191
+<pre class="sh_sh">
192
+pacman -Syu arduino arduino-avr-core avr-gcc avr-binutils avr-libc avrdude
193
+gpasswd -a $USER uucp
194
+gpasswd -a $USER lock
195
+</pre>
196
+
197
+I'm using the AUR wrapper 'Bauerbill', taken from the creators TU repo.
198
+
199
+<pre class="sh_sh">
200
+vim /etc/pacman.conf
201
+# https://xyne.archlinux.ca/repos/
202
+
203
+pacman -Syu bauerbill
204
+vim /etc/makepkg.conf # CFLAGS march=native MAKEFLAGS j, no compression
205
+</pre>
206
+
207
+Continue installing even more stuff, like a Webbrowser.
208
+
209
+<pre class="sh_sh">
210
+pacman -Syu hunspell hunspell-en hunspell-de firefox
211
+# Install ublock Origin, set DuckDuckGo, etc.
212
+</pre>
213
+
214
+Install and configure NTP.
215
+
216
+<pre class="sh_sh">
217
+pacman -Syu ntp
218
+vim /etc/ntp.conf
219
+systemctl --user enable --now ntpd.service
220
+</pre>
221
+
222
+Some more applications.
223
+
224
+<pre class="sh_sh">
225
+bb-wrapper -Syu --aur perl-opengl perl-wx-glcanvas slic3r
226
+pacman -Syu cura
227
+pacman -Syu keepassxc
228
+pacman -Syu mpv youtube-dl
229
+pacman -Syu libreoffice okular picocom
230
+</pre>
231
+
232
+OpenSSH server needs to be enabled and started after installation.
233
+
234
+<pre class="sh_sh">
235
+pacman -Syu openssh
236
+systemctl enable --now sshd.socket
237
+</pre>
238
+
239
+Fonts may require a call to fc-cache to update the font cache.
240
+
241
+<pre class="sh_sh">
242
+pacman -Syu breeze-gtk kde-gtk-config
243
+pacman -Syu ttf-droid ttf-inconsolata ttf-liberation ttf-roboto
244
+pacman -Syu ttf-dejavu ttf-bitstream-vera terminus-font
245
+sudo fc-cache
246
+</pre>
247
+
248
+Some packets need 32bit libs on x64, so enable multilib.
249
+
250
+<pre class="sh_sh">
251
+vim /etc/pacman.conf # enable multilib
252
+pacman -Syu lib32-nvidia-utils wine steam openscad
253
+</pre>
254
+
255
+Install Redshift to reduce eyestrain in the evenings (see [Redshift in Wiki](https://wiki.archlinux.org/index.php/Redshift#Manual_setup)).
256
+To autostart on boot, run `redshift-gtk` in the GUI and click on autostart there.
257
+
258
+<pre class="sh_sh">
259
+pacman -Syu python-gobject redshift
260
+vim ~/.config/redshift.conf
261
+</pre>
262
+
263
+Generate new SSH keys for GitHub etc. and also configure git.
264
+
265
+<pre class="sh_sh">
266
+ssh-keygen -t ecdsa -b 521
267
+# generate as many as needed, one for github, one for webserver, one for home use, …
268
+git config --global user.name “Thomas Buck”
269
+git config --global user.email xythobuz@xythobuz.de
270
+pacman -Syu meld
271
+vim ~/.gitconfig # set meld as merge and diff, enable color
272
+</pre>
273
+
274
+Install more stuff.
275
+
276
+<pre class="sh_sh">
277
+pacman -Syu nmap wget konversation
278
+
279
+sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
280
+vim ~/.zshrc
281
+
282
+pacman -Syu gvim
283
+curl http://j.mp/spf13-vim3 -L -o - | sh
284
+# http://vim.spf13.com/
285
+</pre>
286
+
287
+Install VirtualBox.
288
+
289
+<pre class="sh_sh">
290
+pacman -Syu virtualbox virtualbox-host-modules-arch virtualbox-guest-iso
291
+bb-wrapper -Syu --aur virtualbox-ext-oracle
292
+gpasswd -a $USER vboxusers
293
+</pre>
294
+
295
+If you are using an SSD, maybe think about enabling TRIM (see [SSD TRIM in Wiki](https://wiki.archlinux.org/index.php/Solid_State_Drive#Periodic_TRIM)).
296
+
297
+<pre class="sh_sh">
298
+sudo systemctl enable fstrim.timer
299
+
300
+pacman -Syu thermald cpupower
301
+vim /etc/default/cpupower
302
+sudo systemctl enable cpupower.service
303
+</pre>
304
+
305
+I was also trying out Opera, but have now settled on Firefox.
306
+
307
+<pre class="sh_sh">
308
+pacman -Syu opera opera-ffmpeg-codecs
309
+bb-wrapper -Syu --aur opera-adblock-complete
310
+mkdir .opera
311
+ln -s /usr/share/opera-adblock-complete/urlfilter.ini ~/.opera/urlfilter.ini
312
+</pre>
313
+
314
+To get Bluetooth to work you may need some firmware (see [StackExchange Question](https://unix.stackexchange.com/questions/421946/bluetooth-is-not-working-no-adapter-available-arch-linux-kde)).
315
+
316
+<pre class="sh_sh">
317
+bb-wrapper -Syu --aur bcm20702a1-firmware
318
+systemctl enable --now bluetooth.service
319
+</pre>
320
+
321
+For monitoring needs (in conky), install hddtemp (see [Hddtemp in Wiki](https://wiki.archlinux.org/index.php/Hddtemp#Daemon)).
322
+
323
+<pre class="sh_sh">
324
+pacman -Syu hddtemp
325
+systemctl edit hddtemp.service
326
+systemctl enable --now hddtemp.service
327
+</pre>
328
+
329
+Install conky, a very cool monitoring tool (see [Conky in Wiki](https://wiki.archlinux.org/index.php/Conky#Autostart)).
330
+
331
+<pre class="sh_sh">
332
+bb-wrapper -Syu --aur conky-lua-nv
333
+conky -C > ~/.conkyrc
334
+vim ~/.conkyrc
335
+</pre>
336
+
337
+This is my conkyrc at the moment:
338
+
339
+    -- vim: ts=4 sw=4 noet ai cindent syntax=lua
340
+    --[[
341
+    Conky, a system monitor, based on torsmo
342
+
343
+    Any original torsmo code is licensed under the BSD license
344
+
345
+    All code written since the fork of torsmo is licensed under the GPL
346
+
347
+    Please see COPYING for details
348
+
349
+    Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
350
+    Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
351
+    All rights reserved.
352
+
353
+    This program is free software: you can redistribute it and/or modify
354
+    it under the terms of the GNU General Public License as published by
355
+    the Free Software Foundation, either version 3 of the License, or
356
+    (at your option) any later version.
357
+
358
+    This program is distributed in the hope that it will be useful,
359
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
360
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
361
+    GNU General Public License for more details.
362
+    You should have received a copy of the GNU General Public License
363
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
364
+    ]]
365
+
366
+    conky.config = {
367
+        alignment = 'bottom_right',
368
+        xinerama_head = 2,
369
+        background = false,
370
+        border_width = 1,
371
+        cpu_avg_samples = 2,
372
+        default_color = 'white',
373
+        default_outline_color = 'black',
374
+        default_shade_color = 'white',
375
+        draw_borders = false,
376
+        draw_graph_borders = true,
377
+        draw_outline = true,
378
+        draw_shades = false,
379
+        use_xft = true,
380
+        font = 'DejaVu Sans Mono:size=12',
381
+        gap_x = 10,
382
+        gap_y = 10,
383
+        minimum_height = 5,
384
+        minimum_width = 5,
385
+        net_avg_samples = 2,
386
+        no_buffers = true,
387
+        out_to_console = false,
388
+        out_to_stderr = false,
389
+        extra_newline = false,
390
+        own_window = true,
391
+        own_window_class = 'Conky',
392
+        own_window_transparent = true,
393
+        own_window_argb_visual = true,
394
+        own_window_type = 'dock',
395
+        own_window_hints = 'below',
396
+        stippled_borders = 0,
397
+        update_interval = 1.0,
398
+        uppercase = false,
399
+        use_spacer = 'none',
400
+        show_graph_scale = false,
401
+        show_graph_range = false,
402
+        double_buffer = true
403
+    }
404
+
405
+    conky.text = [[
406
+    ${texeci 60 curl --silent esp-e33750.fritz.box/values | tidy | grep -A1 -E 'PM10|PM2.5|Temperatur' | grep td | sed 's/<[^>]*>//g' | sed 's/&nbsp;/ /g' | sed 's/PM2.5/PM2.5\t/g' | sed 's/PM10/PM10\t/g' | sed '$!N;s/\n/\t\t/' }
407
+    ${texeci 60 curl --silent esp-e33750.fritz.box/values | tidy | grep -A1 -E 'Luftfeuchte|Luftdruck|Signal' | grep td | sed 's/<[^>]*>//g' | sed 's/&nbsp;/ /g' | sed 's/rel. //g' | sed 's/Signal/Signal\t/g' |sed '$!N;s/\n/\t\t/' }
408
+    $hr
409
+    ${texeci 30 nmap -sn 192.168.178.1/24 -R --dns-servers 192.168.178.1 | awk -F "[ ()]+" '/Nmap scan report for/{print $6 "\t" $5}' | sed 's/^[ \t]*//'}
410
+    $hr
411
+    ${time %F %T %A}
412
+    $sysname $kernel on $machine
413
+    $hr
414
+    ${color grey}Uptime:$color $uptime
415
+    ${color grey}CPU Usage:$color ${freq_g}GHz ${cpu}% ${alignr}${cpubar 8,130}
416
+    ${color grey}RAM Usage:$color $mem $memperc% ${alignr}${membar 8,130}
417
+    ${color grey}Swap Usage:$color $swap $swapperc% ${alignr}${swapbar 8,130}
418
+    $hr
419
+    ${cpugraph cpu1 40,82 7F7F7F FFFFFF} ${cpugraph cpu2 40,82 7F7F7F FFFFFF} ${cpugraph cpu3 40,82 7F7F7F FFFFFF} ${cpugraph cpu4 40,82 7F7F7F FFFFFF}
420
+    ${cpugraph cpu5 40,82 7F7F7F FFFFFF} ${cpugraph cpu6 40,82 7F7F7F FFFFFF} ${cpugraph cpu7 40,82 7F7F7F FFFFFF} ${cpugraph cpu8 40,82 7F7F7F FFFFFF}
421
+    $hr
422
+    ${color grey}CPU:${color} ${hwmon 1 temp 1}°C ${hwmon 1 temp 2}°C ${hwmon 1 temp 3}°C ${hwmon 1 temp 4}°C ${hwmon 1 temp 5}°C
423
+    ${color grey}HDD:${color} ${exec hddtemp /dev/sda | awk '{print $(NF-1)}'}°C ${exec hddtemp /dev/sdb | awk '{print $(NF-1)}'}°C ${exec hddtemp /dev/sdc | awk '{print $(NF-1)}'}°C ${exec hddtemp /dev/sdd | awk '{print $(NF-1)}'}°C ${exec hddtemp /dev/sde | awk '{print $(NF-1)}'}°C ${exec hddtemp /dev/sdf | awk '{print $(NF-1)}'}°C
424
+    ${color grey}GPU:${color} ${nvidia temp}°C ${nvidia gpufreq}MHz ${nvidia memfreq}MHz
425
+    $hr
426
+    ${color grey}File systems:
427
+    ${color grey} /     ${color}${fs_used_perc /}% ${fs_bar 8 /}
428
+    ${color grey} /home ${color}${fs_used_perc /home}% ${fs_bar 8 /home}
429
+    $hr
430
+    ${color grey}Networking:  Download ${alignr}Upload
431
+    ${color grey}eno1        $color ${downspeed eno1} ${alignr}${upspeed eno1}
432
+    ${color grey}enp3s0      $color ${downspeed enp3s0} ${alignr}${upspeed enp3s0}
433
+    $hr
434
+    ${downspeedgraph eno1 40,82 7F7F7F FFFFFF} ${upspeedgraph eno1 40,82 7F7F7F FFFFFF} ${downspeedgraph enp3s0 40,82 7F7F7F FFFFFF} ${upspeedgraph enp3s0 40,82 7F7F7F FFFFFF}
435
+    $hr
436
+    ${color grey}Processes:$color $processes ${alignr}${color grey}Running:$color $running_processes
437
+    ${color grey}Name               PID   CPU%   MEM%
438
+    ${color}${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
439
+    ${color}${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
440
+    ${color}${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
441
+    ${color}${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
442
+    ${color}${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
443
+    $hr
444
+    ]]
445
+
446
+Some nVidia graphics related settings.
447
+
448
+<pre class="sh_sh">
449
+sudo nvidia-settings # enable full composition pipeline, store x config
450
+sudo vim /etc/X11/xorg.conf.d/20-nvidia.conf # remove unneeded stuff, add triple buffering
451
+sudo vim /etc/profile.d/kwin.sh # enable triple buffering
452
+# https://wiki.archlinux.org/index.php/NVIDIA/Troubleshooting#Avoid_screen_tearing
453
+
454
+# Fix DPI, D0: 96x98, D1: 91x90 --> 96x96
455
+# https://wiki.archlinux.org/index.php/Xorg#Proprietary_NVIDIA_driver
456
+</pre>
457
+
458
+I had a BluRay I wanted to rip but couldn't up to this point, because my Desktop is my only device with a BluRay reader.
459
+So the point came to install and use the necessary software.
460
+
461
+<pre class="sh_sh">
462
+# MakeMKV BluRay support
463
+# http://www.makemkv.com/forum2/viewtopic.php?f=5&amp;t=1053
464
+bb-wrapper -Syu --aur lib32-glibc makemkv makemkv-libaacs
465
+sudo sh -c “echo sg > /etc/modules-load.d/sg.conf“
466
+modprobe sg
467
+</pre>
468
+
469
+At this point of the installation, I needed to change the keyboard layout of my Ergodox.
470
+So I had to install some more development tools.
471
+
472
+<pre class="sh_sh">
473
+pacman -Syu arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-newlib dfu-util
474
+pacman -Syu --needed git cmake ninja python libusb ctags gcc lsb-release
475
+pacman -Syu --needed avr-binutils avr-gcc avr-libc
476
+</pre>
477
+
478
+Still more stuff to be installed.
479
+
480
+<pre class="sh_sh">
481
+pacman -Syu bind-tools
482
+pacman -Syu pcsx2
483
+pacman -Syu xorg-xev
484
+pacman -Syu lsof strace htop
485
+pacman -Syu fuse2 fuseiso
486
+pacman -Syu spectacle
487
+bb-wrapper -Syu --aur opentx-companion betaflight-configurator
488
+bb-wrapper -Syu --aur libspnav spacenavd blender
489
+</pre>
490
+
491
+Install CUPS so we can print stuff.
492
+
493
+<pre class="sh_sh">
494
+pacman -Syu cups cups-pdf print-manager system-config-printer
495
+systemctl enable --now org.cups.cupsd.service
496
+sudo gpasswd -a $USER sys
497
+</pre>
498
+
499
+Enable Color Emojis (see [this Reddit Thread](https://www.reddit.com/r/archlinux/comments/9q8dlj/how_to_better_enable_color_emojis/)).
500
+
501
+<pre class="sh_sh">
502
+sudo pacman -S noto-fonts-emoji
503
+sudo vim /etc/fonts/conf.avail/75-noto-color-emoji.conf
504
+sudo ln -sf /etc/fonts/conf.avail/75-noto-color-emoji.conf /etc/fonts/conf.d/
505
+</pre>
506
+
507
+Automatically remove old versions of packages in local cache.
508
+
509
+<pre class="sh_sh">
510
+sudo pacman -S pacman-contrib
511
+sudo systemctl enable --now paccache.timer
512
+</pre>
513
+
514
+Some more stuff that could be useful:
515
+
516
+<pre class="sh_sh">
517
+# fix for nextcloud aur build error
518
+export LC_ALL=C
519
+
520
+# nas mounts in /etc/fstab
521
+192.168.0.5:/mnt/Excelsus/Media   /mnt/nas_media   nfs noauto,x-systemd.automount,x-systemd.device-timeout=30,_netdev
522
+192.168.0.5:/mnt/Excelsus/Misc    /mnt/nas_misc    nfs noauto,x-systemd.automount,x-systemd.device-timeout=30,_netdev
523
+192.168.0.5:/mnt/Excelsus/Dashcam /mnt/nas_dashcam nfs noauto,x-systemd.automount,x-systemd.device-timeout=30,_netdev
524
+
525
+# Auto-update pacman mirrorlist
526
+# https://www.reddit.com/r/archlinux/comments/9xmw3a/what_archlinux_tricks_do_you_know_that_you_wish/
527
+</pre>
528
+
529
+This is a nice little tool enabling auto-suggestion of packets when running a command that does not exist.
530
+
531
+<pre class="sh_sh">
532
+sudo bb-wrapper -Syu --aur pkgfile
533
+sudo pkgfile -u
534
+sudo systemctl enable --now pkgfile-update.timer
535
+echo "source /usr/share/doc/pkgfile/command-not-found.zsh" > ~/.zsh
536
+</pre>
537
+
538
+If you want to keep the kernel modules of the currently running kernel after updating it with pacman, run these commands.
539
+They will add a hook to pacman that copies the modules to a safe location on updates.
540
+This way, you will still be able to use for example new USB devices without having rebooted after an update.
541
+
542
+<pre class="sh_sh">
543
+sudo bb-wrapper -Syu --aur kernel-modules-hook
544
+sudo systemctl daemon-reload
545
+sudo systemctl enable linux-modules-cleanup
546
+</pre>
547
+

Loading…
Cancel
Save