Настройки в интерфейсе администратора
Параметры системы, настраиваемые с помощью интерфейса администратора, находятся во вкладке Настройки: Список параметров интерфейса администратора. Поле Переменная должно содержать название параметра, поле Значение - его значение. Можно добавлять новые параметры и редактировать существующие.
Ниже приведен список возможных параметров, влияющих на работу ядра UTM5.
Параметры, связанные с детальной статистикой:
Параметр | Возможные значения | По умолчанию | Описание |
raw_records_send_limit | Натуральное число | 100 000 | Максимальное количество строк, возвращаемых функцией детального отчёта по трафику |
raw_buffer_size | Размер в байтах | 1 000 000 | Размер внутреннего буфера записи детальной статистики |
raw_commit_interval | Натуральное число | Интервал между сбросами буфера на диск (в сек.) | |
raw_max_files | Натуральное число | Максимальное количество файлов с первичной информацией о трафике. Если число файлов больше, чем указано, то старые файлы автоматически удаляются | |
raw_max_size | Размер в байтах, больший 5242880 | 100 000 000 | Максимальный размер каждого файла с первичной информацией о трафике. При превышении установленного размера файл автоматически закрывается и открывается новый |
raw_prefix | Путь к директории | /netup/ utm5/db | Директория, в которой находятся файлы с первичной информацией о трафике |
raw_fd_process_sсript | Путь к исполняемому файлу | /netup/utm5/bin/ raw_fd_script(A) | Скрипт, исполняемый после закрытия файла с первичной информацией о трафике. Имя закрытого файла передается скрипту в качестве параметра |
(A)В сборке UTM 5 под Win32 значение по умолчанию не задано. |
Параметры, связанные с подсчетом трафика:
Параметр | Возможные значения | По умолчанию | Описание |
bytes_in_kbyte | Натуральное число | Количество байт в килобайте (количество в мегабайте вычисляется как его квадрат) | |
traffic_mult_coef | Вещественное число | Коэффициент, на который умножается количество трафика |
Параметры, связанные с агрегацией трафика:
Оба параметра действуют одновременно, т. е. списание производится при наступлении любого из условий: прохождение указанного времени или накопление указанной стоимости. |
Параметр | Возможные значения | По умолчанию | Описание |
traffic_agregation_interval | Натуральное число | Время (в сек.), по истечении которого будет произведено списание за агрегированный трафик | |
aggregation_todisc_barrier | Положительное вещественное число | Стоимость трафика, при достижении которой будет произведено списание за агрегированный трафик |
Уменьшение данных параметров приводит к ускорению роста таблиц списаний – наиболее объёмной части БД, в связи с чем могут потребоваться специальные меры, см. Архивация таблиц списаний. |
Параметры, связанные с плавным списанием периодической составляющей стоимости.
Параметр | Возможные значения | По умолчанию | Описание |
discount_barrier | Вещественное число> 0.0001 | 0.01 | При использовании стандартного механизма плавного списания периодической составляющей стоимости услуги со счета не будут списываться суммы меньше discount_barrier, чтобы не накапливалась арифметическая ошибка |
flow_discounts_per_period | Натуральное число > 5 | Минимальное количество списаний в расчетном периоде за периодические услуги, если выбран стандартный механизм плавного списания периодической составляющей стоимости |
Параметры, определяющие значения полей при создании лицевого счета с помощью интерфейса администратора:
Параметр | Возможные значения | По умолчанию | Описание |
default_vat_rate | Вещественное число | Значение НДС по умолчанию для вновь создаваемого лицевого счета |
Параметры, связанные с автоматической регистрацией пользователя:
Параметр | Возможные значения | По умолчанию | Описание |
card_callback_enable | 0, 1, 2 или 3 | Задает значение параметров Разрешен Callback и Разрешен Ringdown сервисной связки услуги коммутируемого доступа при автоматической регистрации пользователя: 0 – параметр Разрешен Callback установлен; 1 – оба параметра установлены; 2 – оба параметра не установлены; 3 – параметр Разрешен Ringdown установлен | |
default_dialup_cid | Строка | Не установлено | Задает значение параметра Разрешенные CID сервисной связки услуги коммутируемого доступа при автоматической регистрации пользователя |
default_dialup_csid | Строка | Не установлено | Задает значение параметра Разрешенные CSID сервисной связки услуги коммутируемого доступа при автоматической регистрации пользователя |
card_tel_uid_len | Натуральное число | Весь пин-код | Задает длину части пин-кода карты, которая используется в качестве логина для сервисной связки услуги телефонии при автоматическом создании сервисной связки; оставшаяся часть используется как пароль |
card_user_prefix | Строка | card_ | Задает префикс логина пользователя при автоматической регистрации (т. н. Карточные пользователи, см. Пользователи и группы). |
Параметры, связанные с шаблонами:
Параметр | Возможные значения | По умолчанию | Описание |
templates_prefix | Путь | /netup/utm5/ templates | Путь к файлам шаблонов |
Различные параметры:
Параметр | Возможные значения | По умолчанию | Описание |
hotspot_refresh_timeout | Натуральное число | Время (в сек.), в течение которого действительна hotspot-сессия. Исчисляется с момента последнего обновления сессии | |
system_currency | Натуральное число | ID системной валюты. Если не равно 810 – будет заблокирована кнопка Обновить online в свойствах валюты | |
web_session_timeout | Натуральное число | Максимальное время (в сек.), в течение которого хранится уникальный ключ URFA-сессии (SID) | |
null_prepaid_traffic_if_tarif_change | Не установлено | Если установлено значение 1 – при смене тарифного плана предоплаченные единицы обнуляются | |
lite_search_cnt | Натуральное число | Максимальное количество записей, возвращаемых функцией поиска, вызываемой интерфейсом кассира | |
login_prefix_separator | Символ | : | Символ, отделяющий префикс логина от номера или пин-кода карты. Используется при автоматической регистрации пользователя. Не рекомендуется изменять значение по умолчанию |
tel_report_dont_show_id | Произвольное значение | Идентификатор отображается | Отключает отображение идентификатора направления/зоны в отчетах телефонии в веб-интерфейсе пользователя |
legacy_invoices | Не установлено | Отключает в счетах агрегацию разных типов трафика в пределах одной услуги | |
enchanced_telephony_invoice_algorithm | 1 или 0 | Если установлено значение 0 – за телефонию выставляется один счёт, а при любом другом значении – отдельные счета от разных телефонных операторов | |
encrypt_passwords | yes, on, enable | Не установлено | Включает шифрование паролей пользователей, системных пользователей и паролей, используемых в сервисных связках |
Параметры, связанные с почтой:
Параметр | Возможные значения | По умолчанию | Описание |
smtp_relay | IP-адрес или имя хоста | не установлено | IP-адрес сервера SMTP, через который производится отсылка почтовых сообщений |
smtp_port | Число от 1 до 65534 | Порт сервера SMTP | |
smtp_fqdn | Строка | localhost | Имя, указываемое в качестве имени домена при отсылке почтовых сообщений |
invoice_subject | Строка | Invoice | Тема, используемая при отправке сообщений со счетом на оплату |
invoice_text | Строка | Invoice message | Текст, используемый при отправке сообщения со счетом на оплату |
notification_borders | Список вещественных чисел, разделенных пробелами | Задает границы количества средств на счету. При переходе через эти границы, вызванном уменьшением баланса лицевого счета, пользователю высылается почтовое сообщение | |
notification_message | Строка с переменными (1) | сообщения не отсылаются | Текст уведомления о переходе баланса через границы |
notification_message_subject | Строка | пустая строка | Тема уведомления о переходе баланса через границы |
notification_message_from | utm5_core | Адрес электронной почты отправителя сообщения | |
balance_notification_email | root | Адрес электронной почты, на который будут отсылаться копии уведомлений о переходе баланса через границы | |
payment_notification_message | Строка с переменными(2) | Your payment succeeded! Payment_Sum=AMOUNT Payment id = PAYMENT_ID | Текст уведомления о вносе платежа, если опция Уведомить пользователя по email была установлена при внесении платежа |
payment_notification_subject | Строка | Payment | Тема уведомления о вносе платежа |
1.Переменные, используемые в параметре notification_message:
Переменная | Описание |
FULL_NAME | наименование абонента |
ACCOUNT_ID | идентификатор основного лицевого счета абонента |
BALANCE | баланс основного лицевого счета абонента на момент подготовки сообщения |
DATE | дата на момент подготовки сообщения |
адрес e-mail, на который производится отправка сообщений |
2.Переменные, используемые в параметре payment_notification_message:
Переменная | Описание |
FULL_NAME | наименование абонента |
ACCOUNT_ID | идентификатор основного лицевого счета абонента |
AMOUNT | сумма платежа во внутренних условных единицах |
PAYMENT_ID | идентификатор платежа |
Параметры механизма системных сообщений:
Параметр | Возможные значения | По умолчанию | Описание |
web_message_group | Число | Не установлено | ID системной группы, членам которой приходят сообщения пользователей (если не установлено – приходят всем системным пользователям) |
notification_message_by_wintray | yes | Не установлено | Включает отправку пользователям уведомлений о переходе баланса через границы с помощью системных сообщений |
Параметры, влияющие на работу UTM5 RADIUS:
Параметр | Возможные значения | По умолчанию | Описание |
radius_max_session_age | Натуральное число | Задает максимальный возраст (в сек.) открытых сессий, которые будут переданы RADIUS-серверу при его запуске. При значении 0 загрузка открытых сессий производиться не будет | |
radius_do_accounting | Не установлено | Включает тарификацию трафика на основании Stop-пакета | |
radius_do_interim_accounting | Не установлено | Включает тарификацию трафика на основании пакета Interim-update | |
radius_realm(A) | Строка | Не установлено | Отсекаемый суффикс логина |
(A)Возможно указание нескольких значений. |
Параметры, влияющие на работу UTM5 RFW:
Параметр | Возможные значения | По умолчанию | Описание |
fw_rule_offset | Натуральное число | Число, которое будет добавлено к идентификатору пользователя для получения значения переменной RULE_ID |
Параметры, связанные с внешними платёжными системами (см. Платёжные системы):
Параметр | Возможные значения | По умолчанию | Описание |
ext_payment_inet_on | Строка | Не установлено | Если установлено в любое непустое значение, включает свойство Включить интернет (см. Внести платеж: Включить интернет) для платежей внешних платёжных систем, производимых через модуль интеграции v.2 |
ext_payment_notify | Строка | Не установлено | Если установлено в любое непустое значение, включает свойство Посылать уведомления (см. Внести платеж: Посылать уведомления) для платежей внешних платёжных систем, производимых через модуль интеграции v.2 |
Прочие параметры являются устаревшими и категорически не рекомендуются к использованию, если не сказано обратное. Описание прочих параметров не приводится.
Сборка Пакетов
Дистрибутивы, основанные на Debian – это не только отличная система управления пакетами APT, которая сама разрешает зависимости, но и удобные инструменты для создания пакетов и своих репозиториев. Если уж вы решились собрать программу из исходников, то советую ещё изучить, как дебианизировать исходники. Это отнимет чуть больше времени, чем стандартное
./configure && make && make install
но зато позволит сохранить систему в чистоте. Удалить программы, установленные командой make install, можно только командой
make uninstall
но не все исходники это поддерживают, а что ещё чаще - исходники удаляют после установки, тогда удалить программу можно только вручную. Но чтобы это сделать, нужно точно знать что и куда установилось. А это уж точно никто не знает, кроме самих разработчиков программы (ну или тех, кто более-менее разбирался в исходниках программы).
- Ну и что? Главное - работает!
- APT не знает ничего о программах, установленных вручную. Соответственно, могут быть конфликты, или просто непонятные ошибки.
- Очень часто исходники по умолчанию «рассчитаны» на определённый дистрибутив, или, наоборот, рассчитаны только на установку из исходников, при этом выполняются разного рода «удобные» настройки в конфигурационных файлах. Так, например, очень любят прописывать mime-типы. Но проблема в том, что переводы разные бывают и в Nautilus может выскочить ошибка
- "Имя файла <тут имя> показывает, что файл является типом файла <Документ1>.
Содержимое файла показывает, что файл является файлом типа <Документ2>"
и документ не будет открываться. Таких «недочётов» может быть очень много. А теперь, если представить что это удалить нельзя, поскольку пользователь не запоминал что и куда поставилось, наступает паника и как результат - переустановка.
- Но как быть, если программу хочется поставить, а версия в deb-пакете устарела, или такой вообще нет?
- Есть два выхода:
1. Использовать программу checkinstall. Она собирает всё в один пакет. К сожалению, она позволяет решить только вопрос с удалением программы. И даже если APT будет знать, что программа установлена, он в лучшем случае сообщит, что есть конфликт файлов,
файл /some/path/to/some/file уже есть в пакете "имя пакета собранного с помощью checkinstall"
Чаще всего такие случаи очень корректно разрешаются путём удаления конфликтного пакета. Но на разбор ситуации уйдёт некоторое время.
2. Cобрать нормальный пакет, как это делают мантейнеры. В котором будет корректная версия, зависимости и расположение файлов будет соответствовать политике дистрибутива. Вижу вам всё ещё интересно . Это радует.
Классификация случаев сборки
Возможны следующие случаи сборки пакетов:
- сборка из исходников;
- сборка из бинарных файлов;
исходники или бинарные файлы берутся:
- не из репозитория;
- из репозитория другого дистрибутива;
- из репозитория другого выпуска Ubuntu, из PPA или из Debian;
- из репозитория текущего выпуска Ubuntu;
дебианизация:
- недоступна;
- берётся из репозитория Ubuntu, из PPA или из Debian:
- из другой версии программы;
- из текущей версии программы:
- не из репозитория текущего выпуска Ubuntu;
- из репозитория текущего выпуска Ubuntu;
причина сборки:
- ни в репозитории Ubuntu текущего выпуска, ни в PPA нет нужной версии программы;
- доступная версия программы по каким-либо причинам не устраивает (не устраивает код или данные программы, параметры конфигурации или управляющая информация пакета);
- и то, и другое.
Сборка из исходников
- Дано: некий исходник gcoolprog-0.5.3.tar.bz2. Нужно из него собрать пакет.
- Решение: ниже идёт вариант, как я обычно поступаю в таком случае.
1. Первым делом смотрю, нет ли deb-пакета той же версии, но допустим под Debian. Если есть делаю так: есть нужная версия пакета в репозитории debian или в будущем релизе Ununtu
2. Если нет той же версии, но есть предыдущей. Тут можно сказать как повезёт, если изменения в исходниках не коснулись положения файлов, то скорее всего дебианизация от старого пакета подойдёт, нужно лишь сменить версию. Теперь вариант в репозитории есть пакет предыдущей версии.
3. Ну и самый страшный случай - нигде никаких deb-пакетов нет, только tar.gz и rpm. Ни в коем случае не использовать rpm! Делаем по первому варианту.
Что необходимо
Полное Руководство начинающего разработчика Debian доступно тут.
К сожалению, на русском, информация немного устарела, свежая инструкция доступна на английском. Но принципы не изменились, поэтому если интересны детали лучше прочитать руководство от и до.
Нам понадобятся как минимум программы, устанавливаемые командой
sudo apt-get install autoconf automake libtool autotools-dev dpkg-dev fakeroot
Можно так же autobook - это документация по утилитам GNU Autoconf, Automake, и Libtool. Ну и конечно то, что требуют сами исходные коды для корректной сборки.
Создание ключа шифрования
Этот шаг не обязателен, его можно пропустить.
Чтобы создать ключ, зайдите в Приложения → Стандартные → Пароли и ключи шифрования. В открывшемся окне, в меню Ключ → Новый ключ, выбираем ключ pgp. Заполняем поля Полное имя и Электронный адрес.
В мире свободного программного обеспечения, для предотвращения «краж» или «подделок», принято подписывать свои «ценные» вещи электронным ключом, открытая часть которого хранится на общедоступных серверах и позволяет другим пользователям легко выяснить подлинность и целостность той или иной вещи.
Поэтому отнеситесь к созданию ключа очень ответственно.
Никто вас не заставляет вписывать сюда реальные имя и фамилию, или ещё какие-нибудь личные данные, но если вас не разыскивает интерпол - думаю указать фамилию и имя будет верным решением, хотя можно и просто свой ник В общем, решайте сами. А вот почтовый адрес укажите реальный, и который вы не поменяете.
Можно завести ящик, если ещё нет, на каком-нибудь популярном почтовом сервере: например, gmail.com или yandex.ru .
Это позволит в будущем легко связаться с вами человеку, который вас не знает, но по той или иной причине встретил «вещь», подписанную вами.
Далее вас спросят ввести пароль, как дополнительную защиту. Он может быть полезен, если вы будете использовать закрытый ключ на машинах, которым вы не можете на 100% доверять. Обратная сторона - вам придётся вводить пароль каждый раз, как только вы будете что-то подписывать.
Хотя последняя версия программы seahorse имеет демон, который автоматически запускается в сеансе GNOME, и умеет «запоминать пароль» на время сеанса, но пока не все программы умеют с ней работать.
Итак, вы создали ключ - теперь его можно будет использовать при создании пакетов.
Для этого, в файл ~/.bashrc, или в другой стартовый скрипт, вашего любимого шелла (для zsh ~/.zshrc), нужно вписать переменные
export DEBEMAIL=ваш@имейл
На основании e-mail будет искаться ключ в pgp, при подписи пакета.
Нужно завершить сеанс и зайти заново, чтобы изменения вступили в силу.
Помните, что если вы бэкпортируете пакет, дебианизированный не вами, обязательно нужно изменить версию командой
dch -i
для того, чтобы в изменения вписался ваш e-mail. А для того, чтобы ваш открытый ключ попал на сервер, необходимо в настройках «seahorse → Пароли и ключи шифрования», настроить соединение с сервером публичных ключей.
Для этого, в меню Правка→Параметры на закладке Публикация ключей необходимо поставить галку Публиковать ключи….
Теперь можно выбрать ключ и в меню по правой кнопке выбрать Синхронизировать и опубликовать ключи.
Дебианизация недоступна
Итак, у нас есть только gcoolprog-0.5.3.tar.gz.
Обычно я выполняю следующие действия:
Предварительно подготавливаю рабочую директорию
mkdir ~/src/gcoolprog
mkdir ~/src/gcoolprog/0.5.3
cd ~/src/gcoolprog/0.5.3
wget "http://<путь до файла>" #можно конечно и просто через браузер скачать но обычно так быстрее
Получаем файл gcoolprog-0.5.3.tar.gz. Распакуем его перейдем в полученный каталог:
tar zxvf gcoolprog-0.5.3.tar.gz
cd gcoolprog-0.5.3
Для корректной сборки нужно, чтобы корневая директория содержала не только название, но и версию!
Ниже будем считать директорию ~/src/gcoolprog/0.5.3/gcoolprog-0.5.3 корневой директорией исходников.
Далее выполняем «черновую» сборку. Т.е. сконфигурируем и соберем приложение, без его установки:
./configure --prefix=/usr && make
Если команда выполнилась успешно, то осталось только дебианизировать.
Дебианизация
Ничего страшного в этом нет, как я уже говорил есть скрипты, которые сильно упрощают этот процесс.
Вообще смысл всей этой процедуры - создать директорию debian в корне исходников, с нужными файлами конфигурации и скриптом(ами).
Для этого, в корне исходных текстов, выполним
dh_make --createorig
На что мы должны получить следующий диалог
Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] s
Maintainer name : denis
Email-Address : Ubuntu_user@mail.ru
Date : Mon, 13 Aug 2007 12:40:33 +0400
Package Name : gcoolprog
Version : 0.5.3
License : blank
Type of Package : Single
Hit <enter> to confirm:
Тут мы указываем сформировать пакет, для одиночного бинарного файла.
Но мы с вами молодцы и всё у нас прошло без ошибок - появился каталог debian в корне исходников, посмотрев его содержимое, Вы увидите кучу файлов (расширение .ex) с примерами на все случаи жизни.
Будем считать, что программа у нас простая – обычно ни один из этих файлов не нужен.
Первым делом, нужно добавить описание программы в файле debian/control
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
Вместо <insert up to 60 chars description> и <insert long description, indented with spaces> (без угловых кавычек) нужно вписать описание, что это за программа.
Именно эти сведения увидит пользователь, когда посмотрит описание пакета.
Второй момент - это поправить файл debian/rules
в секции binary-arch: нужно раскомментировать (т.е. убрать # в начале строки)
dh_install
без этого мы получим пустой пакет.
Иногда debian/rules содержит лишь:
%:
dh $@
Что приемлемо с использованием debhelper.
Этих настроек будет достаточно для сборки пакета с одной программой, которая не содержит разделяемых библиотек, т.е. только бинарник в /usr/bin и данные в /usr/share.
Сборка пакета
Теперь, соберём пакет:
dpkg-buildpackage -rfakeroot
В директории выше, т.е. в ~/src/gcoolprog/0.5.3, мы получим файлы
gcoolprog_0.5.3-1.diff.gz
gcoolprog_0.5.3-1_i386.changes
gcoolprog_0.5.3-1_i386.deb
gcoolprog_0.5.3.orig.tar.gz
Вот теперь мы можем установить пакет
dpkg -i *.deb
Дебианизация берётся из репозитория Ubuntu, из PPA или из Debian
Дебианизация берётся из другой версии программы
В этом случае, очень удобно взять дебианизацию оттуда и поправить для новой версии.
Как я уже сказал, возможно нам повезёт и достаточно будет только сменить версию. Но не будем гадать.
Ниже я не буду комментировать то, что описано в предыдущем решении.
Предварительно подготовим рабочую директорию
mkdir ~/src/gcoolprog
mkdir ~/src/gcoolprog/0.5.3
cd ~/src/gcoolprog/0.5.3
wget "http://<путь до файла>"
получаем файл gcoolprog-0.5.3.tar.bz2
bunzip2 gcoolprog-0.5.3.tar.bz2
gzip gcoolprog-0.5.3.tar
mv gcoolprog-0.5.3.tar.gz gcoolprog_0.5.3.orig.tar.gz
теперь распаковываем его
tar zxvf ./gcoolprog_0.5.3.orig.tar.gz
скачиваем предыдущую версию с http://packages.ubuntu.com или http://packages.debian.org, файл gcoolprog_0.5.1.diff.gz (в самом низу в секции More Information on gcoolprog)
wget "http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.1.diff.gz"
gunzip gcoolprog_0.5.1.diff.gz
patch -p0 <./gcoolprog_0.5.1.diff
получаем директорию
~/src/gcoolprog/0.5.3/gcoolprog-0.5.1/debian
копируем каталог gcoolprog-0.5.1/debian в директорию ~/src/gcoolprog/0.5.3/gcoolprog-0.5.3
cp -a ~/src/gcoolprog/0.5.3/gcoolprog-0.5.1/debian ~/src/gcoolprog/0.5.3/gcoolprog-0.5.3
дальше нам нужно изменить версию командой
dch -i
этой командой изменяется файл debian/changelog например увидим
gcoolprog (0.5.1-1ubuntu2) feisty; urgency=low
*
-- denis <ubuntu_user@mail.ru> Mon, 13 Aug 2007 14:13:27 +0400
но поскольку у нас версия 0.5.3, то нужно изменить значения на
gcoolprog (0.5.3-1ubuntu1) feisty; urgency=low
* New upstream release.
-- denis <ubuntu_user@mail.ru> Mon, 13 Aug 2007 14:13:27 +0400
сохраните изменения. Теперь можно выполнить команду сборки в пакет.
dpkg-buildpackage -rfakeroot
получим файлы
cd ..
ls -1
gcoolprog_0.5.3-1.diff.gz
gcoolprog_0.5.3-1_i386.changes
gcoolprog_0.5.3-1_i386.deb
gcoolprog_0.5.3.orig.tar.gz
dpkg -i *.deb
Дебианизация берётся из текущей версии программы
Дебианизация берётся не из репозитория текущего выпуска Ubuntu
Для Debian нужно использовать сайт http://packages.debian.org, для Ubuntu - http://packages.ubuntu.com. Тогда, например, в Ubuntu ищем пакет gcoolprog в репозитории будущего релиза.
Предварительно подготовим рабочую директорию
mkdir ~/src/gcoolprog
mkdir ~/src/gcoolprog/0.5.3
cd ~/src/gcoolprog/0.5.3
теперь скачиваем три файла
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3-1.dsc
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3.orig.tar.gz
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3-1.diff.gz
или тоже самое, но одной командой
dget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.3-1.dsc
из пакета devscripts
затем распакуем командой
dpkg-source -x ./gcoolprog_0.5.3-1.dsc
получим каталог gcoolprog-0.5.3.Перейдём в него и сменим версию:
cd gcoolprog-0.5.3
dch -i
gcoolprog (0.5.3-1ubuntu1) feisty; urgency=low
* backport from gutsy
-- denis <ubuntu_user@mail.ru> Mon, 13 Aug 2007 14:13:27 +0400
теперь можно собирать пакет
dpkg-buildpackage -rfakeroot
получим файлы
cd ..
ls -1.
gcoolprog_0.5.3-1.diff.gz
gcoolprog_0.5.3-1_i386.changes
gcoolprog_0.5.3-1_i386.deb
gcoolprog_0.5.3.orig.tar.gz
dpkg -i *.deb
Дебианизация берётся из репозитория текущего выпуска Ubuntu
В случае, когда для нужной версии программы имеется пакет в репозитории текущего выпуска Ubuntu, но он по каким-либо причинам не устраивает и в его исходники нужно внести изменения (например, применить какой-нибудь патч) и пересобрать, основываясь на уже имеющейся в пакете дебианизации, можно поступить следующим образом.
Для сборки понадобятся следующие пакеты: build-essential devscripts fakeroot. Потребуются также пакеты для разработки, мы их установим в дальнейшем.
Скачиваем исходники:
cd ~/src
apt-get source gcoolprog
apt-get source скачивает исходники из репозитория Ubuntu в текущую директорию. Многие пакеты в репозитории имеют общие друг с другом исходники, поэтому кроме исходников выбранного пакета могут скачаться и исходники других пакетов (общие для нескольких пакетов исходники).
Далее вносим изменения в исходники и собираем из них обратно пакеты.
Устанавливаем необходимые для сборки пакеты для разработки:
sudo apt-get build-dep gcoolprog
Собираем пакеты:
cd gcoolprog-0.5.3
debuild -b -us -uc
debuild следует запускать в директории исходников. Параметры -b -us -uc передаются программе dpkg-buildpackage. Первый требует собирать только бинарные пакеты, второй и третий — не подписывать цифровой подписью, соответственно, пакет исходников и файл .changes. Получившиеся в результате сборки пакеты будут в директории на один уровень выше.
Сборка из бинарных файлов
Дата добавления: 2017-06-02; просмотров: 779;