🏠 | IT | 🐧 Linux |

Centos

Содержание статьи
Введение
Установка CentOS
Узнать версию CentOS
Установка программ
Получить доступ к sudo
Настройка сети
Настройка даты и времени
Установка Golang
Полезные команды
Типы файлов
Статьи про CentOS
Ошибки

Введение

CentOS от англ. Community ENTerprise Operating System — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat и совместимый с ним.

Согласно жизненному циклу Red Hat Enterprise Linux (RHEL) , CentOS 5, 6 и 7 будут поддерживаться «до 10 лет», поскольку они основаны на RHEL.

Ранее версия CentOS 4 поддерживалась семь лет.

Red Hat Enterprise Linux состоит из свободного ПО с открытым кодом, но доступен в виде дисков с бинарными пакетами только для платных подписчиков.

Как требуется в лицензии GPL и других, Red Hat предоставляет все исходные коды.

Разработчики CentOS используют данный исходный код для создания окончательного продукта, очень близкого к Red Hat Enterprise Linux и доступного для загрузки.

Статьи о CentOS
Настойка сети в CentOS
Установка виртуальной CentOS на Ubuntu
Docker контейнер CentOS с SSH доступом
Настройка даты и времени
Новости CentOS

Установка CentOS

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

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

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

cat /etc/system-release

CentOS Linux release 7.9.2009 (Core)

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

Для начала неплохо обновить пакетный менеджер. В CentOS он называется 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

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

usermod -aG wheel andrei

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

su andrei

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

Чтобы изучить подключения выполните

ip a s

Или

nmcli conn show

Чтобы изучить сетевые подключения.

NAME UUID TYPE DEVICE enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet enp0s3 enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8

Если какой-то интерфейс, например enp0s3, выключен у него в столбце DEVICE будет стоять --

Обычно неактивный интерфейс выделен серым цветом а активный зелёным.

NAME UUID TYPE DEVICE enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet -- enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8

Включить интерфейс можно командой

nmcli conn up enp0s3

Чтобы не включать сетевой интерфейс каждый раз вручную можно в настройках прописать ONBOOT yes

Как вариант можно перейти в /etc/sysconfig/network-scripts/ifcfg-enp0s3 и отредактировать с помощью vi либо под root использовать sed

sed -i s /ONBOOT=no/ONBOOT=yes/ /etc/sysconfig/network-scripts/ifcfg-enp0s3

Если команда выше вам не до конца понятна - изучите статью «Основы sed»

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

grep ONBOOT !$

Установка 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.andreyolegovich.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

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

yum update
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"

systemctl set-default graphical.target

Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

systemctl isolate graphical.target

После предыдущей команды в окне Virtualbox должны запуститься иксы

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

Перемещение между 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 ├─centos-root 253:0 0 6.2G 0 lvm / └─centos-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 14 Nov 17 13:44 /etc/system-release -> centos-release

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

Выполните

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

-rw-r--r--. 1 root root 37 Oct 23 17:53 /etc/centos-release lrwxrwxrwx. 1 root root 14 Nov 17 13:44 /etc/redhat-release -> centos-release lrwxrwxrwx. 1 root root 14 Nov 17 13:44 /etc/system-release -> centos-release

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

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

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

lsb_release -d

Description: CentOS Linux release 7.9.2009 (Core)

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

ls -lF $(which lsb_release)

-rwxr-xr-x. 1 root root 15929 Mar 27 2015 /usr/bin/lsb_release*

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

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

rpm -qf $(which lsb_release)

redhat-lsb-core-4.1-27.el7.centos.1.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/centos’: 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/centos’: 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/centos’: 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

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

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

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