Генерация QR-кодов в Linux Ubuntu из командной строки

Автор: Рудюк С . А. https://corp2.net E-Mail: rs@corp2.net В Linux есть огромное количество бесплатного программного обеспечения а так же различных языков программирования благодаря которым Вы можете решить практически любую задачу. Причем, сделать это можете быстро, эффективно и что очень важно – не затрачивая денежные ресурсы… В данной статье я расскажу, как можно сгенерировать QR-код в Linux Ubuntu из командной строки. Для генерации QR-кода Вы можете использовать команду:

Например:

Получите такое изображение: Вы можете указать размер пикселей, используя аргумент ‘-s’. Например, для размера 6х6:

Получим такое изображение: Автор: Рудюк С . А. https://corp2.net

Read more

Как проигрывать MP3-файлы с командной строки Linux

Мало кто слыхал и еще меньше людей пользуются возможностью прослушивания MP3-файлов через командную строку. Это и не странно, ведь в любой операционной системе есть качественный и хорошо графически оформленный музыкальный плеер. Но и в этом способе прослушивания музыки есть свои преимущества. Установка программы. Для того чтобы установить программу Mpg123 запустите терминал и введите в нем следующую команду:

  Это приложение доступно для всех видов операционных систем семейства Linux под одним названием mpg123, но также есть возможность скачать его и в исходном коде по следующей ссылке: Управление. Для того чтобы включить проигрывание конкретной песни необходимо перейти в каталог с MP3-файлами и ввести в командную строку после  mpg123 имя песни:

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

А для того чтобы песни проигрывались в случайном порядке, добавте в предыдущую команду флаг «-Z». Или вы можете использовать стандартный башовский редирект чтобы направить на проигрывание в mpg123 список файлов.

Где, флаг -@ указывает mpg123 то, что следующий ввод необходимо трактовать как плейлист (это укороченный флаг -list), а символ < — это стандартный редирект в командной строке, который берет текст из файла и передает его в плеер. Дистанционное управление плеером. Многим пользователям Linux известно об протоколе SSH, который предоставляет доступ к консоли удаленной системы, а так как mpg123 — это чисто […]

Read more

Решение проблемы запуска сессий новых пользователей в XRDP

Автор: Рудюк С . А. https://corp2.net E-Mail: rs@corp2.net 1. При эксплуатации решения XRDP+”1С:Підприємство” стали возникать проблемы захода новых пользователей в терминальную сессию. Причем, сессия просто сваливалась не выдавая на экран видимую ошибку. И в логах ничего не писалось. Как оказалось, проблема возникала из-за прав доступа. Необходимо вставить в каталог скелетов все необходимые файлы. У меня вставлены такие файлы и каталоги:

На все файлы необходимо указать владельца root и группу – root. 2. При запуске “1С:Підприємство” под разными пользователями в файловом варианте конфигурации стало выдавать ошибку о не достаточных правах доступа. Для того, чтоб этого не происходило, я включил всех пользователей в одну группу – 1s. И на базы и каталоги указал группу 1s. Так же, понадобилось внести изменения в файл .profile (для того, чтоб не нужно было такого делать при создании каждого нового пользователя внесите данные изменения в скелеты skel). Укажите в .profile umask 0007 или umask 0000. Содержимое моего файла .profile:

Автор: Рудюк С . А. https://corp2.net

Read more

Установка и настройка DNS сервера Ubuntu

Установка и настройка DNS сервера Ubuntu Для начала нужно установить самые последние обновления системы

После этого установим службу DNS сервера Bind9

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

выводим его на экран

на экране вы должны увидеть ключ, что то подобно этому: Key: 4GD8OIb8pZk4vAueACAfUQ== Настраиваем DNS сервер Bind9 Открываем файл конфигурации

Добавим следующий код:

    forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе. listen-on – адреса через которые будет обслуживаться наш DNS сервер. Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл. Перезапустим bind9

Теперь можно протестировать работу нашего DNS сервера Добавим в фал /etc/resolv.conf строчку с нашим DNS сервером (так как файл /etc/resolv.conf при перезагрузке меняет значения на дефолтные, добавить запись нужно в тот файл из которого будут браться дефолтные значения)

