Архив рубрики: Linux

Редактирование ISO образа.

Процесс изменения ISO:

Во-первых, мы монтируем ISO в одну папку, копируем файл "filesystem.squashfs", расположенный на /casper, в другую папку. Затем, мы монтируем filesystem.squashfs в третью папку и копируем его содержимое в четвёртую папку. Далее, выполняем chroot в последней папке. Таким образом мы получим возможность устанавливать или удалять пакеты, которые нам нужны (или не нужны).

Необходимые пакеты
Сначала, нужно установить следующие пакеты: genisoimage и squashfs-tools.

sudo apt-get install genisoimage squashfs-tools

Монтирование ISO
Теперь, монтируем Ubuntu ISO в папку.

sudo mount -o loop ubuntu-desktop.iso ./image

Извлечение filesystem.squashfs
Далее, нужно найти filesystem.suquashfs, расположенный на casper, и скопировать его в другую папку.

sudo cp ./image/casper/filesystem.squashfs .

Монтирование виртуальной файловой системы
Монтируем filesystem.squashfs и копируем его содержимое в отдельную папку.

sudo mount -t squashfs -o loop filesystem.squashfs ./squashimage
sudo rsync -a --progress ./squashimage/ ./mysquash/

Изменения
Теперь можно выполнить chroot и установить или удалить пакеты.

cd mysquash
sudo chroot .

aptitude install (...)
aptitude remove (...)

Примечание. Чтобы в chroot была доступна сеть, нужно предварительно смонтировать /proc
sudo mount -o bind /proc ./mysquash/proc
Прописать DNS-сервера в ./mysquash/etc/resolv.conf, т.к. этот файл на LiveCD пустой.
Если необходимо, дописать репозитории в ./mysquash/etc/apt/sources.list.
После завершения установки/удаления пакетов в ./mysquash все внесённые изменения удалить.

Переупаковка Squashfs
Когда необходимые изменения внесены, нужно выйти из chroot и переупаковать squash.

exit
cd ..
mksquashfs ./mysquash myfilesystem.squashfs

Этот процесс может быть долгим, имейте терпение.

Создание ISO-образа
Теперь можно создать новый iso, содержащий внесённые изменения:

sudo rsync -a --progress ./image/ ./myimage/ --exclude=filesystem.squashfs
sudo mv myfilesystem.squashfs ./myimage/casper/filesystem.squashfs
sudo mkisofs -J -R -o ubuntu-mylive.iso -no-emul-boot -boot-info-table -b isolinux/isolinux.bin ./myimage

Готово.

Изменение SSH порта VMware ESXi 6

1. Заходим по ssh

cd /vmfs/volumes/datastore1
видим что-то вида > /sbin/cp /vmfs/volumes/58db5900-c649bd50-8479-d4ae52d01b4e

копируем следующие системные конфиги:

[root@localhost:/vmfs/volumes/58db5900-c649bd50-8479-d4ae52d01b4e] cat /etc/vmware/firewall/service.xml > ./service.xml
[root@localhost:/vmfs/volumes/58db5900-c649bd50-8479-d4ae52d01b4e] cat /etc/services > ./services

2. Редактируем их.

# vi /etc/vmware/firewall/service.xml
Читать далее Изменение SSH порта VMware ESXi 6

Установка Webmin на CentOS 7

Добавляем репозиторий:

# mcedit /etc/yum.repos.d/webmin.repo
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

Импоритуем GPG ключ:

# rpm --import http://www.webmin.com/jcameron-key.asc
Устанавливаем Webmin:

# yum install -y webmin
После установки он автоматически запустится. Нам остается только добавить его в автозагрузку:

# chkconfig webmin on

При необходимости отключаем фаервол
systemctl disable firewalld
Остановить Firewalld
systemctl stop firewalld
Проверить статус Firewalld
systemctl status firewalld

Вход в webmin доступен по ссылке: https://SERVER:10000

Восстановление GRUB 2 после установки Windows

Грузимся с LiveDVD.

1. sudo fdisk -l
Узнаем раздел на котором линукс.
2. sudo mount /dev/sda5 /mnt
монтируем раздел с линуксом:
3. sudo grub-install --root-directory=/mnt /dev/sda
ставим граб 2
Готово.

