Arch terminology: Difference between revisions

From ArchWiki
(Deadlink)
 
(75 intermediate revisions by 23 users not shown)
Line 1: Line 1:
[[Category:About Arch]]
[[Category:About Arch]]
[[cs:Arch Terminology]]
[[da:Arch terminology]]
[[es:Arch Terminology]]
[[es:Arch terminology]]
[[ja:Arch 用語集]]
[[ja:Arch 用語集]]
[[pt:Arch terminology]]
[[pt:Arch terminology]]
[[ru:Arch Terminology]]
[[zh-hans:Arch terminology]]
[[zh-hans:Arch terminology]]
This page is intended to be a page to demystify common terms used among the Arch Linux community. Feel free to add or modify any terms, but please use that particular section's edit option. If you decide to add one, please put it in alphabetical order.
This page is intended to be a page to demystify common terms used among the Arch Linux community. Feel free to add or modify any terms, but please use that particular section's edit option. If you decide to add one, put it in alphabetical order.


== ABS ==
== ABS ==


The [[Arch Build System]] (ABS) is useful to:
ABS stands for [[Arch build system]].
 
* Make new packages of software for which no packages are yet available
* Customize/modify existing packages to fit your needs (enabling or disabling options)
* Re-build your entire system using your compiler flags, "a la Gentoo"
* Getting kernel modules working with your custom kernel
 
ABS is not necessary to use Arch Linux, but it is useful.  


== Arch Linux ==
== Arch Linux ==


Arch should be referred to as:
Arch should be referred to as:
*'''Arch Linux'''
*'''Arch Linux'''
*'''Arch''' (Linux implied)
*'''Arch''' (Linux implied)
Line 28: Line 21:
Archlinux, ArchLinux, archLinux, aRcHlInUx, etc. are all weird, and weirder mutations.
Archlinux, ArchLinux, archLinux, aRcHlInUx, etc. are all weird, and weirder mutations.


Officially, the 'Arch' in "Arch Linux" is pronounced /ˈɑrtʃ/ as in an "archer"/bowman, or "arch-nemesis", and not as in "ark" or "archangel".
Officially, the 'Arch' in "Arch Linux" is pronounced /ɑːrtʃ/ as in an "archer"/bowman, or "archnemesis", and not as in "ark" or "archangel".


== Arch Linux Archive ==
== Arch Linux Archive ==
Line 36: Line 29:
== AUR ==
== AUR ==