в этот файл пишем следующее:

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

в ответ вы получите ответ с временем выполнения запроса (выделено цветом) Как видите запрос был выполнен за 284 мсек. Теперь еще раз выполним этот же запрос и проверим время запроса Повторный запрос был выполнен за 7 мсек! Отлично! Кэширование запросов работает. Двигаемся дальше. Настройка основного DNS сервера Исходные данные: Доменное имя – lab.loc IP сервера – 192.168.0.1 Имя сервера – srv-01.lab.loc Нам нужно будет указать две зоны (прямого и обратного просмотра) и прописать их в конфигурации сервера. Я начну с конца и укажу настройки зон […]

Read more

Программирование в командной строке используя PHP

Ubuntu предоставляет в комплекте с пакетом apache2 утилиты для включения\выключения виртуальных хостов и модулей. Однако, создание конфигов для виртуальных хостов отнимают дополнительное время. Поэтому, мне захотелось исправить этот недостаток. Можно было, конечно, сделать автоматические поддомены для апача, но я решил написать скрипт, который создает файлы конфигурации виртуальных хостов для апача, а так же, при необходимости, добавляет имя хоста в файл /etc/hosts. Я не очень хорошо пишу скрипты в bash’e, поэтому решил использовать PHP для моей довольно простой задачи, который я, к тому же, знаю довольно неплохо. Итак, в этой статье мы сделаем сразу две полезных вещи: ознакомимся с операциями ввода\вывода командной строки в PHP и напишем скрипт, который совсем немного упростит нам жизнь. Проверка прав доступа Наверное, ни для кого не секрет, что достаточно просто в первой строке PHP скрипта написать #!/usr/bin/env php и такой скрипт можно будет выполнить как обычную программу в Linux. Прежде всего, нам нужно проверить, есть ли у нас право на запись в ту самую папку, которая содержит в себе конфиги виртуальных хостов, а обычно для этого нужны root права. Проверить это довольно просто: $virtual_hosts_dir = “/etc/apache2/sites-available/”; if (!is_dir($virtual_hosts_dir) || !is_writable($virtual_hosts_dir)) {     echo “You must run this script as root!\n“;     exit; }   Получение информации из параметров Далее, нам необходимо узнать у пользователя некоторую информацию, которая нам нужна для создания конфига. Кроме последовательного ввода из консоли, можно передать эту информацию в качестве параметров, которые мы передаем при вызове скрипта. В PHP есть глобальные переменные $argc и $argv. Первая содержит количество входящих параметров, а вторая — массив со входящими параметрами. По-умолчанию входящий параметр всего один — полный путь к […]

Read more

Низкоуровневое форматирование на Debian или Ubuntu

Случилось так, что понадобилось мне низкоуровневое форматирование. Винт на 2Тб, а значит и времени тоже надо было много, потому решил вставить винт в сервер и делать всё на нем. Процедура эта не трудоемкая, но очень длительная. 1. Подключаем винт 2. Перезагружаем железо 3. Сотрим список подключенных винтов и флешек 1 # fdisk -l В результате получим нечто такого плана (для примера взял флешку на 4Гб): 1 2 3 4 5 6 7 8 9 10 11 Disk /dev/sdg: 4057 MB, 4057989120 bytes 255 heads, 63 sectors/track, 493 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xcad4ebea    Device Boot      Start         End      Blocks   Id  System /dev/sdg4   *           1         494     3962848+   c  W95 FAT32 (LBA) Partition 4 has different physical/logical endings:      phys=(492, 254, 63) logical=(493, 90, 45) /dev/sdg — это наш пациент (последняя буква может отличатся!) 4. Отмонитируем все разделы: 1 # umount /dev/sdg* 5. Запускаем форматирование 1 # dd if=/dev/zero of=/dev/sdg По завершению форматирования получим объем флешки (должен соответствовать заявленному), скорость и время записи. По памяти, жесткий диск форматировался со скоростью 1 Гб/мин (~16,5 Мб/сек), ибо подключен был через sata, а флешка куда дольше будет.   Источник: http://g13.org.ua/%D0%BD%D0%B8%D0%B7%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D0%BE%D0%B5-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-debian-%D0%B8/