sudo update-grub
Для восстановления загрузки винды, вводить уже в самой ОС Линукс.

Установка Grub Ubuntu 16 с LiveCD

1. Монтируем загрузочный раздел sudo mount /dev/sdXY /mnt
Просмотреть какой у Вас можно командой sudo fdisk -l, в моем случае sda1
2. Монтируем нашу систему
sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys

3. Заходим в неё
sudo chroot /mnt
4. Ставим grub
grub-install /dev/sda
grub-install --recheck /dev/sda
update-grub
5. Выходим, отмонтируем и ребутим
exit &&
sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt

Готов.

Создание RAID массива на работающем сервере.

0. В наличие 5 дисков WD Black по 4Тб.

1. Проверяем их названия в системе через веб-интерфейс ProxMox

Либо командой fdisk -l
root@pve01:~# fdisk -l
Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdb: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors

Disk /dev/sdc: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Disk /dev/sdd: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sde: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdf: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors

Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk /dev/sdh: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
2. Делаем разметку диска первого диска для рейда командой: cfdisk /dev/sda
Select label type gpt

Создаем новый раздел на всю область диска, ставим тип Linux RAID, записываем изменения, видим запись об успешной разметке - The partition table has been altered, выходим.
3. Для того чтоб не проделывать аналогичную процедуру для других дисков выполним команду
sfdisk -d /dev/sda | sfdisk /dev/sdb
sfdisk -d /dev/sda | sfdisk /dev/sdd
sfdisk -d /dev/sda | sfdisk /dev/sde
sfdisk -d /dev/sda | sfdisk /dev/sdf

root@pve01:~# sfdisk -d /dev/sda | sfdisk /dev/sdb
sfdisk: Checking that no-one is using this disk right now ...
sfdisk: OK

Disk /dev/sdb: 486401 cylinders, 255 heads, 63 sectors/track
sfdisk: /dev/sdb: unrecognized partition table type
Old situation:
sfdisk: No partitions found
New situation:
Units: sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
/dev/sdb1 1 4294967295 4294967295 ee GPT
/dev/sdb2 0 - 0 0 Empty
/dev/sdb3 0 - 0 0 Empty
/dev/sdb4 0 - 0 0 Empty
sfdisk: Warning: partition 1 does not end at a cylinder boundary
sfdisk: Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...

sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Проверяем командой df -h, если разделы не создались или создались некорректно переразмечиваем в ручную каждый cfdisk /dev/sdX.
Затираем диск dd if=/dev/zero of=/dev/sdX bs=1024k
Отменить можно после нескольких минут командой Ctrl+C, нам нужно только начало диска стереть.
Создаем новые разделы cfdisk /dev/sdb

3. Используем утилиту mdadm для создания рейда.
Ключ --create (краткая форма -C) - режим создания. --verbose вывод всего происходящего на экран.
После этого ключа указывается имя создаваемого RAID-устройства. /dev/md3 так как у нас уже емелись 0,1,2 под загрузчик, swap и рам раздел линукса.
Ключ --level=5 определяет уровень RAID-массива. Ключ --raid-devices=5 определяет количество устройств-компонентов в создаваемом RAID-массиве. Завершает командную строку список устройств, из которых будет сформирован RAID-массив.

root@pve01:~# mdadm --create --verbose /dev/md3 --level=5 \
> --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 3906886144K
mdadm: automatically enabling write-intent bitmap on large array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md3 started.

Командой fdisk -l проверяем наличие разделов.
Disk /dev/md3: 14.6 TiB, 16002605645824 bytes, 31255089152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 2097152 bytes

Проверка и удаления заблокированых IP адресов Asterics

Проверка:
[root@localhost ~]# iptables -L -v -n
Chain INPUT (policy ACCEPT 128K packets, 8560K bytes)
pkts bytes target prot opt in out source destination
2450M 161G fail2ban-ASTERISK all -- * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 29064 packets, 3860K bytes)
pkts bytes target prot opt in out source destination

Chain fail2ban-ASTERISK (1 references)
pkts bytes target prot opt in out source destination
41 28382 DROP all -- * * 192.168.99.13 0.0.0.0/0

Удаление:
[root@localhost ~]# iptables -D fail2ban-ASTERISK 1