Обычно для размещения виртуальных машин используются виртуальные жесткие диски. Они представляют из себя файл на обычном жестком диске, в котором есть своя таблица разделов и сами разделы с данными. Но в некоторых ситуациях бывает необходимо получить доступ к реальному жесткому диску из виртуальной машины. Читать
Архив метки: Linux
Автозагрузка сервисов в Ubuntu
Сервис в операционных системах семейства Unix — это программа, что выполняется в фоновом режиме и не имеет окон или других способов связи с пользователем. В операционной системе, работают в фоновом режиме огромное количество сервисов. И запускаются они при старте системы.
Всем этим управляет система инициализации Systemd. С помощью неё можно смотреть какие сервисы сейчас запущены, смотреть их логи, настраивать автозагрузку сервисов и многое другое. В этой статье мы рассмотрим как добавлять сервисы в автозагрузку в Linux на примере Ubuntu.
Как установить Ruby в Ubuntu 20.04
Ruby является одним из самых популярных языков программирования на 2020 год. Он имеет элегантный синтаксис и ориентирован на простоту и производительность. Ruby — это язык мощного фреймворка Ruby on Rails.
В этой статье мы покажем вам три разных способа установки Ruby в Ubuntu 20.04:
- Из стандартных репозиториев Ubuntu. Это самый простой способ установить Ruby в Ubuntu, и его должно быть достаточно для большинства случаев использования. Версия включена в репозиториях Ubuntu является 2.7.0.
- Использование Rbenv. Скрипт, позволяющий установить несколько версий Ruby на одном компьютере.
- Использование RVM (ruby enVironment manager). Более тяжелый и более функциональный скрипт, который позволяет устанавливать, управлять и работать с несколькими версиями Ruby.
Выберите способ установки, подходящий для вашей среды. Если вы разрабатываете приложения Ruby и работаете с несколькими средами Ruby, предпочтительным способом является установка Ruby с использованием Rbenv или RVM.
Если вы не уверены, какую версию Ruby установить, обратитесь к документации приложения, которое вы собираетесь развернуть.
Установка Ruby из репозитория Ubuntu
Самый простой способ установить Ruby в Ubuntu — использовать менеджер пакетов apt. На момент написания, версия в репозиториях Ubuntu была 2.7.0, которая не всегда может быть последней стабильной версией.
Установка довольно проста. Выполните следующие команды как пользователь root или пользователь с привилегиями sudo, чтобы обновить индекс пакета и установить Ruby:
sudo apt update sudo apt install ruby-full
После завершения проверьте установку, напечатав версию Ruby:
ruby --version
Вывод будет выглядеть примерно так:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
Ваша версия Ruby может отличаться от показанной выше.
Все! Вы успешно установили Ruby на свой компьютер с Ubuntu и можете начать его использовать.
Установка Ruby с использованием Rbenv
Rbenv — это легкий инструмент командной строки, который позволяет легко переключать версии Ruby.
По умолчанию rbenv не поддерживает установку Ruby. Мы будем использовать ruby-build для установки Ruby. Он доступен как отдельная программа и как плагин для rbenv.
Скрипт ruby-build устанавливает Ruby из источника. Чтобы иметь возможность собрать Ruby, установите необходимые библиотеки и компиляторы:
sudo apt update
sudo apt install git curl autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
Самый простой способ установить инструмент rbenv — использовать сценарий оболочки установки. Запустите команду curl или загрузите и выполните скрипт:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
Сценарий клонирует репозитории rbenv и ruby-build из GitHub в каталог ~/.rbenv.
Сценарий установщика также вызывает другой сценарий, который проверяет установку. Вывод скрипта будет выглядеть примерно так:
Running doctor script to verify installation... Checking for `rbenv' in PATH: not found You seem to have rbenv installed in `/home/vagrant/.rbenv/bin', but that directory is not present in PATH. Please add it to PATH by configuring your `~/.bashrc', `~/.zshrc', or `~/.config/fish/config.fish'.
Чтобы начать использовать rbenv, вам нужно добавить $HOME/.rbenv/bin в переменную PATH.
- Если вы используете Bash:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrcecho 'eval "$(rbenv init -)"' >> ~/.bashrcsource ~/.bashrc
- Если вы используете Zsh:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(rbenv init -)"' >> ~/.zshrcsource ~/.zshrc
Запустите команду rbenv -v, чтобы убедиться, что установка прошла успешно:
rbenv -v
rbenv 1.1.2-30-gc879cb0
Чтобы получить список всех версий Ruby, которые можно установить rbenv, введите:
rbenv install -l
Например, чтобы установить Ruby версии 2.7.1 и установить ее как глобальную версию, введите:
rbenv install 2.7.1rbenv global 2.7.1
Rbenv работает, вставляя директорию с именем shims на передней панели PATH. Этот каталог содержит скрипты (shims), чья задача — перехватывать команды Ruby и выполнять соответствующие двоичные файлы.
Rbenv позволяет установить оболочку, локальную и глобальную версии Ruby:
- Версия оболочки используется в текущей оболочке и имеет наивысший приоритет. Это можно определить, установив переменную среды RBENV_VERSION с помощью команды rbenv shell <ruby-version>.
- Локальная версия устанавливается для каждого каталога. Эта версия написана в файле ruby-version. Когда вы запускаете скрипт Ruby, rbenv ищет файл в текущем и всех родительских каталогах. Он использует версию Ruby, сохраненную в первом найденном файле. Чтобы установить локальную версию, перейдите в каталог и выполните команду rbenv local <ruby-version>.
- Глобальная версия используется во всех оболочках, если не установлена оболочка или локальная версия. Используйте rbenv global <ruby-version> для установки глобальной версии.
Не используйте sudo для установки гемов, когда Ruby управляется с помощью rbenv. Каждая версия Ruby установлена в каталоге ~/.rbenv/versions и доступна для записи пользователем.
Установка Ruby с использованием RVM
RVM — это инструмент командной строки, который можно использовать для установки, управления и работы с несколькими средами Ruby.
Установите зависимости, необходимые для сборки Ruby из исходного кода:
sudo apt update
sudo apt install curl g++ gcc autoconf automake bison libc6-dev libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool libyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev libreadline-dev libssl-dev
Выполните следующие команды, чтобы добавить ключ GPG и установить RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable
Чтобы начать использовать RVM, загрузите переменные среды сценария с помощью команды source:
source ~/.rvm/scripts/rvm
Чтобы получить список всех версий Ruby, которые можно установить с помощью этого инструмента, введите:
rvm list known
Установите последнюю стабильную версию Ruby с RVM и установите ее в качестве версии по умолчанию:
rvm install rubyrvm --default use ruby
Убедитесь, что Ruby был правильно установлен, напечатав номер версии:
ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Если вы хотите установить определенную версию Ruby, введите команды ниже. Замените x.x.x на версию Ruby, которую вы хотите установить:
rvm install ruby-x.x.xrvm --default use ruby-x.x.x
Чтобы переключиться на другую версию, не устанавливая ее в качестве Ruby по умолчанию, введите:
rvm use ruby-x.x.x
Для получения дополнительной информации о том, как управлять установками Ruby с помощью RVM, посетите их страницу документации.
Вывод
Мы показали вам три различных способа установки Ruby в Ubuntu 20.04. Выбор метода зависит от ваших требований и предпочтений. Несмотря на то, что установка упакованной версии из репозитория Ubuntu проще, скрипты Rbenv и RVM дают вам больше гибкости в использовании разных версий Ruby для каждого пользователя.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь комментировать ниже.
Как установить Docker на Ubuntu 20.04
Docker — это платформа с контейнерами с открытым исходным кодом, которая позволяет быстро создавать, тестировать и развертывать приложения в виде переносимых контейнеров, которые могут работать практически где угодно. Контейнер представляет собой среду выполнения для одного приложения и включает в себя все, что нужно программному обеспечению для запуска.
Docker является неотъемлемой частью современной разработки программного обеспечения и конвейеров непрерывной интеграции и развертывания DevOps.
Из этой статьи Вы узнаете, как установить Docker на компьютере с Ubuntu 20.04.
Docker доступен для установки из стандартных репозиториев Ubuntu 20.04, но он не всегда может быть последней версией. Мы установим последний пакет Docker из официальных репозиториев Docker.
Установка Docker в Ubuntu 20.04
Установка Docker в Ubuntu довольно проста. Мы включим хранилище Docker, импортируем ключ GPG хранилища и установим пакет.
Сначала обновите индекс пакетов и установите зависимости, необходимые для добавления нового HTTPS-репозитория:
sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Импортируйте ключ GPG хранилища с помощью следующей команды curl:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Добавьте репозиторий APT Docker в свою систему:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Теперь, когда репозиторий Docker включен, вы можете установить любую версию Docker, которая доступна в репозиториях.
- Чтобы установить последнюю версию Docker, выполните команды ниже. Если вы хотите установить определенную версию Docker, пропустите этот шаг и перейдите к следующему.
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
- Чтобы установить конкретную версию, сначала перечислите все доступные версии в хранилище Docker:
sudo apt updateapt list -a docker-ce
Доступные версии Docker напечатаны во втором столбце. На момент написания этой статьи в официальных репозиториях Docker была доступна только одна версия Docker (5:19.03.9~3-0~ubuntu-focal).
docker-ce/focal 5:19.03.9~3-0~ubuntu-focal amd64
Установите конкретную версию, добавив =<VERSION>после имени пакета:
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
После завершения установки служба Docker запустится автоматически. Вы можете проверить это, набрав:
sudo systemctl status docker
Вывод будет выглядеть примерно так:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-21 14:47:34 UTC; 42s ago
...
Когда выйдет новая версия Docker, вы можете обновить пакеты, используя стандартную команду:
sudo apt update && sudo apt upgrade
Если вы хотите предотвратить обновление пакета Docker, пометьте его как сдержанный:
sudo apt-mark hold docker-ce
Выполнение команд Docker от имени пользователя без прав root
По умолчанию только команды root и пользователь с правами sudo могут выполнять команды Docker.
Чтобы выполнять команды Docker от имени пользователя, не являющегося пользователем root, вам необходимо добавить своего пользователя в группу Docker, которая создается во время установки пакета Docker CE. Для этого введите:
sudo usermod -aG docker $USER
$USER является переменной среды, которая содержит имя пользователя.
Выйдите из системы и войдите снова, чтобы обновить членство в группе.
Проверка установки
Чтобы убедиться, что Docker успешно установлен и что вы можете выполнить dockerкоманду без предварительной подготовки sudo, мы запустим тестовый контейнер:
docker container run hello-world
Команда загрузит тестовое изображение, если оно не найдено локально, запустит его в контейнере, напечатает сообщение «Hello from Docker» и завершит работу. Вывод должен выглядеть следующим образом:
Контейнер остановится после печати сообщения, потому что у него нет длительного процесса.
По умолчанию Docker извлекает изображения из Docker Hub. Это облачная служба реестра, которая, помимо прочих функций, хранит образы Docker в общедоступных или частных хранилищах.
Удаление Docker
Перед удалением Docker рекомендуется удалить все контейнеры, образы, тома и сети.
Выполните следующие команды, чтобы остановить все запущенные контейнеры и удалить все объекты Docker:
docker container stop $(docker container ls -aq)docker system prune -a --volumes
Теперь вы можете удалить Docker как любой другой пакет, установленный с apt:
sudo apt purge docker-ce sudo apt autoremove
Вывод
Мы показали вам, как установить Docker на компьютере с Ubuntu 20.04.
Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.
Запуск контейнера Docker
Технология Docker набирает всё большую популярность среди разработчиков и DevOps-специалистов в наши дни, поскольку позволяет без особого труда настроить различные окружения один раз, а затем воспроизводить их на, казалось бы, совсем не совместимом оборудовании. Но начнём мы наш цикл статей о Docker с азов.
В сегодняшней статье мы поговорим о создании контейнеров и, соответственно, об их запуске. В Docker контейнер представляет собой окружение для выполнения какого-либо одного процесса. Это изолированная среда, в которой есть всё необходимое для выполнения нужного процесса, и нет ничего лишнего. Создание контейнера Docker выполняется в момент его запуска, и эти процессы запускаются с помощью команды docker run. Давайте сначала рассмотрим её синтаксис и опции.
Копирование файлов c архивированием по SSH на лету.

