Архив метки: manual

🐧 Как перенести виртуальные машины Virtualbox в виртуальные машины KVM на Linux

Вы решили перейти с Oracle VirtualBox на виртуальную машину KVM?

В этом руководстве объясняется, как мигрировать виртуальные машины Virtualbox в виртуальные машины KVM на Linux.

Возможно, у вас есть несколько важных гостевых машин на VirtualBox.

Вместо создания новых гостей KVM с такой же конфигурацией, вы можете легко перенести существующие машины Virtualbox на KVM, как описано в это мануале.

Перенос виртуальных машин Virtualbox на виртуальные машины KVM на Linux

Во-первых, отключите все виртуальные машины, размещенные на KVM и VirtualBox.

Формат образа диска по умолчанию у виртуальной машины Virtualbox – VDI.

Мы можем найти список образов виртуальных дисков и их расположение с помощью команды:

$ vboxmanage list hdds

или,

 

$ VBoxManage list hdds

 

Пример вывода:

 

UUID:           ecfb6d5c-aa10-4ffc-b40c-b871f0404da8

Parent UUID:    base

State:          created

Type:           normal (base)

Location:       /home/itsecforu/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi

Storage format: VDI

Capacity:       20480 MBytes

Encryption:     disabled



UUID:           34a5709f-188c-4040-98f9-6093628c3d88

Parent UUID:    base

State:          created

Type:           normal (base)

Location:       /home/itsecforu/VirtualBox VMs/Ubuntu 20.04 Server/Ubuntu 20.04 Server.vdi

Storage format: VDI

Capacity:       20480 MBytes

Encryption:     disabled

 

Как видите, у меня две виртуальные машины Virtualbox.

Теперь я собираюсь преобразовать образ диска машины CentOS 8 в формат необработанного диска с помощью команды «vboxmanage»:

$ vboxmanage clonehd --format RAW "/home/itsecforu/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi" CentOS_8_Server.img

 

Если образы дисков содержат пробелы в их именах, укажите имя в кавычках, как показано выше.

 

 

Пример вывода:

 

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Clone medium created in format 'RAW'. UUID: afff3db8-b460-4f68-9c02-0f5d0d766c8e

 

Образ RAW слишком большой.

 

Итак, давайте преобразуем формат образа RAW в формат диска KVM, т.е. сжатый qcow2, с помощью команды qemu-img:

$ qemu-img convert -f raw CentOS_8_Server.img -O qcow2 CentOS_8_Server.qcow2

 

Мы конвертировали из VDI, т.е. образа диска Virtualbox в формат образа KVM qcow2.

Теперь вы можете импортировать образ диска на существующий компьютер KVM или создать новый экземпляр с этим вновь преобразованным образом диска KVM из командной строки или с помощью любых графических приложений управления KVM, таких как Virt-manager или веб-консоль Cockpit.

В следующем руководстве я объясню, как создать новый экземпляр KVM с существующим образом диска qcow2.

rtorrent – терминальный торрент для Linux

Сегодня в статье рассмотрим небольшую утилиту rtorrent – терминальный торрент клиент для Linux систем. Использовать я буду Ubuntu Server 20.04 LTS. И так давайте начнем.

Читать

Rsync – синхронизация директорий в Linux

 

Сегодня рассмотрим примеры синхронизации директорий в операционных системах Linux с помощью распространенной утилиты Rsync.

 

Rsync – утилита для копирования и синхронизации файлов и директорий в Linux системах. Используется для синхронизации директорий как на локальном сервере, так и для синхронизации директорий с локального на удаленный и наоборот. Rsync позволяет копировать ваши данные между серверами внутри защищенного SSH соединения. Так же, rsync, поддерживает сжатие данных на лету, что повышает производительность системы. Чтобы исключить потерю информации при отправке файлов, rsync сначала копирует всю передаваемую информацию во временный файл.

 

Опции Rsync

