Rocky

Содержание
Введение
Установка Rocky
После установки
Узнать версию Rocky
Установка программ
Получить доступ к sudo
Установка Golang
Полезные команды
Типы файлов
Изменить пароль пользователя
Узнать текущую локаль
Изменить текущую локаль
Статьи про Rocky

Введение

Rocky Linux-это предстоящий дистрибутив Linux, который в настоящее время находится в разработке.

Он предназначен для последующего, полного двоичного совместимого выпуска с использованием исходного кода операционной системы Red Hat Enterprise Linux (RHEL).

Цель проекта состоит в том, чтобы обеспечить поддерживаемую сообществом производственную корпоративную операционную систему.

Версия-кандидат на выпуск Rocky Linux была выпущена 30 апреля 2021 года.

Установка Rocky

Скачать образ можно на сайте www.rockylinux.org

Сайт загрузки образов rocky 7 изображение с сайта www.eth1.ru
Зеркало для загрузки Rocky

Пошаговая инструкция по установке Rocky Linux находится здесь

Установка Rocky Linux на VirtualBox

После установки

Рекомендую выполнить следующее

sudo yum -y update
sudo yum install -y redhat-lsb-core net-tools epel-release kernel-headers kernel-devel yum-utils
sudo yum groupinstall -y "Development Tools"

Скорее всего придётся включить сетевые интерфейсы

Узнать версию

Узнать версию установленной rocky можно командой

cat /etc/system-release

Rocky Linux release 8.4 (Green Obsidian)

Или

cat /etc/rocky-release

Rocky Linux release 8.4 (Green Obsidian)

Или

rpm -q rocky-release

rocky-release-8.4-26.el8.noarch

Если установить пакет redhat-lsb

lsb_release -a

LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch Distributor ID: Rocky Description: Rocky Linux release 8.4 (Green Obsidian) Release: 8.4 Codename: GreenObsidian

Если достаточно только главной версии, можно использовать

rpm --eval %{rocky_ver}

8

Установка программ

Для начала неплохо обновить пакетный менеджер. В Rocky он называется yum

yum update

Для тихой установки используйте флаг -y

yum install -y redhat-lsb-core net-tools epel-release kernel-headers kernel-devel

yum groupinstall -y "Development Tools"

Для установки графической оболочки используйте команду

yum groupinstall -y "X Window System" "MATE Desktop"

Добавить пользователя в группу sudo

У всех пользователей из группы wheel есть возможность выполнять команду sudo поэтому нужно стать root

su

И из-под root добавить пользователя в группу wheel командой

usermod -aG wheel andrei

Снова стать пользователем можно выполнив

su andrei

Настройка сети

Рассмотрена в отдельной статье - «Настройка сетевых подключений в rocky»

Установка wget

sudo yum install wget

Установка Go

Скачать Golang можно с сайта golang.org

wget https://golang.org/dl/go1.15.5.linux-386.tar.gz

После скачивания проверьте, что контрольная сумма совпадает с записанной на сайте

sha256sum go1.15.5.linux-386.tar.gz

4c8179d406136979724c71732009c7e2e7c794dbeaaa2a043c00da34d4be0559 go1.15.5.linux-386.tar.gz

Совпадает со значением на сайте - посмотрите на нижнюю строку

Установка образа через сеть VirtualBox изображение с сайта www.eth1.ru

Распакуйте архив

sudo tar -C /usr/local -xzf go1.15.5.linux-386.tar.gz

Добавьте путь до go в PATH

vi ~/.bash_profile

export PATH=$PATH:/usr/local/go/bin

Создайте рабочую директорию

mkdir ~/go

Проверьте установился ли Go

go version

Если получили что-то подобное

go version go1.15.5 linux/386

То всё хорошо

Если получили ошибку

-bash: /usr/local/go/bin/go: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Попробуйте установить glibc.i686

sudo yum install glibc.i686

Установка X

Установка и настройка X сервера ассмотрены в отдельной статье - «X Window System в rocky»

Полезные команды

Перемещение между X и реальным терминалом (physical terminal) осуществляется нажатием правого CTRL + F2 - чтобы перейти в консоль

Правый CTRL + F1 - чтобы перейти в иксы

Чтобы узнать называние своей консоли выполните

tty

/dev/pts/0

Чтобы узнать кто подключён к системе выполните

who

andrei tty1 2020-11-19 11:03 (:0) andrei pts/0 2020-11-19 11:45 (:0) andrei tty2 2020-11-19 11:42 andrei pts/1 2020-11-19 11:48 (192.168.56.1)

tty1 и tty2 это реальные терминалы