Read more

Настройка звука в XRDP для Linux Ubuntu

Автор: Рудюк С . А. https://corp2.net E-Mail: rs@corp2.net Замена Windows Server на Linux Ubuntu – выгодное и полезное решение. Такое решение может получиться более стабильно работающим и главное, масштабируемым и более защищенным. Но, есть в решениях Linux всегда ложка дегтя. Прежде всего, это работа с аппаратурой. Ряд аппаратных средств работает только с Windows. И даже гордятся этим, выставляя на своем корпусе лейбочку мелко-софтовской компании… Так же, возникает вопрос настройки звука для XRDP в Linux Ubuntu. По умолчанию, звук в XRDP отключен и чтоб его настроить, нужно провести ряд действий. Данная статья рассказывает, как это сделать. Итак, устанавливаем необходимые нам пакеты:       Устанавливаем Git, чтоб иметь возможность брать исходные коды прямо из репозитариев: Клонируем проект XRDP в текущую папку: Можно так же просто закачать zip-архив по адресу: https://github.com/FreeRDP/xrdp Компилируем XRDP:   С некоторых пор, разработчик убрал опцию –enable-simplesound, поэтому, не пугайтесь, если у вас выдастся сообщение о отсутствующей опции. Сейчас она не особо нужна, т.к. автоматически определяется подключен звук или нет.   Компилируем X11RDP. Для этого, заходим в каталог xorg/X11R7.6 и вводим команду: Создаем ссылку: Добавляем в загрузку:   Копируем ключ rsa для шифрации: Устанавливаем пакеты, необходимые для переадресации звука: Закачиваем исходные коды пакета pulseaudio из http://freedesktop.org/software/pulseaudio/releases/: Входим в каталог и выполняем: Если возникли проблемы при компиляции, то возможно вы закачали не тот пакет pulseaudio. Переходим в каталог xrdp/sesman/chansrv/pulse. Вам необходимо прокомпилировать библиотеку для передачи звука по XRDP. Отредактируйте переменную PULSE_DIR на путь к исходным кодам pulseaudio. После этого, выполните: Скопируем библиотеку в pulse (пути могут отличаться в зависимости от версии […]

Read more

Настройка shared memory

Вот такая ошибка может появлятся в логах Zoneminder’а:   WAR [Buffer overrun at index 31, image 902111, slow down capture, speed up analysis or increase ring buffer size] Для оптимизации работы рекомендуется изменить значения shmmax и shmall в sysctl.conf. Но какие значения ставить shmmax и shmall? Для этого сделан небольшой скрипт. Его задача – посчитать и вывести размер shared memory, который равен половине доступной на сервере памяти (всей доступной). #!/bin/bash # simple shmsetup script page_size=getconf PAGE_SIZE phys_pages=getconf _PHYS_PAGES shmall=expr $phys_pages / 2 shmmax=expr $shmall \* $page_size echo kernel.shmmax = $shmmax echo kernel.shmall = $shmall Например, для сервера с 2Гб RAM скрипт выдаст следующее: kernel.shmmax = 1055092736 kernel.shmall = 257591 Здесь SHMMAX – максимальный размер (в байтах) на сегменте shared memory, установлен в 1 Гб. SHMALL – общее количество разделяемой памяти (в страницах), какое все процессы на сервере могут использовать. Количество байтов в странице зависит от операционной системы; в, основном, по умолчанию 4096 байт. Для того, что бы эти данные применились для Linux, выполните данную команду от root (./shmsetup – данный скрипт): ./shmsetup >> /etc/sysctl.conf И проверьте правильность: sysctl -p ЗЫ. Также не забываем про семафоры в системе: $ ipcs -l … —— Пределы семафоров ——– максимальное количество массивов = 128 максимум семафоров на массив = 250 максимум семафоров на всю систему = 32000 максимум операций на вызов семафора = 32 максимальное значение семафора = 32767 Значения в sysctl: $ sysctl kernel.sem kernel.sem = 250 32000 32 128 Все четыре значения, возможно, потребуется увеличить на системах с большим число процессов. После установки и настройки Zoneminder’а […]

Read more
1 6 7 8