Давайте кратко рассмотрим опции rsync. В данной статье перечислены не все опции. Для более подробной информации смотрите мануал данной утилиты при помощи команды man rsync:

  • -v – Выводить информацию о копировании файла;
  • -q – Минимум информации;
  • -c – Копировать только измененные файлы;
  • -a – Сохранять все атрибуты оригинальных файлов;
  • -R – Относительные имена пути;
  • -b – Создание резервной копии;
  • -u – Не перезаписывать файлы, которые являются более новыми на приемном конце;
  • -l – Копировать символьные ссылки;
  • -L – Копировать содержимое ссылок;
  • -H – Копировать жесткие ссылки;
  • -p – Сохранять права для файлов;
  • –partial – сохранять частично переданные файлы;
  • -g – Сохранять группу;
  • –no-group – Не сохранять группу;
  • -o – Сохранить владельца;
  • –no-owner – Не сохранять владельца;
  • -t – Сохранять время модификации;
  • -x – Работать только в этой файловой системе;
  • -e – Использовать другой транспорт, например, ssh;
  • -z – Сжимать файлы перед передачей;
  • –delete – Удалять файлы которых нет в источнике;
  • –exclude – Исключить файлы по шаблону;
  • -r – Перебирать директории рекурсивно;
  • –no-recursive – Отключить рекурсию;
  • –no-links – Отключить копирование символических ссылок;
  • -P – Выводить прогресс копирования файла;
  • –stat – Показать статистику передачи;
  • –version – Версия утилиты;
  • –inplace – Обновление файлов назначения налету;
  • –existing – Пропустить создание файлов (включая каталоги), которые еще не существуют в месте назначения;
  • –ignore-existing – Пропустить обновление файлов, которые существуют в месте назначения.
  • –temp-dir – Указываем директорию для временных файлов

 

Синхронизация директорий только на локальном сервере

Давайте синхронизируем две директории между собой, но только на локальном сервере. Директории конечно же должны существовать. Допустим у нас имеется директория /home/user/download и директория /home/user/install. Для их синхронизации давайте наберем следующую команду:

rsync -r /home/user/download/ /home/user/install/  --temp-dir=/tmp --no-owner --no-group

Тут мы синхронизируем директорию download с директорий install, также указываем куда размещать временные файлы и отказываемся от переноса владельца и группы у копируемых файлов.

Тоже самое, но без создания temp файла.

 

rsync -r /home/user/download/ /home/user/install/  --temp-dir=/tmp --no-owner --no-group --inplace

 

    • –inplace – в этом случае rsync не будет создавать при копировании новый файл и затем им замещать старый, а сразу начнет перезапись старого файла. Такой алгоритм не сможет сохранить целостность файла в случае сбоя соединения между компьютерами, за исключением использования совместно с параметром --backup. Этот параметр полезен в случае копирования файлов на одном компьютере или при копировании больших файлов таких как видео.

 

Синхронизируем файлы c Облаком cloud.mail.ru

 

Вот пример синхронизации двух каталогов. Один каталог локальный /home/local/foto – в нем удобно работать по сети. Второй каталог /home/CloudDisk/ подключен по технологии WebDAV.

Вот тут и тут уже писал про настройку облака от mail.ru на Debian системах.

 

rsync -zvraP --delete /home/local/foto/ /home/CloudDisk/  --temp-dir=/tmp

 

  • -z – Сжимаем содержимое при копировании;
  • -v – Информация о копировании;
  • -r – рекурсивно перебираем все директории;
  • -a – Cохранить все атрибуты файла;
  • -P – показывает прогресс копирования;
  • –delete – удаляет файлы из облака, которых нет в директории /home/local/foto;
  • –temp-dir=/tmp – директория для tmp файлов;

 

Данная команда пригодится если вам надо синхронизировать неизменяющиеся данные, например фотографии или видео.

Если же у вас данные в файлах меняются, например как в Word документах (имя файла остается прежним, а его размер меняется), то для их синхронизации необходимо набрать вот такую команду:

rsync -zvarcP --delete /home/local/doc/ /home/CloudDisk/doc/ --modify-window=0 --size-only

 

    • -c – Копировать только изменившиеся файлы в директории /home/local/doc/;

 

Если после копирования хотите еще оптимизировать фотографии, то вам сюда.

Настройка синхронизации с удаленным сервером при помощи rsync

Чаще всего копирование/синхронизация директорий с удаленным сервером используется для резервного копирования или синхронизации конфигурации сервера. При таком методе можно выполнять автоматическую синхронизацию данных с рабочего сервера на резервный, и в случае проблем на рабочем севере быстро все перевести на резервный. Это довольно удобный и простой в настройке вариант.

 

