Ubuntu для web-разработчика

Сегодня приведу пример установки условно достаточного набора программ для web-разработки в операционной системе Ubuntu (понятно что вкусы у всех разные). К слову сказать, примерно такую конфигурацию я в данный момент и использую.

Версия Ubuntu, а точнее ее модификация Xubuntu с графической средой Xfce вместо Unity, была выбрана 14.04.5 LTS (поддержка до 17 апреля 2019 года). Почему не 16.04? Потому что в репозиториях для 14.04 еще есть PHP 5, а в 16.04 уже PHP 7. Не все текущие проекты с ним на данный момент совместимы. Можно было конечно поставить PHP 5.6 из специального репозитория с пакетами от сторонних разработчиков и под Ubuntu 16.04, но это уже другая тема.

  1. Сначала устанавливаем мультимедиа кодеки, флеш-плеер, шрифты от Microsoft, распаковщик rar архивов:
    1
    2
    3
    
    sudo apt-get install xubuntu-restricted-extras
    sudo apt install msttcorefonts
    sudo fc-cache -fv
  2. Браузер Google Chrome скачал с https://www.google.ru/chrome/browser/desktop/ (Firefox уже есть из коробки).
  3. Устанавливаем LibreOffice, так как идущий в комплекте Gnumeric конечно ест меньше оперативки, но по функционалу не дотягивает до нужного уровня. Например не понимает csv. Итак:
    1
    2
    3
    
    sudo add-apt-repository ppa:libreoffice/ppa
    sudo apt-get update
    sudo apt-get install libreoffice
  4. Знаменитый заместитель Photoshop — GIMP уже был предустановлен, а вот векторного редактора не хватает. Устанавливаем Inkscape:
    1
    2
    3
    
    sudo add-apt-repository ppa:inkscape.dev/stable
    sudo apt-get update
    sudo apt-get install inkscape
  5. Далее система контроля версий Git, которая незаменима при любой разработке, в том числе и web:
    1
    
    sudo apt-get install git

    Если еще не используете, очень рекомендую. Для быстрого вхождения в тему можно почитать книгу про Git о которой идет речь здесь: https://habrahabr.ru/post/150673/

  6. Устанавливаем LAMP, что означает Linux + Apache + MySQL + PHP:
    1
    2
    
    sudo apt-get install tasksel
    sudo tasksel install lamp-server

    Для запуска сервера после установки используем команду:

    1
    
    sudo service apache2 start

    Так же есть команды restart и stop. Шпаргалку по настройке хостов для локальных сайтов напишу позже в отдельном посте.

  7. Установить phpMyAdmin можно по разному. Один из вариантов — скачать с официального сайта https://www.phpmyadmin.net/downloads/. Я просто распаковал архив в папку сайтов в директорию pma (разумеется можно назвать по своему), а потом добавил хост pma к этой директории. Папка с локальными сайтами в моем случае находится в ~/sites/. Подробнее в вышеупомянутом посте про настройку хостов.
  8. Иногда требуется FTP-клиент. Один из довольно удобных — Filezilla:
    1
    
    sudo apt-get install filezilla
  9. Устанавливаем консольный Yandex.disk:
    1
    2
    3
    
    echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/yandex.list > /dev/null && wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | sudo apt-key add - && sudo apt-get update && sudo apt-get install -y yandex-disk
    mkdir ~/Yandex.Disk
    yandex-disk setup

    И индикатор для панели:

    1
    2
    3
    
    sudo add-apt-repository ppa:slytomcat/ppa
    sudo apt-get update
    sudo apt-get install yd-tools

    Для запуска индикатора используется команда:

    1
    
    yandex-disk-indicator

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

  10. Удобный просмотрщик изображений с возможностью пакетной обработки XnView можно скачать с http://www.xnview.com/en/xnviewmp/#downloads
  11. Skype для общения с заказчиками берем с официального сайта: https://www.skype.com/ru/download-skype/skype-for-linux/
  12. Очень шустрая утилита для нарезки и склейки PDF - pdftk:
    1
    
    sudo apt-get install pdftk
  13. xCHM для чтения документации в формате CHM соответственно:
    1
    
    sudo apt-get install xchm
  14. Для некоторых вещей которых не хватает в связи с Windows-привычками устанавливаем Wine:
    1
    2
    3
    4
    
    sudo dpkg --add-architecture i386
    sudo add-apt-repository ppa:wine/wine-builds && sudo apt-get update
    sudo apt-get install --install-recommends winehq-devel
    winecfg
  15. А теперь то что не хватает — редактор Notepad++. Устанавливаем Windows-версию с официального сайта. Лучше 32-битную, там нормально работает Plugin Manager. Конечно этот вариант спорный, но мне так привычнее. В качестве альтернативы можно предложить похожий редактор Notepadqq. Но он хотя и позиционируется как замена Notepad++, все же до него не дотягивает. Например нет плагинов и нет возможности ставить метки на полях для быстрого перехода по F2 в длинных файлах. И все же для тех кому он подойдет, вот команды для установки:
    1
    2
    3
    
    sudo add-apt-repository ppa:notepadqq-team/notepadqq
    sudo apt-get update
    sudo apt-get install notepadqq
  16. И наконец — может пригодится если немного не хватает RAM для комфортной работы. Утилита zRam для создания сжатого swap в оперативке. Звучит странно, на первый взгляд, но работает хорошо. Можно комфортно открывать большее количество вкладок в браузере одновременно. Устанавливаем:
    1
    
    sudo apt-get install -y zram-config

