Ubuntu vms что это

Обновлено: 03.07.2024


Существует множество программ и инструментов, доступных для развертывания виртуальных машин Ubuntu в целях тестирования и обучения.

Я часто использую Virtualbox для тестирования различных приложений на нескольких дистрибутивах Linux.

Сегодня мы собираемся узнать еще об одной утилите под названием Multipass.

Являетесь ли вы обычным пользователем, разработчиком или системным администратором, вы можете создавать и запускать виртуальные машины Ubuntu с Multipass за считанные секунды в Linux.

Так как Multipass предоставляет вам новейшие экземпляры, вам не нужно тратить время на обновления при запуске!

Используя Multipass, вы можете запускать виртуальные машины Ubuntu и использовать их для тестирования вашего кода или приложения.

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

Также возможно монтировать каталог вашей хост-системы в экземпляры и обмениваться файлами и папками между хост-системой и виртуальными машинами.

Multipass поддерживает GNU / Linux, Mac OS и Windows.

Как установить Multipass на Linux

Multipass доступен в виде пакета Snap, поэтому его можно установить в любой операционной системе Linux, которая поддерживает Snapd.

Snap поставляется предварительно установленным во всех выпусках Ubuntu, начиная с версии 16.04 LTS, версий Ubuntu, Solus 3 и выше, ОС Zorin и т. д.

В других системах Linux вы можете установить Snapd, как описано в этой ссылке.

После установки Snapd установите Multipass с помощью команды:

После успешной установки Multipass вы увидите следующий вывод:

Теперь давайте продолжим и развернем экземпляры Ubuntu в нашей локальной системе.

Как создавть и запускать виртуальные машины Ubuntu с Multipass на Linux

Запускать виртуальные машины Ubuntu с Multipass невероятно легко и просто.

Запустим виртуальную машину Ubuntu

Вы можете называть виртуальные машины как хотите.

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

По умолчанию Multipass загрузит текущую версию Ubuntu LTS.

Список виртуальных машин

Чтобы просмотреть список загруженных в данный момент виртуальных машин в вашей системе, выполните:

boxes min 1 696x375 1

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

Сообщество Linux создало несколько инструментов виртуализации или Virt tools, таких как QEMU, KVM, Libvert или libguestfs, которые служат основой для создания программного обеспечения виртуализации с открытым исходным кодом. В статье будет рассмотрено несколько программ виртуализации с открытым исходным кодом, таких как Oracle VM VirtualBox, Linux-KVM, виртуализация Redhat, Microsoft Hyper-V, Xen Project, oVirt, а также Boxes в Fedora.

Концепция виртуализации

Виртуализация создает слой абстракции над физическим оборудованием для создания виртуальной вычислительной системы, известной как виртуальные машины (ВМ). Это позволяет пользователю или предприятию запускать несколько виртуальных компьютеров и операционных систем на одном физическом сервере. По сути, основное преимущество виртуализации заключается в более эффективном использовании физического компьютерного оборудования.

Виртуальная машина

Гипервизор

Лучшие программы виртуализации с открытым исходным кодом для Linux

Для обычных пользователей

1. Oracle VirtualBox

virtualbox min 696x325 1

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

VirtualBox может работать с несколькими ОС, включая большинство операционных систем Windows (NT 4.0, 2000, XP, Vista, Server 2003, Windows 7, 8, 10), Linux 2.4, 2.6, 3.x и 4.x, DOS/Windows 3.x, OpenBSD, Solaris, OpenSolaris и OS/2.

Главные особенности

  • Кросс-платформенный, поддерживает различные платформы, такие как Mac, Windows, Solaris и Linux.
  • Поддерживает функцию перетаскивания.
  • Поддерживает бесшовный режим, общие папки и буферы обмена.
  • Поддерживает четыре операционные системы в качестве хоста.
  • Поддержка SMP, телепортации.
  • Поддерживает телепортацию, миграцию и переключение виртуальных машин в реальном времени между несколькими физическими хостами и облаком.
  • Позволяет выполнять без аппаратной виртуализации, что исключает требование технологий Intel VT-X или AMD-V.
  • Поддерживает публичные API (Python, XPCOM, SOAP, Java) для управления конфигурацией и исполнением ВМ.

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

Установка VirtualBox

Ubuntu

sudo apt-get update
sudo apt-get install virtualbox

sudo apt-get install virtualbox-ext-pack

Fedora 34

