Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
fullcircle:32:советы_ч_8 [2010/06/17 21:46] создано |
fullcircle:32:советы_ч_8 [2010/06/22 20:03] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== sdkjcvbsi ====== | + | ====== Покоряй и Властвуй: Советы по работе в терминале. Часть 8====== |
- | Это руководство о том, как подготовить сервер Ubuntu 9.10 (Karmic Koala) и установить на него ISPConfig 3. ISPConfig 3 — это панель управления веб-хостингом, которая позволяет вам управлять через веб-браузер следующими услугами: веб-сервером Apache, почтовым сервером Postfix, сервером баз данных MySQL, сервером имён MyDNS, файловым сервером PureFTPd, антиспамом SpamAssassin, антивирусом ClamAV и много чем ещё. | + | <style right> |
+ | //Автор - Лукас Вестерман (Lucas Westermann)// | ||
+ | </style> | ||
- | Обратите внимание, что это описание не работает для ISPConfig 2, оно действительно только для ISPConfig 3! | + | - [[..:25:советы|Советы по работе в терминале - Часть 1]] |
+ | - [[..:26:советы2|Советы по работе в терминале - Часть 2]] | ||
+ | - [[..:27:советы_ч_2|Советы по работе в терминале - Часть 3]] | ||
+ | - [[..:28:советы_ч_4|Советы по работе в терминале - Часть 4]] | ||
+ | - [[..:29:советы_ч_5|Советы по работе в терминале - Часть 5]] | ||
+ | - [[..:30:советы_ч_6|Советы по работе в терминале - Часть 6]] | ||
+ | - [[..:31:советы_ч_7|Советы по работе в терминале - Часть 7]] | ||
+ | - [[..:32:советы_ч_8|Советы по работе в терминале - Часть 8]] | ||
+ | - [[..:33:советы_ч_9|Советы по работе в терминале - Часть 9]] | ||
+ | - [[..:34:советы_ч_10|Советы по работе в терминале - Часть 10]] | ||
+ | - [[..:35:советы_ч_11|Советы по работе в терминале - Часть 11]] | ||
+ | - [[..:36:советы_ч_12|Советы по работе в терминале - Часть 12]] | ||
- | Требования | + | Прежде, чем мы начнём, я вынужден признать ошибку. Читатель Stefan Eike указал на то, что в прошлом выпуске я пропустил символ «t» в команде: |
- | Для установки системы вам потребуется диск Ubuntu 9.10 server, доступный по следующим адресам: | + | <code>sudo smartctl -H /dev/sda</code> |
- | http://releases.ubuntu.com/releases/9.10/ubuntu-9.10-server-i386.iso (32-bit) или http://releases.ubuntu.com/releases/9.10/ubuntu-9.10-server-amd64.iso (64-bit). | + | |
- | Предварительное замечание | + | Поэтому спасибо Stefan за подсказку, и простите все, кто столкнулся с проблемами из-за этой команды. |
- | В руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100 и шлюзом 192.168.0.1. У вас эти параметры могут отличаться, так что вам нужно будет их заменить, где необходимо. | + | 15 ноября я получил письмо от корректора Brian Jenkins. Он написал, что хотел бы увидеть статью, посвящённую GNU Screen, так как он начал её использовать и считает очень полезной. Brian, вот твоя статья! Я снова хочу поблагодарить его за напоминание о Screen, ведь я всё время собирался написать о ней, когда думал о новой статье. После того, как он посоветовал эту тему, я решил, что это отличная идея написать одну-две статьи. Я наверняка напишу ещё одну статью в следующем месяце и расскажу о Screen больше. Я решил, что буду использовать Screen по максимуму все эти недели и настрою её так хорошо, как смогу. В конце концов, нельзя писать о приложении, с которым никогда не работал. |
- | Установка основной системы | + | В этой статье я расскажу про установку, использование (горячие клавиши и т.д.), настройку .screenrc, а также о плюсах и минусах Screen. В следующем месяце я сосредоточусь на продвинутом использовании Screen (мультисессии, Screen поверх SSH и др.). Таким образом, читатель будет иметь необходимые знания для понимания следующей части, а я смогу рассказать не о том, как использовать программу, а почему. Так что же такое GNU Screen? GNU Screen — это терминальный мультиплексор. Если это ни о чём вам не говорит, терминальный мультиплексор, по сути дела, создаёт серию «виртуальных» терминалов внутри другого терминала или tty-экрана. Эти виртуальные терминалы можно присоединять к новому терминалу или другой учётной записи, отсоединять их и т.д. Вы можете спросить себя: «Почему просто не открыть несколько терминалов?». Так можно поступить, и я сам привык использовать несколько терминалов, но Screen предлагает вам возможность работы со множеством виртуальных терминалов в одной экранной сессии, подобно вкладкам (да, я знаю, что есть эмуляторы терминалов с поддержкой вкладок). Однако Screen также позволяет вам передать всю сессию, включая вкладки, в новый терминал, другую учетную запись или tty экран. |
- | Вставьте ваш установочный диск Ubuntu в привод и загрузитесь с него. Выберите язык установки, затем «Установить сервер Ubuntu»: | + | Конечно, лучший способ понять, что такое Screen — установить и попробовать его. Для установки Screen на компьютер введите команду: |
- | Выберите свой язык (снова), местоположение и раскладку клавиатуры. | + | <code>sudo apt-get install screen</code> |
- | Установщик проверит диск и ваше оборудование, настроит сеть с использованием DHCP, если, конечно, сервер DHCP присутствует в сети: | + | После установки вы можете протестировать Screen, просто набрав: |
- | Введите имя своего компьютера. В этом примере моя система называлась server1.example.com, поэтому я ввожу server1: | + | <code>screen</code> |
- | Теперь вы должны разметить свой жёсткий диск. Для простоты я выбираю «Авто — использовать весь диск и настроить LVM». Это создаст один раздел с двумя логическими дисками: один — для корневой файловой системы (/), другой — для раздела подкачки (swap). Конечно, разметка — полностью ваше дело, поэтому, если знаете, что делаете, вы можете также разметить диск вручную. Если вы сделаете отдельными разделы /home и /var, в будущем вам это может пригодиться. | + | Вы увидите, что открылся... пустой терминал! Screen выглядит в точности как терминал, если запускать его без аргументов, хотя вы можете увидеть, что это действительно Screen, нажав C-a d (т.е. «CTRL + a», затем «d»). Вы увидите терминал, который вы открыли прежде, со строкой: |
- | Выберите диск для разметки и на вопрос «Записать изменения на диск и изменить LVM?» ответьте «Да». | + | <code>[detached]</code> |
- | Если вы выбрали «Авто — использовать весь диск и настроить LVM», программа разметки создаст один большой раздел, используя всё дисковое пространство. Теперь вы можете определить, сколько из этого дискового пространства должно использоваться логическими дисками (/) и (swap). Имеет смысл оставить некоторое место неиспользованным, позже вы сможете расширить свои существующие логические диски или создать новые. Это даёт больше гибкости. | + | Это значит, что экранная сессия, запущенная раньше, была отсоединена, но не закрыта. |
- | Когда закончите, на вопрос «Записать изменения на диск?» нужно ответить «Да»: | + | Чтобы посмотреть полный список горячих клавиш в Screen, воспользуйтесь ссылкой в секции «Читайте также». Вот некоторые из них, которые я часто использую: |
- | Будут созданы и отформатированы ваши новые разделы: | + | * Ctrl + a, d — отсоединяет экран |
+ | * | ||
+ | * Ctrl + a, 0-9 — переключает на соответственный виртуальный терминал в сессии экрана | ||
+ | * | ||
+ | * Ctrl + a, Ctrl + a — переключает на предыдущее окно | ||
+ | * | ||
+ | * Ctrl + a, Ctrl + c — создаёт новое окно с оболочкой и переключается на него | ||
+ | * | ||
+ | * Ctrl + a, k — закрывает текущее окно | ||
- | Затем будет устанавливаться основная система: | + | Отсоединив свой экран, возможно, вы захотите узнать, как вернуть его обратно. Если вы введёте следующую команду в терминале, вы получите список экранов: |
- | Создайте пользователя, например, Administrator, с пользовательским именем administrator. Не используйте в качестве имени пользователя admin, поскольку это зарезервированное имя в Ubuntu 9.10. | + | <code>screen -ls</code> |
- | Я не нуждаюсь в шифровании домашней папки, поэтому здесь я выбрал «Нет»: | + | Мой список выглядит так: |
- | Далее настраивается менеджер пакетов apt. Оставьте строчку «Информация о HTTP-прокси» пустой, если вы не используете прокси-сервер для соединения с интернетом: | + | <code>There is a screen on: |
- | Я немного старомоден, и мне нравится обновлять мои серверы вручную, чтобы иметь больше контроля, поэтому я не включаю автоматические обновления. Конечно же, ваш выбор остаётся за вами. | + | 17153.pts-0.lswest-netbook (Detached) |
- | Нам необходимы серверы DNS, Mail и LAMP, однако, сейчас я не выбираю ни один из них, потому что мне нравится иметь полный контроль над тем, что установлено в моей системе. Необходимые пакеты мы установим позже вручную. Единственный пункт, который я здесь отмечаю, это «OpenSSH server». Он понадобится мне для соединения с системой после окончания установки при помощи клиента SSH, такого как Putty: | + | 1 Socket in /tmp/screens/S-lswest. |
- | Далее будет установлен загрузчик GRUB. | + | Или, если ввести команду из этой экранной сессии: |
- | Итак, установка основной системы закончена. Извлеките установочный диск из привода и выберите «Продолжить», чтобы перезагрузить систему: | + | There is a screen on: |
- | В следующем месяце мы установим сервер SSH и vim-nox, используя нашу учётную запись администратора, а также настроим сеть. | + | 17153.pts-0.lswest-netbook (Attached) |
+ | |||
+ | 1 Socket in /tmp/screens/S-lswest.</code> | ||
+ | |||
+ | После просмотра этого списка вы, возможно, запутаетесь. По сути, здесь приводится список файлов, которые созданы каждой экранной сессией в /tmp/screens/S-<username>/. Также тут отображается статус этого экрана (присоединён, отсоединён и т.д.). Чтобы переподключиться или «присоединить» экранную сессию, нужно выполнить следующую команду: | ||
+ | |||
+ | <code>screen -r <name of screen></code> | ||
+ | |||
+ | Для примера выше команда будет: | ||
+ | |||
+ | <code>screen -r 17153.pts-0.lswest-netbook</code> | ||
+ | |||
+ | Конечно, все мы ленивы, поэтому мы будет использовать только числовой ID (в данном случае 17153). ID достаточно для доступа к локальной сессии экрана, однако, если вы захотите подключиться к удалённой сессии, вам нужно указать ID полностью. | ||
+ | |||
+ | |||
+ | Можно предложить небольшую настройку, которая может оказаться полезной, — писать номер экрана в приглашении Bash или Zsh. Это можно сделать, добавив переменную «$WINDOW» в строку приглашения, после чего она покажет значение текущего открытого окна. Если у вас 3 открытых окна в экранной сессии, и вы в командной оболочке в экране 1 (нумерация начинается с 0, поэтому 1 означает второй экран), вы увидите значение 1. Текст из моей настройки приведён ниже. | ||
+ | |||
+ | Это приглашение в Z-Shell, оно не будет работать в Bash, но вы поймёте, как его использовать. Файл проверяет, есть ли значение в $WINDOW, и если есть, он отображает его в приглашении. В комментариях видно, как выглядят приглашения в обоих случаях. Мне это показалось очень полезным при работе с Screen. | ||
+ | |||
+ | Последнее, о чём я хочу рассказать в этом месяце — создание файла .screenrc, который содержит настройки Screen. Мой файл .screenrc выглядит как текст справа, на странице 7 (основанный на .screenrc пользователя rson с форумов ArchLinux). | ||
+ | |||
+ | Комментарий «hardstatus alwayslastline» — это пример того, как это выглядит в результате. Все другие команды хорошо документированы. В результате экран выглядит так: (Рис 1.) | ||
+ | |||
+ | Это начальный .screenrc. Потребуется несколько статей, чтобы рассказать хотя бы про половину того, что можно настроить. Я просто оставлю .screenrc как он есть с комментариями. В разделе «Читайте также» вы найдёте ссылку на сайт, который расскажет о всех возможных настройках файла .screenrc. | ||
+ | |||
+ | И самое последнее, о чём мне нужно рассказать в этой статье — как выйти из screen. Есть два способа: | ||
+ | |||
+ | - Ctrl + a, \ — выходит из screen и закрывает все окна; | ||
+ | - закрыть все окна кроме оболочки, а затем набрать. | ||
+ | |||
+ | <code>exit</code> | ||
+ | |||
+ | Если у кого-то остались ещё вопросы, или он хочет попросить рассказать о конкретном аспекте Screen, просто напишите мне на lswest34@gmail.com. То же самое касается тех, кто может предложить идеи статей любого вида, или вопросы о CLI. Желаю всем приятных выходных и хорошего нового года. | ||
+ | |||
+ | ----------------------- | ||
+ | Читайте также: | ||
+ | Описание горячих клавиш http://www.gnu.org/software/screen/manual/html_node/Default-Key-Bindings.html#Default-Key-Bindings | ||
+ | |||
+ | краткий список настроек .screenrc файлов и Screen в целом http://www.math.utah.edu/docs/info/screen_9.html | ||
+ | |||
+ | --------------------------------------- | ||
+ | |||
+ | <style center> | ||
+ | //[[..:32|К содержанию номера]]// | ||
+ | |||
+ | //[[:fullcircle|К архиву журналов]]// | ||
+ | </style> | ||
+ | |||
+ | {{tag>Система Администрирование Full_Circle BASH}} |