Linux иштетүү системасынын версиясын кароо

Linux иштетүү системасынын версиясын кароо дистрибутивге (Red Hat Linux, Ubuntu, Debian, CentOS жана башка) карай өзгөрүшү мүмкүн, бирок, көбүнчө ылдыйда берилген командалар колдонулат.

Linux иштетүү системасынын дистрибутивинин атын жана версиясын кароо үчүн:

$ lsb_release -a

LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.11 (Tikanga)
Release: 5.11
Codename: Tikanga

Дистрибутивдин атын жана версиясын бул ыкма менен дагы караса болот:

$ cat /etc/issue

Red Hat Enterprise Linux Server release 5.11 (Tikanga)

Linux иштетүү системасынын өзөгүнүн версиясын кароо үчүн:

$ uname -a

Linux srvname 2.6.18-398.el5 #1 SMP Tue Aug 12 06:26:17 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

Бул жерде Linux иштетүү системасынын «бит»тиги тууралуу дагы маалымат бар: x86_64 — 64-биттик иштетүү системасына таандык экенин билдирет.

CentOS: iSCSI

Настраиваем iSCSI-сервер (таргет)

Выбираем для этого раздел, не забываем отмонтировать его и убрать из /etc/fstab если надо, например это будет раздел sdc1.

Устанавливаем пакет:
yum -y install scsi-target-utils

Затем в файле /etc/tgt/targets.conf прописываем наше устройство:
<target iqn.2014-12.tld.mydomain:myserver.test>
# Устройство:
backing-store /dev/sdc1
# Адрес iSCSI-клиента (инициатора), можно указать несколько таких строк:
initiator-address 10.0.0.1
№initiator-address 10.0.0.2
# Если надо — логин и пароль:
#incominguser test pass-12345


Запускаем службу:
/etc/rc.d/init.d/tgtd start

Прописываем её автозапуск:
chkconfig --levels 23 tgtd on

Проверяем состояние:
tgt-admin --show

Открываем, если надо, порт 3260 в файрволе.

Посмотреть текущие поключения инициаторов к указанному таргету можно вот так:
tgtadm --lld iscsi --mode conn --op show --tid 1
Session: 4
Connection: 0
Initiator: iqn.2014-12.tld.mydomain:client1
IP Address: 10.1.0.1

Настраиваем iSCSI-клиент (инициатор)

Устанавливаем пакет:
yum -y install iscsi-initiator-utils

Если на таргете задавали логин и пароль, то прописываем их в файле /etc/iscsi/iscsid.conf, иначе можно его не трогать. Рядом с этим конфигом лежит файл initiatorname.iscsi, в котором не помешает задать понятное вам имя инициатора:
InitiatorName=iqn.2014-12.tld.mydomain:client1

Прописываем службы в автозапуск:
chkconfig --levels 23 iscsid on
chkconfig --levels 23 iscsi on
Проверяем включен ли автозапуск для netfs и если надо — включаем:
chkconfig --list netfs
chkconfig --levels 23 netfs on

Опрашиваем таргет:
iscsiadm -m discovery -t sendtargets -p 10.0.0.1
Должно выдать что-то вроде этого:
10.0.0.1:3260,1 iqn.2014-12.tld.mydomain:myserver.test

Можно просмотреть состояние:
iscsiadm -m node -o show

Подключаемся к таргету:
iscsiadm -m node --login -T iqn.2014-12.tld.mydomain:myserver.test
Проверяем сессию:
iscsiadm -m session -o show
Должно показать что-то вот такое:
tcp: [1] 10.0.0.1:3260,1 iqn.2014-12.tld.mydomain:myserver.test (non-flash)

Теперь проверяем появился ли новый диск в системе и если появился, то работаем с ним как обычно.

Создаём разделы (подробности не описываю):
fdisk /dev/sdc

Форматируем:
mkfs.ext4 /dev/sdc1
(или mkfs.xfs /dev/sdc1)