sudo dnf -y install @development-tools
sudo dnf -y install kernel-headers kernel-devel dkms elfutils-libelf-devel qt5-qtx11extras

sudo dnf search virtualbox

sudo dnf install VirtualBox-6.1

sudo usermod -a -G vboxusers $USER
newgrp vboxusers

2. Linux KVM

KVM превращает ядро Linux в гипервизор, используя загружаемое ядро под названием KVM.ko, которое позволяет виртуальным машинам получить прямой доступ к базовым аппаратным ресурсам. Каждая виртуальная машина реализуется как процесс Linux, запланированный планировщиком Linux, с выделенным виртуальным оборудованием, таким как процессор(ы), графический адаптер, сетевая карта, память и диски.

Главные особенности

  • SELinux и (sVirt) безопасная виртуализация, обеспечивающая улучшенную изоляцию безопасности ВМ, которая позволяет обеспечить обязательный контроль доступа (MAC) для гостевых ВМ.
  • Поддерживает использование любого хранилища, поддерживаемого Linux, например, локальных дисков и сетевых хранилищ (NAS).
  • Поддерживает горячее подключение виртуальных процессоров.
  • Поддерживается неравномерная балансировка доступа к памяти и объединение одинаковых страниц ядра для эффективного управления памятью.
  • Поддерживается телепортация и динамическое управление памятью.
  • Поддерживается живая миграция, позволяющая перемещать работающую виртуальную машину между физическими хостами без прерывания работы.
  • Поддерживается ограничение запросов дискового ввода-вывода от виртуальных машин к хост-машинам.
  • Позволяет выполнять несколько ВМ на немодифицированных образах Linux или Windows после установки, где каждая ВМ имеет виртуализированное оборудование, сетевую карту, графический адаптер и диск.

KVM обеспечивает достойную интеграцию с ОС.

Установка KVM в Ubuntu

apt-get install qemu-system libvirt-clients libvirt-daemon-system

apt-get install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system

adduser <ваш пользователь> libvirt

3. GNOME Boxes

boxes min 1 696x375 1

Главные особенности

  • Он может загружать образ ОС (операционной системы) непосредственно с URL-адреса.
  • Он обнаруживает ОС и выделяет достаточное количество оперативной памяти и дискового пространства.
  • Имеет надежный интерфейс командной строки (CLI), который пригодится опытным пользователям ВМ.
  • В нем есть функция клонирования, которая позволяет пользователям мгновенно создавать копии существующих виртуальных машин.

Gnome Boxes усовершенствовал виртуализацию, обеспечив свободу программного обеспечения, и его стоит установить, даже если Gnome не является вашей обычной средой рабочего стола.

4. Microsoft Hyper-V

hyper v manager min 696x405 1

Hyper-V позволяет запускать каждую виртуальную машину (ВМ) в своем собственном пространстве, что предотвращает влияние сбоя на другие рабочие нагрузки, а также управляет доступом к сервисам между различными людьми и системами. Гипервизор состоит из различных компонентов, таких как гипервизор Windows, Hyper-V Virtual Machine Management Service, поставщик услуг виртуализации (VSP), поставщик инструментов управления виртуализацией Windows Management Instrumentation (WMI), драйвер виртуальной инфраструктуры (VID) и шина виртуальных машин (Vmbus) для эффективного управления взаимодействием между оборудованием и ВМ.

Главные особенности

  • Он поддерживает такие улучшения экранированных виртуальных машин, как совместимость с Linux и Virtual Machine Encrypted Networks.
  • Поддерживается вложенная виртуализация и сворачивание кластера, динамическая многопоточная очередь виртуальных машин.
  • Поддерживается vSwitch Receive Segment Coalescing, поддержка постоянной памяти и расширенные сессии.
  • Поддерживается живая миграция, позволяющая перемещать работающие виртуальные машины на другие хосты.
  • Поддерживается миграция, импорт и экспорт хранилищ, что упрощает распространение ВМ.
  • Улучшенный мониторинг использования ресурсов центрального процессора хоста.

В нем имеются улучшенные компоненты безопасности, такие как безопасная загрузка, шифрование BitLocker, виртуальный модуль Trusted Platform Module (vTPM) для безопасного хранения ключей и служба Host Guardian Service для проверки хостов и предотвращения несанкционированного доступа.

