Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Тут будет некоторая информация по keenetic
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »

Emil Gazizov, Обычно по умолчанию в debian логи пишутся /var/log/ может быть в /tmp/ либо в другой каталог если он указан в конфиге самой программы. На более свежих ОС постепенно переходят к systemd просмотр командой journalctl далее опции или фильтруем grep -E "Нужные строки"
количество слов: 10
Аватара пользователя
Emil Gazizov
Гость
Сообщения: 4
Стаж: 3 года

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Emil Gazizov »

Нет, я знаю где обычно линукс пишет логи))
В конкретном Transmission от Keenetic куда он пишет?
количество слов: 2
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »

Emil Gazizov, Сам торрент работает из под ОС Keenetica ? или уже из debian.
Если из Keenetic что то обсуждалось вот тут про логи для торрентов логов для приложений

Командная строка CLI
(config)> system log

команда show led controls
Показать содержимое системного журнала (записи, которые сохранились в циклическом буфере),а также новые записи по мере их поступления.
(show)> log[‹max-lines›][once]

max-lines Целое число Количество возвращаемых строк логов.
once Ключевое слово Показать текущий лог и выйти в CLI.

system log server Добавить удаленный сервер для хранения системного журнала.
(system)> logserver‹address›[:‹port›]
(system)> no log server [ ‹address› [: ‹port›] ]

Мануал CLI
количество слов: 35
alexnasa
Гость
Сообщения: 4
Стаж: 3 года 3 месяца

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение alexnasa »

Zabbix или т.п. кто-то юзает на роутерах? Или только с ПК можно следить за своими сетями?
количество слов: 1
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »

alexnasa, Имеешь виду zabbix поставить прямо в keenetic ? Я думаю он не вывезет особенно базу данных мощности железа не хватит Либо вебку поднять и запросы с keenetica и то спорный вопрос хватит ли мощи а базу на отдельный хост.
количество слов: 4
alexnasa
Гость
Сообщения: 4
Стаж: 3 года 3 месяца

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение alexnasa »

Ээхх.. а Микротик такое умеет (The Dude).. Наверное - единственный в мире мониторинг в железе?
количество слов: 2
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »

alexnasa, либо что то полегче Zabbix поставить или если совсем сеть маленькая можно попробовать поставить Zabbix с минимальными ресурсами в конфигурации но выйдет в итоге или нет только экспериментировать)
количество слов: 3
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »

Starting Debian services...
Starting OpenBSD Secure Shell server: sshd
Warning: Fake start-stop-daemon called, doing nothing

Кто-то предложил перезаписать существующий демон start-stop,
поскольку пользователь root или пользователь-администратор вводят эту команду.
mv /opt/debian/sbin/start-stop-daemon /opt/debian/sbin/start-stop-daemon.OLD
cp /opt/debian/sbin/start-stop-daemon.REAL /opt/debian/sbin/start-stop-daemon
количество слов: 48
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »

обязательно удаляем systemd, чтобы избежать некоторых проблем (например, с Apache'м)
apt-get remove systemd
не обязательно
rm /etc/systemd/system/
rm /etc/systemd/system/
rm /usr/lib/systemd/system/
rm /usr/lib/systemd/system/

в Apache есть такая проверка /sbin/apache2ctl
need_systemd=false
if [ -z "$APACHE_STARTED_BY_SYSTEMD" ] ; then
case "$(readlink -f /proc/1/exe)" in
*systemd*)
need_systemd=true

root@Keenetic-7717:~# readlink -f /proc/1/exe
/usr/lib/systemd/systemd
root@Keenetic-7717:~#
И если путь найден значит есть systemd и все служба не стартует
после удаления

root@Keenetic-7717:~# readlink -f /proc/1/exe
/usr/sbin/init
root@Keenetic-7717:~#

Работать systemd не может в среде роутера chroot
Что было до какие ошибки
Показать
root@Keenetic-7717:~# service apache2 start
Запуск Apache httpd web server: apache2Invoking 'systemctl start apache2'.
Use 'systemctl status apache2' for more info.
Running in chroot, ignoring command 'start'

failed!
Экземпляр apache2 не запускался в течение 20 секунд. Пожалуйста, ознакомьтесь с файлами журнала, чтобы обнаружить проблемы ... (warning).
root@Keenetic-7717:~#


Сразу скажу что systemctl systemd -удалены из debian так как они не работают в окружении Entware


root@Keenetic-7717:~# /usr/sbin/apache2 -k start
[Mon Dec 02 18:28:30.885867 2024] [core:warn] [pid 22917:tid 22917] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 81 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot

81 строка DefaultRuntimeDir ${APACHE_RUN_DIR}

Так запускается
apachectl -e debug -f /etc/apache2/apache2.conf