The [[Arch User Repository]] (AUR) is a community-driven repository for Arch users. It contains package descriptions ([[PKGBUILD]]s) that allow you to compile a package from source with [[makepkg]] and then install it via [[pacman#Additional commands|pacman]]. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the [[community]] repository. This document explains how users can access and utilize the AUR.
The [[Arch User Repository]] (AUR) is a community-driven repository for Arch users. It contains package descriptions ([[PKGBUILD]]s) that allow you to compile a package from source with [[makepkg]] and then install it via [[pacman#Additional commands|pacman]]. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the [[extra repository]].


A good number of new packages that enter the official repositories start in the AUR. In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for or against packages in the AUR.  If a package becomes popular enough — provided it has a compatible license and good packaging technique — it may be entered into the ''community'' repository (directly accessible by [[pacman]] or [[abs]]).
A good number of new packages that enter the official repositories start in the AUR. In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for or against packages in the AUR.  If a package becomes popular enough provided it has a compatible license and good packaging technique it may be entered into the ''extra'' repository (directly accessible by [[pacman]] or the [[ABS]]).


You can access the Arch Linux User Community Repository [https://aur.archlinux.org here].
You can access the ''A''rch Linux ''U''ser Community ''R''epository [https://aur.archlinux.org here].
 
== bbs ==


==bbs==
'''B'''ulletin '''b'''oard '''s'''ystem, but in Arch's case, it is just the support forum located [https://bbs.archlinux.org here].
'''B'''ulletin '''b'''oard '''s'''ystem, but in Arch's case, it is just the support forum located [https://bbs.archlinux.org here].


==community/[community]==
== core/[core] ==
The ''community'' repository is where pre-built packages are made available by [[Trusted Users]]. A majority of the packages in community come from the [[AUR]].


==core/[core]==
The ''core'' repository contains the bare packages needed for an Arch Linux system. core has everything needed to get a working command-line system.
The ''core'' repository contains the bare packages needed for an Arch Linux system. core has everything needed to get a working command-line system.


==custom/user repository==
== custom/user repository ==
 
Anyone can create a repository and put it online for other users. To create a repository, you need a set of packages and a [[pacman]]-compatible database file for your packages. Host your files online and everyone will be able to use your repository by adding it as a regular repository.
Anyone can create a repository and put it online for other users. To create a repository, you need a set of packages and a [[pacman]]-compatible database file for your packages. Host your files online and everyone will be able to use your repository by adding it as a regular repository.


See [[Custom local repository]].
See [[Custom local repository]].


==Developer==
== Developer ==
Half-gods working to improve Arch for no financial gain. [https://www.archlinux.org/people/developers/ Developers] are outranked only by our gods, Judd Vinet and Aaron Griffin, who in turn are outranked by tacos.
 
Half-gods working to improve Arch for no financial gain. [https://archlinux.org/people/developers/ Developers] are outranked only by our gods, Judd Vinet and Aaron Griffin, who in turn are outranked by tacos.


==extra/[extra]==
== extra/[extra] ==
Arch's official package set is fairly streamlined, but we supplement this with a larger, more complete ''extra'' repository that contains a lot of the stuff that never made it into our core package set. This repository is constantly growing with the help of packages submitted from our strong community.
 
Arch's core package set is fairly streamlined, but we supplement this with a larger, more complete ''extra'' repository. This repository is constantly growing with the help of packages submitted from our strong community.
This is where desktop environments, window managers and common programs are found.
This is where desktop environments, window managers and common programs are found.


==initramfs==
== initramfs/initrd ==
 
See [[mkinitcpio]].
See [[mkinitcpio]].


==initrd==
== KISS ==
Obsolete. Nowadays often used as a synonym for initramfs.


== KISS ==
Acronym of Keep It Simple, Stupid. [[Arch Linux#Simplicity|Simplicity]] is a main principle Arch Linux tries to achieve.
 
== makepkg ==


Acronym of Keep It Simple, Stupid. [[Arch_Linux#Simplicity|Simplicity]] is a main principle Arch Linux tries to achieve.
[[makepkg]] will build packages for you. makepkg will read the metadata required from a [[PKGBUILD]] file. All it needs is a build-capable Linux platform, {{pkg|curl}}, and some build scripts. The advantage to a script-based build is that you only really do the work once. Once you have the build script for a package, you just need to run makepkg and it will do the rest: download and validate source files, check dependencies, configure the build time settings, build the package, install the package into a temporary root, make customization, generate meta-info, and package the whole thing up for [[pacman]] to use.


==makepkg==
== namcap ==
[[makepkg]]  will build packages for you. makepkg will read the metadata required from a [[PKGBUILD]] file.
All it needs is a build-capable Linux platform, {{pkg|wget}}, and some build scripts. The advantage to a script-based build is that you only really do the work once. Once you have the build script for a package, you just need to run makepkg and it will do the rest: download and validate source files, check dependencies, configure the build time settings, build the package, install the package into a temporary root, make customizations, generate meta-info, and package the whole thing up for [[pacman]] to use.


==namcap==
[[namcap]] is a package analysis utility that looks for problems with Arch Linux packages or their [[PKGBUILD]] files. It can apply rules to the file list, the files themselves, or individual PKGBUILD files.
[[namcap]] is a package analysis utility that looks for problems with Arch Linux packages or their [[PKGBUILD]] files. It can apply rules to the file list, the files themselves, or individual PKGBUILD files.


Rules return lists of messages. Each message can be one of three types: error, warning, or information (think of them as notes or comments). Errors (designated by 'E:') are things that namcap is very sure are wrong and need to be fixed. Warnings (designated by 'W:') are things that namcap thinks should be changed but if you know what you are doing then you can leave them. Information (designated 'I:') are only shown when you use the info argument. Information messages give information that might be helpful but is not anything that needs changing.
Rules return lists of messages. Each message can be one of three types: error, warning, or information (think of them as notes or comments). Errors (designated by 'E:') are things that namcap is very sure are wrong and need to be fixed. Warnings (designated by 'W:') are things that namcap thinks should be changed but if you know what you are doing then you can leave them. Information (designated 'I:') are only shown when you use the info argument. Information messages give information that might be helpful but is not anything that needs changing.


==package==
== package ==
A package is an archive containing
 
* all of the (compiled) files of an application
See [[pacman#Installing packages]].
* metadata about the application, such as application name, version, dependencies, ...
* installation files and directives for [[pacman]]
* (optionally) extra files to make your life easier, such as a start/stop script
Arch's package manager pacman can install, update, and remove those packages. Using packages instead of compiling and installing programs yourself has various benefits:
* easily updatable: pacman will update existing packages as soon as updates are available
* dependency checks: pacman handles dependencies for you, you only need to specify the program and pacman installs it together with every other program it needs
* clean removal: pacman has a list of every file in a package. This way, no files are left behind when you decide to remove a package.


{{Note|Different GNU/Linux distributions use different packages and package managers, meaning that you cannot use pacman to install a Debian package on Arch.}}
{{Note|Different GNU/Linux distributions use different packages and package managers, meaning that you cannot use pacman to install a Debian package on Arch.}}


==Package maintainer==
== Package maintainer ==
The role of the package maintainer is to update packages as new versions become available upstream and to field support questions relating to bugs in said packages. The term may be applied to any of the following:


* A core Arch Linux developer who maintains a software package in one of the official repositories (core, extra, or testing).
The role of a package maintainer is to update packages as new versions become available upstream and to field support questions relating to bugs in said packages. The term applies to:
* A [[AUR Trusted User Guidelines|Trusted User]] of the community who maintains software packages in the unsupported/unofficial community repository.
 
* A normal user who maintains a [[PKGBUILD]] and local source files in the [[AUR]].
* Arch staff previously called [https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/6UPKMAL2A7FNAUNWMTHWI4EXV2KS5OSC/ Trusted Users (TU)] who [[Package Maintainers|maintain packages]] in the ''extra'' repository and oversee the [[AUR]]. They are appointed by a majority vote by the existing package maintainers and  they follow the [[AUR Package Maintainer guidelines]] and [https://package-maintainer-bylaws.aur.archlinux.org/ Package Maintainer Bylaws].
* Developers who maintain packages in the [[official repositories]] (''core'' in particular).
* All users who maintain PKGBUILDs in the AUR.


The maintainer of a package is the person currently responsible for the package. Previous maintainers should be listed as contributors in the PKGBUILD along with others who have contributed to the package.
The maintainer of a package is the person currently responsible for the package. Previous maintainers should be listed as contributors in the PKGBUILD along with others who have contributed to the package.


==pacman==
== pacman ==
The [[pacman]] [[Wikipedia:Package manager|package manager]] is one of the major distinguishing features of Arch Linux. It combines a simple binary package format with an easy-to-use [[Arch Build System|build system]]. The goal of ''pacman'' is to make it possible to easily manage packages, whether they are from the [[official repositories]] or the user's own builds.


''pacman'' keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows the user to download/install packages with a simple command, complete with all required dependencies.
See [[pacman]].


NB: Pacman was written by Judd Vinet, the creator of Arch Linux. It is used as a package management tool by other distributions as well, such as FrugalWare, Rubix, UfficioZero (in Italy, based on Ubuntu), and, of course, [[Arch based distributions]] such as Archie and AEGIS.
== PKGBUILD ==


==pacman.conf==
This is the configuration file of [[pacman]]. It is located in {{ic|/etc}}. For a full explanation of its powers, type this at the command {{ic|man pacman.conf}}.
==PKGBUILD==
[[PKGBUILD]]s are small scripts that are used to build Arch Linux packages. See [[Creating packages]] for more detail.
[[PKGBUILD]]s are small scripts that are used to build Arch Linux packages. See [[Creating packages]] for more detail.


==repository/repo==
== Repository (repo) ==
The repository has the pre-compiled packages of one or (usually) more [[PKGBUILD]]s. [[Official repositories]] are split into different parts for easy maintaince. Pacman uses these repositories to search for packages and install them. A repository can be local (i.e. on your own computer) or remote (i.e. the packages are downloaded before they are installed).


==[[Wikipedia:RTFM|RTFM]]==
A repository has the pre-compiled packages of one or (usually) more [[PKGBUILD]]s. [[Official repositories]] are split into different parts for easy maintenance. Pacman uses these repositories to search for packages and install them. A repository can be local (i.e. on your own computer) or remote (i.e. the packages are downloaded before they are installed).


{{Merge|Code of conduct#Common sense introduction|Not an "Arch terminology", really.}}
== RTFM ==


"Read The Fine Manual". This simple message is replied to a lot of new Linux/Arch users who ask about the functionality of a program when it is clearly defined in the program's manual.
[[Wikipedia:RTFM|RTFM]] stands for "''R''ead ''T''he ''F''riendly ''M''anual". This simple message is replied to a lot of new Linux/Arch users who ask about the functionality of a program when it is clearly defined in the program's manual.


It is often used when a user fails to make any attempt to find a solution to the problem themselves. If someone tells you this, they are not trying to offend you; they are just frustrated with your lack of effort.  
This acronym is an invitation to self-care, not an insult. It is often used when a user is seen as failing to make any attempt to find a solution to the problem themselves. If someone tells you this, they are not trying to offend you; they are just feeling frustrated with a perceived lack of effort.  


The best thing to do if you are told to do this is to read the manual page.
The best thing to do if you are told to do this is to read the manual page. To read the program manual page for a particular program named ''PROGRAM-NAME'', type this at the command line: {{ic|man ''PROGRAM-NAME''}}.
* To read the program manual page for a particular program named as PROGRAM-NAME, type this at the command line: {{ic|man PROGRAM-NAME}}.


If you do not find the answer to your question in the program manual, there are more ways to find the answer. You can:
If you do not find the answer to your question in the program manual, there are more ways to find the answer. You can:
* search the [[Special:Search|wiki]]
* search the [[Special:Search|wiki]]
* search the [https://bbs.archlinux.org forum]
* search the [https://bbs.archlinux.org forum]
* search the [https://www.google.com/#hl=en&q=arch+site:archlinux.org%2Fpipermail%2F mailing lists]
* search the [https://www.google.com/search?q=arch+site%3Alists.archlinux.org mailing lists]
* search the [https://www.google.com web]
* search the [https://www.google.com web]


==testing/[testing]==
== Testing repositories ==
This is the repository where major packages/updates to packages are kept prior to release into the main repositories, so they can be bug tested and upgrade issues can be found. It is disabled by default but can be enabled in {{ic|/etc/pacman.conf}}
 
They are the repositories where major packages/updates to packages are kept prior to release into the main repositories, so they can be bug tested and upgrade issues can be found. They are [[Official repositories#Testing repositories|disabled by default]] but can be enabled in {{ic|/etc/pacman.conf}}.


== The Arch Way ==
== The Arch Way ==
The unofficial term traditionally used to refer to the main [[Arch Linux#Principles|Arch Linux principles]].
The unofficial term traditionally used to refer to the main [[Arch Linux#Principles|Arch Linux principles]].


==TU, Trusted User==
== Trusted User (TU) ==
A [[trusted user]] is someone who maintains the AUR and the [community] repository.
Trusted Users may move a package into the [community] repository if it has been voted as popular.
TUs are appointed by a majority vote by the existing TUs.
 
Trusted users follow the [[AUR Trusted User Guidelines]] and [https://aur.archlinux.org/trusted-user/TUbylaws.html TU by-laws]
 
==udev==
[[udev]] provides a dynamic device directory containing only the files for actually present devices. It creates or removes device node files in the {{ic|/dev}} directory, or it renames network interfaces.


Usually udev runs as udevd(8) and receives uevents directly from the kernel if a device is added/removed to/from the system.
See [[#Package maintainer]].


If udev receives a device event, it matches its configured rules against the available device attributes provided in sysfs to identify the device. Rules that match may provide additional device information or specify a device node name and multiple symlink names and instruct udev to run additional programs as part of the device event handling.
== wiki ==


==[[Wikipedia:Wiki|wiki]]==
Our [[Wikipedia:Wiki|wiki]] is a place to find documentation about Arch Linux. Anyone can contribute to the documentation.
[[Main page|This!]] A place to find documentation about Arch Linux. Anyone can add and modify the documentation.

Latest revision as of 09:42, 4 November 2023

This page is intended to be a page to demystify common terms used among the Arch Linux community. Feel free to add or modify any terms, but please use that particular section's edit option. If you decide to add one, put it in alphabetical order.

ABS

ABS stands for Arch build system.

Arch Linux

Arch should be referred to as:

  • Arch Linux
  • Arch (Linux implied)
  • archlinux (UNIX name)

Archlinux, ArchLinux, archLinux, aRcHlInUx, etc. are all weird, and weirder mutations.

Officially, the 'Arch' in "Arch Linux" is pronounced /ɑːrtʃ/ as in an "archer"/bowman, or "archnemesis", and not as in "ark" or "archangel".

Arch Linux Archive

The Arch Linux Archive (a.k.a ALA), formerly known as Arch Linux Rollback Machine (a.k.a ARM), stores official repositories snapshots, ISO images and bootstrap tarballs across time.

AUR

The Arch User Repository (AUR) is a community-driven repository for Arch users. It contains package descriptions (PKGBUILDs) that allow you to compile a package from source with makepkg and then install it via pacman. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the extra repository.

A good number of new packages that enter the official repositories start in the AUR. In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for or against packages in the AUR. If a package becomes popular enough — provided it has a compatible license and good packaging technique — it may be entered into the extra repository (directly accessible by pacman or the ABS).

You can access the Arch Linux User Community Repository here.

bbs

Bulletin board system, but in Arch's case, it is just the support forum located here.

core/[core]

The core repository contains the bare packages needed for an Arch Linux system. core has everything needed to get a working command-line system.

custom/user repository

Anyone can create a repository and put it online for other users. To create a repository, you need a set of packages and a pacman-compatible database file for your packages. Host your files online and everyone will be able to use your repository by adding it as a regular repository.

See Custom local repository.

Developer

Half-gods working to improve Arch for no financial gain. Developers are outranked only by our gods, Judd Vinet and Aaron Griffin, who in turn are outranked by tacos.

extra/[extra]

Arch's core package set is fairly streamlined, but we supplement this with a larger, more complete extra repository. This repository is constantly growing with the help of packages submitted from our strong community. This is where desktop environments, window managers and common programs are found.

initramfs/initrd

See mkinitcpio.

KISS

Acronym of Keep It Simple, Stupid. Simplicity is a main principle Arch Linux tries to achieve.

makepkg

makepkg will build packages for you. makepkg will read the metadata required from a PKGBUILD file. All it needs is a build-capable Linux platform, curl, and some build scripts. The advantage to a script-based build is that you only really do the work once. Once you have the build script for a package, you just need to run makepkg and it will do the rest: download and validate source files, check dependencies, configure the build time settings, build the package, install the package into a temporary root, make customization, generate meta-info, and package the whole thing up for pacman to use.

namcap

namcap is a package analysis utility that looks for problems with Arch Linux packages or their PKGBUILD files. It can apply rules to the file list, the files themselves, or individual PKGBUILD files.

Rules return lists of messages. Each message can be one of three types: error, warning, or information (think of them as notes or comments). Errors (designated by 'E:') are things that namcap is very sure are wrong and need to be fixed. Warnings (designated by 'W:') are things that namcap thinks should be changed but if you know what you are doing then you can leave them. Information (designated 'I:') are only shown when you use the info argument. Information messages give information that might be helpful but is not anything that needs changing.

package

See pacman#Installing packages.

Note: Different GNU/Linux distributions use different packages and package managers, meaning that you cannot use pacman to install a Debian package on Arch.

Package maintainer

The role of a package maintainer is to update packages as new versions become available upstream and to field support questions relating to bugs in said packages. The term applies to:

The maintainer of a package is the person currently responsible for the package. Previous maintainers should be listed as contributors in the PKGBUILD along with others who have contributed to the package.

pacman

See pacman.

PKGBUILD

PKGBUILDs are small scripts that are used to build Arch Linux packages. See Creating packages for more detail.

Repository (repo)

A repository has the pre-compiled packages of one or (usually) more PKGBUILDs. Official repositories are split into different parts for easy maintenance. Pacman uses these repositories to search for packages and install them. A repository can be local (i.e. on your own computer) or remote (i.e. the packages are downloaded before they are installed).

RTFM

RTFM stands for "Read The Friendly Manual". This simple message is replied to a lot of new Linux/Arch users who ask about the functionality of a program when it is clearly defined in the program's manual.

This acronym is an invitation to self-care, not an insult. It is often used when a user is seen as failing to make any attempt to find a solution to the problem themselves. If someone tells you this, they are not trying to offend you; they are just feeling frustrated with a perceived lack of effort.

The best thing to do if you are told to do this is to read the manual page. To read the program manual page for a particular program named PROGRAM-NAME, type this at the command line: man PROGRAM-NAME.

If you do not find the answer to your question in the program manual, there are more ways to find the answer. You can:

Testing repositories

They are the repositories where major packages/updates to packages are kept prior to release into the main repositories, so they can be bug tested and upgrade issues can be found. They are disabled by default but can be enabled in /etc/pacman.conf.

The Arch Way

The unofficial term traditionally used to refer to the main Arch Linux principles.

Trusted User (TU)

See #Package maintainer.

wiki

Our wiki is a place to find documentation about Arch Linux. Anyone can contribute to the documentation.