Bash скрипт для установки пакета pecl_http в Ubuntu

Есть хороший PHP пакет для работы с http, написанный на C и реализованный в виде PHP расширения, pecl_http.
Для его установки требуется определенное количество ручной работы. Я попробовал автоматизировать ее и получился вот такой bash-скрипт для установки pecl_http в Убунту
Продолжить чтение

Проверка существования команды в bash

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

Можно использовать с группой команд

Можно использовать в условиях

Удобно для проверки доступности команд перед запуском шагов в Continuous Integration, например, в Runner‘е GitLab CI:

 

Чистим кеш ОС в Linux

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

Подробней можно почитать в разделе drop_caches документации по kernel: https://www.kernel.org/doc/Documentation/sysctl/vm.txt

Создание случайного файла произвольного объема в bash

Иногда требуется создать файл с необходимым объемом для тестирования сервиса. Например, для тестирования выгрузки файла.

В bash это сделать очень просто. Необходимо достать нужный объем случайных данных из /dev/urandom и записать его в файл. Это можно сделать через утилиту dd:

 

Логгирование всего вывода bash-скрипта

Если вам потребовалось логгировать большое количество действий в вашем bash-скрипте — то вам поможет утилита tee.

Вы можете использовать ее непосредственно при выводе на экран

Или сразу сказать что вы логгируете весь вывод на экран. Для этого вам необходимо в начале скрипта написать

Ответ был найдет на сайте SuperUser.com: http://superuser.com/a/86955

 

Настройка nginx для большого количества однотипных сайтов под Ubuntu

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

Просто создаем один конфиг для всех сайтов

Теперь добавляем вот такие инструкции

Перегружаем настройки nginx

Теперь все домены типа mysite.localhost будут смотреть в соответствующую папку в /var/www, в данном случае в /var/www/mysite.

С учетом того, что мы уже настроили все домены типа *.localhost так, что они смотрят на наш сервер — мы можем просто добавлять в папку /var/www новый сайт и он сразу будет доступен (без перезагрузок, настройки и других дополнительных действий)

Установка Dnsmasq под Ubuntu для настройки локальных wildcard доменов

Иногда требуется поднимать много похожих локальных сайтов и не хочется настраивать сервер и хосты для каждого из них. Нам на помощь приходит Dnsmasq. Данное решение я нашел у Дэйва Джеймса Миллера в статье Linux – Installing Dnsmasq for wildcard local domains, перевод которой я вам представляю. Так же в отедельном посте показано как можно настроить nginx для работы сразу с несколькими однотипными сайтами.

Продолжить чтение

Проблема со шрифтами по-умолчанию в Ubuntu 12.04 и украинскими буквами в Skype

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

Продолжить чтение

Не включается звук (unmute) в Mate после выключения (mute)

Недавно перешел дома на Ubuntu и в качестве графической оболочки выбрал Mate, потому как очень нравился все время Gnome 2, а Gnome 3 и Unity мне абсолютно не удобны для использования. Но суть не в том.

В Mate по-умолчанию ставится mate-media-gstreamer и mate-settings-daemon-gstreamer для управления  звуком, но в нем присутствует проблема, которая состоит в том, что после выключения звука через mute не работает включение обратно (un-mute).

Продолжить чтение

Установка Oracle Java JDK 7 на Ubuntu 12.04 для jetBrains PhpStorm

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

В этот раз долго не мог нормально поставить PhpStorm от jetBrains, который требовал Oracle JDK 7, тоесть Java 1.7.0, на мою новую Убунту (Все таки решился полностью перейти на линукс и дома). То там пермишны не такие, то джаву видно только из-под судо. А как я его ставил последние пару раз на работе я уже забыл, но точно помню что это было достаточно просто.

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

Продолжить чтение