pts/0 это псевдо терминал (pseudo terminal) запущенный в исках на локально машине

pts/1 это псевдо терминал на удалённой машине с IP 192.168.56.1 с которого я подключился по ssh

В Linux всё является файлами и tty терминалы не исключение.

Выполните

ls -l $(tty)

Или аналогичную команду

ls -l /dev/pts/1

crw--w----. 1 andrei tty 136, 1 Nov 19 12:43 /dev/pts/1

Первый символ - это тип файла.

Доступно семь типов файлов: обычные, директории, символьные, блоки, сокеты, именованые каналы, символьные ссылки

- : regular file
d : directory
c : character device file
b : block device file
s : local socket file
p : named pipe
l : symbolic link

Тип c означает character. То есть этот файл может принимать и показывать символы

Если выполнить

ls -ld /etc

drwxr-xr-x. 118 root root 8192 Nov 19 11:02 /etc

Видно, что тип файла d. То есть directory

Для просмотра дисков/блоков выполните

lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 7G 0 part ├─rocky-root 253:0 0 6.2G 0 lvm / └─rocky-swap 253:1 0 820M 0 lvm [SWAP] sr0 11:0 1 57.7M 0 rom /run/media/andrei/VBox_GAs_6.1.10

Если выполнить

ls -l /dev/sda*

brw-rw----. 1 root disk 8, 0 Nov 19 11:02 /dev/sda brw-rw----. 1 root disk 8, 1 Nov 19 11:02 /dev/sda1 brw-rw----. 1 root disk 8, 2 Nov 19 11:02 /dev/sda2

Можно убедитсья, что тип файлов b. То есть block

? означает что должен быть один любой символ.

ls -l /dev/sda?

brw-rw----. 1 root disk 8, 1 Nov 19 11:02 /dev/sda1 brw-rw----. 1 root disk 8, 2 Nov 19 11:02 /dev/sda2

[12] означает что должен быть либо символ 1 либо символ 2

ls -l /dev/sda[12]

brw-rw----. 1 root disk 8, 1 Nov 19 11:02 /dev/sda1 brw-rw----. 1 root disk 8, 2 Nov 19 11:02 /dev/sda2

Когда вы хотите узнать версию системы вы можете выполнить

ls -l /etc/system-release

lrwxrwxrwx. 1 root root 13 Jun 19 10:22 /etc/system-release -> rocky-release

Тип файла l означает link то есть это не настоящий файл, а ссылка

Выполните

ls -l /etc/system-release /etc/rocky-release /etc/redhat-release

lrwxrwxrwx. 1 root root 13 Jun 19 10:22 /etc/redhat-release -> rocky-release -rw-r--r--. 1 root root 41 Jun 19 10:22 /etc/rocky-release lrwxrwxrwx. 1 root root 13 Jun 19 10:22 /etc/system-release -> rocky-release

/etc/rocky-release - это настоящий (regular) файл а остальные - ссылки на него.

Если бы вы пользовались redhat то настоящим был бы redhat-release

Ещё один способ получить информацию о версии - выполнить lsb_release -d где -d означает description

lsb_release -d

Description: Rocky Linux release 8.4 (Green Obsidian)

Узнать где находится файл lsb_release можно командой which lsb_release. Чтобы сразу получить дополнительную информацию выполните

ls -lF $(which lsb_release)

-rwxr-xr-x. 1 root root 15929 Apr 18 19:47 /usr/bin/lsb_release*

Опция -F означает показать тип файлов. Поэтому нам удалось увидеть * после lsb_release. * означает, что файл исполняемый.

Чтобы узнать откуда взялся файл можно воспользоваться командой rpm с опциями q (query) и f (file)

rpm -qf $(which lsb_release)

redhat-lsb-core-4.1-47.el8.x86_64

Чтобы скопировать файл в интерактивном режиме воспользуйтесь командой cp с опцией i (interactive)

interactive означает, что если файл с таким имененм существует, вас спросят прежде чем затирать его

cp -i /etc/hosts .
cp -i /etc/hosts .

cp: overwrite ‘./hosts’?

Чтобы создать директорию сразу же с поддиректорией внутри воспользуйтесь командлой mkdir с опцией p (parent)

mkdir -p sites/heiheiru
ls -l sites

total 0
drwxrwxr-x. 2 andrei andrei 6 Nov 19 13:40 heiheiru

Чтобы создать одновременно несколько файлов с именами идущими по порядку выполните touch с {}

touch files/file{1..5}
ls -l files

-rw-rw-r--. 1 andrei andrei 0 Nov 19 13:46 file1 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:46 file2 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:46 file3 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:46 file4 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:46 file5