Сборка Ubuntu для Windows-игр и программ

Для Windows, что и говорить, существует масса программ и игр у которых нет альтернатив под другие операционные системы. Многих именно это останавливает от перехода на свободную ОС Linux. Еще одна причина — более высокая сложность освоения данного семейства систем. Что говорить, если уж с Windows у многих возникают трудности, где казалось бы все сделано «по умолчанию», то в Linux и подавно.

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

Много усилий было приложено чтобы победить и первую упомянутую проблему — пропасть между Linux и популярным программным обеспечением, ориентированным как сложилось, на Windows.

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

Чуть предыстории. Сначала попробовал очень известную в сети сборку [x64]Ubuntu Mint Mate rel21.6 для дома и для игр. Но по каким-то причинам она отказалась запускаться на моем компьютере (конфигурация, для интереса, внизу поста). Тем не менее, так как автор данной сборки предоставляет и отдельный, тщательно настроенный, префикс Wine (то есть специальной программы, транслирующей вызовы Windows-системы в вызовы Linux), решено было его и использовать. Ссылка на этот префикс приведена на соответствующем шаге ниже.

Ну а теперь приступим, постараюсь описать более менее подробно и со всеми ссылками. Подразумевается что на данном компьютере была установлена Windows или доступен другой компьютер с Windows, так как описана подготовка дистрибутива в этой ОС.

Шаг 1: Скачиваем Ubuntu

Я выбрал 32-битную версию Ubuntu 13.10 desktop (с 64-битной все тоже самое).

Шаг 2: Создаем загрузочную флешку

Сначала скачиваем Unetbootin. Эта программа предназначена для создания загрузочной флешки Ubuntu (а так же других ОС) из под Windows или Linux — приложение кроссплатформенное. Форматируем флешку с параметрами по умолчанию. Запускаем Unetbootin и выбрав скачанный образ начинаем процесс создания установочной флешки.

ubuntu-for-windows-games-p1

Шаг 3: Загрузка компьютера с flash-накопителя, установка Ubuntu

Вставляем в компьютер флешку (или не вынимаем). После включения сразу идем в BIOS (удерживая Del или F1, или что там у вас) и выбираем загрузку с данного накопителя. Установку подробно описывать не буду — она не намного сложнее установки Windows. Разве что, если вы хотите сохранить Windows, вручную придется распределить разделы под систему Ubuntu и файл подкачки (swap).