Сегодня рассмотрим Копирование файлов c архивированием на лету по SSH протоколу, используя TAR.
Синтаксис команды tar
tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t --list | --test-label | u --update | x --extract --get [options] [pathname ...]
Копирование файлов через SSH c архивированием на лету.
Выполним следующею команду:
cd /local/dir; tar cf - . | ssh server "cd /destination/dir; tar xf -"
Теперь разберем, что же происходит в коде:
cd /local/dir;– осуществляется переход к папке /local/dir, которая будет архивироваться;tar cf - .– утилита tar выполняет следующие операции:-cговорит о том, что нужно создать новый архив;
-fговорит о том, что используется архивный файл (или устройство);- парамерт
-говорит о том, что tar должен использовать стандартный вывод, а не записывать данные в файл - параметр . говорит о том, что архивироваться будет папка, в которой находится пользователь, и из которой выполняется команда tar (в данном случае это папка
/local/dirиз п.1)
| sshозначает, что вывод утилиты tar будет передан в ssh-исполняемую следом команду;serverобычно имеет вид [имя_пользователя]@[адрес_сервера] и означает, что команда будет выполнена на удаленном сервере;"cd /destination/dir; tar xf -"– в кавычки заключена последовательность команд для выполнения на удаленном сервере и в SSH вводится именно в кавычках, разберем ее в следующем пункте;cd /destination/dir;– осуществляется переход к папке, куда будут разархивированы файлы;tar xf -утилита tar выполняет следующие операции:-xговорит о том, что будет происходить распаковка;-fговорит о том, что используется архивный файл (или устройство);- параметр
-говорит о том, что tar должен использовать не файл, а стандартный вывод.
Также можно использовать дополнительно следующие параметры с tar:
- параметр
-vсообщает tar действовать вербально, т.е. отображая, либо получая исчерпывающую информацию о файлах в процессе обработки; -z– параметр сообщает tar использовать программу сжатия, когда работа будет вестись с файлами;
или-j– параметр сообщает tar выполнять чтение или запись архивов, используя компрессор bzip2.
[endtxt]
RSS
