Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Arch Linux: Difference between revisions

From atl.wiki
mNo edit summary
Tags: Manual revert Visual edit
m (link to crux)
 
(17 intermediate revisions by 7 users not shown)
Line 4: Line 4:
| caption    = The Arch Linux logo
| caption    = The Arch Linux logo
| releasestatus = Maintained
| releasestatus = Maintained
| updatemethod = Rolling Release
| releasemodel = Rolling Release
| packagemanager = [[Pacman]]
| packagemanager = [[Pacman]]
| defaultdesktops = Cinnamon, Enlightenment, GNOME, [[KDE Plasma]], LXDE, MATE, [[Xfce]]
| usagetype = Desktop
| usagetype = Desktop
| architectures = x86_64
| website = [https://archlinux.org archlinux.org]
| website = [https://archlinux.org archlinux.org]
}}
}}
'''Arch Linux''' is an independent [[Linux]] distribution focused on the '''KISS''' ''(Keep It Simple, Stupid)''<ref>https://wiki.archlinux.org/title/arch_terminology#KISS</ref> principle that focuses on being lightweight and flexible<ref>https://archlinux.org/about/</ref>. It was originally founded by Judd Vinet due to his inspiration from CRUX Linux being "simplistic, elegant, and very quick and easy to use" <ref>Interview with Judd Vinet[https://distrowatch.com/dwres.php?resource=interview-arch]</ref>.   
[[File:Arch Linux Base Neofetch output.png|thumb|[[neofetch]] on Arch Linux]]
'''Arch Linux''' is an independent [[Linux Distributions|Linux distribution]] focused on the '''KISS''' ''(Keep It Simple, Stupid)''<ref>https://wiki.archlinux.org/title/arch_terminology#KISS</ref> principle that focuses on being lightweight and flexible<ref>https://archlinux.org/about/</ref>. It was originally founded by Judd Vinet due to his inspiration from [[CRUX Linux]] being "simplistic, elegant, and very quick and easy to use" <ref>Interview with Judd Vinet[https://distrowatch.com/dwres.php?resource=interview-arch]</ref>.   