Для эффективного управления виртуальными машинами под управлением дистрибутивов Linux необходимо установить и активировать Hyper-V Linux Integration Services вручную. Hyper-V LIS состоит из двух типов компонентов: драйверов и служб. Драйверы повышают производительность виртуальных машин Linux, в то время как службы предназначены для выполнения определенной работы. Службы интеграции Linux позволят вам использовать такие функции, как живая миграция, VLAN Tagging and Trunking, Symmetric multiprocessing (SMP), Static IP Injection. Вы также сможете воспользоваться функцией Live Virtual Machine Backup и возможностью выполнять горячее удаление/добавление памяти с помощью Dynamic Memory.

Microsoft поддерживает следующие дистрибутивы Linux, работающие в качестве виртуальной машины: Red Hat Enterprise Linux 5.2-5.11, 6.0-6.10, 7.0-7.6 64-bit, CentOS 5.2-5.11, 6.0-6.10, 7.0-7.6 64-bit, и Oracle Linux 6.4-6.10, 7.0-7.6. Проект Hyper-V постоянно развивается, и компания Microsoft добавляет новые функции для повышения общей эффективности, производительности и надежности. Вы также можете использовать Hyper-V с инструментами управления, такими как Hyper-V Manager, Failover Cluster Manager, System Center Virtual Machine Manager (SCVMM) и System Center Operations Manager (SCOM). Кроме того, вы можете использовать Powershell, который обеспечивает больший контроль и более прост в использовании.

Прочтите: Windowsfx 11, Linux в стиле Windows 11 и без поддержки TPM

Для облачных систем

1. Проект Xen

xen min

Гипервизор Xen существует уже некоторое время и является одним из наиболее эффективных программ виртуализации в сообществе Linux. Он используется в качестве основы для многих открытых и коммерческих приложений, таких как виртуализация серверов, виртуализация рабочих станций, инфраструктура как услуга (IaaS), приложения для обеспечения безопасности, встроенные и аппаратные устройства, а также автомобильные проекты.

Главные особенности

Проект Xen является стандартом по умолчанию в гипервизорах Linux и обеспечивает безопасную, эффективную и надежную платформу виртуализации. Он обеспечивает и поддерживает некоторые из крупнейших облачных предприятий, таких как Amazon Web Services, Verizon Cloud, Public Cloud, Rackspace и многие другие. Гипервизор Xen идеально подходит для пользователей или организаций, желающих повысить коэффициент использования серверов, снизить сложность управления серверными фермами и уменьшить первоначальные затраты на инфраструктуру. Однако есть одна оговорка: Xen полагается на решения сторонних производителей для драйверов оборудования, резервного копирования и восстановления, отказоустойчивости и хранения данных.

2. oVirt

ovirt min

Главные особенности

  • Поддерживает KVM на архитектурах x86-64 и PowerPC64.
  • В нем реализовано расширенное управление сетью с помощью IP-адресов для настройки интерфейсов, шлюзов и масок подсети.
  • Механизм oVirt предоставляет централизованный механизм управления виртуализацией корпоративного уровня с интерфейсами программирования и графической консолью администрирования.
  • Он обеспечивает высокую доступность и телепортацию, включая живую миграцию, возможность создания живых снимков и клонирование виртуальных машин из снимков.
  • Расширенные возможности аварийного восстановления позволяют восстановить систему в случае системного сбоя.
  • Его самодостаточный механизм и домены хранения GlusterFS позволяют плавно расширять ресурсы, что упрощает и оптимизирует развертывание.

Система обладает повышенной сетевой производительностью для виртуализации настольных компьютеров, что позволяет управлять средами WAN с более высокой задержкой и низкой пропускной способностью.
Она поддерживает другие внутренние устройства хранения данных, такие как NFS, FC, SCSI и POSIX-совместимые FS.

oVirt поддерживает (rsyslog) удаленное протоколирование и (remote kdump) удаленный анализ аварий.
Он обладает улучшенными функциями безопасности благодаря SELinux и sVirt.

Проект находится в стадии постоянного развития с обещанием разработки поддержки архитектуры ARM. Проект также предоставляет oVirt Node, которая является специализированной легковесной ОС на базе CentOS. oVirt Node разработана как гипервизор, предоставляющий расширенный интерфейс управления для поддержки API.

3. Red Hat Virtualization (RHV)

sm.red hat enterprise linux

Лучшие возможности