Но есть важный момент, касающийся будущего Wine — имя пользователя при установке системы должно быть: user. Почему именно так? Дело в том, что префикс Wine настроен под пользователя с таким именем. И если не хочется потом править реестр и тому подобное, то лучше сделать так.

Шаг 4: Устанавливаем драйвера видеокарты

Когда я устанавливал систему у меня было только интегрированное видео Intel HD Graphics 2500 (встроено в процессор на ядре Ivi Bridge). И установка драйверов не понадобилась — все работало из коробки. Однако потом я добавил видеокарту Nvidia Geforce GT 630. И для установки мне потребовалось выполнить несколько команд в терминале. Для запуска терминала (один из способов) нажимаем кнопку Win на клавиатуре и вводим в поиске: терминал. Запускаем. Интернет должен быть включен в данный момент. Копируем строки по очереди прямо отсюда. После каждой вставки нажимаем Enter. Для вставки в терминал сочетание клавиш Ctrl+v не работает, поэтому вставляем с помощью Ctrl+Shift+v.

sudo apt-get update
sudo apt-get install nvidia-319-updates nvidia-settings-319-updates
sudo nvidia-xconfig

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

lspci -k | grep VGA -A2

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

Шаг 5: Установка Wine

Выполнение приведенных ниже команд приведет к установке Wine 1.6, который полностью совместим с настроенным префиксом. Хотя уже есть версии Wine 1.7.x — их я пока не пробовал. Итак вводим в терминале следующее:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine

Шаг 6: Замена префикса Wine на специально адаптированный для запуска многих программ и игр

Перед этим шагом желательно сделать резервную копию префикса Wine. Для этого идем в домашнюю папку в диспетчере файлов и нажимаем Ctrl+h, что позволяет увидеть скрытые папки. Теперь копируем папку .wine в какое нибудь место. Все — резервная копия сделана.

Теперь скачиваем подготовленный префикс. Ссылка на него есть и с вышеупомянутой статьи о дистрибутиве [x64]Ubuntu Mint Mate rel21.6 для дома и для игр. Распаковываем скачанный архив куда нибудь. Теперь опять идем в домашнюю папку, затем в .wine/drive_c/. Удаляем там все, кроме папки users. Затем из распакованного архива с префиксом из вложенной папки rel21.5-wine-BASE копируем все (с заменой файлов) в каталог .wine в домашней папке. После замены файлов префикса нужно в терминале выполнить команду:

wineboot --update

После этого можно пробовать устанавливать любые Windows-программы и игры. Для этого кликаем правой кнопкой мыши на установочном exe-файле и выбираем «запустить с помощью wine». После установки запускаем программы как в Windows. Очень многое заработает сразу, без каких либо дополнительных действий. Например, я сходу установил демо версию Euro Track Simulator 2 для Windows — и все заработало так же как в родной ОС (потеряв в fps совсем немного — все таки это OpenGL-игра). С Direct3D-играми потери производительности могут быть больше, из-за трансляции инструкций в OpenGL.

К слову, то что работает без проблем можно найти на сайте www.winehq.org. Просто введите в поиске интересующее вас приложение. Если в описании к нему написано Platinum или Gold — значит должно работать нормально.

Конфигурация компьютера, на который производилась установка системы

  • Корпус Winsis WI-05  (БП Winsis WMT-300TFX)
  • Материнская плата ASRock H61MV-ITX
  • Процессор INTEL Celeron G1620 Ivy Bridge
  • Вентилятор ZALMAN CNPS80F
  • Вентилятор для корпуса ZALMAN ZM-F1 FDB (использовался с некоторой переделкой, для замены слишком шумного вентилятора в БП)
  • Модуль памяти Patriot DDR3 2GB PC3-10600 1333MHz
  • Беспроводной USB адаптер TP-LINK TL-WN721N
  • Видеокарта PCI-E Asus GeForce GT630-SL-1GD3-L 1024MB 64bit GDDR3 (при стандартной компоновке эта видеокарта в указанный корпус не влезет — о том, как удалось ее установить, читайте в посте про HTPC)