Покоряй и Властвуй: Советы по работе в терминале. Часть 8 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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 ​-/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}}