RHV совместим с облачными программными стеками, такими как Red Hat Cloud Infrastructure, Red Hat CloudForms для управления несколькими облаками, Red Hat Satellite для управления инфраструктурой, Red Hat OpenStack для облачного стека и Red Hat Insights для предиктивной аналитики.

В нем реализована повышенная безопасность виртуальных машин и гипервизоров с помощью SELinux, sVirt и обязательного контроля доступа (MAC).

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

4. ProxMox

Главные особенности

Почему вы должны виртуализировать свою инфраструктуру

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

Снижение первоначальных капитальных затрат и эксплуатационных расходов: Виртуализированные среды более экономичны. Вы сможете потреблять меньше физических клиентов, что поможет вам значительно сократить первоначальные инвестиции в оборудование. Невиртуализированная среда может быть неэффективной, поскольку вычислительные ресурсы могут простаивать и не использоваться для других приложений на сервере.

Минимизация или исключение простоев: В случае простоя физический сервер требует присутствия человека для его замены или починки, что может занять несколько часов, значительно снижая производительность. В отличие от этого, виртуализированную среду легко создать и развернуть. Кроме того, она позволяет системным администраторам реплицировать и восстанавливать пострадавшую виртуальную машину, что значительно повышает отказоустойчивость.

Повышение эффективности и производительности: Виртуальные среды позволяют тратить меньше времени на обслуживание физического оборудования или инфраструктуры. Вы можете легко устанавливать, обновлять и поддерживать среду для всех виртуальных машин в виртуальной среде на сервере вместо того, чтобы управлять ею от сервера к серверу.

Она обеспечивает безопасность и изоляцию от сбоев на аппаратном уровне.

Вы можете сохранить все состояние виртуальной машины в файл.

Вы можете перенести или предоставить любую виртуальную машину на любой физический сервер.

Виртуализация сохраняет общую производительность благодаря расширенному контролю ресурсов.

Разработчики могут легко управлять и контролировать среду разработки, тестирования или производства с помощью виртуальной машины.

Подведение итогов

В статье рассматриваются некоторые из лучших программ виртуализации с открытым исходным кодом, такие как XenProject, VirtualBox, Microsoft Hyper-V, Linux KVM и oVirt. Виртуализация вашей архитектуры может повысить масштабируемость, маневренность и гибкость, обеспечивая при этом значительную экономию средств. Разработчики также могут наслаждаться большей мобильностью рабочей нагрузки и контролировать свои среды разработки, тестирования или производства. Более того, она позволяет сократить количество физических серверов, снижая энергопотребление и делая вашу организацию экологически чистым предприятием. По сути, виртуализация упрощает управление вычислительными ресурсами и требует меньше затрат.

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



Некоторые пользователи арендуют относительно недорогие VPS с Windows для запуска сервиса удаленных рабочих столов. То же самое можно сделать и на Linux без размещения в датацентре собственного железа или аренды выделенного сервера. Кому-то нужна привычная графическая среда для тестов и разработки или удаленный десктоп с широким каналом для работы с мобильных устройств. Есть масса вариантов применения основанной на протоколе Remote FrameBuffer (RFB) системы Virtual Network Computing (VNC). В небольшой статье мы расскажем, как настроить ее на виртуальной машине с любым гипервизором..

Оглавление:

Выбор сервера VNC

Сервис VNC может быть встроен в систему виртуализации, при этом гипервизор свяжет его с эмулируемыми устройствами и никакой дополнительной настройки не потребуется. Этот вариант предполагает значительные накладные расходы и поддерживается далеко не всеми провайдерами — даже в менее ресурсоемкой реализации, когда вместо эмуляции реального графического устройства виртуальной машине передается упрощенная абстракция (фреймбуфер). Иногда VNC-сервер привязывается к работающему X-серверу, но этот способ больше подходит для доступа к физической машине, а на виртуальной он создает ряд технических сложностей. Проще всего установить VNC-сервер со встроенным X-сервером. Он не требует наличия физических устройств (видеоадаптера, клавиатуры и мыши) или их эмуляции с помощью гипервизора, а потому подходит для VPS любого типа.

Установка и настройка

Нам потребуется виртуальная машина с Ubuntu Server 18.04 LTS в конфигурации по умолчанию. В стандартных репозиториях этого дистрибутива есть несколько серверов VNC: TightVNC, TigerVNC, x11vnc и прочие. Мы остановились на TigerVNC — актуальном форке не поддерживаемого разработчиком TightVNC. Настройка других серверов выполняется сходным образом. Также нужно выбрать окружение рабочего стола: оптимальным, на наш взгляд, вариантом будет XFCE из-за относительно невысоких требований к вычислительным ресурсам. Желающие могут установить другой DE или WM: тут все зависит от личных предпочтений, однако выбор ПО напрямую влияет на потребность в оперативной памяти и вычислительных ядрах.

