Help:Reading (한국어)
Arch Linux(혹은 일반적으로 GNU/Linux)를 처음 접하는 사용자라면 ArchWiki에서 사용되는 표현에 대해 설명이 필요할 수도 있으므로, 이 문서에서는 기본적인 절차들과 함께, ArchWiki에서 사용되는 표현에서 혼동을 미연에 방지하고, 문서간의 반복되는 설명을 간소화하기 위해 작성되었다.
조직
대부분의 ArchWiki의 문서는 하나의 주제에 대해서 전론적인 소개를 제공하지 않는다. 대신, ArchWiki의 문서는 DRY 원칙에 따라, 사용자가 필요에 따라 이해하지 못한 부분에 대한 추가적인 정보를 찾아 읽는다는 가정하에 작성된다.
Because of this organization, it may be necessary to examine several related sources in order to fully understand an ArchWiki article. In particular, users who are new to Arch (or GNU/Linux in general) should expect to end up reading a great number of articles even when solving simple problems. It is especially important to study the supporting material before seeking additional help from other users.
Formatting
- link to a section in the current article: #조직
- link to another ArchWiki article
- link to an external web page
- link to a man page: intro(1)
- a man page that's only available offline: foo(1)
- link to a package in the official repositories: foobar
- link to a package in the AUR: foobarAUR
Regular user or root
Some lines are written like so:
# mkinitcpio -p linux
Others have a different prefix:
$ makepkg -s
The numeral or hash sign (#
) indicates that the command needs to be run as root, whereas the dollar sign ($
) shows that the command should be run as a regular user.
#
are intended to be executed from a root shell, which can for example be easily accessed with sudo -i
. Running sudo command
from an unprivileged shell instead of command
from a root shell will also work in most cases, with some notable exceptions such as redirection and command substitution, which strictly require a root shell. See also sudo.A notable exception to watch out for:
# This alias makes ls colorize the listing alias ls='ls --color=auto'
In this example, the context surrounding the numeral sign communicates that this is not to be run as a command; it should be edited into a file instead. So in this case, the numeral sign denotes a comment. A comment can be explanatory text that will not be interpreted by the associated program. Bash scripts denotation for comments happens to coincide with the root PS1.
After further examination, "give away" signs include the uppercase character following the #
sign. Usually, Unix commands are not written this way and most of the time they are short abbreviations instead of full-blown English words (e.g., Copy becomes cp).
Regardless, most articles make this easy to discern by notifying the reader:
Append to ~/path/to/file
:
# This alias makes ls colorize the listing alias ls='ls --color=auto'
Append, add, create, edit
When prompted to append to, add to, create, or edit one or more files, it is implied that you should use one of the following methods.
To create or modify multiline files it is suggested to use a text editor. For example, using the nano command to edit the file /etc/bash.bashrc
is:
# nano /etc/bash.bashrc
To create or overwrite a file from a string it may be simpler to use output redirection. The following example creates or overwrites the contents of the file /etc/hostname
with the text myhostname
.
# echo myhostname > /etc/hostname
Output redirection can also be used to append a string to a file. The following example appends the text [custom-repo]
to the file /etc/pacman.conf
.
# echo "[custom-repo]" >> /etc/pacman.conf
When prompted to create directories, use the mkdir command:
# mkdir /mnt/boot
Make executable
After creating a file, if it is meant to be run as a script (whether manually or called by another program) it needs to be set as executable, for example with:
$ chmod +x script
See chmod. Some applications such as file managers may provide graphical interfaces to do the same.
Source
Some applications, notably command-line shells, use scripts for their configuration: after modifying them, they must be sourced in order for the changes to be applied. In the case of bash, for example, this is done by running (you can also replace source
with .
):
$ source ~/.bashrc
When the wiki will suggest to modify such a configuration script, it will not explicitly remind you to source the file, and only in some cases it will point you to this section with a reminder link.
Installation of packages
When an article invites you to install some packages in the conventional way, it will not indicate the detailed instructions to do so, instead it will simply mention the names of the packages to be installed.
The subsections below give an overview of the generic installation procedures depending on the package type.
Official packages
공식 패키지
공식 저장소의 패키지에 대해서 다음과 같은 문장을 접할 수 있다.
- foobar 패키지를 설치한다.
이는 사용자가 다음을 실행하는 것을 의미한다.
# pacman -S foobar
Pacman 문서에서는 Arch Wiki에서의 효율적인 패키지 관리 방법에 대하여 자세하게 다룬다.
Arch 유저 저장소(AUR)
Arch 유저 저장소(AUR)에서의 패키지에 대해서는 다음과 같은 문장을 접할 수 있다.
- foobarAUR 패키지를 설치한다.
이는 보통, 사용자가 {{AUR|foobar} 링크에서 PKGBUILD 아카이브 파일을 다운로드, 압축 해제 후, 내용물을 검증한 뒤, 최종적으로 다음을 동일 디렉토리에서 실행하는 것을 의미한다.
$ makepkg -sri
The Arch User Repository article contains all the detailed explanations and best practices to deal with AUR packages.
Control of systemd units
When an article invites to start, enable, stop or restart some systemd units (e.g. a service), it will not indicate the detailed instructions to do so, but instead you will read something like:
-
Start
example.service
.
This means that you have to run:
# systemctl start example.service
The start link will lead you to the systemd article, which contains all the detailed explanations to deal with systemd units in Arch Linux proficiently.
System-wide versus user-specific configuration
It is important to remember that there are two different kinds of configurations on a GNU/Linux system. System-wide configuration affects all users. Since system-wide settings are generally located in the /etc
directory, root privileges are required in order to alter them. For example, to apply a Bash setting that affects all users, /etc/bash.bashrc
should be modified.
User-specific configuration affects only a single user. Dotfiles are used for user-specific configuration. For example, the file ~/.bashrc
is the user-specific configuration file. The idea is that each user can define their own settings, such as aliases, functions and other interactive features like the prompt, without affecting other users' preferences.
~/
and $HOME
are shortcuts for the user's home directory, usually /home/username/
.Common shell files
Bash and other Bourne-compatible shells, such as Zsh, also source files depending on whether the shell is a login shell or an interactive shell. See Bash#Configuration files and Zsh#Startup/Shutdown files for details.
Pseudo-variables in code examples
Some code blocks may contain so-called pseudo-variables, which, as the name says, are not actual variables used in the code. Instead they are generic placeholders and have to be manually replaced with system-specific configuration items before the code may be run or parsed. Common shells such as bash and zsh provide tab-completion to auto-complete parameters for common commands such as systemctl.
In the articles that comply with Help:Style/Formatting and punctuation, pseudo-variables are formatted in italics. For example:
-
Enable the
dhcpcd@interface_name.service
for the network interface identified from the output of theip link
command.
In this case interface_name
is used as a pseudo-variable placeholder in a systemd template unit. All systemd template units, identifiable by the @
sign, require a system-specific configuration item as argument. See Systemd#Using units.
- The command
dd if=data_source of=/dev/sdX bs=sector_size count=sector_number seek=partitions_start_sector
can be run as root to wipe a partition with the specific parameters.
In this case the pseudo-variables are used to describe the parameters that must be substituted for them. Details on how to gather them are elaborated on in the section Securely wipe disk#Calculate blocks to wipe manually, which features the command.
In case of file examples, pasting pseudo-variables in real configuration files might break the programs that use them.
Ellipses
In most cases ellipses (...
) are not part of the actual file content or code output, and instead represent omitted or optional text that is not relevant for the discussed subject.
For example HOOKS="... encrypt ... filesystems ..."
or:
/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass" ... Option "CircularScrolling" "on" Option "CircScrollTrigger" "0" ... EndSection
Be aware though that, in a few instances, ellipses may be a meaningful part of the code syntax: attentive users will be able to easily recognize these cases by the context.