Монтируем:
mount -o noatime,nodiratime /dev/sdc1 /mnt/1

И добавляем в /etc/fstab:
/dev/sdc1 /mnt/1 ext4 _netdev,rw 0 0

Или же можно подмонтировать по UUID:
blkid /dev/sdc1
/dev/sdc1: UUID=«e65ea5f6-9a37-456e-9f33-00d63890c8f3» TYPE=«ext4»

Написано, что по UUID лучше, т.к. идентификатор устройства, например после подключения/отключения дисков, может измениться, а UUID — нет.

В этом случае в /etc/fstab добавляем:
UUID=e65ea5f6-9a37-456e-9f33-00d63890c8f3 /mnt/1 ext4 _netdev,rw,noatime,nodiratime 0 0

Службы iscsi-инициатора при запуске будут подмонтировать все таргеты, найденные в своей базе (/var/lib/iscsi/nodes). Соответственно система будет брать диск с нужным UUID и монтировать его в соответствии с записью в /etc/fstab, ну или как вы указали в команде mount.

Отключение iSCSI-диска

Как обычно отмонтируем:
umount /dev/sdc

Отключаемся от таргета:
iscsiadm --m node -T iqn.2014-12.tld.mydomain:myserver.test -u

Проверяем:
iscsiadm -m session -o show
iscsiadm: No active sessions.

Если таргет больше не нужно подключать, то, после отключения от него, лучше удалить его из базы, чтобы при каждом запуске системы таргет снова не подмонтировался:
iscsiadm -m node -T iqn.2014-12.tld.mydomain:myserver.test -o delete

Подключение раздела локально

Подмонтировать раздел, используемый как iscsi-таргет, локально как обычный диск мне пока не удалось. Это плохо. Успокаивает то, что можно подключить его как iscsi-диск с той же машины так же как и с удалённой.

CentOS: Переустановка загрузчика (GRUB)

Взято отсюда, на себе не проверял пока )

Переустановка загрузчика (GRUB)

Выполните следующие шаги.

Шаг 1: Загрузка CentOS с инсталляционного диска (например #1 CD или DVD).

Шаг 2: Выбрать «linux rescue» в поле меню «boot».

Шаг 3: Смонтировать все файловые системы в режиме чтения-записи.

Шаг 4: Заменить корень на реальный корень ("/") на жестком диске.

# chroot /mnt/sysimage

Шаг 5: Переустановка загрузчика (GRUB).

Если вы переустанавливаете GRUB в MBR на диск SCSI или SATA (/dev/sda).

# grub-install /dev/sda

Если вы переустанавливаете GRUB в PBR в раздел #2 на диск SCSI или SATA (/dev/sda2)

# grub-install /dev/sda2

Если вы переустанавливаете GRUB в MBR на IDE диск (/dev/hda).

# grub-install /dev/hda

Если вы переустанавливаете GRUB в MBR на диск HP Smart Array (/dev/c0d0).

# grub-install /dev/cciss/c0d0

CentOS: ещё одно описание установки VirtualBox )

В виду того, что найденные мной описания установки VirtualBox на CentOS в моём случае не стали исчерпывающими я решил описать свой вариант.

Система CentOS 6.6.

Скачиваю файл описания репозитория VirtualBox:
wget download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Перекладываю его в папку /etc/yum.repos.d

Устанавливаю VirtualBox:
yum install VirtualBox-4.3

Однако установка аварийно завершается в процессе скачивания дистрибутива с сообщением о низкой скорости скачивания. Скачиваю его вручную:
wget download.virtualbox.org/virtualbox/rpm/el/6/x86_64/VirtualBox-4.3-4.3.20_96996_el6-1.x86_64.rpm

И устанавливаю:
yum install VirtualBox-4.3-4.3.20_96996_el6-1.x86_64.rpm