image

Установка окружения рабочего стола со всеми зависимостями выполняется следующей командой:


Дальше необходимо инсталлировать сервер VNC:


Запускать его с правами суперпользователя — плохая идея. Создаем пользователя и группу:


Добавим пользователя в группу sudo, чтобы он мог решать связанные с администрированием задачи. Если такой потребности нет, этот шаг можно пропустить:


На следующем шаге нужно запустить сервер VNC с привилегиями пользователя vnc, чтобы создать безопасный пароль и конфигурационные файлы в каталоге

/.vnc/. Длина пароля может быть от 6 до 8 символов (лишние обрезаются). При необходимости также задается пароль только для просмотра, т.е. без доступа к клавиатуре и мыши. Следующие команды выполняются от имени пользователя vnc:


По умолчанию протокол RFB использует диапазон TCP-портов от 5900 до 5906 — это т.н. порты дисплея, каждый из которых соответствует экрану X-сервера. При этом порты ассоциированы с экранами от :0 по :6. Запущенный нами экземпляр сервера VNC слушает порт 5901 (экран :1). Прочие экземпляры могут работать на других портах с экранами :2, :3 и т. д. Перед дальнейшей настройкой нужно остановить сервер:

При запуске TigerVNC выполняет сценарий

/.vnc/xstartup для настройки параметров конфигурации. Создадим собственный скрипт, предварительно сохранив резервную копию имеющегося, если он существует:


Сеанс окружения рабочего стола XFCE запускается следующим скриптом xstartup:


Команда xrdb необходима, чтобы система VNC прочитала файл .Xresources в домашнем каталоге. Там пользователь может определить различные параметры графического рабочего стола: рендеринг шрифтов, цвета терминала, темы курсора и т.д. Сценарий необходимо сделать исполняемым:


На этом настройка сервера VNC завершена. Если запустить его командой vncserver -localhost no (от имени пользователя vnc), можно будет подключиться с заданным ранее паролем и увидеть такую картину:


Запуск службы через systemd

Ручной запуск сервера VNC плохо подходит для боевого применения, поэтому мы настроим системную службу. Команды выполняются от имени root (используем sudo). Для начала создаем новый юнит-файл для нашего сервера:


Символ @ в имени позволяет передавать аргумент для настройки службы. В нашем случае он задает порт дисплея VNC. Юнит-файл состоит из нескольких разделов:


Затем нужно уведомить systemd о появлении нового файла и активировать его:


Цифра 1 в имени задает номер экрана.

Останавливаем сервер VNC, запускаем его как службу и проверяем статус:

Если служба работает, мы должны получить примерно такой результат.


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

Наша конфигурация не использует шифрование, поэтому сетевые пакеты могут быть перехвачены злоумышленниками. К тому же в VNC-серверах достаточно часто находят уязвимости, так что открывать их для доступа из интернета не стоит. Для безопасного подключения на локальном компьютере нужно упаковать трафик в туннель SSH, а затем настроить клиент VNC. Под Windows можно использовать графический клиент SSH (например, PuTTY). Для безопасности TigerVNC на сервере слушает только localhost и недоступен напрямую из сетей общего пользования:


В Linux, FreeBSD, OS X и прочих UNIX-подобных ОС туннель с клиентского компьютера делается с помощью утилиты ssh (на сервере VNC должен быть запущен sshd):


Опция -L привязывает порт 5901 удаленного подключения к порту 5901 на localhost. Опция -C включает сжатие, а -N указывает утилите ssh на отсутствие необходимости выполнять удаленную команду. Опция -l задает login для удаленного входа в систему.

После настройки туннеля на локальном компьютере необходимо запустить клиент VNC и установить соединение с хостом 127.0.0.1:5901 (localhost:5901), использовав для доступа к серверу VNC заданный ранее пароль. Теперь мы можем безопасно взаимодействовать через шифрованный туннель с графическим окружением рабочего стола XFCE на VPS. На скриншоте в эмуляторе терминала запущена утилита top, чтобы показать незначительное потребление виртуальной машиной вычислительных ресурсов. Дальше все будет зависеть от пользовательских приложений.


