<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Simon Weis</title>
    <description>The latest articles on DEV Community by Simon Weis (@siatwe).</description>
    <link>https://dev.to/siatwe</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F100333%2F672569f5-e8b0-4419-a627-7fc0020468ba.jpg</url>
      <title>DEV Community: Simon Weis</title>
      <link>https://dev.to/siatwe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/siatwe"/>
    <language>en</language>
    <item>
      <title>wdhis?</title>
      <dc:creator>Simon Weis</dc:creator>
      <pubDate>Tue, 03 Dec 2019 12:33:31 +0000</pubDate>
      <link>https://dev.to/siatwe/how-facebook-avoids-ad-blockers-43hi</link>
      <guid>https://dev.to/siatwe/how-facebook-avoids-ad-blockers-43hi</guid>
      <description></description>
      <category>facebook</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Minimal Arch Linux Installation Guide: Get Ready In Half An Hour</title>
      <dc:creator>Simon Weis</dc:creator>
      <pubDate>Fri, 01 Feb 2019 21:41:15 +0000</pubDate>
      <link>https://dev.to/siatwe/install-a-minimal-arch-linux-in-half-an-hour--1l6p</link>
      <guid>https://dev.to/siatwe/install-a-minimal-arch-linux-in-half-an-hour--1l6p</guid>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Edit&lt;/em&gt; 20191226: Manuall installation linux kernel, nano and dhcpcd&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Edit&lt;/em&gt; 20190809: Installation of &lt;code&gt;base-devel&lt;/code&gt; not required for minimal setup&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Edit&lt;/em&gt; 20190318: Typo: sudoer =&amp;gt; sudoers&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Edit&lt;/em&gt; 20190208: Added:  Solution if &lt;code&gt;pacstrap -i&lt;/code&gt; does not run properly due to invalid packet data (invalid or corrupted package (PGP signature)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Edit&lt;/em&gt; 20190205: Added: &lt;code&gt;loadkeys&lt;/code&gt; during installation