Сегодня версия rsync использует протокол SSH для передачи файлов по-умолчанию. Однако вы можете использовать и демон rsyncd. Для этого клиент rsync должен быть установлен на удаленном компьютере, и его демон добавлен в автозагрузку:

 

sudo systemctl enable rsyncd

 

 

Конфигурационный файл rsync — /etc/rsyncd.conf. В этом файле можно настроить параметры rsync и настройки для синхронизации для разных ресурсов.

 

Для синхронизации через демона rsync адрес удаленного сервера указывается так rsync://:

rsync -zvarP /var/www/site/ rsync://IP_сервера/backup/

Чтобы скопировать файл на удаленный сервер через протокол SSH, используйте команду:

rsync -az /var/www/site/package.zip ваш_user@IP_сервера:/backup/

После запуска команды, удаленный сервер запросит пароль пользователя (если включена авторизация по паролю). Для автоматической авторизации нужно настроить доступ по SSH ключу.

 

Копирование с локального хоста на удаленный хост

Скопируем директорию с локального сервера на удаленный:

 

rsync -zvraP /var/www/site/ ваш_user@IP_сервера:/backup/

 

То есть, все тоже самое, что и с локальными директориями, только мы указываем адрес удаленного сервера вместо адреса нашей директории.

 

Копирование с удаленного хоста на локальный хост

 

Так же вы можете синхронизировать файлы и с удаленного сервера на локальный, команда для этого немного изменится:

 

rsync -zvraP ваш_user@IP_сервера:/backup/ /backup/

 

Для принудительного использования SSH протокола, а также если вы изменили порт для SSH или для авторизации требуется указать явно где расположен сертификат SSL, команды будут выглядеть следующим образом.

 

Принудительное использование протокола SSH

 

Подключение по стандартному порту:

 

rsync -zvraPe ssh ваш_user@IP_сервера:/backup/ /backup/

 

Если удаленный SSH сервер имеет отличный от стандартного порт:

 

rsync -zvrae "ssh -p 2222" ваш_user@IP_сервера:/backup/ /backup/

 

Если надо явно указать порт и ключ:

 

rsync -zvrae "ssh -p 2222 -i ~/.ssh/id_rsa" ваш_user@IP_сервера:/backup/ /backup/

 

Синхронизация с использованием опций исключений

 

Также очень удобный опции --include и --exclude, с помощью этих опций, можно делать исключения по копированию директорий или файлов:

 

rsync -zvra --exclude=administrator/ /var/www/site ваш_user@IP_сервера:/backup/

 

В данном случае мы исключили директорию “administrator” при копировании на удаленный сервер.

 

rsync -zvra --include='*.php' --exclude='*' /var/www/site/administrator/ ваш_user@IP_сервера:/backup/

 

Добавлением опции --include мы смогли задать фильтр по файлам, скопировали только файлы с расширением “*.php“.

 

Вывод

Сегодня показал вам как можно синхронизировать директории в Linux на одном рабочем ПК и между удаленными серверами.

Установите Docker и Docker Compose на Kali Linux

Добро пожаловать в наше руководство по установке Docker и Docker Compose на Kali Linux. Мы установим Docker CE (Community Edition) на Kali Linux.

Docker – самая популярная и широко используемая среда выполнения контейнеров.

Она позволяет разработчикам упаковывать, отправлять и запускать свои приложения в изолированных контейнерах.

Упрощение доставки с машины разработчика в производственную среду, может быть организовано с помощью Kubernetes.

Читать

Как управлять ACL в Linux

В этом уроке мы увидим, что такое ACL и как выполнять основные манипуляции с такого рода разрешениями на платформе Linux.

Приведенные ниже инструкции будут работать на любом дистрибутиве Linux.

Я предполагаю, что вы знаете, и вам удобно использовать стандартные дискреционные разрешения ugo / rwx для Linux.

Читать

⚙ ACL Linux с использованием setfacl

Что такое ACL?

В Linux есть специфика разрешений. из-за ограничений настройки прав / владения на файлы / папки в Linux (например, мы не можем настроить разные права доступа для разных пользователей к одному и тому же файлу).

Чтобы преодолеть эту проблему, введены ACL (списки контроля доступа).

Мы можем использовать команду setfacl & getfacl для настройки acl для папок и файлов.

Читать