=== Functionality ===
=== Functionality ===
One of the distinguishing traits of Arch Linux from other distributions is the presence of its [[package manager]] called ''[[pacman]].'' Its main goal is to offer binary packages with an "intuitive build system" that is easy to maintain and manage.<ref>Arch Linux Wiki - About[https://archlinux.org/about/]</ref> Pacman uses different repositories to store its packages:
Distinguishing features of Arch Linux from other distributions are its [[Package Manager|package manager]] named ''[[pacman]]'' and the minimal installation package set ''[https://archlinux.org/packages/core/any/base/ base]'', which as of July 4. 2024 comprises only 28 packages such as ''[[glibc]]'', ''[[systemd]]'', and the only optional package ''linux'', comprising the [[linux|kernel]].


* [core], housing all of the packages necessary for a base Arch installation to function;
Building Arch Linux packages is automated by the bash script <code>makepkg</code> which executes either a build script or a PKGBUILD.<ref>https://pacman.archlinux.page/makepkg.8.html</ref><ref>https://pacman.archlinux.page/PKGBUILD.5.html</ref> Users of the [[Arch User Repository|AUR]] are encouraged to understand the build scripts of packages they are about to execute before installing packages. <code>makepkg</code> is part of the ''pacman'' package.
* [extra], housing applications and tooling that is not necessary for the system to function but serves instead for user-defined needs;
* [multilib], housing 32-bit architecture libraries centered around legacy or compatibility concerns;
** [-testing], housing testing versions of the other repos that people from the Arch Testing Team<ref>https://wiki.archlinux.org/title/Arch_Testing_Team</ref> test before it gets into the main repos;
** [-staging], containing broken packages and is used solely by developers for rebuilding many packages at once; <ref>https://wiki.archlinux.org/title/official_repositories#Staging_repositories</ref>
* the '''AUR''' (''Arch User Repository''), housing community-maintained, unofficial builds of software aimed at either convenience or specific use-cases;
** custom user repositories, housing specific software outside of the AUR and official repositories. <ref>Arch Linux Wiki - Official Repositories[https://wiki.archlinux.org/title/Official_repositories]</ref><ref>Arch Linux Wiki - Unofficial User Repositories[https://wiki.archlinux.org/title/Unofficial_repositories]</ref>


=== Philosophy ===
=== Arch Installation Script ===
...
{| class="wikitable"
|+
!Mirrors
|Select a mirror region that is close to you. This is where pacman is able to fetch package lists.
|-
!Locales
|Select your keyboard layout.
|-
!Disk Configuration and Partitioning
|While manual partitioning is slightly more advanced for beginners, archinstall provides a setting for a pre-configured setup that streamlines the process.
|-
!Full Disk Encryption
|This is directed towards those interested in deeper security and/or privacy. While, security-wise, it does not necessarily guard your system while it is powered on, it will help mitigate data theft on your main drive from an adversary with access to it. [citation]
|-
!Bootloader
|You are able to pick from GRUB, systemd-boot, EFIstub, and Lumine. The choice is up to you - generally, GRUB is the most popular.
|-
!Unified Kernel Images [citation]  
|(Someone more experienced can fill)
|-
!Swap Memory
|The memory allocated to your system when it runs out of RAM. Set to as high or as little as you feel you need.
|-
!Host Name
|The name of your machine.
|-
!Root Password  
|Set a password for the root account.
|-
!Profile and Drivers
|Here, you can select multiple profiles:
 
* minimal - a barebones installation of Arch without any Display Manager. Consider whether you will really need such a minimal system.
* server - a minimal install aimed towards a headless server.
* desktop - the most popular choice for archinstall. Offers not only Desktop Environments but also Window Managers.
* Xorg - offers a minimal install, but with graphics drivers attached.
 
Keep in mind your system composition and remember which Graphics Card or Processor you are using to select the correct driver.
|-
!Greeter/Display Manager 
|Offers a choice between sddm, gdm, ly, and lightdm.
|-
!Audio
|It is generally recommended to pick pipewire, yet PulseAudio exists as an option. If this is a server, you will likely not need sound.
|-
!Kernels
|There are four kernels, as of now, that users may choose from:
 
* Linux - the latest upstream (?) generic kernel release.
* Linux-LTS - a staggered release of the generic kernel operating from the latest Long-Term-Support release.
* Linux-Zen - a version of the kernel designed for average desktop usage. [CITATION] It optimizes the main kernel in favor of being run on a desktop, yet it arguably does not seem to offer much actual performance gain or loss [CITATION]
* Linux-Hardened - a version of the Linux kernel with extra patches for more security. Consider whether you need this or not - there are potential drawbacks. [CITATION]
|-
!Additional Packages 
|Name any additional packages you may want (e.g. Firefox)
|-
!Network Configuration
|It's advised to use NetworkManager or plain iwctl so you do not have to worry about a broken network setup post-install. However, if you know what you are doing, use ethernet, or know how to install network pacakges after installation, you can still '''use no network configuration''' post install. If you are happy with your current configuration from the ISO, select '''copy from ISO.'''
|-
!Timezone
|Select your timezone.
|-
!Automatic Time Sync (NTP)
|Using systemctl timers [UNSURE], periodically sync with timeservers. For the ultra privacy-concerned, you can always leave this off.
|-
!Optional Repositories
|There are two as of writing:
 
* '''multilib -''' From experience, it is a good idea to leave this '''ticked on.''' These generally provide compatibility libraries that you may need for other applications to run.
* '''testing -''' From experience, it is a good idea to leave this '''ticked off.''' These are often packages still undergoing trial runs from developers and are extremely prone to breakages.
|}
Once you are done, either '''save configuration''' or plainly '''Install.'''


=== Trivia ===
=== Trivia ===


* If you add "ILoveCandy" to /etc/pacman.conf instead of a regular progress bar you get a pacman eating dots.
* If you add "ILoveCandy" to <code>/etc/pacman.conf</code> instead of a regular progress bar you get a pacman eating dots.
* The name "Arch" came from the word "arch-nemesis".<ref>https://web.archive.org/web/20120914175514/http://osdir.com/ml/linux.arch.general/2005-08/msg00253.html</ref>
* The name "Arch" came from the word "arch-nemesis".<ref>https://web.archive.org/web/20120914175514/http://osdir.com/ml/linux.arch.general/2005-08/msg00253.html</ref>
<references />
<references />
[[Category:Linux Distributions]]
[[Category:Linux Distributions]]

Latest revision as of 05:52, 4 July 2024

Arch Linux
Arch_Linux_"Crystal"_icon
The Arch Linux logo
Release Status Maintained
Release Model Rolling Release
Package Manager Pacman
Default Desktops Cinnamon, Enlightenment, GNOME, KDE Plasma, LXDE, MATE, Xfce
Usage Type Desktop
Architectures x86_64
Website archlinux.org
neofetch on Arch Linux

Arch Linux is an independent Linux distribution focused on the KISS (Keep It Simple, Stupid)[1] principle that focuses on being lightweight and flexible[2]. It was originally founded by Judd Vinet due to his inspiration from CRUX Linux being "simplistic, elegant, and very quick and easy to use" [3].

Functionality

Distinguishing features of Arch Linux from other distributions are its package manager named pacman and the minimal installation package set base, which as of July 4. 2024 comprises only 28 packages such as glibc, systemd, and the only optional package linux, comprising the kernel.

Building Arch Linux packages is automated by the bash script makepkg which executes either a build script or a PKGBUILD.[4][5] Users of the AUR are encouraged to understand the build scripts of packages they are about to execute before installing packages. makepkg is part of the pacman package.

Arch Installation Script

Mirrors Select a mirror region that is close to you. This is where pacman is able to fetch package lists.
Locales Select your keyboard layout.
Disk Configuration and Partitioning While manual partitioning is slightly more advanced for beginners, archinstall provides a setting for a pre-configured setup that streamlines the process.
Full Disk Encryption This is directed towards those interested in deeper security and/or privacy. While, security-wise, it does not necessarily guard your system while it is powered on, it will help mitigate data theft on your main drive from an adversary with access to it. [citation]
Bootloader You are able to pick from GRUB, systemd-boot, EFIstub, and Lumine. The choice is up to you - generally, GRUB is the most popular.
Unified Kernel Images [citation]   (Someone more experienced can fill)
Swap Memory The memory allocated to your system when it runs out of RAM. Set to as high or as little as you feel you need.
Host Name The name of your machine.
Root Password   Set a password for the root account.
Profile and Drivers Here, you can select multiple profiles:
  • minimal - a barebones installation of Arch without any Display Manager. Consider whether you will really need such a minimal system.
  • server - a minimal install aimed towards a headless server.
  • desktop - the most popular choice for archinstall. Offers not only Desktop Environments but also Window Managers.
  • Xorg - offers a minimal install, but with graphics drivers attached.

Keep in mind your system composition and remember which Graphics Card or Processor you are using to select the correct driver.

Greeter/Display Manager Offers a choice between sddm, gdm, ly, and lightdm.
Audio It is generally recommended to pick pipewire, yet PulseAudio exists as an option. If this is a server, you will likely not need sound.
Kernels There are four kernels, as of now, that users may choose from:
  • Linux - the latest upstream (?) generic kernel release.
  • Linux-LTS - a staggered release of the generic kernel operating from the latest Long-Term-Support release.
  • Linux-Zen - a version of the kernel designed for average desktop usage. [CITATION] It optimizes the main kernel in favor of being run on a desktop, yet it arguably does not seem to offer much actual performance gain or loss [CITATION]
  • Linux-Hardened - a version of the Linux kernel with extra patches for more security. Consider whether you need this or not - there are potential drawbacks. [CITATION]
Additional Packages Name any additional packages you may want (e.g. Firefox)
Network Configuration It's advised to use NetworkManager or plain iwctl so you do not have to worry about a broken network setup post-install. However, if you know what you are doing, use ethernet, or know how to install network pacakges after installation, you can still use no network configuration post install. If you are happy with your current configuration from the ISO, select copy from ISO.
Timezone Select your timezone.
Automatic Time Sync (NTP) Using systemctl timers [UNSURE], periodically sync with timeservers. For the ultra privacy-concerned, you can always leave this off.
Optional Repositories There are two as of writing:
  • multilib - From experience, it is a good idea to leave this ticked on. These generally provide compatibility libraries that you may need for other applications to run.
  • testing - From experience, it is a good idea to leave this ticked off. These are often packages still undergoing trial runs from developers and are extremely prone to breakages.

Once you are done, either save configuration or plainly Install.

Trivia

  • If you add "ILoveCandy" to /etc/pacman.conf instead of a regular progress bar you get a pacman eating dots.
  • The name "Arch" came from the word "arch-nemesis".[6]