К счастью, вам не нужно платить сотни долларов за систему видеонаблюдения, если у вас есть запасной компьютер под управлением Linux и несколько запасных камер. К тому же, такой путь дешевле и даст вам больше контроля, если вы выберете правильное программное обеспечение. Вот лучшие варианты программного обеспечения для камер видеонаблюдения в Linux, которые вы можете попробовать.

1. ZoneMinder


У вас есть много вариантов настройки ZoneMinder в соответствии с вашими требованиями, с поддержкой как живого видео, так и обычных изображений. Уведомления по электронной почте и SMS помогут вам оставаться в курсе, даже если вы не осуществляете мониторинг напрямую. Кроме того, ZoneMinder предлагает уровни доступа пользователей, чтобы вы могли ограничить, кто имеет доступ. Это довольно гибкий инструмент с возможностью масштабирования, наклона и панорамирования камер.

Пользователи Linux CCTV могут воспользоваться установщиками для различных дистрибутивов, таких как Ubuntu и Debian, но вы также можете скомпилировать их из исходного кода, если хотите. Вы также можете развернуть ZoneMinder на устройствах с низким энергопотреблением, таких как Raspberry Pi.

2. Xeoma


Это программное обеспечение для Linux-камеры безопасности является богатым. Он совместим со всем, от обычных веб-камер USB до камер видеонаблюдения Wi-Fi. К одной установке Xeoma можно подключить до 2000 камер, что делает ее идеальной для коммерческого использования.

3. Motion


Несмотря на то, что видео сохраняется при обнаружении движения, Motion также включает настройки промежутка времени для регулярного мониторинга. Вы также можете установить движение для сохранения как видео или изображений. Он работает без головы и графический интерфейс не требуется, что делает его более компактным по сравнению с другими конкурентами программного обеспечения для наблюдения в Linux.

Вот что делает Motion таким прекрасным выбором, если вы хотите создать недорогой сетевой видеомагнитофон (или сетевой видеорегистратор) для работы на маломощных устройствах, таких как Raspberry Pi. Он будет записывать ваши изображения наблюдения или видео в цифровом виде, либо локально (на SD-карту), либо через вашу внутреннюю сеть.

Motion может не хватать функций по сравнению с другим программным обеспечением Linux NVR, но это хороший вариант, если вы ищете базовую систему камер с датчиком движения.

4. Bluecherry

Установка проста, с однострочным установочным скриптом, доступным для Ubuntu, Debian и CentOS. Он поддерживает более 2600 IP-камер с возможностью воспроизведения записей и потокового вещания в браузере. К сожалению, в Bluecherry отсутствует собственное мобильное приложение для Android и iOS, но поддерживается интеграция с IP Cam Viewer.

Хотя Bluecherry является бесплатным и с открытым исходным кодом, платные пакеты поддержки доступны для бизнес-пользователей. Благодаря богатому набору функций и платной поддержке, Bluecherry является отличным вариантом для использования как в бизнесе, так и в быту.

5. Ivideon

Если вы разрабатываете систему видеонаблюдения с ограниченным бюджетом, вы должны рассмотреть Ivideon. Системные требования являются одними из самых легких, которые вы найдете для любого цифрового видеорегистратора. Вы можете запустить Ivideon на ПК с процессором Itnel Atom с 1 ГБ ОЗУ и всего лишь 500 МБ памяти. Однако для ежедневного хранения видеоматериалов вам потребуется как минимум 11 ГБ, если вы хотите хранить их локально.

Установка довольно проста. Вы можете либо загрузить и запустить скрипт установки, либо запустить отдельные команды из окна терминала самостоятельно. Как и многие другие системы видеонаблюдения, Ivideon предлагает мобильное приложение для устройств Android и iOS. Он официально поддерживает самые последние выпуски Debian и Ubuntu, но так же может быть установлен на другие дистрибутивы.

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

6. Kerberos.io


Будьте в безопасности с Linux

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


OpenVMS — не просто одна из операционных систем общего назначения. Не особенно распространенная, она отличается поразительным долголетием. Появившись в семидесятые годы, OpenVMS пережила множество тогдашних ОС и сыграла важную роль в появлении Windows NT, на которой основаны все современные версии Windows. Жива она и сейчас.

