0.00
0 читателей, 25 топиков

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

Утилита управления сетевыми настройками ip

Странно как-то в Линуксе организовано управление сетевыми настройками — какие-то дополнительные утилиты, которые делают то, что во ФриБСД делается уже существующими утилитами. В частности утилита ip, которая частично дублирует функции утилит ifconfig, route и ещё бог весть каких. При этом утилитой ifconfig можно назначить айпишник, а удалить уже не получается.

Несколько примеров применения утилиты ip:

ip addr show dev eth1
ip addr add 10.1.1.224/26 dev eth1 (второй адрес добавляется также)
ip addr del 10.1.1.224/26 dev eth1

Добавить IPv6-адрес на интерфейс, можно как второй для уже существующего IPv4-адреса:
ip addr add 2001:0db8::21d:fff:febe:afec/64 dev eth0.10
ip addr del 2001:0db8::21d:fff:febe:afec/64 dev eth0.10

ip link show dev eth1
ip link set up dev eth1
ip link set down dev eth1

Добавить ВЛАН-интерфейс:
ip link add dev eth1.10 link eth1 type vlan id 10
Удалить интерфейс:
ip link del dev eth1.10

ip route show
Показать маршрут по-умолчанию по слову default или маршруту 0.0.0.0 утилита отказалась — показала всю таблицу, надо вот так:
ip route show 0/0
ip -6 route show ::/0

Показать точный маршрут к хосту (если есть маршрут на подсеть, в которую входит указанный хост, то он не учитывается):
ip route show 10.2.2.1
ip route show to exact 10.2.2.1
ip -6 route show 2001:db8::/64

Показать подходящий маршрут к хосту, например, если есть маршрут на соответствующую подсеть:
ip route show to match 10.2.2.1

ip route add 10.2.2.0/24 via 10.1.1.1
ip route add to 10.2.2.0/24 via 10.1.1.1

ip route delete 10.2.2.1
ip route delete 10.2.2.0/24

Удалить маршрут по-умолчанию и добавить его:
ip route delete default
ip route add default via 10.1.1.1

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. Винда в гостевой машине запустит установку программы, а дальше как обычно.

Работа с репозиториями

Список подключенных репозиториев:
yum repolist

yum install epel-release

Добавить репозитории (для CentOS 6.6):
rpm -ihv http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm

rpm -ihv http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm


Ищем нужные пакеты в указанном репозитории:
yum --enablerepo=remi list mysql mysql-server
Устанавливаем пакеты из указанного репозитория:
yum --enablerepo=remi install mysql mysql-server
Обновляем пакеты из указанного репозитория:
yum --enablerepo=remi update mysql mysql-server
Какой пакет содержит указанную библиотеку:
yum provides libasound.so.2

Репозиторий Nux Dextop

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro


On CentOS/RHEL 6.*:
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm


On CentOS/RHEL 7:
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

Подключение сетевого принтера

В меню программ находим папку Administration и ищем там пункт Printing.
Если её нет, то устанавливаем пакет system-config-printer:
yum install system-config-printer

После этого указанный пункт меню должен появиться. Запускаем его и дальше всё становится понятно — меню Server — New — Printer. Затем Network Printer — Find Network Printer — указываем адрес сетевого принтера и… ну дальше уже не буду описывать, т.к. всё просто )

В CentOS 7 подключение того же самого офисного сетевого принтера Canon так просто не удалась. Перепробовал множество вариантов — не работает. На сайте Canon скачал какой-то универсальный драйвер linux-UFRII-drv-v370-uken-05.tar.gz, установил его и после этого получилось подключить принтер.

Отформатировать флешку под FAT32

Ставим утилиты для поддержки FAT:
yum install dosfstools

Смотрим под каким названием определилась флешка:
tail /var/log/messages

Можно посмотреть какие разделы на диске:
fdisk -l /dev/sdc

Форматировать:
mkfs -t vfat /dev/sdc1

Поменять название диска:
dosfslabel /dev/sdc1 «My USB»

Краткие заметки для чайника в линуксах )

MySQL
wget repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
systemctl start mysqld

netstat, ifconfig, route и другие:
yum install net-tools

