Как отличить repo от собранных пакетов с помощью dnf?

В 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 

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

1
19.07.2018, 22:44
2 ответа

Посмотрите на строки Repoи From repoв выводе dnf info. Они скажут вам:

  • Repoсообщает вам репозиторий, в котором находится доступный пакет. Если пакет установлен , он сообщит вам @System.
  • From repoотображается только для установленных пакетов. Он указывает репозиторий, из которого был создан установленный пакет. Он показывает имя репо (, например. fedoraилиupdates)или @commandlineдля установленного вручную RPM.

dnf builddepустановит зависимости сборки для последней версии указанного пакета в репозиториях. Он ничего не делает с установленными вручную RPM.

2
27.01.2020, 23:31

Если вы хотите использовать 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, чтобы я мог различать их.

0
27.01.2020, 23:31

Теги

Похожие вопросы