___&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://siatwe.github.io/blog/index.html"&gt;originally posted on my blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Step by step guide to install a minimal Arch Linux OS with graphical user interface, a terminal emulator and a browser in just 20 - 30 minutes. But of course: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Minimal" means one partition, no swap and no special driver requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to try it, I would recommend you to install it first on a virtual machine, so you can't break anything.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The default console keymap is US. Available layouts can be listed with:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; /usr/share/kbd/keymaps/&lt;span class="k"&gt;**&lt;/span&gt;/&lt;span class="k"&gt;*&lt;/span&gt;.map.gz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then load your prefered layout:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;loadkeys &amp;lt;lang-code&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;loadkeys de-latin1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Are you connected to the Internet? You absolutely need Internet for the installation! If your computer is connected to a LAN cable, that shouldn't be a problem unless you're using completely exotic hardware.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-c&lt;/code&gt;: n tries
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ping &lt;span class="nt"&gt;-c&lt;/span&gt; 3 google.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;If you are not connected to the Internet, check your available network interfaces...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;link&lt;/code&gt;: Manage and display the state of all network interfaces
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ip &lt;span class="nb"&gt;link&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output could something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    &lt;span class="nb"&gt;link&lt;/span&gt;/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s25: &amp;lt;BROADCAST,MULTICAST&amp;gt; mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    &lt;span class="nb"&gt;link&lt;/span&gt;/ether xxxxxxxxxxxxxxxxx brd xxxxxxxxxxxxxxxxx
3: wlp3s0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    &lt;span class="nb"&gt;link&lt;/span&gt;/ether xxxxxxxxxxxxxxxxx brd xxxxxxxxxxxxxxxxx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;...and try to configure your favorite one with DHCP:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dhcpd &amp;lt;INTERFACE&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dhcpd enp0s25
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Or use your WLAN interface to connect to the Internet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wifi-menu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Update the package repository:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-Syy&lt;/code&gt;: Synchronizing package databases without upgrading them
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-Syy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Install the reflector package which generates an optimized mirror list based on the given country name. (In this case for Germany):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-S&lt;/code&gt;: Install (S)pecific or (S)ingle package(s)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; reflector
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-c&lt;/code&gt;: Country in quotes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-f&lt;/code&gt;: The fastest n&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-l&lt;/code&gt;: Limit the list to the n most recently synchronized servers&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-n&lt;/code&gt;: Return at most n mirrors&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--save&lt;/code&gt;: And save it to ...
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;reflector &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"Germany"&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; 12 &lt;span class="nt"&gt;-l&lt;/span&gt; 10 &lt;span class="nt"&gt;-n&lt;/span&gt; 12 &lt;span class="nt"&gt;--save&lt;/span&gt; /etc/pacman.d/mirrorlist
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Have a look at the available hard disks and their partitions. The partitions are not important now, but it can make it easier to identify your disks and reduce the risk of overwriting the wrong one:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-l&lt;/code&gt;: List the partition tables for the  specified  devices
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;fdisk &lt;span class="nt"&gt;-l&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Run cfdisk on your selected hard drive and create a primary and bootable partition. It is important not to apply cfdisk to a partition, but to the disk itself. /dev/sda != /dev/sda1&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;X&lt;/code&gt;: Disk letter
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cfdisk /dev/sdX
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;After you have created the partition, it have to be formatted. For example with ext4 or btrfs. Now it is important to select the partition:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;XY&lt;/code&gt;: Disk letter + &lt;code&gt;Y&lt;/code&gt;: Partition number
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mkfs.ext4 /dev/sdXY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;You now have to mount the partition created this way to /mnt:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mount /dev/sdXY /mnt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;The following command installs the base system on the given partition:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-i&lt;/code&gt;: Prompt for package confirmation when needed (run interactively)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacstrap &lt;span class="nt"&gt;-i&lt;/span&gt; /mnt base
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;If there are problems with incorrect packet data (invalid or corrupted package (PGP signature)), run the following commands and try again:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman-key &lt;span class="nt"&gt;--init&lt;/span&gt;
pacman-key &lt;span class="nt"&gt;--populate&lt;/span&gt; archlinux
pacman-key &lt;span class="nt"&gt;--refresh-keys&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;After the installation is finished you can create the fstab file with the following command:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-U&lt;/code&gt;: Use UUIDs (Universally Unique Identifiers) for source identifiers (shortcut for -t UUID)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-p&lt;/code&gt;: Avoid printing pseudofs mounts
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;genfstab &lt;span class="nt"&gt;-U&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; /mnt &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /mnt/etc/fstab
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Now &lt;a href="https://wiki.archlinux.org/index.php/chroot"&gt;chroot&lt;/a&gt; into your currently installed system with bash:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;arch-chroot /mnt /bin/bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Install nano:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; nano
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Edit /etc/locale.gen and uncomment your preferred language(s) for utf-8 and en_US.UTF-8 UTF-8:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano /etc/locale.gen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;de_DE.UTF-8 UTF-8 
en_US.UTF-8 UTF-8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;And now, create your locale file(s):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;locale-gen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;(The next two points can be skipped if you later want to synchronize the time settings over the Internet.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Select your time zone. (With a few chars and the tab key you can auto complete possible continents and cities):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-sf&lt;/code&gt;: Make symbolic links instead of hard links and remove existing destination files
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-sf&lt;/span&gt; /usr/share/zoneinfo/&amp;lt;CONTINENT&amp;gt;/&amp;lt;CITY&amp;gt; /etc/localtime
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-sf&lt;/span&gt; /usr/share/zoneinfo/Europe/Berlin /etc/localtime
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Update your hardware clock:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;--systohc&lt;/code&gt;: System 2 hardware clock&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--utc&lt;/code&gt;: UTC time
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hwclock &lt;span class="nt"&gt;--systohc&lt;/span&gt; &lt;span class="nt"&gt;--utc&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Give your computer a name (hostname):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &amp;lt;HOSTNAME&amp;gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /etc/hostname
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Create/edit /etc/hosts and add your hostname and some needed informations:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano /etc/hosts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;127.0.0.1   localhost.localdomain   localhost                    
::1              localhost.localdomain   localhost
127.0.1.1   localhost.localdomain   &amp;lt;HOSTNAME&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Change the root password:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;passwd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Install sudo, grub and the kernel. Optional: dialog, netctl, dhcpcd and wpa_supplicant if you have set up your Internet connection with wifi-menu, so you can use wifi-menu again after the next reboot:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; grub &lt;span class="nb"&gt;sudo &lt;/span&gt;dialog netctl wpa_supplicant dhcpcd linux linux-headers linux-firmware
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Install Grub on your hard disk (not the partition). If you have other non Linux/Unix-like operating systems on your computer (e.g. Windows) and want to be able to boot them via Grub then install os-prober and mount it, Grub should recognize the operating system then:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;grub-install /dev/sdX
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Create the grub configuration file:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-o&lt;/code&gt;: Out. Specify the output file
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;grub-mkconfig &lt;span class="nt"&gt;-o&lt;/span&gt; /boot/grub/grub.cfg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;At this point you should enable the dhcpcd daemon to your preferred network interface to avoid doing this at every new startup. (Not necessary if you used wifi-menu and want to stay with it):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;enable&lt;/code&gt;: Enable this service/daemon...&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--now&lt;/code&gt;: NOW! You don't really need this parameter here, but it's still good to know that it exists
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;dhcpcd@&amp;lt;INTERFACE&amp;gt; &lt;span class="nt"&gt;--now&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Exit the chroot environment:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Unmount the arch partition:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-R&lt;/code&gt;: Recursively
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;umount &lt;span class="nt"&gt;-R&lt;/span&gt; /mnt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Reboot your system &lt;em&gt;(Important: Did you configure grub correctly and without error messages? If this is not the case, you can only boot into your newly installed system under certain circumstances {boot from live medium again, mount your existing /mnt partition, chroot into it and try to install grub again}. So you should be sure now):&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Login as root and create a new user:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-m&lt;/code&gt;: Create the home dir&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-g&lt;/code&gt;: The group name or ID for a new user's initial group, in this case: users&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-G&lt;/code&gt;: A list of supplementary groups which the user is also a member of, in this case: wheel (Administration group, later needed for our sudo command)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-s&lt;/code&gt;: The path to the user's standard/login shell, here: /bin/bash
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;useradd &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; &lt;span class="nb"&gt;users&lt;/span&gt; &lt;span class="nt"&gt;-G&lt;/span&gt; wheel &lt;span class="nt"&gt;-s&lt;/span&gt; /bin/bash &amp;lt;USERNAME&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Change the password for your new user:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;passwd &amp;lt;USERNAME&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Edit the /etc/sudoers file and uncomment the following line:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano /etc/sudoers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;%wheel     &lt;span class="nv"&gt;ALL&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;ALL&lt;span class="o"&gt;)&lt;/span&gt; ALL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Exit the root environment:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Login as new created user and install X, a window manager with a simple menu and status bar, audio, a terminal emulator and a web browser (In this example i3 with dmenu and i3status, the xfce4 terminal and chromium):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; pulseaudio pulseaudio-alsa alsa-utils xorg xorg-xinit i3-wm dmenu i3status chromium xfce4-terminal
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Put i3 in your ~/.xinitrc file, so &lt;code&gt;startx&lt;/code&gt; knows what to do:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"exec i3"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; ~/.xinitrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Start X:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;startx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;No sound?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Type &lt;code&gt;win + enter&lt;/code&gt; (to open the installed terminal) execute the following command and try again:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;alsactl init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;There you go. Now you have a minimal Arch Linux operating system on your computer. Without garbage and only with the software you wanted. With &lt;code&gt;win + d&lt;/code&gt; a small menu opens at the top of the screen - from there you can start your programs. &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;TODO&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UEFI Installation&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>archlinux</category>
    </item>
    <item>
      <title>Some useful Pacman commands</title>
      <dc:creator>Simon Weis</dc:creator>
      <pubDate>Fri, 01 Feb 2019 06:17:38 +0000</pubDate>
      <link>https://dev.to/siatwe/some-useful-pacman-commands-278f</link>
      <guid>https://dev.to/siatwe/some-useful-pacman-commands-278f</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;a href="https://siatwe.github.io/blog/index.html"&gt;originally posted on my blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here are some Pacman commands that I find quite useful and that may not be known by everyone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This command shows all packages you have installed yourself, except "base" and "base-devel" packages which were installed during the installation of Arch:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-Qei&lt;/span&gt; | &lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="s1"&gt;'/^Name/ { name=$3 } /^Groups/ { if ( $3 != "base" &amp;amp;&amp;amp; $3 != "base-devel" ) { print name } }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shows all installed packages and their individual memory sizes starting with the smallest:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-Qi&lt;/span&gt; | &lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="s1"&gt;'/^Name/{name=$3} /^Installed Size/{print $4$5, name}'&lt;/span&gt; | &lt;span class="nb"&gt;sort&lt;/span&gt; &lt;span class="nt"&gt;-h&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Uninstall all unneeded packages and their unused dependencies. Quite useful to clean up here and there occasionally:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;pacman &lt;span class="nt"&gt;-Rsn&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;pacman &lt;span class="nt"&gt;-Qdtq&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;With this command you can display all packages you have received via the AUR. (Lists all foreign packages, which, for most users, means AUR):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-Qqm&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pacman stores fetched packages and does not automatically delete old or uninstalled packages. Of course, this has a few advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;So you can easily downgrade packages.&lt;/li&gt;
&lt;li&gt;Packages that have been uninstalled and need to be reinstalled can be installed directly from the cache folder (of course only if there is no newer version in the repos).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However you should clean up this cache here and there so that it does not become infinitely large.&lt;br&gt;
For this there is a script called paccache. It uninstalls all stored package data of the installed and uninstalled packages except the last three. And that should normally be enough:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;paccache &lt;span class="nt"&gt;-r&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;It is also possible to automate paccache. With the following command paccache deletes the cache weekly:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;paccache.timer &lt;span class="nt"&gt;--now&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>linux</category>
      <category>archlinux</category>
      <category>pacman</category>
    </item>
  </channel>
</rss>