При попытке настройки командой "/etc/init.d/vboxdrv setup" получаю ошибку:
Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.


Смотрю в папке /usr/src/ точное название папки и прописываю переменную окружения:
export KERN_DIR=/usr/src/kernels/2.6.32-504.1.3.el6.x86_64

Запускаю снова "/etc/init.d/vboxdrv setup" и опять неудача — что-то там про то, что невозможно найти файлы заголовков (headers) ядра.

Перезагрузился, в процессе загрузки устанавливались какие-то модули VirtualBox-а.

Снова запускаю "/etc/init.d/vboxdrv setup" и, о чудо, кроме ошибок в процессе удаления старых модулей всё прошло нормально:
Stopping VirtualBox kernel modules                         [  OK  ]
Uninstalling old VirtualBox DKMS kernel modules
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
Error! There are no instances of module: vboxhost
4.3.20 located in the DKMS tree.
                                                           [  OK  ]
Trying to register the VirtualBox kernel modules using DKMS[  OK  ]
Starting VirtualBox kernel modules                         [  OK  ]


Запускаем его:
VirtualBox

Выбираю операционку Windows XP (32 bit), в качестве CD-привода выбираю виртуальный привод и указываю его на заранее скаченный имидж Windows XP 32-бита.

Пакет расширения

Вроде бы нужен, чтобы работал USB и ещё какие-то штуки:
Description: USB 2.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM with E1000 support.

Скачиваем с сайта VirtualBox-а «VirtualBox 4.3.20 Oracle VM VirtualBox Extension Pack».

Устанавливаем его:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.20-96996.vbox-extpack

Посмотреть список пакетов расширения:
VBoxManage list extpacks

Расшаренные папки

Чтобы папки из хост-системы были видны в гостевой нужно в гостевой системе установить Oracle VM VirtualBox Guest Additions. Для этого в меню этой виртуальной машины надо выбрать пункт — Devices — Insert Guest Additional CD image. Винда в гостевой машине запустит установку программы, а дальше как обычно.

CentOS: управление запуском сервисов

Какие сервисы запускаются на каких уровнях:
chkconfig --list

Какие уровни что означают:

# /etc/inittab
# Default runlevel. The runlevels used are:
# 0 — halt (Do NOT set initdefault to this)
# 1 — Single user mode
# 2 — Multiuser, without NFS (The same as 3, if you do not have
# networking)
# 3 — Full multiuser mode
# 4 — unused
# 5 — X11
# 6 — reboot (Do NOT set initdefault to this)

Примеры:

1. В каких случаях запускать mysqld:
chkconfig --level 23 mysqld on
2. Не запускать апач на уровнях 2 и 3:
chkconfig --level 23 httpd off
3. Не запускать апач вообще:
chkconfig httpd off

CentOS IPv6

Есть интерфейс из ВЛАН-10, на котором уже имеется IPv4-адрес, надо добавить второй адрес, но уже из IPv6-сети. Это можно сделать вот так:
ip addr add 2001:0db8:3:4:0:0:0:3/64 dev eth0.10

Удалить вот так:
ip addr del 2001:0db8:3:4:0:0:0:3/64 dev eth0.10

А чтобы при перезагрузке компьютера этот адрес появился снова добавляем записи для IPv6 в уже существующий файл /etc/sysconfig/network-scripts/ifcfg-eth0.10:
DEVICE=eth0.10
PHYSDEV=eth0
ONBOOT=yes
VID=10
IPADDR=10.1.1.3
NETMASK=255.255.255.0
BOOTPROTO=static
VLAN=yes
USERCTL=no
GATEWAY=10.1.1.1
PEERDNS=yes
DNS1=10.1.1.1
DNS2=10.1.1.2
DOMAIN=elcat.kg
# Добавляем данные для IPv6:
IPV6INIT=yes
IPV6ADDR=2001:0db8:3:4:0:0:0:3/64
IPV6_DEFAULTGW=2001:0db8:3:4:0:0:0:1