Чтобы скопировать директорию files в директорию sites со всем содержимым выполните

cp -R files sites
ls -l sites/files/

total 0 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:49 file1 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:49 file2 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:49 file3 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:49 file4 -rw-rw-r--. 1 andrei andrei 0 Nov 19 13:49 file5

Директория files была скопирована в директорию sites, то есть теперь у sites есть поддиректория files.

Если у вас установлен модуль tree вы можете наглядно изучить вложенность. Если нет - выполните сперва sudo yum install tree

tree sites

sites └── files ├── file1 ├── file2 ├── file3 ├── file4 └── file5 1 directory, 5 files

Создать ссылку можно командой ln, символьную ссылку ln -s

Очистить терминал можно нажав CTRL + l

Изучить детали своего SSH подключения можно командой

echo $SSH_CONNECTION

192.168.56.1 52350 192.168.56.101 22

Сперва идут IP и порт клиента, затем IP и порт сервера

Чтобы изучить содержимое длинного тестового файла выполните

less filename

Для поиска вперёд нажмите / для поиска назад ?

Поиск

Просто найти

find /usr/share/doc -name '*.pdf'

Найти и сразу скопировать в текущую директорию

find /usr/share/doc -name '*.pdf' -exec cp {} . \;

Найти в текущей директории

find -name '*.pdf'

Удалить из текущей директории

find -name '*.pdf' -delete

Найти все ссылки

find /etc -type l

Найти все ссылки только на верхнем уровне вложенности

find /etc -maxdepth 1 -type l

df -h /boot

Filesystem Size Used Avail Use% Mounted on /dev/sda1 1014M 194M 821M 20% /boot

Найти обычные файлы определённого размера

find /boot -size +20000k -type f

find: ‘/boot/efi/EFI/rocky’: Permission denied find: ‘/boot/grub2’: Permission denied /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img /boot/initramfs-3.10.0-1160.el7.x86_64.img /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img

find /boot -size +10000k -type f

find: ‘/boot/efi/EFI/rocky’: Permission denied find: ‘/boot/grub2’: Permission denied /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img /boot/initramfs-3.10.0-1160.el7.x86_64.img /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

То же самое плюс показать размер файлов

find /boot -size +10000k -type f -exec du -h {} \;

find: ‘/boot/efi/EFI/rocky’: Permission denied find: ‘/boot/grub2’: Permission denied 60M /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img 21M /boot/initramfs-3.10.0-1160.el7.x86_64.img 13M /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img 21M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img 14M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

Изменить пароль пользователя

Чтобы в rocky изменить пароль пользователя выполните команду passwd

[andrei@localhost ~]$ sudo passwd andrei

[sudo] password for andrei:
Changing password for user andrei.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

locale

Чтобы в rocky узнать текущую locale

cat /etc/locale.conf

LANG="en_US.UTF-8"

или

localectl status

System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us

Список доступных локалей

localectl list-locales

aa_DJ aa_DJ.iso88591 aa_DJ.utf8 aa_ER aa_ER.utf8 aa_ER.utf8@saaho aa_ER@saaho aa_ET aa_ET.utf8 af_ZA af_ZA.iso88591 af_ZA.utf8 am_ET am_ET.utf8 an_ES an_ES.iso885915 an_ES.utf8 ar_AE ar_AE.iso88596 ar_AE.utf8 ar_BH ar_BH.iso88596 ar_BH.utf8 ar_DZ ar_DZ.iso88596 ar_DZ.utf8 ar_EG ar_EG.iso88596 ar_EG.utf8 ar_IN ar_IN.utf8 ar_IQ

Выбрать только английский

localectl list-locales | grep en_US

en_US en_US.iso88591 en_US.iso885915 en_US.utf8

Список системных переменных, связанных с локалью доступен по команде

locale

LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=en_US.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_ALL=

Подробная информация по каждой переменной может быть получена с помощью флагов -c -k

locale -c -k LC_TIME

LC_TIME abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat" day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday" abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec" mon="January;February;March;April;May;June;July;August;September;October;November;December" am_pm="AM;PM" d_t_fmt="%a %d %b %Y %r %Z" d_fmt="%m/%d/%Y" t_fmt="%r" t_fmt_ampm="%I:%M:%S %p" era= era_year="" era_d_fmt="" alt_digits= era_d_t_fmt="" era_t_fmt="" time-era-num-entries=0 time-era-entries="S" week-ndays=7 week-1stday=19971130 week-1stweek=7 first_weekday=1 first_workday=2 cal_direction=1 timezone="" date_fmt="%a %b %e %H:%M:%S %Z %Y" time-codeset="UTF-8"

