Архив автора: admin

Как создать Snap пакет Ubuntu 16.04

Технология Snap разработанная в Canonical для облегчения установки программного обеспечения в дистрибутиве Ubuntu появилась совсем недавно. Она разрабатывалась на протяжении последних нескольких лет, но только к релизу Ubuntu 16.04 стала более-менее готова к использованию широкой аудиторией.

Основное преимущество Snap, это возможность установки программ без зависимостей. Все необходимые программе библиотеки находятся уже в пакете с программой и для ее запуска ничего не требуется от системы. При обновлении вам достаточно обновить один snap пакет, не обновляя всю систему, а при сбоях и ошибках можно откатить пакет до предыдущей версии. Сейчас ходит много споров по поводу того действительно ли хороша технология snap или нужно от нее отказаться в пользу deb пакетов. Но все это покажет время и тестирование, а в этой статье мы рассмотрим создание snap пакетов. Тем более, что создавать их немного проще, чем те же самые deb пакеты.

Создание Snap пакетов в Ubuntu 16.04

Чтобы создать snap пакет мы будем использовать специальный инструмент — Snapcraft. Это официальный инструмент для создания snap пакетов, который позволяет разработчику упаковывать программы собирая необходимые файлы по всей системе. Snapcraft позволяет не только копировать файлы, но и скачивать исходники и собирать программу.

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

Сначала нам нужно установить Snapcraft. Чтобы получить самую новую версию добавим к нашей системе PPA:

sudo add-apt-repository ppa:snappy-dev/tools

Теперь обновим список пакетов и установим программу:

sudo apt-get update

$ sudo apt-get install snapcraft

Когда завершится установка Snapcraft можно переходить к получению исходников программы. Сначала скачаем исходники из GitHub и распакуем их:

wget https://github.com/Automattic/simplenote-electron/releases/download/v1.0.1/Simplenote-linux-x64.1.0.1.tar.gz

$ tar xvzf Simplenote-linux-x64.1.0.1.tar.gz

Поскольку программу не нужно компилировать наша задача немного облегчается. Переходим в папку с программой и инициализируем там окружение сборки Snapcraft:

cd Simplenote-linux-x64

snapcraft init

После выполнения последней команды, в папке появится файл snapcraft.yml. С помощью редактирования этого файла мы и настроим процесс создания нашего пакета snap. Нам понадобится файл такого содержания:

name: simplenote

version: 1.0.1

summary: The simplest way to keep notes.

description: The simplest way to keep notes. Light, clean, and free.

apps:

simplenote:

command: usr/bin/wrapper

plugs:

- unity7

- opengl

- network

parts:

simplenote:

plugin: copy

stage-packages:

- libnss3

- fontconfig-config

- gnome-themes-standard

files:

Simplenote: Simplenote

wrapper: usr/bin/wrapper

icudtl.dat: icudtl.dat

snapshot_blob.bin: snapshot_blob.bin

natives_blob.bin: natives_blob.bin

resources*: resources

libnode.so: usr/lib/x86_64-linux-gnu/libnode.so

libffmpeg.so: usr/lib/x86_64-linux-gnu/libffmpeg.so

Первые четыре строчки — это информация о самом пакете, название программы, версия и краткое и полное описание.

Command — это команда запуска программы, мы будем использовать скрипт warpper, потому, что нам нужно указать дополнительные переменные окружения.

plugs — это интерфейсы, которые может использовать программа. Дело в том, что программы snap работают в изолированной среде, откуда они не могут получить доступ к оборудованию и персональным данным. Чтобы наша программа могла нормально работать ей нужно дать доступ к интерфейсу opengl, unity7 и network.

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

snap interfaces

В разделе parts мы указываем сами файлы программы. А если точнее, то что нужно сделать snapcraft при создании пакета. Поскольку нам ничего компилировать не нужно, мы будем использовать плагин copy, для копирования файлов. Файлы, которые нужно скопировать, перечислены в разделе files. Там есть не только исполняемые файлы, но и все необходимые библиотеки, так что программа получит все необходимые ей компоненты.

Формат записи такой:

файл_в_системе: адрес_файла_в_пакете_snap

Есть одна нестандартная запись:

resources*: resources

Символ подстановки * позволяет скопировать весь каталог. Чтобы не копировать все файлы из системы, мы можем в секции site-packages сказать программе, какие пакеты следует установить в пакет snap, в нашем случае это libnss3 , fontconfig-config и gnome-themes-standard.

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

ldd Simplenote | grep Simplenote

libnode.so => /home/sergiy/test/Simplenote/Simplenote-linux-x64/./libnode.so (0x00007f05fb477000)

libffmpeg.so => /home/sergiy/test/Simplenote/Simplenote-linux-x64/./libffmpeg.so (0x00007f05f61ec000)

Обратите внимание, эти библиотеки поставляются вместе с программой, а поэтому нам нужно прописать их в конфигурационном файле snapcraft.yaml. Все остальные библиотеки доступны в системе и будут обнаружены snapcraft автоматически.

Далее создадим файл wrapper:

!/bin/sh

export FONTCONFIG_PATH=$SNAP/etc/fonts

export FONTCONFIG_FILE=$SNAP/etc/fonts/fonts.conf

export XDG_DATA_HOME=$SNAP/usr/share

export LD_LIBRARY_PATH=$SNAP_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu/