Шестидесятые — семидесятые годы прошлого века. Корпорации Microsoft еще не существует, Intel только-только делает первые шаги на рынке микропроцессоров, но эра мини-ЭВМ уже началась — с появления компьютера DEC PDP-8. Нас он интересует лишь как предшественник более поздней серии, PDP-11.

Расцвет PDP-11 пришелся на середину семидесятых. Одной из множества ОС, разработанных для компьютеров этой серии, была RSX-11 — многопользовательская и многозадачная система, спроектированная с учетом разделения прав доступа, в том числе на уровне файловой системы. Однако у RSX было два огромных недостатка: во-первых, количество оперативной памяти, доступной одному приложению, было ограничено (от 64 до 256 Кб в зависимости от версии системы и модификации машины), во-вторых, не было виртуальной памяти. Тем не менее система использовала возможности PDP-11 по максимуму.

Панель управления PDP-11

Панель управления PDP-11

В какой-то момент возможности железа стали подходить к пределу, и инженеры DEC решили, что пора создавать новую платформу с большей разрядностью. Так родились два проекта: 36-разрядный Unicorn, основанный на PDP-10, и Star, который также называли «расширенным PDP-11». Линейка PDP-11 была популярнее, чем PDP-10, к тому же Star разрабатывался гораздо быстрее Unicorn, так что последний проект был закрыт. Выжившая разработка превратилась в так называемую VAX Blue Book — спецификацию новой 32-разрядной архитектуры. Интересно, что VAX, которую мы знаем сейчас, представляет собой лишь малую часть из того, что было задумано тогда; по экономическим соображениям остальное реализовано не было.

Один из компьютеров VAX

Один из компьютеров VAX

Параллельно создавалась и операционная система для новой архитектуры — изначально она носила наименование Starlet, но потом ее назвали VMS, Virtual Memory System (VAX, к слову, расшифровывается как Virtual Address eXtension). На тот момент она теоретически поддерживала до 64 Мб ОЗУ. Одной из целей разработки VMS была совместимость с RSX-11M, причем, как и в случае с RSX-11M, в разработке принимал участие не кто иной, как Дейв Катлер, — в команде VMS он был ведущим разработчиком, как и позже и в команде NT.

Команда разработчиков первой версии VMS

Команда разработчиков первой версии VMS

Первая публичная версия VMS вышла в 1978 году. Ядро было написано с нуля, а приложения попросту портированы с RSX-11M и запускались в режиме совместимости с PDP-11. С самого начала в VMS была поддержка DECnet — собственного сетевого протокола DEC, в настоящее время практически нигде не используемого.

Шло время, на VAX-код портировали все больше утилит с PDP-11. В 1984 году одновременно с MicroVAX появился и MicroVMS. Старший же брат, VMS достиг версии 4.0 и обзавелся поддержкой кластеров, длинных имен файлов и ACL. Также появилась рантайм-библиотека языка C. В версии 4.4 (1986 год) добавили поддержку Volume Shadowing — некий аналог программного RAID 1 (сам термин RAID появился годом позже).

В том же 1986 году в недрах DEC созрел план создать свой процессор архитектуры RISC. Изначально проект, названный PRISM, предназначался для запуска ULTRIX — варианта BSD, созданного в DEC. Однако с появлением архитектуры MIPS проект заморозили, но группе, отвечавшей за CMOS-вариант Prism, было разрешено довести дело до конца. Итогом стал 45-мегагерцевый процессор, что по тем временам было фантастикой. Несмотря на то что Prism не вышел за стены DEC, он нашел свое перерождение в процессоре Alpha. Фактически Alpha представлял собой тот же Prism, переработанный с учетом поддержки VMS. У данной архитектуры было несколько основных целей:

  • Во-первых, она должна быть долгоживущей. Отсюда вытекает и ее масштабируемость.
  • Во-вторых, должна предоставлять максимум производительности как коммерческим, так и техническим приложениям.
  • В-третьих, должна быть возможность запускать не только VMS, но и иные ОС.

В 1991 году вышла версия VMS для Alpha. Архитектура была 64-разрядной, что позволяло разработчикам быть более-менее уверенными в ее актуальности в последующие двадцать лет. Как показало время, на нее можно было портировать ОС — спустя два года вышла первая версия Windows NT, одной из поддерживаемых архитектур которого и была Alpha.

