Як запустити сценарій як sudo під час завантаження на сервері Ubuntu 18.04? [дублікат]


11

Як запустити сценарій як sudo під час завантаження?

Мені потрібно запустити, ethtool --offload <net> rx offщоб відключити набридливе повідомлення про помилку контрольної суми jme udp.


чому ви вважаєте, що вам потрібно судо під час завантаження?
Rinzwind

@Rinzwind, ймовірно, тому, що ettool потребує кореня для запуску. Система SystemD як корінь є найкращим підходом
Thomas Ward

1
"as sudo" - ви маєте на увазі "as root(всемогутній користувач з $UID=0)". sudoце інструмент, що дозволяє звичайному користувачеві виконувати команду як root. "при завантаженні" - все, що стосується запуску системи, працює якroot
waltinator

@waltinator: за винятком речей, які скасовують привілеї; наприклад, ви можете запустити систему для запуску сеансу X сервер + користувача для певного користувача. Але запуск ethtoolчерез sudo від чогось, що відмовився від привілеїв (як, наприклад, формулювання цього питання), було б дійсно поганою ідеєю, порівняно з приклеюванням його /etc/rc.localабо будь-яким іншим "сучасним" способом змусити запустити речі під час завантаження.
Пітер Кордес

Відповіді:


16

Ви можете створити системну службу.

Створіть файл /etc/systemd/system/ethtool.service:

[Unit]
Description=ethtool script

[Service]
ExecStart=/path/to/yourscript.sh

[Install]
WantedBy=multi-user.target

І сценарій /path/to/yourscript.sh(не забувайте chmod +xйого)

#!/bin/bash
ethtool --offload <net> rx off

Увімкніть вашу послугу

systemctl enable ethtool

Він працюватиме під завантаженням як root.


4
Якщо відмінна відповідь @deimos була корисною, прийміть її: askubuntu.com/tour Запитувачі оцінять, знаючи, що відповідь працює так, як очікувалося.
chili555

sudo systemctl start ethtoolнегайно розпочати послугу. systemctl status ehttoolдля відображення стану (працює, увімкнено і журнал). Дізнайтеся більше зman systemctl
Віктор

4

Покладіть свої команди в /etc/rc.local або створіть цей файл, якщо його немає:

 touch /etc/rc.local
 chmod +x /etc/rc.local

Усі ці дії потрібно виконувати як корінь.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.