Help:Reading (Русский)
Поскольку подавляющее большинство статей в ArchWiki содержит указания, не совсем понятные для новых пользователей Arch Linux (или GNU/Linux в целом), было решено написать это краткое изложение основных процедур во избежание путаницы при чтении, а также для уменьшения количества повторений в самом содержании статей.
Организация
Большинство статей в ArchWiki не предоставляет целостного погружения в конкретную тему, они пишутся в соответствии с принципом «Не повторяйся» и предполагают, что пользователь самостоятельно найдёт и прочитает необходимые дополнительные материалы по тем темам, которые ему непонятны. Там, где это возможно, ссылки на такие материалы приведены в самих статьях с использованием специального форматирования — смотрите раздел #Форматирование.
Вследствие такой организации, чтобы лучше усвоить материал, может потребоваться изучить несколько относящихся к теме источников. В частности, новичкам в Arch (или GNU/Linux в целом) может понадобиться прочитать довольно много статей даже при решении простых проблем. Особенно важно изучить вспомогательные материалы, прежде чем обращаться за дополнительной помощью к другим пользователям.
Форматирование
- ссылка на раздел в текущей статье: #Организация
- ссылка на другую статью ArchWiki
- ссылка на внешний веб-ресурс
- ссылка на man-страницу: intro(1)
- man-страница, недоступная через интернет: foo(1)
- ссылка на пакет, находящийся в официальных репозиториях: foobar
- ссылка на пакет, находящийся в AUR: foobarAUR
Обычный пользователь или root
Есть строки, написанные так:
# mkinitcpio -p linux
А есть с другим префиксом:
$ makepkg -s
Знак решётки (#
) указывает на то, что команда должна быть запущена от имени root, в то время как знак доллара ($
) показывает, что команда должна быть запущена от имени обычного пользователя.
#
предназначены для выполнения из командной оболочки суперпользователя (root shell), доступ к которой можно легко получить, например, с помощью команды sudo -i
. В большинстве случаев вместо запуска новой оболочки можно просто выполнить sudo команда
, за исключением некоторых случаев, таких как перенаправление ввода-вывода и подстановка команд (англ.), для работы которых может понадобиться именно командная оболочка суперпользователя. Смотрите также статью sudo.Есть одно исключение, на которое стоит обратить внимание:
# Этот псевдоним раскрашивает список вывода ls alias ls='ls --color=auto'
В этом примере контекст, в котором находится знак #
, намекает, что это не команда, которую нужно сразу выполнять; подразумевается, что этот код должен быть записан в какой-то файл, а знак #
просто обозначает комментарий в этом коде. Комментарии игнорируются программой, выполняющей код, и обычно содержат пояснения к коду. В скриптах Bash знак, обозначающий комментарии, совпадает со знаком в строке приглашения суперпользователя.
Для текста на английском языке дополнительным намёком на то, что это просто комментарий, может быть заглавная буква после знака #
. В Unix-подобных системах команды обычно имеют другой стиль: чаще всего это не полные слова, а короткие аббревиатуры без заглавных букв (например, команда копирования имеет название не Copy, а cp).
В любом случае, в статьях обычно явно поясняется, что это такое и что с этим делать, например:
Добавьте следующие строки в файл ~/путь/к/файлу
:
# Этот псевдоним раскрашивает список вывода ls alias ls='ls --color=auto'
Добавить, создать, редактировать
Когда статья предлагает создать или отредактировать один или несколько файлов или добавить что-то в файл, в этом случае предполагается использование одного из следующих методов.
Для создания или изменения текстовых файлов предлагается использовать текстовый редактор. Например, использование nano для редактирования файла /etc/bash.bashrc
:
# nano /etc/bash.bashrc
Чтобы создать или перезаписать файл, состоящий из одной строки, может быть проще использовать перенаправление вывода в терминале. В следующем примере создаётся файл /etc/hostname
с текстом myhostname
(если файл уже существует, то старое содержимое будет стёрто).
# echo myhostname > /etc/hostname
Также перенаправление вывода можно использовать для добавления новой строки в файл. Следующий пример добавляет строку [custom-repo]
в конце файла /etc/pacman.conf
.
# echo "[custom-repo]" >> /etc/pacman.conf
Когда просят создать каталог, используйте команду mkdir:
# mkdir /mnt/boot
Сделать исполняемым
После создания файла, предназначенного для запуска в виде скрипта (вручную или другой программой), нужно сделать его исполняемым. Для этого можно использовать, например, команду chmod:
$ chmod +x имя_скрипта
Подробная информация об этой команде есть в разделе Разрешения и атрибуты файлов#Изменение разрешений. Некоторые приложения, такие как файловый менеджер, могут предоставлять графический интерфейс для изменения разрешений.
Source
Некоторые приложения, в частности командные оболочки, используют скрипты для своей настройки: после редактирования таких скриптов нужно выполнить source для применения изменений. Например, в случае с bash это делается путём выполнения такой команды (также можно заменить source
на .
):
$ source ~/.bashrc
Когда статья предложит изменить скрипт настроек, она не будет напоминать вам о выполнении команды source для файла, и только в некоторых случаях вы увидите ссылку на этот раздел в качестве напоминания.
Установка пакетов
Когда статья предлагает установить какие-либо пакеты обычным способом, она не будет содержать подробные инструкции по установке. Вместо них будут имена пакетов, которые нужно установить.
Следующие подразделы дают обзор общих процедур установки в зависимости от типа пакета.
Официальные пакеты
Для пакетов из официальных репозиториев вы увидите что-то вроде:
- Установите пакет имя_пакета.
Это означает, что вам нужно выполнить команду:
# pacman -S имя_пакета
Статья pacman содержит подробную информацию об управлении пакетами в Arch Linux.
Пользовательский репозиторий Arch (AUR)
Для пакетов из пользовательского репозитория Arch (AUR) вы увидите что-то вроде:
- Установите пакет имя_пакетаAUR.
В общем случае это означает, что нужно перейти по ссылке имя_пакетаAUR, скачать архив PKGBUILD, распаковать его, проверить содержимое и в том же каталоге выполнить команду:
$ makepkg -si
Статья Пользовательский репозиторий Arch содержит все подробные объяснения и лучшие методы работы с пакетами из AUR.
Управление юнитами systemd
Когда статья предлагает запустить, включить, остановить или перезапустить какой-то юнит systemd (например, службу), в статье не будут указаны подробные инструкции как это сделать, вместо этого вы увидите примерно такое:
- Запустите службу
пример.service
.
Это означает, что вам нужно выполнить команду:
# systemctl start пример.service
Список доступных операций и пояснения к ним описаны в разделе systemd (Русский)#Использование юнитов.
Общесистемные или пользовательские настройки
Важно помнить, что в системе GNU/Linux существуют два разных вида настроек. Общесистемные настройки влияют на всех пользователей. Поскольку общесистемные настройки обычно расположены в каталоге /etc
, для их редактирования нужны права суперпользователя (root). Например, чтобы изменить настройки Bash для всех пользователей, нужно отредактировать файл /etc/bash.bashrc
.
Пользовательские настройки затрагивают только конкретного пользователя. Имена пользовательских файлов настроек обычно начинаются с точки (так называемые dotfiles). Например, файл ~/.bashrc
является пользовательским (для конкретного пользователя) файлом настроек Bash. Идея заключается в том, что каждый пользователь может задать свои собственные настройки, такие как псевдонимы (alias), функции и другие интерактивные функции, такие как строка приглашения (prompt), не влияя на других пользователей.
~/
и $HOME
обозначают домашний каталог пользователя — обычно это /home/имя_пользователя/
.Общие файлы оболочек
Bash и другие Bourne-совместимые оболочки, как Zsh, также выполняют source определённых файлов настроек в зависимости от того, запущены ли они как оболочка входа или интерактивная оболочка. Подробности описаны в статьях соответствующих оболочек, например Bash (Русский)#Файлы настроек и Zsh (Русский)#Файлы запуска/завершения.
Псевдо-переменные в примерах кода
Некоторые блоки кода могут содержать так называемые псевдо-переменные, которые, как следует из названия, не являются реальными переменными, используемыми в коде. Вместо этого они представляют собой место для заполнения, в которое вы должны вручную вписать значение, специфичное для вашей конкретной системы, перед запуском этого кода. Обычно оболочки, такие как bash и zsh, реализуют автодополнение по клавише Tab помогающее заполнить параметры для некоторых распространённых команд, таких как systemctl.
В статьях, которые соответствуют Help:Style/Formatting and punctuation, псевдо-переменные оформлены курсивом. Например, вы можете увидеть что-то такое:
- Включите службу
dhcpcd@интерфейс.service
для сетевого интерфейса, название которого указано в выводе командыip link
.
В этом случае интерфейс
используется в качестве псевдо-переменной, на месте которой нужно вписать значение для использования юнита-шаблона systemd. Понять, что юнит systemd является юнитом-шаблоном, можно по наличию знака @
в его имени. Такие юниты-шаблоны принимают в качестве аргумента какой-то элемент, специфичный для конкретной системы (в данном примере таким элементом является название сетевого интерфейса). Смотрите systemd (Русский)#Использование юнитов для более подробной информации. Ещё пример:
- Команда
dd if=источник of=/dev/sdX bs=размер_сектора count=число_секторов seek=первый_сектор_раздела
может быть запущена от имени суперпользователя, чтобы уничтожить раздел с указанными параметрами.
В этом случае псевдо-переменные используются для описания параметров, которые должны быть подставлены на место этих псевдо-переменных. Подробнее о том, как получить правильные значения для параметров этой команды, описано в разделе Securely wipe disk#Calculate blocks to wipe manually.
В случае примеров файлов вставка псевдо-переменных в реальный файл настроек может испортить работу программы, которая его использует.
Многоточие
В большинстве случаев многоточие (...
) не является частью фактического содержимого файла или вывода кода и используется для того, чтобы сэкономить место и не отвлекать читателя текстом, который не относится к обсуждаемой теме.
Например HOOKS="... encrypt ... filesystems ..."
или:
/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass" ... Option "CircularScrolling" "on" Option "CircScrollTrigger" "0" ... EndSection
Имейте в виду, что в некоторых случаях многоточие может быть значимой частью синтаксиса кода: внимательные пользователи смогут легко распознавать эти случаи по контексту.