VMS тоже развивался. Двумя годами ранее, в 1989-м, он обзавелся GUI — DECwindows. Еще на год раньше появилась поддержка SMP. А начиная с версии 5.5 (1991, тогда же, когда возникла платформа Alpha) перед названием появился префикс Open, что ознаменовало поддержку POSIX и некоторых других открытых стандартов.

В 1998 году фирма DEC была поглощена компанией Compaq. Примерно тогда же в OpenVMS появилась новая файловая система, ODS-5, которая поддерживала еще более длинные имена файлов и спецсимволы в них, и технология Galaxy (нечто наподобие виртуализации). В 2002-м, после очередного поглощения (Compaq перешел к HP), OpenVMS был портирован на платформу IA-64.

OpenVMS, в отличие от большинства современных ОС, использует не два, а четыре кольца защиты. Два из них — привычные kernel mode и user mode. Два других — это режимы Executive и Supervisor. Первый нужен для исполнения подсистемы RMS (что-то типа VFS в Linux), отдельных подсистем защиты и загрузчика образов. Из этого режима есть доступ для чтения ко всем данным ядра. Однако набор привилегированных инструкций ограничен, так что вероятность уронить систему из этого режима низка. Режим Supervisor — еще менее привилегированный. В нем работает интерпретатор DCL, и только из него разрешено выполнять вызов загрузчика образов.

«Луковая» структура OpenVMS

«Луковая» структура OpenVMS

Файловая система ведет свое начало от Files-11. Одна из интересных особенностей этого семейства ФС — версии файлов. При открытии файла на запись создается новая версия, и работа происходит именно с ней.

Отдельно стоит рассказать и о безопасности. В OpenVMS вся модель безопасности построена вокруг привилегий, полностью аналогичных по назначению Capabilities в Linux (точнее, POSIX 1e). Всего их около сорока, и некоторая их часть критична — так, установка (или получение) привилегии READALL позволит коду читать все файлы, невзирая на разрешения, а привилегия SYSPRV позволит добавлять, удалять и модифицировать записи в файле SYSUAF.DAT — базе данных пользователей.

OpenVMS считается одной из самых защищенных систем общего назначения. Но причина, возможно, в ее относительно малой распространенности. Потенциально система подвержена тем же атакам, что и *nix-подобные ОС, возможно, даже и в большей степени — из-за большего количества унаследованного кода.

Стоит также упомянуть и о (не)дружелюбности к пользователю. Как и в nix-системах, существует два вида пользовательского интерфейса — командная строка и GUI. Синтаксис командной строки очень похож на синтаксис DOS, скорее всего из-за того, что последний как раз пошел от PDP. Для пользователей nix-систем он будет очень непривычен, но у него есть и свои преимущества — к примеру, язык ближе к английскому, нежели язык оболочек *nix. Кроме того, отдельные команды можно сокращать.

В качестве GUI сейчас используется CDE/Motif (в старые времена была своя проприетарная графическая оболочка), и от него явственно исходит дух восьмидесятых. По современным меркам интерфейс выглядит ужасно, однако свою задачу он выполняет. В этой среде нет ни поддержки ООП, ни новомодных графических эффектов, зато благодаря использованию X11 ее можно использовать по сети, правда не без шаманства.

Графический интерфейс OpenVMS

Об OpenVMS можно написать очень много: внимания заслуживает и кластеризация (одна из ключевых отличительных черт системы), и поддержка аж трех семейств сетевых протоколов (TCP/IP Services for OpenVMS, Multinet и TCPware), но еще интереснее поговорить про будущее.

При иных обстоятельствах, возможно, современный рынок ОС был бы поделен не между двумя системами, а между тремя. Этому, однако, помешали три вещи — лицензионная и ценовая политика DEC, слишком тесная привязка к не самой распространенной архитектуре и нежелание DEC признавать протоколы TCP/IP. В итоге сейчас OpenVMS используется только крупными корпорациями, да и то, скорее всего, из-за того, что перевод бизнес-процессов на иную платформу выйдет дороже.

В июне 2013 года HP объявила о постепенном прекращении поддержки OpenVMS. На этом история системы могла бы и закончиться, если бы не компания Nemonix Enginering, которая в свое время отпочковалась от VMS Software и зарабатывает на поддержке. У Nemonix грандиозные планы — к 2017 году в числе прочего обещают порт на x64. Посмотрим, что из этого выйдет.

Предоставляются и некоммерческие лицензии на OpenVMS — для запуска как на реальном железе, так и на эмуляторах. Их необходимо продлевать каждый год.

Читайте также: