Рассмотрим установку CentOS 8 Linux сервера и настройку отображения русских букв в консоли после установки.
Скачать CentOS Linux можно с официального сайта centos.org. Возможно, будет удобнее для этого воспользоваться Яндекс зеркалом где есть и торрент ссылки. Мы скачали файл CentOS-8.1.1911-x86_64-boot.iso размером 620 Мб. Этот файл необходимо записать на загрузочный USB-Flash диск, воспользовавшись утилитой usb-creator-gtk (Создать загрузочный диск).
Подключаем загрузочный USB-Flash диск к компьютеру, включаем компьютер, настраиваем порядок загрузки компьютера начиная с нашего USB-Flash диска и начинается установка. Этапы установки CentOS на компьютер покажем подробно, в картинках.
На первом экране мы видим название устанавливаемой OS (операционной системы) и можем прервать установку и перейти в меню настройки. Но, чаще всего этого делать не надо.
Когда на экране появится окно "Добро пожаловать в CentOS Linux 8" мы можем выбрать язык диалогов на весь этап установки OS.
Этап "Обзор установки". На этом этапе есть возможность настроить некоторые параметры нашего сервера. Делается это так, например, выбираем пункт "Keyboard", открывается новое окно. В новом окне делаем желаемые настройки, нажимаем кнопку готово и возвращаемся обратно в окно "Обзор установки". Повторяем операцию для настройки других параметров.
На этом этапе мы настраиваем раскладку клавиатуры. Языки русский и английский уже прописаны в настройках, мы только переместили в этом списке английский на первую строчку. А еще, мы сменили комбинацию клавиш для переключения раскладки.
Здесь мы просто включили сеть. Можно сменить имя компьютера (имя узла).
А здесь, выбрали регион и включили сетевое время. Очевидно, пока не настроено сетевое подключение CentOS, сетевое время включить нельзя.
Этап "Выбор программ" предоставляет нам большие возможности по установке и настройке программного обеспечения сервера. Но, нам пока нужно только удалённое управление Linux.
Для установки CentOS мы выбрали диск объёмом 120 Гб.
Выбрали разметку диска по-своему, и выделили для домашнего каталога (точка монтирования /home) 35 Гб.
Для работы Linux на диске должен быть создан раздел swap. Обычно, под swap раздел рекомендуется выделять в 2 раза больше места, чем установлено в компьютере оперативной памяти.
Мы хотели чтобы операционная система занимала на диске 50 Гб. Поэтому под корневую файловую систему (точка монтирования /) мы выделили 46 Гб, что в сумме с разделом swap составит запланированные 50 Гб.
Оставшееся место на диске пока размечать не будем.
На этапе установки, названном "конфигурация", мы можем создать 2 пользователя.
Пользователю root создадим пароль toor.
Создадим пользователя Admin с правами локального администратора и паролем Worlds_21
Пусть у пользователя Admin домашним каталогом будет /home/administrator.
После перезагрузки компьютера запускается операционная система CentOS без графической оболочки.
Сразу после установки CentOS сервера на компьютер, мы обнаружили что в локальной консоли вместо русских букв печатаются квадратики.
Решается проблема просто. В командной строке выполняем команду:
[root@localhost ~]# setfont UniCyr_8x16
и русские буквы тут же появятся. Но после перезагрузки компьютера мы опять увидим квадратики. Поэтому, редактируем файл /etc/vconsole.conf
В этом файле необходимо закомментировать строку FONT= и добавить свою строку FONT="UniCyr_8x16"
Перезагружаем компьютер, шрифты не слетают.
Проверяем в консоли возможность переключить ввод с клавиатуры на русский язык. Во время установки я настроил сочетание клавиш для смены языка Ctrl-Shift. НЕ РАБОТАЕТ! Проверяем настройки локали:
[root@localhost ~]# localectl status System Locale: LANG=ru_RU.UTF-8 VC Keymap: us X11 Layout: ru,us X11 Model: pc105 X11 Options: terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll
Выполняем команду:
[root@localhost ~]# localectl set-keymap ru
Вот теперь, кажется, все с поддержкой русского языка решено.
Следующей нашей задачей на сегодня будет настройка приветствия для пользователя Admin. При входе пользователя Admin в систему должно выводиться сообщение "Hello, its <Дата>", где Дата - текущая дата и время данной OS в любом формате.
По умолчанию интерпретатором командной строки в большинстве версий Linux является bash. Bash отвечает и за текст приглашения (prompt) в командной строке. Поэтому - читаем manual bash.
[Admin@LinuxClient ~]$ man bash
Можно найти быстрее решение поставленной задачи если в командной строке набрать:
[Admin@LinuxClient ~]$ man -k prompt pam_issue (8) - PAM module to add issue file to user prompt
Открываем man на странице pam_issue (8)
[Admin@LinuxClient ~]$ man pam_issue
DESCRIPTION
pam_issue is a PAM module to prepend an issue file to the username prompt. It also by
default parses escape codes in the issue file similar to some common getty's (using \x
format).
Recognized escapes:
\d
current day
\l
name of this tty
\m
machine architecture (uname -m)
\n
machine's network node hostname (uname -n)
\o
domain name of this system
\r
release number of operating system (uname -r)
\t
current time
\s
operating system name (uname -s)
\u
number of users currently logged in
\U
same as \u except it is suffixed with "user" or "users" (eg. "1 user" or "10 users")
\v
operating system version and build date (uname -v)
Manual page pam_issue(8) line 9 (press h for help or q to quit)
Теперь всё понятно, задаём новое значение системной переменной PS1
[Admin@LinuxClient ~]$ PS1='Hello, its <\d \t>' Hello, its <Пт фев 07 19:28:23>
Чтобы настройки не слетели после перезагрузки компьютера, надо поместить эту строку в файл настроек bash в домашней папке пользователя Admin (~/.bashrc) :
Создадим пользователя User
Hello, its <Пт фев 07 20:03:03>sudo adduser User
Добавим пользователя User в группу wheel (sudo):
Hello, its <Пт фев 07 22:02:24>sudo usermod -a -G wheel User
Зададим пароль Worlds_20 для пользователя User
Hello, its <Пт фев 07 20:03:21>sudo passwd User [sudo] пароль для Admin: Изменение пароля пользователя User. Новый пароль : Повторите ввод нового пароля : passwd: данные аутентификации успешно обновлены. Hello, its <Пт фев 07 21:54:57>su User Пароль: [User@LinuxClient home]$
Для пользователя User настроим sudo допускающее запуск только команды whoami без ввода пароля и оставим выполнение других команд с паролем от текущего пользователя. Для этого в файл /etc/sudoers добавим строчку User All=NOPASSWD:/bin/whoami
Создадим пользователя User1
Hello, its <Пт фев 07 20:03:03>sudo adduser User1
Пусть у пользователя User1 не будет пароля и он должен автоматически входить в систему. Для этого добавим в файл /etc/systemd/system/getty.target.wants/Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. в секцию [Service] три строчки:
Type=simple ExecStart= ExecStart=-/sbin/agetty --autologin User1 --noclear %I 38400 linux
Должно получиться следующее: