В Ubuntu 15.04 есть systemd для таких нужд.
Ниже приведен пример файла .service, который необходимо написать для своего приложения.
[Unit]
Description=Some kind of description
[Service]
Type=simple
ExecStart=
Restart=on-failure
Сохраните этот файл с именем .service
в папке / etc / systemd / system /
и запустите следующую команду, чтобы запустить его
sudo systemctl start
Если вы хотите, чтобы он запускал запуск рекламы, просто включите службу
sudo systemctl enable
По следующей ссылке вы можете найти дополнительную информацию, чтобы изменить приведенный выше файл в соответствии с вашими потребностями
Посмотрите на строки Repo
и From repo
в выводе dnf info
. Они скажут вам:
Repo
сообщает вам репозиторий, в котором находится доступный пакет. Если пакет установлен , он сообщит вам @System
. From repo
отображается только для установленных пакетов. Он указывает репозиторий, из которого был создан установленный пакет. Он показывает имя репо (, например. fedora
илиupdates
)или @commandline
для установленного вручную RPM. dnf builddep
установит зависимости сборки для последней версии указанного пакета в репозиториях. Он ничего не делает с установленными вручную RPM.
Если вы хотите использовать dnf builddep
для установки зависимостей конкретного пакета, просто будьте более конкретными. Другими словами, вы можете делать все следующее:
$ sudo dnf builddep somepackage-1.2.3
$ sudo dnf builddep somepackage-1.2.3-9.fc30
$ sudo dnf builddep /path/to/some/uninstalled/somepackage-1.2.4-1.fc30.$arch.rpm
$ sudo dnf builddep /path/to/some/unbuilt/somepackage-1.2.4-2.fc30.srpm
$ sudo dnf builddep /path/to/some/unbuilt/somepackage.spec
То же самое с dnf info
, для первых двух. (Вы не можете запустить dnf info
по пути к файлу RPM, SRPM или спецификации, что несколько удивительно. Вы можете сделать rpm -q -i -p /path/to/uninstalled.{rpm,srpm}
— только не забудьте включить флаг -p
— но с dnf info
нет ничего подобного.)
Единственный случай, когда вы не можете точно указать источник пакета, это когда есть пакеты в двух разных репозиториях, которые имеют буквальноточно один и тот же NVR.
Например, я dnf download --source
создал SRPM для пакета в репозитории Fedora updates
, создал локальные RPM с помощью rpmbuild -rb
, а затем добавил их в локальное репозиторий, который я поддерживаю для своих собственных пакетов. По умолчанию это будет somepackage-1.2.5-1.fc30.x86_64.rpm
или что-то подобное, точно такое же, как в репозитории updates
.
Из-за этой двусмысленности мой $HOME/.rpmmacros
содержит следующее:
%dist .ferd%{fedora}
Это гарантирует, что версия, которую я создаю локально, будет иметь вид somepackage-1.2.5-1.ferd30.x86_64.rpm
, а не .fc30
, чтобы я мог различать их.