{"id":21585389,"url":"https://github.com/sayems/arch.linux.tutorial","last_synced_at":"2025-04-10T20:07:57.537Z","repository":{"id":29955447,"uuid":"33502119","full_name":"sayems/arch.linux.tutorial","owner":"sayems","description":"This repository contains scripts, configuration files, and Arch Linux installation guide","archived":false,"fork":false,"pushed_at":"2025-02-02T04:19:50.000Z","size":48117,"stargazers_count":23,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T17:52:42.998Z","etag":null,"topics":["arch-linux","bash","gnome","linux","yay"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sayems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-06T19:51:52.000Z","updated_at":"2025-02-02T04:19:53.000Z","dependencies_parsed_at":"2025-02-02T05:19:16.608Z","dependency_job_id":"695ac073-0678-4cd0-9113-f8e3883d2e04","html_url":"https://github.com/sayems/arch.linux.tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayems%2Farch.linux.tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayems%2Farch.linux.tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayems%2Farch.linux.tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayems%2Farch.linux.tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sayems","download_url":"https://codeload.github.com/sayems/arch.linux.tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248288347,"owners_count":21078903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-linux","bash","gnome","linux","yay"],"created_at":"2024-11-24T15:10:30.102Z","updated_at":"2025-04-10T20:07:57.505Z","avatar_url":"https://github.com/sayems.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n## Build Your Arch Linux System From Scratch \n\n\n![](https://github.com/sayems/Arch-Linux/blob/master/screenshot/arch.jpg)\n\n\nArch Linux is a do-it-yourself Linux distro, It’s very popular among linux geeks and developers that like to really get at the nuts and bolts of a system. Arch give you the freedom to make any choice about the system. **It does not come with any pre-installed packages/drivers or graphical installer**, instead It uses a **command line installer**.\nWhen you boot it up for the first time, you’ll be greeted with a command-line tool. It expects you to perform the entire installation from the command-line and install all the necessary program/driver by yourself and customize it the way you want it — by piecing together the components that you’d like to include on your system. \n\nArch Linux is a really good way to learn what's going on inside a Linux box. You can learn a lot just from the installation process. I am going to walk through the base install, as well as several common post-install things like setting up networking, sound, mounts, X11 and video drivers, and adding users. I am not going to go in great detail on each step, so if you don't know how to do a certain step you may need to seek references elsewhere. \n\nI'll also show you some tips, tricks and tweaks on how you can change the way the GNOME desktop looks and feel to suit your own personal tastes, that is, take a plain-vanilla GNOME Shell and transform it into a desktop that you like. \n\n**WARNING**: There is a very **HIGH** chance you can destroy other operating systems or partition, if you don't do it right. **Please proceed with caution**. If you are new to Linux world I HIGHLY suggest you start off with a distro like Ubuntu or Mint Linux. Ubuntu is designed for people who want an off-the-shelf type system, where all of the choices are already made and the users are expected to sacrifice control for convenience.  \n\n\u0026nbsp;\n\nTable of Contents\n--\n- [Bootable USB Installer](https://github.com/sayems/arch.linux.tutorial#bootable-usb-installer)\n\t- [Linux](#linux)\n\t- [MacOS](#macos)\n- [BIOS](#bios)\n- [Pre-installation](https://github.com/sayems/arch.linux.tutorial#pre-installation)\n\t- [Setup Keyboard Layout](#set-keyboard-layout)\n\t- [Check boot mode](#check-boot-mode)\n\t- [Internet Connection](https://github.com/sayems/arch.linux.tutorial#internet-connection)\n    - [Configure the system time](https://github.com/sayems/arch.linux.tutorial#configure-the-system-time)\n    - [Enabling a specific mirror](https://github.com/sayems/arch.linux.tutorial#enabling-a-specific-mirror)\n- [Installation](https://github.com/sayems/arch.linux.tutorial#installation)\n    - [Generate fstab](https://github.com/sayems/arch.linux.tutorial#generate-fstab)\n    - [Arch chroot](https://github.com/sayems/arch.linux.tutorial#chroot)\n- [Configure System](https://github.com/sayems/arch.linux.tutorial#configure-system)\n    - [Configure network](https://github.com/sayems/arch.linux.tutorial#configure-network)\n    - [Locale and Language](https://github.com/sayems/arch.linux.tutorial#locale-and-language)\n    - [Configure hostname](https://github.com/sayems/arch.linux.tutorial#hostname)\n    - [Root password](https://github.com/sayems/arch.linux.tutorial#create-root-password)\n    - [Install the bootloader](https://github.com/sayems/arch.linux.tutorial#install-the-bootloader)\n    - [Reboot the system](https://github.com/sayems/arch.linux.tutorial#reboot-the-system)\n- [Post Installation](https://github.com/sayems/arch.linux.tutorial#post-installation)\n    - [Desktop Environment](https://github.com/sayems/arch.linux.tutorial/#desktop-environment)\n    - [Ricing Arch Linux](https://github.com/sayems/arch.linux.tutorial/wiki/Desktop-Customization)\n    - [Create new user](https://github.com/sayems/arch.linux.tutorial#create-new-user)\n    - [Network Manager and Services](https://github.com/sayems/arch.linux.tutorial#network-manager-and-services)\n    - [Enable multilib repository](https://github.com/sayems/arch.linux.tutorial#enable-multilib-repository)\n    - [Sound](https://github.com/sayems/arch.linux.tutorial/wiki/Sound-System)\n    - [Network Manager](https://github.com/sayems/arch.linux.tutorial/wiki/NetworkManager)\n    - [Bluetooth](https://github.com/sayems/arch.linux.tutorial/wiki/Bluetooth)\n    - [Printer](https://github.com/sayems/arch.linux.tutorial/wiki/Printer)\n    - [Scanner](https://github.com/sayems/arch.linux.tutorial/wiki/Scanner)\n    - [Yay –AUR Helper](https://github.com/sayems/arch.linux.tutorial/wiki/Yay-%E2%80%93-Yet-another-Yaourt)\n    - [Network File System (NFS)](https://github.com/sayems/arch.linux.tutorial/wiki/Network-File-System-(NFS))\n    - [Samba](https://github.com/sayems/arch.linux.tutorial/wiki/Samba)\n    - [Beautify Grub 2 Boot Loader](https://github.com/sayems/arch.linux.tutorial/wiki/Customize-Bootloader)\n- Extra\n    - [Hibernation](https://github.com/sayems/arch.linux.tutorial/wiki/Hibernation)\n- [Troubleshooting](https://github.com/sayems/arch.linux.tutorial/wiki/Restore-the-GRUB-Bootloader)\n    - [Grub](https://github.com/sayems/arch.linux.tutorial/wiki/Restore-the-GRUB-Bootloader)\n- Development\n    - [Java](https://github.com/sayems/arch.linux.tutorial/wiki/Java-Development)\n    - [Python](https://github.com/sayems/arch.linux.tutorial/wiki/Python-Development)\n    - [Golang](https://github.com/sayems/arch.linux.tutorial/wiki/Go-Development)\n    - [Vim](https://github.com/sayems/arch.linux.tutorial/wiki/Vim)\n    - [Docker](https://github.com/sayems/arch.linux.tutorial/wiki/Docker)\n    - [MySQL](https://github.com/sayems/arch.linux.tutorial/wiki/MySQL)\n- DevOps\n    - [LXC/LXD](https://github.com/sayems/arch.linux.tutorial/wiki/LXC-and-LXD)\n    - [Vagrant](https://github.com/sayems/arch.linux.tutorial/wiki/Vagrant)\n    - [Ansible](https://github.com/sayems/arch.linux.tutorial/wiki/Ansible)\n    - [Amazon Web Services (AWS)](https://github.com/sayems/arch.linux.tutorial/wiki/Amazon-Web-Services-(AWS))\n  \n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\n\nHere's a screenshot of my desktop, built just the way I want it\n\n![Here's a screenshot of my current Arch Linux system](https://github.com/sayems/Arch-Linux/blob/master/screenshot/vanila-desktop.png)\n\n\n![](https://github.com/sayems/Arch-Linux/blob/master/screenshot/desktop-preview.png)\n\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\n\nBootable USB Installer\n--\n### Download the ISO\nFirst of all, you need the Arch Linux image, that can be downloaded from the [Official Website](https://www.archlinux.org/download/).\n\n\u003e Arch Linux requires a x86_64 (i.e. 64 bit) compatible machine with a minimum of 512 MB RAM and 800 MB disk space for a minimal installation. However, it is recommended to have 2 GB of RAM and at least 20 GB of storage for a GUI to work without hassle.\n\nAfter that, you should create the bootable flash drive with the Arch Linux image.\n\n### Linux\n\nIf you're on a Linux distribution, you can use the `dd` command for it. Like:\n```sh\n$ dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress oflag=sync \u0026\u0026 sync\n```\n\u003e Note that you need to update the `of=/dev/sdx` with your USB device location (it can be discovered with the `lsblk` command).\n\nOtherwise, if you're on Windows, you can follow this [tutorial](https://wiki.archlinux.org/index.php/USB_flash_installation_media#In_Windows).\n\n\u0026nbsp;\n\n### MacOS\n\nFirst, you need to identify the USB device. Open  ```/Applications/Utilities/Terminal```  and list all storage devices with the command:\n```\n$ diskutil list\n```\nYour USB device will appear as something like  ```/dev/disk4 (external, physical)```. Verify that this is the device you want to erase by checking its name and size and then use its identifier for the commands below instead of /dev/disk4.\n\nA USB device is normally auto-mounted in macOS, and you have to unmount (not eject) it before block-writing to it with  ```dd```. In Terminal, do:\n```\n$ diskutil unmountDisk /dev/disk4\n```\nNow copy the ISO image file to the device. The  ```dd```  command is similar to its Linux counterpart, but notice the 'r' before 'disk' for raw mode which makes the transfer much faster:\n```\n# sudo dd if=/Users/sayem/Downloads/archlinux-2019.04.01-x86_64.iso  of=/dev/rdisk4 bs=1m\n```\nThis command will run silently. To view progress, send SIGINFO by pressing  ```Ctrl+t```. Note  ```diskX```  here should not include the  ```s1```  suffix, or else the USB device will only be bootable in UEFI mode and not legacy. After completion, macOS may complain that \"The disk you inserted was not readable by this computer\". Select 'Ignore'. The USB device will be bootable.\n\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\nBIOS\n--\nWe'll install Arch Linux on UEFI mode, so you should check your bios settings. Boot into your hardware settings or BIOS or UEFI settings. Then check following settings. It can have different names and different keyboard shortcuts to reach it.\n\n-   Disable  `Secure Boot`\n-   Disable  `Launch CSM`  or  `Legacy Support`\n-   Set  `Boot Mode`  to  `UEFI`\n-   Enable  `USB Boot`\n-   Set  USB  Disk as boot priority\n\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\nPre-installation\n--\n\n### Set Keyboard Layout\nArch Linux standard boots into an US keyboard layout. Many of us do not have to do anything. Just check the main keyboard keys and see if they all work.\n\n\u0026nbsp;\n\n### Check boot mode\nTo check if the UEFI mode is enabled, run:\n```\n# ls /sys/firmware/efi/efivars\n```\nIf the directory does not exists, the system may be booted in BIOS.\n\n\u0026nbsp;\n\n### Internet Connection\n\nIf you are connected via Ethernet, you can test the connectivity by pinging ```google```:\n```\nping www.google.com -c 3\n```\n```\nPING www.google.com (172.217.12.164) 56(84) bytes of data.\n64 bytes from lga25s62-in-f4.1e100.net (172.217.12.164): icmp_seq=1 ttl=56 time=5.26 ms\n64 bytes from lga25s62-in-f4.1e100.net (172.217.12.164): icmp_seq=2 ttl=56 time=7.86 ms\n64 bytes from lga25s62-in-f4.1e100.net (172.217.12.164): icmp_seq=3 ttl=56 time=10.4 ms\n\n--- www.google.com ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 6ms\nrtt min/avg/max/mdev = 5.256/7.841/10.405/2.104 ms\n```\n\n\u0026nbsp;\n\n\n### Configure the system time\n\nOnce connected to the internet, it is important to synchronize the system time. This can be done by turning on the **Network Time Protocol (NTP)**. We will first check is the service is working and if not, we will activate it.\n\nYou can check the NTP service as below:\n```\nsh-4.3# timedatectl status\n```\n\nIf the service is not working, you can set up it as below\n```\nsh-4.3# timedatectl set-ntp true\n```\n\n\u0026nbsp;\n\n### Partitioning\n\nIf you have multiple hard-drives in your machine, please unplug it now so you don’t end up formatting them by mistake. Plug only the one that you will format to install Arch Linux on it.\n\nI have 1TB of storage with 8 partitions, described on the following table below: (I will create two partitions **```/dev/sdc5```** and **```/dev/sdc6```** to install Arch Linux)\n\n| Partition | Name                         | File System | Size  |\n|-----------|------------------------------|-------------|-------|\n| /dev/sdc1 | EFI System Partition         |    fat32    |  200M |\n| /dev/sdc2 | Macintosh HD                 |     apfs    |  558G |\n| /dev/sdc3 | Ubuntu                       |     ext4    |  70G  |\n| /dev/sdc4 | Linux Swap                   |  linux-swap |   2G  |\n| /dev/sdc5 | Arch Linux                   |     ext4    |  67G  |\n| /dev/sdc6 | Microsoft Reserved Partition |   unknown   |  16M  |\n| /dev/sdc7 | Windows 10                   |     ntfs    |  232G |\n| /dev/sdc8 | Windows Recovery Environment |     ntfs    |  481M |\n\n\u0026nbsp;\n\nI'll use **```cfdisk```** to create **```sdc4```** and **```sdc5```** partitions:\n\n```bash\nroot@arch ~ # cfdisk /dev/sdc\n```\n1. First, select the option **New** in the **cfdisk** menu.\n2. Now specify the size of the partition you want to create. In my example:\n\t- **```sdc4```** - allocate **2G** for swap memory\n    - **```sdc5```** - allocate **67G** for **```/```**\n3. To save the changes, select the option **write**  in the **cfdisk** menu.\n4. Print the partition table and verify the new partition  using ```fdisk -l /dev/sdc``` command.\n\nNow that our partitions have been created, we can format it as below: \n\n```bash\nroot@arch ~ # mkfs.ext4  /dev/sdc5\n```\nNow we should mount the partitions which have been created and formatted so that Arch Linux can point to them. We will mount the root partition to the `/mnt` folder.\n```bash\nroot@arch ~ # mount /dev/sdc5 /mnt\n```\n\nThe process for swap partition is slight different:\n\n```bash\nroot@arch ~ # mkswap /dev/sdc4\nroot@arch ~ # swapon /dev/sdc4\n```\n\n\u0026nbsp;\n\n### Enabling a specific mirror\n\nBefore installation, is recommended to select the best mirror servers. So open the file ```/etc/pacman.d/mirrorlist``` (using ```nano``` or ```vi``` to do that) and move the best mirror to the top of the file.\n\n```\nroot@arch ~ # nano /etc/pacman.d/mirrorlist\n```\n```\nServer = https://arch.mirror.constant.com/$repo/os/$arch\nServer = https://mirror.wdc1.us.leaseweb.net/archlinux/$repo/os/$arch\nServer = https://mirrors.rit.edu/archlinux/$repo/os/$arch\nServer = https://archlinux.olanfa.rocks/$repo/os/$arch\nServer = https://arch.mirror.square-r00t.net/$repo/os/$arch\n```\n\n\u003e **Tip**: That  [link](https://www.archlinux.org/mirrorlist/)  generates a mirror list based on your location, you can use them as reference.\n\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\n\nInstallation\n--\nNow that the mirrors are already set, we can use `pacstrap` to install the Arch Linux bases system with the command below:\n\n```bash\nroot@arch ~ # pacstrap /mnt base base-devel\n```\n\n\u0026nbsp;\n\n### Generate fstab\n\nGenerate a fstab with the `genfstab` script to define how disk partitions, block devices or remote file systems are mounted into the filesystem.\n```\n# genfstab -p /mnt \u003e\u003e /mnt/etc/fstab\n```\n\n\u0026nbsp;\n\n### Chroot\n\nWe can use the `chroot` command to access your newly-installed operating system.\n```bash\nroot@arch ~ # arch-chroot /mnt\n```\n\n\u003e Now, if you want to install some package, do it with `pacman -S \u003cpackage_name\u003e`\n\n\u0026nbsp;\n\n### Check pacman keys\n```\n# pacman-key --init\n# pacman-key --populate archlinux\n```\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\n\n\nConfigure System\n--\n\n\u0026nbsp;\n\n\n### Configure network\nIf you want your OS be able to have automatically an IP address for your router or the dhcp server of your network, it is import to activate the dhcpd service at the system startup\n```\n# systemctl enable dhcpcd\nCreated symlink /etc/systemd/system/multi-user.target.wants/dhcpcd.service → /usr/lib/systemd/system/dhcpcd.service.\n```\n\n\u0026nbsp;\n\n\n### Locale and Language\n\nWe can now select the default language of the system by editing the ```/etc/locale.gen``` file\n```bash\nsh-4.3# nano /etc/locale.gen\n```\nOn the list of languages, uncomment the one that you need. I will uncomment **```en_US.UTF-8 UTF-8```**. \n\nNow we need generate the locale information with the command below\n```bash\nsh-4.3# locale-gen\n```\nNow we must set the **LANG** variable in `/etc/locale.conf`\n```bash\nsh-4.3# echo LANG=en_US.UTF-8 \u003e /etc/locale.conf\nsh-4.3# export LANG=en_US.UTF-8\n```\n\n\u0026nbsp;\n\n\n#### Timezone\n\nCreate a symbolic link with your timezone (to check available timezones, see the files/folders in  `/usr/share/zoneinfo/`)\n```\n# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime\n```\n\n\u0026nbsp;\n\n\n#### Hardware Clock\n```\n# hwclock --systohc --utc\n```\n\n\u0026nbsp;\n\n### Hostname\nI am going to use ```linux``` as a hostname:\n```\n# echo linux \u003e /etc/hostname\n```\n\u003e Change `linux` to your hostname (Computer Name)\n\nAfter that, open the file `/etc/hosts` and add the following lines to ```/etc/hosts``` \n```\n127.0.0.1        localhost.localdomain         localhost\n::1              localhost.localdomain         localhost\n127.0.1.1        linux.localdomain        \t   linux\n```\n\u003e **Remember** to change the `myhostname` to your own)\n\n\u0026nbsp;\n\n#### Nameservers\n\nCheck the DNS again (using Google DNS). Open  `/etc/resolv.conf`  and write:\n\n```bash\nnameserver 8.8.8.8\nnameserver 8.8.4.4\n```\n\n\u0026nbsp;\n\n### Create root password\n\nTo create root password, type\n```bash\nsh-4.3# passwd  \n```\n\n\u0026nbsp;\n\n\n###  Locating the EFI partition\nThe first important thing to do for installing **Grub** on **Arch Linux** is to locate the **EFI** partition.  \nLet’s run the following command in order to locate this partition:\n  ```\nsh-4.3# fdisk -l\n```\nWe need to check the partition marked as **EFI System**\n\nAfter that, we need to mount this partition, for example, on ```/boot/efi```:\n\n```bash\nsh-4.3# mkdir /boot/efi\nsh-4.3# mount /dev/sdc1 /boot/efi\n```\n\n\u0026nbsp;\n\n\n### Install the bootloader \n\n\u003e If you already have another Linux Distribution installed in your system, you can skip this section and update the Grub from that distribution to recognize Arch Linux.\n\u003e For example, you can run ```sudo update-grub```  from Ubuntu  to include Arch Linux in its Grub bootloader\n\nIn order to install the bootloader, we need to install the following packages ```grub```, ```os-prober``` and ```efibootmgr```. Grub is boot manager and os-prober  detects if there are other operating systems installed on the system.\n```\nsh-4.3# pacman -S grub os-prober efibootmgr\n```\nNow install the grub on the disk using the command below:\n```\nsh-4.3# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB\n```\nCreate  a ```grub.cfg``` file using the command below:\n```\nsh-4.3# mkinitcpio -p linux\n````\nNow we can generate the grub\n```\nsh-4.3# grub-mkconfig -o /boot/grub/grub.cfg\n```\n\n\u0026nbsp;\n\n\n###  Reboot the system\n\nExit ```chroot``` environment by pressing Ctrl + D or typing  `exit`\n\nUnmount system mount points:\n```\n# umount -R /mnt\n```\nReboot system:\n```\n# reboot\n```\n\u003e Remember to remove USB stick on reboot\n\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n\n\n\nPost Installation\n-- \n\nNow you're on your successfull Arch Linux installation.\n\nLogin with your user and follow the next steps.\n\n\n\u0026nbsp;\n\n### Desktop Environment\n\nNow We're gonna install the Window Manager.\n\nI'll show the steps to install [Gnome](https://www.gnome.org/).\n\nFirst of all, run the installation command with `pacman`:\n```sh\n$ sudo pacman -S gnome gnome-extra\n```\n\nWhen the installation finishes, enable `gdm` to be started with system on boot:\n```sh\n$ sudo systemctl enable gdm.service\n```\n\n\u0026nbsp;\n\n### Enable ```multilib``` repository\n\nTo enable multilib repository, uncomment the  `[multilib]`  section in  `/etc/pacman.conf`:\n```\n# nano /etc/pacman.conf\n```\nScroll down and un-comment the ‘multilib’ repo:\n```\n#[testing]\n#Include = /etc/pacman.d/mirrorlist\n \n[core]\nInclude = /etc/pacman.d/mirrorlist\n\n[extra]\nInclude = /etc/pacman.d/mirrorlist\n\n#[community-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[community]\nInclude = /etc/pacman.d/mirrorlist\n\n# If you want to run 32 bit applications on your x86_64 system,\n# enable the multilib repositories as required here.\n  \n#[multilib-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[multilib]\nInclude = /etc/pacman.d/mirrorlist\n\n# An example of a custom package repository. See the pacman manpage for\n# tips on creating your own repositories.\n#[custom]\n#SigLevel = Optional TrustAll\n#Server = file:///home/custompkgs\n```\n```\n# pacman -Sy\n```\n\n\u0026nbsp;\n\n\n### Create new user\n\nIt is recommended that you create a normal user account\n```\n# useradd -m -g users -G wheel,storage,power,lp,network,audio,video,optical -s /bin/bash sayem\n```\nNow we must change the password for the user with the **```passwd```** command\n```\n# passwd sayem\n```\nWe must edit the `/etc/sudoers` file with the ```visudo``` command to add the new user :\n```\n# EDITOR=nano visudo\n```\nAdd the new user ```sayem ALL=(ALL) ALL``` to `/etc/sudoers`\n```\n##\n## User privilege specification\n##\nsayem ALL=(ALL) ALL\nroot ALL=(ALL) ALL\n```\n\n\u0026nbsp;\n\n\n### Network Manager and services\n```\n$ sudo pacman -Sy networkmanager-dispatcher-ntpd cronie networkmanager network-manager-applet acpid cups avahi dbus udisks2\n```\n\n```\n$ systemctl enable NetworkManager.service\n$ systemctl start NetworkManager.service\n```\n```\n$ systemctl enable cronie.service\n$ systemctl start cronie.service\n```\n```\n$ systemctl enable ntpd.service\n$ systemctl start cronie.service\n```\n```\n$ systemctl enable acpid.service\n$ systemctl start acpid.service\n```\n```\n$ systemctl enable avahi-daemon.service\n$ systemctl start avahi-daemon.service\n```\n\n\u0026nbsp;\n\n[top](#table-of-contents)\n\n\u0026nbsp;\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayems%2Farch.linux.tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsayems%2Farch.linux.tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayems%2Farch.linux.tutorial/lists"}