-
- Откройте терминал под пользователем root и введите следующие команды:
- Выбираем пункт меню «Shell»
Enter an option: 8
- Отключаем Swap
swapoff /dev/label/swap0
- Удаляем раздел со Swap
gpart delete -i 2 vtbd0s1
- Расширяем первый слайс диска
gpart resize -i 1 vtbd0
- Применяем изменения
gpart commit vtbd0s1
- Расширяем первый раздел диска (вместо X конечный объем диска в гигабайтах)
gpart resize -i 1 -s XG vtbd0s1
- Добавляем раздел со Swap
gpart add -t freebsd-swap vtbd0s1
- Ставим метку на раздел со Swap
glabel label swap0 /dev/vtbd0s1b
sed -i \"\" 's/dev\/ufsid\/[a-z0-9]*/dev\/vtbd0s1a/g' /etc/fstab
- Перезагружаем сервер
reboot
- Расширяем файловую систему раздела
growfs -y /dev/vtbd0s1a
Для того чтобы проверить корректность выполненных действий, можно воспользоваться командой
gpart show -p
Все записи автора zveronline
Docker в lxc
Для нормальной работы docker в lxc, в конфиге контейнера /etc/pve/lxc/[ID].conf прописать:
lxc.aa_profile: unconfined lxc.cgroup.devices.allow: a lxc.cap.drop:
Основные команды ZFS
Создать пул raidz:
$ zpool create -f -o ashift=12 tank raidz /dev/sda /dev/sdb /dev/sdc
Добавить диски в пул:
$ zpool add -f tank raidz /dev/sda /dev/sdb /dev/sdc
$ zpool attach tank /dev/sda /dev/sdb
Создать фс:
$ zfs create tank/storage
Включить сжатие:
$ zfs set compression=on tank/storage
Изменить точку монтирования:
$ zfs set mountpoint=/media/storage tank/storage
Добавить кэш диск l2arc:
$ zpool add tank cache /dev/sda -f
Добавить ZIL:
$ zpool add tank log /dev/sda -f
Если диск отпал (проблемы с кабелем) или специально его отключили можно подключить его обратно:
$ zpool online tank /dev/sda
Создать блочное устройство:
$ zfs create -V 5gb tank/vol
tun в lxc
В конфиге контейнера /etc/pve/lxc/[ID].conf добавить строку
Для tun устройства:
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file
Дополнительно для openvpn
lxc.cgroup.devices.allow = c 10:200 rwm
Для fuse устройства:
lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file
Для ppp устройства (для работы ppp требуется CAP_NET_ADMIN):
lxc.mount.entry = /dev/ppp dev/ppp none bind,create=file
настройка openvpn
Установка утилиты Easy-RSA
Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.
Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.
Все операции с удостоверяющим центром и сертификатами можно (и нужно) проводить от имени непривилегированного пользователя.
$ ./easyrsa init-pki
На втором шаге с помощью команды build-ca создайте удостоверяющий центр CA:
$ ./easyrsa build-ca
Проблема с ключами в Arch Linux
При очередном обновлении часть пакетов не смогла обновиться ругаясь на неправильный ключ.
Такая-же проблема появляется иногда при обновлении отдельных пакетов.
Например:
vdpauinfo-0.9.tar.gz ... СБОЙ (неизвестный открытый ключ 1BEF3D8401A68861)
Решение оказалось довольно простым, хотя и пришлось перепробовать несколько вариантов.
$ gpg --keyserver keys.gnupg.net --recv-keys <не найденный ключ>
Пример:
$ gpg --keyserver keys.gnupg.net --recv-keys 1BEF3D8401A68861 gpg: ключ 09BA9635: импортирован открытый ключ "Aaron Plattner" gpg: абсолютно доверенных ключей не найдено gpg: Всего обработано: 1 gpg: импортировано: 1
Конвертация ape в flac
bash скрипт:
for f in *.ape ; do mac "$f" - -d | flac --best - > "${f%.*ape}.flac"; done
Базовые операции в PostgreSQL
Запуск psql под пользователем postgres:
sudo -u postgres psql
Создать базу данных и пользователя:
postgres=# CREATE DATABASE test_database; CREATE DATABASE postgres=# CREATE USER test_user WITH password 'qwerty'; CREATE ROLE postgres=# GRANT ALL privileges ON DATABASE test_database TO test_user; GRANT
Удалить базу данных и пользователя:
postgres=# DROP DATABASE test_database; DROP DATABASE postgres=# DROP USER test_user; DROP USER
Монтирование образов qcow2
Образ виртуалки qcow2 можно примонтировать локально. Это может понадобиться чтобы вытащить или изменить нужные файлы даже если виртуалка не может сама загрузиться.
Для монтирования нужно выполнить несколько команд:
modprobe nbd max_part=8 qemu-nbd -c /dev/nbd0 название_образа.qcow2 mkdir /mnt/qemu mount /dev/nbd0p1 /mnt/qemu
Диск монтируется в режиме чтения-записи. Чтобы отмонтировать диск и освободить ресурсы выполним обратную операцию:
umount /mnt/qemu rm -R /mnt/qemu qemu-nbd -d /dev/nbd0 modprobe -r nbd
MySQL: Импорт и экспорт базы при помощи консоли
Импорт и экспорт базы данных mysql при помощи консоли, я думаю, — это самый универсальный и самый удобный способ, по сравнению с тем же phpmyadmin, который нужно ещё и устанавливать, и настраивать. А работа с консолью занимает минимум времени.
Импорт
Сперва необходимо создать базу данных.
# mysql -uимя_пользователя -p имя_базы < db.sql
Экспорт
# mysqldump -uимя_пользователя -p имя_базы > db.sql
Значения «имя_пользователя» и «имя_базы» замените на имя пользователя и имя базы данных соответственно.
Для экспорта нескольких баз данных можно воспользоваться вот такой командой:
# mysqldump -uroot -p -B база_1 база_2 база_3 > db.sql
Где «база_1», «база_2», «база_3» — имена нужных для копирования баз данных, а «-B» — указание, что производится копирование нескольких баз.
Также утилита mysqldump позволяет сделать экспорт всех баз на сервере в один файл sql. Это делает команда:
# mysqldump -uroot -p -A > alldb.sql