exec "$SNAP/Simplenote" "$@"

Здесь нет ничего сложного, обычный скрипт на Bash. Мы устанавливаем пути для шрифтов, и указываем программе где нужно искать библиотеки, чтобы libnote.so и libffmpeg.so были успешно найдены. А последняя строка запускает на выполнение simplenote.

Дальше осталось сделать этот файл исполняемым:

chmod +x wrapper

Для начала сборки пакета выполните:

snapcraft

Сборка может занять кое-какое время, а после завершения сборки вы сможете установить пакет:

sudo snap install simplenote_1.0.1_amd64.snap

Для запуска программы вы можете воспользоваться обычной командой:

simplenote

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

Выводы

Несмотря на то, что snap довольно спорная технология, ее уже используют многие разработчики программ, в том числе разработчики популярного браузера Firefox. Если вы разрабатываете свое программное обеспечение, то вполне можете создать snap пакеты. Учитывая, что snap скоро будет поддерживать и другие дистрибутивы, то это вполне неплохая затея. Более подробную информацию вы можете получить в официальной документации по snapcraft.



2016-06-20T12:38:01
Программирование

Инструменты вебмастера Google и meta description

0. При работе в Инструментах вебмастера Google в разделе Оптимизация HTML бывает, появляются ошибки

Ошибки в разделе Оптимизация HTML
Ошибки в разделе Оптимизация HTML

1. С повторяющимися заголовками (теги title) более или менее понятно – посмотрел, увидел одинаковые Title и исправил. Читать

Опубликованно в разделе SEO прикрепленные теги Дата публикации автор: .

Функции надпочечников.

Надпочечники – это крошечный парный железистый орган, расположенный в области почек, от полноценной работы которого зависят многие процессы в организме. Основная функция надпочечников – это выработка гормонов. Именно здесь происходит образование гормонов, отвечающих за стрессовую реакцию и нормальный жизненный тонус – адреналина и норадреналина. При недостаточном синтезе этих агентов у человека резко снижается стрессоустойчивость, появляется вялость, апатия, страдают адаптационные механизмы.
Читать

Install MikroTik RouterOS on PC

MikroTik is a popular and mostly used router because of having a lot of networking functionalities and cheap price. MikroTik router can be found both Router Board and MikroTik OS. If you buy a MikroTik Routerboard (like MikroTik Routerboard 450G, MikroTik Routerboard 1100 AH), you will find a machine where MikroTik OS is prebuilt but the machine contains limited processing resources such as limited RAM and limited processor core. So, your network could be slow if you use a MikroTik Routerboard for maintaining a large network (Note: Sometimes it is better to use Routerboard like CCR1016-12G because it is specially designed for working at layer 3 and processing many millions of packets per second). On the other hand, if you install MikroTik OS on a PC or on a Server, you will get a faster processor with sufficient RAM. So, it will be easy and faster for maintaining a large network with this MikroTik PC router (Note: PC or Server processors are specially designed for working at layer 7 and working with application. So, it will be better avoiding low configuration PC or Server). As MikroTik PC router is a better solution for a larger network, this article is designed to show you the necessary steps to install MikroTik OS on a PC or a Server.




MikroTikRouterOS CLI
MikroTikRouterOS CLI




Requirements




It should have at least two network cards to turn a PC or Server into a MikroTik Router. One card will be used as LAN connection and another card will be used as WAN connection. It is also better to use more than one core and sufficient memory for processing millions of network packets. You must remember that IDE HDD is required for installing RouterOS.




MikroTik PC Router Installation




MikroTik OS can be installed on a virtual machine or on a physical machine. If you interested to install MikroTik OS on a virtual machine, download VMware Workstation to create a virtual machine and then follow my video tutorial about Setup MikroTik OS on VMware Virtual Machine. If you interested to install MikroTik OS on a physical machine, download MikroTik OS ISO and burn the ISO in a blank CD or DVD or in a USB flash drive and then follow my below steps to install MikroTik OS ISP on your physical machine.




  • Boot your PC or Server from your bootable media such as CD or DVD ROM. If everything is OK, MikroTik OS will be started to install and format the disk. If you use a large disk, it will take more time to format. So, be patient to wait. After formatting the disk, it will ask you for selecting packages those will be installed.
  • To install all packages, press ‘a or press ‘M’ for minimal installation and then press ‘i for starting installation.
  • It will now ask you whether it will keep old configuration or not. Press ‘n‘, because it will be better to delete old configuration in your disk. It will now show a warning message. Press ‘y for continue installation. All selected packages will be installed and then it will ask you to hit ‘Enter key to reboot the system. Hit ‘Enter key now.
  • After rebooting, it will ask you to provide login credential. MikroTik default username is ‘admin and password is blank. So, type ‘admin for MikroTik login and password left blank and then hit ‘Enter key.
  • MikroTik CLI will appear now. It will also show a Software ID in the login screen. Write down this Software ID because it will be required when you want to purchase a license from MikroTik site.




Your MikroTik PC Router is ready now. You can type MikroTik command in CLI to configure MikroTik Router or you can use Winbox software to configure MikroTik Router.




You should follow the above steps carefully to install MikroTik OS on your PC. If you face any problem to do above steps, please follow my below video tutorial about Setup MikroTik OS on VMware Virtual Machine (MikroTik PC Router).