Установить пакет из локального rpm-файла
yum install VirtualBox-4.3-4.3.20_96996_el6-1.x86_64.rpm

selinux
Посмотреть текущее состояние:
getenforce
Выключить (до ребута):
setenforce 0
Включить (до ребута):
setenforce 1
Выключить совсем:
файл /etc/selinux/config (/etc/sysconfig/selinux):
SELINUX=disabled
# enforcing — запрещать
# permissive — выводить предупреждения
# disabled — отключить
reboot



Информация о пакете:
yum info jwhois



call-up utility — cu (com-port):
yum install uucp
cu -l /dev/ttyS



host nslookup dig
yum install bind-utils



mount ufs (freebsd)
mount -t ufs -o ufstype=ufs2,ro /dev/sdXY /path/to/mnt/point
www.cyberciti.biz/faq/howto-linux-mount-freebsd-ufs2-filesystem/



vlan dot1q
Проверить загружен ли модуль:
lsmod | grep 8021q
Загрузить модуль:
modprobe 8021q
Пример настройки:
файл /etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes

файл /etc/sysconfig/network-scripts/ifcfg-eth0.192:
DEVICE=eth0.192
PHYSDEV=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
USERCTL=no
NETWORK=192.168.1.0
VLAN=yes
GATEWAY=192.168.1.1

service network restart

access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_802.1q-vlan-tagging.html



ДНС-серверы (вместо /etc/resolv.conf)
файл /etc/sysconfig/network-scripts/ifcfg-eth0
PEERDNS=yes
DNS1=192.168.0.1
DNS2=192.168.0.2
DOMAIN=domain.tld



iostat
yum install sysstat



Все открытые TCP-сокеты (sockets)
ss -t -a



Подмонтировать имидж с NTFS как диск:
mount -t ntfs -o loop /data-b/win-hosting/win.img /mnt/win



Перемонтировать корневой раздел на запись:
mount -o remount /dev/mapper/centos-root /

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: установка VMWare Player

Скачиваем дистрибутив с официального сайта. Скаченный файл, например, VMware-Player-7.0.0-2305329.x86_64.bundle — это шелл-скрипт. Запускаем установку:
sh VMware-Player-7.0.0-2305329.x86_64.bundle

После успешной установки в меню программ System появится пункт «VMWare Player».

Удалить его можно вот так:
sh VMware-Player-7.0.0-2305329.x86_64.bundle --uninstall-product vmware-player

CentOS: Запуск демона при помощи systemd

Установил net-snmp из исходников, т.к. пакет требует наличия библиотек mariadb, которые конфликтуют с установленным mysql.

Для нормального запуска демона посредством systemd создал файл /usr/lib/systemd/system/snmpd.service:
[Unit]
Description=Net-SNMP daemon
Documentation=man:snmpd(8) man:snmpd.conf(5)
After=network.target

[Service]
ExecStart=/usr/local/net-snmp/sbin/snmpd -f -c /etc/snmpd.conf -p /var/run/snmpd.pid
ExecReload=/bin/kill -HUP ${MAINPID}
ExecStop=/bin/kill -TERM ${MAINPID}

[Install]
WantedBy=multi-user.target

Обратите внимание на ключ "-f" — не уходить в фон. Так systemd может прочитать pid процесса. Иначе у меня не получилось, опция «PIDFile=» не помогла.

Теперь демон нормально обрабатывается командой systemctl:
systemctl enable snmpd.service
systemctl start snmpd.service
systemctl status snmpd.service
systemctl stop snmpd.service


Дополнение: скрипт для запуска демона ЯндексДиск

Создаём файл "/usr/lib/systemd/system/yandex-disk.service":
[Unit]
Description=Yandex Disk daemon
Documentation=man:yandex-disk(8)
After=network.target

[Service]
Type=simple
RemainAfterExit=true
ExecStart=/bin/yandex-disk start
ExecStop=/bin/yandex-disk stop

[Install]
WantedBy=default.target


Затем активируем его:
systemctl enable yandex-disk
И запускаем:
systemctl start yandex-disk
Проверяем:
systemctl status yandex-disk

Подробности можно посмотреть отдельно:
yandex-disk status