Как установить nohup на QNAP TVS-871T
Я пытаюсь настроить фоновое задание в QNAP TVS-871T.
Это не идет с предустановленным nohup.
Я нашел несколько ссылок, чтобы установить его на устройстве QNAP (например, https://stackoverflow.com/questions/28623838/qnap-nas-nohup-no-such-file-or-directory), но это не похоже на применить к этому устройству; в веб-интерфейсе такого пакета нет.
Кажется, это вариант дистрибутива Ubuntu, но ни один из его менеджеров пакетов не доступен.
cat /proc/version
Linux version 3.12.6 (root@NasX86Builder) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Wed Jun 1 06:14:19 CST 2016
Это работает QTS 4.2, если это имеет какое-либо значение.
Любая идея?
1 ответ
Менеджер пакетов не предоставляет coreutils/nohup
?
http://blog.kiel.com.au/2012/04/installing-custom-packages-like.html
First you need to install ipkg - In the device's Administration interface, select the 'System Tools' -> 'QPKG' page, click on 'Get QPKG' button.
Once done login to your server via SSH and 'ipkg install sed' you can basically use this to install most packages that for linux.
В отсутствие управления пакетами вам придется установить бинарный файл.
- Если вам повезет, вы можете выяснить, какая версия Ubuntu/Debian наиболее совместима с вашей ОС, и установить
nohup
двоичный файл, скопировав его в ваш путь (/usr/bin/nohup в Ubuntu 16.04). - Если вам не повезло заставить его работать из-за какой-либо проблемы с зависимостью от общей библиотеки или чего-то еще, вы можете создать двоичный файл для вашего QNAP, который будет статически связан, чтобы у него не было зависимостей от общей библиотеки. На Debian/Ubuntu он находится в
coreutils
пакет.
Скорее всего, вы получите его работоспособным - у него может быть мало или нет зависимостей. Попробуйте описанные выше шаги, и если они не сработают, опубликуйте подробности в вашем вопросе, и мы попробуем еще раз.
Я думаю, это означает, что вы, вероятно, будете в порядке, чтобы скопировать двоичный файл из другой системы с libc6
той же архитектуры (я думаю, x86_64 для вас)
$ readelf -d /usr/bin/nohup
Dynamic section at offset 0x6e28 contains 24 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x401240
0x000000000000000d (FINI) 0x404dfc
0x0000000000000019 (INIT_ARRAY) 0x606e10
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x606e18
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x400298
0x0000000000000005 (STRTAB) 0x4008f8
0x0000000000000006 (SYMTAB) 0x4002e0
0x000000000000000a (STRSZ) 659 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x607000
0x0000000000000002 (PLTRELSZ) 1320 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x400d18
0x0000000000000007 (RELA) 0x400c70
0x0000000000000008 (RELASZ) 168 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x400c10
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x400b8c
0x0000000000000000 (NULL) 0x0
- Установите entware-ng (
opkg
) С форумов QNAP
wget -O - http://entware.zyxmon.org/binaries/other/qnapware-to-entware-ng.sh | /bin/sh
- Открыть профиль с VIM
vi /etc/profile
В VIM:
- Нажмите
i
чтобы начать вставку VIM - найти "ПУТЬ"
- Добавить
/opt/bin
к$PATH
переменная до/usr/bin
- Сохранить, набрав
:wq
и нажмитеenter
- Нажмите
Вернувшись в консоль, выполните:
source /etc/profile
- Проверить это
opkg
работает:
opkg -h
- Обновить
opkg
и установитьcoreutils
opkg update
opkg install coreutils
Перезагрузите NAS
Бежать
nohup
nohup echo "QNAP makes everything too difficult, RIP."
Примечание: я не знаю другого способа получить доступ к пакетам, установленным opkg, он не находит
nohup
без перезагрузки. Дайте мне знать, если вы знаете решение, потому что было бы здорово узнать