Либо если введем source /etc/apache2/envvars
применить переменные в текущем запущенном сеансе, в этом же сеансе служба начинает стартовать, если выйти зайти из сессии
остановить apache он снова не запустится.

Попытки с кроном
# Иправление ошибки при старте APACHE_RUN_DIR
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Применим переменые
#@reboot root `source /etc/apache2/envvars`
# Запустим апач
#@reboot root `service apache2 start`
#@reboot root `/usr/sbin/apache2 -k start`
#@reboot root `apachectl -e debug -f /etc/apache2/apache2.conf`


В файле
/etc/apache2/envvars
переменные прописаны
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

получается в окружении chroot не все переменные теперь передаются?

Есть варианты как это попробовать вылечить ?)

Сам же отвечу спустя сутки перелопатил все конфиги, а оказалось все бонально в месте с установкой софта обратно установился systemd
/etc/init.d/apache2
/usr/sbin/apache2ctl он же по символической ссылке(ярлык) @apachectl



Запуск служб при включении Роутера
S99debian.zip
S99debian.zip
(1.68 КБ) 6 скачиваний

Код: Выделить всё

mcedit /opt/etc/init.d/S99debian
Изменено если есть в начале # такую строку игнорировать в /opt/debian/chroot-services.list
Так же тут указано монтирование папки на диске в debian

Код: Выделить всё

#!/bin/sh

# На основе скрипта из https://github.com/DontBeAPadavan/chroot-debian
# umount (3 раза с разными флагами) происходит из Qdebian.qpkd (qnapclub)

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

# Debian каталог
CHROOT_DIR=`readlink -f /opt/debian`
# Список служб при старте ОС
CHROOT_SERVICES_LIST=$CHROOT_DIR/chroot-services.list

CHROOT_BIN=`which chroot`

MountedDirCount="$(/opt/bin/mount | grep $CHROOT_DIR | wc -l)"

start() {
# Копируем hosts из основной ОС в Debian
	if [ -f /etc/hosts ]; then
		cp /etc/hosts $CHROOT_DIR/etc/hosts
	fi
# Копируем resolve.conf из основной ОС в Debian
	if [ -f /etc/resolve.conf ]; then
		cp /etc/resolve.conf $CHROOT_DIR/etc/resolve.conf
	fi

	if [ $MountedDirCount -gt 0 ]; then
		echo 'Службы Debian уже запущены, выходим...'
		exit 1
	fi
	echo 'Запуск служб Debian...'
# Монтируем основные системные каталоги из основной ОС в Debian (циклом по очередно)
	for dir in dev dev/pts proc sys opt; do
		/opt/bin/mount -o bind /$dir $CHROOT_DIR/$dir
		sleep 2
	done
	if [ ! -e "$CHROOT_SERVICES_LIST" ]; then
		echo 'ПРЕДУПРЕЖДЕНИЕ: Службы Debian не определены.'
		echo "Пожалуйста, определите службы Debian для запуска в $CHROOT_SERVICES_LIST файле!"
		echo 'По одному сервису на строку. Подсказка: это названия скриптов из Debian /etc/init.d/'
	else
# Циклом из файла берем каждую службу на запуск, задаем переменные среды, язык консоли
#		for item in $(cat $CHROOT_SERVICES_LIST); do
		for item in $(grep -v '^#' $CHROOT_SERVICES_LIST); do
			PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
			LC_ALL=C \
			LANGUAGE=C \
			LANG=C \
			$CHROOT_BIN $CHROOT_DIR /etc/init.d/$item start
		done
	fi

# При необходимости вы можете добавить сюда настройки вашего устройства.
# Для QNAP это может выглядеть примерно так
# Создаем папку куда будем монтировать если не создано
# mkdir -p $CHROOT_DIR/media/disk1
# Монтируем
# mount -o bind /share/HDA_DATA $CHROOT_DIR/media/disk1
# или
# mount -o bind /share/CACHEDEV1_DATA $CHROOT_DIR/media/disk1

# Монтируем папку для Облака owncloud
mkdir -p $CHROOT_DIR/mnt/owncloud/data
mount --bind /var/mnt/E87A54D97A54A5DA/owncloud/data $CHROOT_DIR/mnt/owncloud/data
#chown -R www-data:www-data $CHROOT_DIR/mnt/owncloud/data
chmod -R 775 $CHROOT_DIR/mnt/owncloud/data
}

stop() {
	if [ $MountedDirCount -eq 0 ]; then
		echo 'Службы Debian уже были остановлены, выходим...'
		exit 1
	fi
	if [ -e "$CHROOT_SERVICES_LIST" ]; then
		echo 'Остановка служб Debian...'
#		for item in $(cat $CHROOT_SERVICES_LIST); do
		for item in $(grep -v '^#' $CHROOT_SERVICES_LIST); do
			PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
			LC_ALL=C \
			LANGUAGE=C \
			LANG=C \
			$CHROOT_BIN $CHROOT_DIR /etc/init.d/$item stop
		done
	fi
	# устройство может работать нестабильно, если мы не размонтируем его должным образом
	#поэтому мы пытаемся размонтировать его 3 раза
	sleep 1
	for dir in dev/pts dev proc sys opt; do
		/opt/bin/umount $CHROOT_DIR/$dir 2>/dev/null
		sleep 2
	done
	for dir in dev/pts dev proc sys opt; do
		/opt/bin/umount -lf $CHROOT_DIR/$dir 2>/dev/null
		sleep 2
	done
	for dir in dev/pts dev proc sys opt; do
		/opt/bin/umount -l $CHROOT_DIR/$dir 2>/dev/null
		sleep 2
	done
# Размонтируем папку для Облака owncloud
umount $CHROOT_DIR/mnt/owncloud/data
}

status() {
	if [ $MountedDirCount -gt 0 ]; then
		echo 'Запущены службы Debian'
	else
		echo 'Остановлены службы Debian'
	fi
}

case "$1" in
	start)
		start
	;;
	stop)
		stop
	;;
	restart)
		stop
		sleep 5
		start
	;;
	status)
		status
	;;
	*)
		echo "Использование: $0 (start|stop|restart|status)"
		exit 1
		;;
esac

Пример файла
chroot-services.zip
chroot-services.zip
(480 байт) 6 скачиваний

Код: Выделить всё

mcedit /opt/debian/chroot-services.list
или из под debian OS

Код: Выделить всё

mcedit chroot-services.list

Код: Выделить всё

ssh
# Веб сервер
apache2
#nginx
# Стрим сервер потоки радио
icecast
# Планировщик заданий
cron
#php8-fpm
#для php функции mail
#postfix
# Маленькая утилита мониторинга системных ресурсов
#vnstat
# База данных
#mysql
mariadb
# лучше gammu-smsd оставить на плечи /opt/etc/gammusmsdfix.sh
#gammu-smsd
# SNMP
snmpd


При таком способе при загрузке дебиан часть не работает /proc/ конфликт монтирования
Добавить в кронтаб
# Монтирование папки диска из Entware в debian
@reboot root `mount --bind /var/mnt/E87A54D97A54A5DA/owncloud/data /opt/debian/mnt/owncloud/data`


Выдача прав на паку монтирования до перезагрузки

Код: Выделить всё

mcedit /opt/debian/etc/cron.d/owncloud

Код: Выделить всё

# Права доступа после перезагрузки включения  монтирования директории
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Группа и пользователь примонтированой директории
@reboot root `chown -R www-data:www-data /mnt/owncloud/data`
# Права на перемонтированную директорию
@reboot root `chmod -R 750 /mnt/owncloud/data`
# Перечитываем сервисы апач
@reboot root `service apache2 reload`

Код: Выделить всё

mcedit /opt/debian/etc/crontab

Код: Выделить всё

# /etc/crontab: общесистемный crontab
# В отличие от любого другого crontab, вам не нужно запускать команду "crontab"
# для установки новой версии при редактировании этого файла
# и файлов в /etc/cron.d. В этих файлах также есть поля имени пользователя,
# которых нет ни в одной другой crontabs.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Пример определения задания:
# .---------------- минуты (0 - 59)
# |  .------------- часы (0 - 23)
# |  |  .---------- день месяца (1 - 31)
# |  |  |  .------- месяц (1 - 12) ИЛИ jan,feb,mar,apr ...
# |  |  |  |  .---- день недели (0 - 6) (Воскресенье=0 или 7) или sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * команда с именем пользователя, которая должна быть выполнена

# anacron — это демон, дополняющий cron на компьютерах, которые не включены всё время
# При установке пакета anacron отключается выполнение cron сценариев в каталогах /etc/cron.hourly/, /etc/cron.daily/, /etc/cron.
#/etc/cron.d  аналогичном текущему crontab но отдельными файлами
# Каждую 1 минуту
*/1 *	* * *	root	cd / && run-parts --report /etc/cron.1min
# Каждые 5 минут
*/5 *	* * *	root	cd / && run-parts --report /etc/cron.5mins
# Каждый час в 17 минут
17 *	* * *	root	cd / && run-parts --report /etc/cron.hourly
# Ежедневно в 6:25 Если файл существует /usr/sbin/anacron то работа через него
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
# Еженедельно каждое воскресенье в 6:47 Если файл существует /usr/sbin/anacron то работа через него
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
# Ежемесячно в 6:52 первого числа Если файл существует /usr/sbin/anacron то работа через него
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
# Ежегодно 00:00 1 января раз в год
0 0	1 1 *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.yearly )

количество слов: 1003
Ответить Вложения 5 Пред. темаСлед. тема

Вернуться в «Keenetic»