Ansible — установка MySQL 5.5 на CentOS 7

В CentOS 7 по умолчанию доступен для установки только форк MariaDB. Что лучше — Мария или оригинальный мускул в комьюнити редакции — мне в данной задаче не важно. Мне нужно собрать дев среду максимально близкую к продакшену. Для скачивания и установки MySQL Оракл предоставляет rpm мета-пакет, который можно найти тут.

Установить этот пакет в Ansible можно примерно так

- name: Add MySQL repo
yum: name=http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm state=present

Проблема в том, что в этом пакете прописаны субрепозитории для версий 5.7, 5.6, 5.5 и по-умолчанию активирована 5.7, а мне нужна 5.5. Конфиг лежит в файле /etc/yum.repos.d/mysql-community.repo. Проверить какой именно репозиторий активирован можно так.

$ yum repolist enabled | grep mysql

Yum модуль в Ansible не предоставляет возможности управления субрепозиториями. Но конфиг репозитория — это ini файл. А для работы ini файлами в Ansible модуль есть. Делаем так

- name: Disable default/latest MySQL repository
ini_file:
  dest: /etc/yum.repos.d/mysql-community.repo
  section: "mysql57-community"
  option: enabled
  value: "0"

- name: Enable target MySQL repository
ini_file:
  dest: /etc/yum.repos.d/mysql-community.repo
  section: "mysql55-community"
  option: enabled
  value: "1"

После этого уже можно установить MySQL

- name: Install MySQL
yum: name={{ item }} update_cache={{ update_yum_cache }} state=installed
with_items:
  - mysql
  - mysql-server

Elementary OS: как добавить ярлык приложения из PlayOnLinux на Plank

  1. Нажать Создать ярлык для соответствующего приложения в PlayOnLinux. После этого ярлык появится в домашней директории (файл с расширением .desktop).
  2. Скопировать ярлык в /usr/share/applications/.

    sudo cp ~/mymsapp.desktop /usr/share/applications/
    
  3. Открыть меню «Приложения» на верхней панели, найти нужный ярлык.

  4. Перетащить ярлык на лаунчер Plank.

Elementary OS Freya: настройка шрифта в Терминале

Предустановленная программа Терминал в Elementary OS не имеет настроек доступных через меню. Как по мне, не плохо б было иметь возможность менять хотя бы шрифт.

В данный момент шрифт можно поменять так:

    gsettings set org.pantheon.terminal.settings font 'Droid Sans Mono 11'

или отредактировать соответствующую ветку с помощью dconf-editor (требует установки).

UPD: Увеличить и уменьшить размер шрифта можно с помощью горячих клавиш Shift + Ctrl + + и Ctrl + - соответственно.

VirtualBox: доступ к MySQL

Задача

Открыть доступ к MySQL серверу на виртуальной машине клиенту на хост машине. Подразумевается конфигурация Windows хост и гостевая Ubuntu.

Решение

Включить отклик MySQL сервера на входящие соединения от всех хостов (по умолчанию только localhost). Заменить в my.conf опцию bind-address с 127.0.0.1 на 0.0.0.0. Перезапустить MySQL сервер.

sudo vim /etc/mysql/my.cnf
sudo service mysql restart

Назначить необходимому пользователю права на доступ с любого хоста.

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

Пробросить порт в сетевых настройках виртуальной машины, например, с порта 33306 хоста на порт 3306 гостевой ОС.

Настроить соединение mysql клиента как myuser@127.0.0.1:33306.

VirtualBox: использование общих папок

Задача

Настроить доступ к папке в Windows хост ОС из директории в Ubuntu гостевой ОС.

Решение

  1. Установить дополнения гостевой ОС в Ubuntu.
  2. Настроить общую папку в менеджере VirtualBox: Настройки машины — Общие папки — Добавить. Выбрать путь к папке, задать наименование, выставить опции по вкусу.
  3. Убедиться, что дополнения гостевой ОС установлены корректно.
    moodprobe vboxsf
  4. Создать директорию, куда будет монтироваться общая папка. Рекомендуется использовать под-директории как на гостевой ОС, так и на хост-ОС. Так как прямое связывание системных директорий или директорий пользователя может помешать корректной работе ОС.
  5. Проверить возможность монтирования устройства общей папки в гостевой ОС.
    sudo mount -t vboxsf folder_name /path/to/folder
    Где folder_name — имя папки, заданное в менеджере VirtualBox, а /path/to/folder — путь к ранее созданной директории, куда будет смонтировано устройство.
  6. Добавить команду монтирования в /etc/rc.local для автоматического выполнения от имени root при загрузке. Добавлять соответствующую запись в /etc/fstab не рекомендуется, так как в момент подключения файловых систем дополнения гостевой ОС могут быть еще не инициализированы и подключение будет проходить нестабильно раз через раз.
    Более полно команда монтирования может выглядеть как
    mount -t vboxsf -o rw,uid=1000,gid=1000,dmode=775,fmode=775 folder_name /path/to/mount/point
  7. Перезагрузить гостевую ОС и убедиться, что все пучком. В противном случае засучить рукава и гуглить.

VirtualBox: установка дополнений гостевой ОС на Ubuntu 14.04

Задача

Установить дополнения гостевой ОС VirtualBox, если в качестве таковой ОС выступает Ubuntu 14.04. Это необходимо, например, для работы общих папок.

Решение

Хост ОС

Установить плагин расширений VirtualBox: Файл — Настройки — Плагины. Плагин должен быть той же версии, что и основной дистрибутив VirtualBox.

Гостевая ОС

  1. Установить необходимые пакеты.
    sudo apt-get install dkms build-essential linux-headers-generic
  2. Подключить образ диска в дисковод гостевой ОС: Устройства — Подключить образ диска дополнений гостевой ОС. Этот образ входит в поставку основного дистрибутива — скачивать дополнительно его не нужно.
  3. Смонтировать устройство в файловую систему, если это не произошло автоматически.
    sudo mount /dev/sr0 /media/cdrom
  4. Запустить скрипт-установщик.
    cd /media/cdrom
    sudo sh ./VBoxLinuxAdditions.run