Пингуем командой ping6, а путь смотрим командой tracepath6.

Несколько примеров просмотра, удаления и добавления IPv6-маршрутов:
ip -6 route show
ip -6 route show ::/0
ip -6 route show default
ip -6 route delete ::/0
ip -6 route add default via 2001:0db8:3:4:0:0:0:1
ip -6 route add 2001:0db8:33:44::/64 via 2001:0db8:3:4:0:0:0:1
ip -6 route delete 2001:0db8:33:44::/64

К сожалению маршрут до конкретного хоста из подсети, на которую добавлен маршрут, не показывается:
ip -6 route show 2001:0db8:33:44:0:0:0:13
Только для заданной подсети:
ip -6 route show 2001:0db8:33:44::/64

Ну или старый, добрый netstat:
netstat -rn --inet6

Apache: Directory index forbidden by Options directive

Есть у меня куча разной документации и для удобства доступа к ней я поднимаю веб-сервер Apache (httpd) с виртуальным сайтом.
Т.к. по большей части в папках нет индексного файла, я прописываю опцию "+Indexes", чтобы Апач выводил мне список файлов.
Проблем обычно не было, а вот сделал это на машине с CentOS и появилась странная проблема — несмотря на указанную опцию список файлов в корне виртуального сайта не отображался, вместо него выводилась страница из дистрибутива Апача, а в логи записывалась ошибка «Directory index forbidden by Options directive». При этом в подпапках список файлов выводился нормально.
Долго не мог понять в чём проблема, ковыряние в конфигах и эксперименты не помогали.
Пришлось гуглить. Оказалось, что в стандартной установке Апача есть файл /etc/httpd/conf.d/welcome.conf, в котором, собственно, и сказано, что для корня не выводит список файлов, а выводить файл с ошибкой.
Я просто удалил (переименовал) этот файл и перезапустил Апач. Однако при обновлении Апача файл перезаписался и ситуация повторилась, тогда я файл оставил, но закомментировал строки в нём.

Доступ к рабочему столу CentOS с Mac OS X

На работе компьютер под CentOS, а дома под Mac OS X. Иногда бывает нужно подключиться из дома к рабочему компьютеру и доделать или посмотреть что-то в уже открытой сессии иксов.
На рабочем компьютере установил пакет x11vnc. Указал пароль для подключения при помощи команды «x11vnc -storepasswd» и запустил ожидание подключения командой:
x11vnc -nolookup -forever -usepw -display :0 -q &


А в Mac OS X даже устанавливать ничего не пришлось. Подключась через Finder — «Подключение к удалённому рабочему столу» указывая строку «vnc://адрес_рабочего_компьютера» или же из консоли «open vnc://адрес_рабочего_компьютера».
Ну и конечно надо позаботиться о безопасности подключения — прикрыть файрволом порт 5900 на рабочем компьютере, поднять шифрованный туннель.

Последний вариант вот такой:
x11vnc -noxrecord -noxfixes -noxdamage -nolookup -ncache 0 -forever -usepw -display :0 -q -nowait_bog &

NTFS в CentOS

Ставим нужные пакеты:
yum install fuse fuse-ntfs-3g

И система автоматически монтирует диск, а можно примонтировать вручную, очевидно как-то так:
mount -t ntfs-3g /dev/sXY /mnt/mydisk

Подключение USB-диска с HFS+ (Mac OS)

По-умолчанию диск не подключается. Диск нормально примонтировался после установки соответствующего модуля из репозитория elrepo:
yum install kmod-hfsplus

Соответствующая часть вывода команды mount:
/dev/sdd10 on /media/A1 type hfsplus (rw,nosuid,nodev,uhelper=hal)
/dev/sdd12 on /media/A2 type hfsplus (rw,nosuid,nodev,uhelper=hal)


Подключение к репозиторию CentOS7:
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm