Difference between revisions of "General recommendations (Русский)"
Line 58: | Line 58: | ||
Хотя ман-страница {{Codeline|grep}} сообщает, что переменная <code>GREP_COLOR</code> устарела и вместо неё лучшеиспользовать <code>GREP_COLORS</code>, эта переменная не работает (по крайней мере в grep 2.5.4) так что пока используйте <code>GREP_COLOR</code>. | Хотя ман-страница {{Codeline|grep}} сообщает, что переменная <code>GREP_COLOR</code> устарела и вместо неё лучшеиспользовать <code>GREP_COLORS</code>, эта переменная не работает (по крайней мере в grep 2.5.4) так что пока используйте <code>GREP_COLOR</code>. | ||
− | === | + | ===Раскрашивание и командная оболочка Emcas=== |
− | |||
− | + | Emacs, по умолчанию, показывает Escape-последовательности в явном виде вместо определения цвета. | |
− | + | Включение следующей строки в {{Filename|~/.emacs}} решит эту проблему: | |
+ | (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) | ||
===Получение раскрашенных Man-страниц=== | ===Получение раскрашенных Man-страниц=== |
Revision as of 10:12, 9 December 2010
Вот некоторые популярные хитрости и общая информация, которая может пригодиться новичкам в Arch Linux.
Contents
- 1 Загрузка
- 2 Внешний вид
- 3 Общие улучшения консоли
- 3.1 Включение поиска по истории
- 3.2 Быстрое Bash дополнение
- 3.3 Расширенное Bash дополнение
- 3.4 Алиасы (псевдонимы) команд для экономии времени
- 3.5 Полезные команды и программы
- 3.6 Извлечение сжатых файлов
- 3.7 Использование 'less' Для Просмотра Сжатых Файлов
- 3.8 Включение поддержки мыши в консоли (gpm)
- 4 Локальная доставка почты
- 5 Управление пакетами и компиляция
- 6 Сеть
Загрузка
Автоматическое распознавание устройств
- hwdetect дает информацию о том, какие модули необходимы для каждого устройства.
# pacman -S hwdetect
- Template:Package AURявляется альтернативой.
Повышение скорости загрузки Lilo
Чтобы ускорить процесс загрузки lilo, нужно добавить следующую команду в Template:Filename:
compact
Запуск X при загрузке
Смотрите: Start X at Boot (Русский)
Активация Numlock при загрузке
Смотрите: Activating Numlock on Bootup (Русский)
Конец процесса загрузки
После загрузки сситемы, экран очищается и появляется строка логина в системе, вследствие чего пользователь не может прочитать вывод инициализации или сообщения об ошибках. Это поведение по умолчанию может быть изменено несколькими путями:
Добавте одну из следующий записей в конец файла Template:Filename:
- Ждать нажатия клавиши перед очисткой экрана:
read -n1
- Очистка произойдет по прошествии 5-ти секунд или по нажатию клавиши:
read -t5 -n1
Или:
- Удалите первые 3 символа в Template:Filename, которые формируют escape-последовательность очистки экрана. Это также предотвратит очистку экрана после выхода из сессии.
- Запустите Template:Codeline из командной строки, чтобы отобразить все сообщение, сгенерированые ядром во время последней загрузки.
- Comment out the agetty instance that runs on
vc/1
in Template:Filename:
#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux
Внешний вид
Раскрашивание вывода консоли (PS1)
Смотрите: Color Bash Prompt
Раскрашивание вывода 'ls'
Можно улучшить цветной вывод команды Template:Codeline; например, сломанные (ссылающиеся на несуществующие файлы или каталоги) символьные ссылки будут отображаться красным.
Файл Template:Filename уже должен содержать такую запись, скопированную из Template:Filename:
alias ls='ls --color=auto'
Следующий шаг - добавление следующей строки в Template:Filename и перезаход в учетную запись:
eval `dircolors -b`
Раскрашивание вывода 'grep'
Помимо запросов эстетов, цветной вывод Template:Codeline весьма полезен для изучения Template:Codeline и общей функциональности Template:Codeline. Чтобы включить его, добавьте следующие строки в Template:Filename:
export GREP_COLOR="1;33" alias grep='grep --color=auto'
Переменная GREP_COLOR
определяет цвет, в примере он светло-жёлтый.
Хотя ман-страница Template:Codeline сообщает, что переменная GREP_COLOR
устарела и вместо неё лучшеиспользовать GREP_COLORS
, эта переменная не работает (по крайней мере в grep 2.5.4) так что пока используйте GREP_COLOR
.
Раскрашивание и командная оболочка Emcas
Emacs, по умолчанию, показывает Escape-последовательности в явном виде вместо определения цвета. Включение следующей строки в Template:Filename решит эту проблему: (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
Получение раскрашенных Man-страниц
Смотрите: Man Page
Changing Console Fonts
Terminus популярен среди пользователей Arch. Устанавливается так:
pacman -S terminus-font
Отредактируйте Template:Filename:
CONSOLEFONT="ter-v16b"
Другие шрифты (с отличающимися стилями и размерами) могут быть найдены тут: Template:Filename
Переключайте шрифты налету с Template:Codeline:
setfont ter-v16b
Если шрифт в консоли изменился в процессе загрузки и init выводит странные символы, добавьте keymap ловушку (hook) в Template:Codeline и пересоздайте initramfs образ:
mkinitcpio -p kernel26
Смотрите: Mkinitcpio
Улучшение вида шрифтов для LCD мониторов
Смотрите: Font Configuration#LCD filter patched packages
Общие улучшения консоли
Включение поиска по истории
See: Bash:History Search
Быстрое Bash дополнение
С добавлением в Template:Filename:
set show-all-if-ambiguous on
нет необходимости дважды жать <Tab> чтобы получить список дополнений, теперь он будет появляться после одного нажатия.
Расширенное Bash дополнение
See: Bash:Advanced Bash Completion
Алиасы (псевдонимы) команд для экономии времени
alias ll="ls -lh" alias la="ls -a" alias exit="clear; exit" alias x="startx"
Персональные алиасы предпочтительно добавлять в Template:Filename, алиасы уровня системы (которые применяются ко всем пользователям) находятся в Template:Filename.
Полезные команды и программы
- grep - Ищет файл(ы) по шаблону.
grep -i syslog /etc/*
- Эта команда найдет все файлы в Template:Filename, в которых встречается слово "syslog". Опция Template:Codeline позволяет искать регистронезависимые совпадения.
- pkill и killall - Убивает процесс по имени.
killall kdm
- Убьет все потоки процесса Template:Codeline.
- pidof - Находит PID процесса по имени.
pidof init
- Выведет PID процесса init.
- ps - Показывает состояние запущенных процессов.
ps aux
- Покажет все активные процессы.
- locate - Быстро определяет местонахождение файлов на жестком диске.
locate egrep
- Найдет файлы и директории, в именах которых содержится egrep (перед использованием необходимо обновить базу (индексировать) путем выполнения Template:Codeline).
Извлечение сжатых файлов
Для Template:Codeline архивов используется комманда Template:Codeline, по умолчанию распаковывающая файл в соответствии с его расширением:
tar xvf file.расширение
В следующих примерах явно указываются типы архивов:
file.tar : tar xvf file.tar file.tgz : tar xvzf file.tgz file.tar.gz : tar xvzf file.tar.gz file.tar.bz : bzip -cd file.bz | tar xvf - file.tar.bz2 : tar xvjf file.tar.bz2 OR bzip2 -cd file.bz2 | tar xvf - file.tar.xz : tar xvJf file.tar.xz OR xz -cd file.xz | tar xvf - file.zip : unzip file.zip file.rar : unrar x file.rar
Некоторые из этих конструкций обеспечивают совместимость со старыми версиями, но они до сих пор бывают полезными при выполнении спецефических операций. Более подробную информацию ищите в руководстве(man tar) в секции Compatibility.
Чтобы не вводить каждый раз вручную комманды для распаковки архивов можно использовать приведенную ниже функцию. Добавьте следующий код в Template:Filename и используйте Template:Filename:
extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xvjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.tar.xz) tar xvJf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xvf $1 ;; *.tbz2) tar xvjf $1 ;; *.tgz) tar xvzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *.xz) unxz $1 ;; *.exe) cabextract $1 ;; *) echo "\`$1': неизвестный метод сжатия файла" ;; esac else echo "\`$1' нет такого файла" fi }
Функция сама выберет необходимую программу и аргументы для распаковки конкретного архива.
Использование 'less' Для Просмотра Сжатых Файлов
Юзеры, часто пользующиеся командной строкой, возможно захотят установить lesspipe:
# pacman -S lesspipe
Это позволяет использовать Template:Codeline для просмотра архивов:
less compressed_file.tar.gz
Результат будет примерно таков:
==> use tar_file:contained_file to view a file in the archive -rw------- username/group 695 2008-01-04 19:24 compressed_file/content1 -rw------- username/group 43 2007-11-07 11:17 compressed_file/content2 compressed_file.tar.gz (END)
Это также даёт воззможность использовать Template:Codeline для просмотра других типов файлов; как альтернативу для команд, ассоциированых с определённым типом файла (например просмотр html или pdf с помощью html2txt или pdftotext).
После установки Template:Codeline следует перелогиниться или запустить Template:Filename
Включение поддержки мыши в консоли (gpm)
Установка Template:Codeline предоставляет поддержку мыши в консоли:
# pacman -S gpm
Чтобы запустить его:
# /etc/rc.d/gpm start
Если мышь не работает должным образом, отредактируйте Template:Filename:
- Для PS/2 мышей, замените существующую строку:
GPM_ARGS="-m /dev/psaux -t ps2"
- Для USB мышей, замените существующую строку:
GPM_ARGS="-m /dev/input/mice -t imps2"
- Для устройств IBM Trackpoint, замените существующую строку:
GPM_ARGS="-m /dev/input/mice -t ps2"
Когда подходящая конфигурация найдена, добавьте Template:Codeline в DAEMONS
массив файла Template:Filename, чтобы демон Template:Codeline запускался при загрузке. Пример:
DAEMONS=(syslog-ng gpm network netfs crond)
Локальная доставка почты
Postfix
Настройка postfix для работы в режиме локальной доставки почты производится по следующей инструкции:Local Mail Delivery with Postfix. Смотри так-же, SSMTP и MSMTP.
Управление пакетами и компиляция
Pacman
Здесь преведены различные способы взаимодействия стандртного набора функций pacman'а с элементарным синтаксисом bash, что позооляет более удобно управлять пакетами.
- Установка нескольких пакетов, имеющий в названии общую часть, например пакеты
kdemod
:
pacman -S kdemod-{applets,theme,tools}
- Вы можете использовать более сложную структуру, необходимую вам:
pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}
- Pacman имеет параметр Template:Codeline, который запретит вывод версий пакетов. Это позволяет переустановить все пакеты, содержащие в названии, к примеру, "compiz":
pacman -S `pacman -Qq | grep compiz`
- Тот же результат может быть достигнут без использования параметра Template:Codeline с использованием Template:Codeline:
pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`
On the subject of reinstalling every package: listing currently installed packages will output everything, including packages that are local and/or might not be available for installation any longer.
Simply running:
pacman -S `pacman -Qq`
Will output errors because some (or many) of the packages were not found in the repositories. There needs to be a way to list only packages that can be installed from the repositories present in Template:Codeline's database. In order to do so, combining a command to list all packages, and another to hide the list of foreign packages is required.
This is achieved by using Template:Codeline to show only the packages that are not foreign packages:
pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))
Зеркала
Чтобы воспользоваться всеми преимуществами самых быстрых и актуальных зеркал, смотрите Mirrors.
Псевдомимы (aliases) pacman'а
Смотрите: Pacman Tips#Aliases
Лёгкая установка/обновление из AUR
Каждый должен знать, как пользоваться AUR, ABS, и makepkg чтобы устанавливать пакеты программного обеспечения. Слежка и обновление за пакетами может стать утомительной, особенно при большом количестве пакетов.
Для облегчения проведения этих задач есть несколько программ/скриптов. Смотри: список программ облегчающих работу с AUR
Using ABS to Recompile Packages
The Arch Build System is a ports-like system of compile files used to make packages that are already in the repositories. To compile packages with different options see ABS.
Сборка оптимизированных пакетов
Во время компилирования пакета приложения с помощью makepkg, стандартному компилятору (GCC) можно задать опции, которые могут ускорить работу приложения. Обычно получаемое таким образом ускорение не сильно заметно, но если вы планируете компиляцию большого количества приложений, возможно вы захотите задать настройки соответствующие вашей спецификации аппаратной конфигурации.
Для оптимизации программ собранных с помощью Template:Codeline, нужно найти тип процессора в CFLAGS и в соответствии с ним отредактировать файл Template:Filename.
Например:
# Для процессора типа Athlon CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer" CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
Сеть
Ускорение запросов DNS
Dnsmasq ускоряет загрузку с помощью кэширования запросов DNS.
Отключение IPv6
Пока ещё IPv6 не получил широкого распространения, может оказаться полезным отключение модуля IPv6.