locale -c -k LC_CTYPE

LC_CTYPE ctype-class-names="upper";"lower";"alpha";"digit";"xdigit";"space";"print";"graph";"blank";"cntrl";"punct";"alnum";"combining";"combining_level3" ctype-map-names="toupper";"tolower";"totitle" ctype-width=16 ctype-mb-cur-max=6 charmap="UTF-8" ctype-class-offset=72 ctype-map-offset=86 ctype-indigits_mb-len=1 ctype-indigits0_mb="0" ctype-indigits1_mb="1" ctype-indigits2_mb="2" ctype-indigits3_mb="3" ctype-indigits4_mb="4" ctype-indigits5_mb="5" ctype-indigits6_mb="6" ctype-indigits7_mb="7" ctype-indigits8_mb="8" ctype-indigits9_mb="9" ctype-indigits_wc-len=1 ctype-outdigit0_mb="0" ctype-outdigit1_mb="1" ctype-outdigit2_mb="2" ctype-outdigit3_mb="3" ctype-outdigit4_mb="4" ctype-outdigit5_mb="5" ctype-outdigit6_mb="6" ctype-outdigit7_mb="7" ctype-outdigit8_mb="8" ctype-outdigit9_mb="9" ctype-outdigit0_wc=48 ctype-outdigit1_wc=49 ctype-outdigit2_wc=50 ctype-outdigit3_wc=51 ctype-outdigit4_wc=52 ctype-outdigit5_wc=53 ctype-outdigit6_wc=54 ctype-outdigit7_wc=55 ctype-outdigit8_wc=56 ctype-outdigit9_wc=57 ctype-translit-tab-size=4554 ctype-translit-default-missing-len=1 ctype-translit-ignore-len=0 ctype-translit-ignore="" map-to-nonascii=0

Список доступных локалей

locale -a

Изменить locale

Чтобы в rocky изменить locale можно либо откредактирвоать файл locale.conf в /etc/ либо применить команду localect (начиная с rocky 7)

Предположим, что нужно поменять локаль на en_us.iso88591

Откройте locale.conf и найдите строку LANG

sudo vi /etc/locale.conf

LANG="en_US.UTF-8"

Замените UTF-8 на iso88591

LANG="en_US.iso88591"

Альтернативный способ с использованием sed - выполните команду

sudo sed -i s/LANG=\"en_US\.UTF-8\"/LANG=\"en_US\.iso88591\"/ /etc/locale.conf

Чтобы проверить изменения выполните

localectl status

System Locale: LANG=en_US.iso88591 VC Keymap: us X11 Layout: us

Чтобы изменить системную переменную, например, LC_CTYPE выполните

sudo vi ~/.bashrc

И внесите в конец файла следующий код

LC_CTYPE="en_US.iso88591" export LC_CTYPE

locale -c -k LC_CTYPE

LC_CTYPE ctype-class-names="upper";"lower";"alpha";"digit";"xdigit";"space";"print";"graph";"blank";"cntrl";"punct";"alnum";"combining";"combining_level3" ctype-map-names="toupper";"tolower";"totitle" ctype-width=16 ctype-mb-cur-max=1 charmap="ISO-8859-1"

Узнать свой machine-id

cat /etc/machine-id

4af06fd2a0bc4a759da55cb099e1f0f4

Изменить machine-id

Удалите старый machine-id

sudo rm /etc/machine-id

Сгенерируйте новый machine-id

sudo systemd-machine-id-setup

Проверьте результат

cat /etc/machine-id

Теперь желательно перезагрузиться и проверить всё ли работает правильно

Если генерируется всё время один и тот же id значит скорее всего он берётся откуда-то ещё

Можно сгенерировать его самостоятельно с помощью dbus--uuidgen

rm -f /etc/machine-id
dbus-uuidgen --ensure=/etc/machine-id
dbus-uuidge --ensure
cat /etc/machine-id

Похожие статьи
Rocky Linux
Установка Rocky
Настройка сети в Rocky
Firewall
Дата и время
X Window System Rocky
XRDP: Удалённый рабочий стол
VNC: Удалённый рабочий стол
Изменить machine-id
Изменить ulimit
xclip: работа с буфером обмена
SELinux
docker-ce: установка в Rocky
dnf vs yum
FAQ
Ошибки

РЕКЛАМА хостинга Beget, которым я пользуюсь более десяти лет

Изображение баннера

Конец рекламы хостинга Beget, который я всем рекомендую.

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: