Jump to content

★Полная установка entware-3x совместно с Debian 8, и настройка всей системы★


Recommended Posts

(чтобы скачать прикрепленные файлы, нужно зарегаться на сайте)

 

Полная установка entware-3x совместно с Debian 8, и настройка всей системы: то есть одновременно могут работать две системы (entware и debian).


[Debian 8] или [entware-3x] - означает, что в данном статье описана инструкция установки для этой или иной системы


 mc  - Отличный инструмент: это файловый менеджен, редактор текста, архиватор. [Debian 8 и entware-3x]
 owncloud  - облачное локальное хранилище. [Debian 8]
 ssl (https)  - создание сертификата для локального веб-сервера. [Debian 8]
 ssh  - защищенное подключение к терминалу и sftp-подключение к флешке. [Debian 8 и entware-3x]
 php  - веб-интерпретатор для веб-программиста. [Debian 8]
 apache  - веб-сервер. [Debian 8]
 nginx  - веб-сервер. [Debian 8]
 adminer  - легкий веб-интерфейс для управление База Данных. [Debian 8]
 phpmyadmin  - тяжелый веб-интерфейс для управление База Данных. [Debian 8]
 mysql  - База Данных. [Debian 8]
 postfix  - отправка сообщения на любой адрес эл.почты через php-функцию mail(). [Debian 8]
 swap  - файл подкачки, или увеличения оперативной памяти. [entware-3x]
 vnstat  - Сбор статистики трафика: система слежения/потребления трафика по интерфейсам. [Debian 8]
 bandwidthd  - Сбор статистики трафика: система слежения/потребления трафика для каждого подключенного клиента к вай-фай. [entware-3x]

 gammu  - принять/отправить смс через модем и другие функции модема. [Debian 8]

 gammu-smsd  - демон, которое работает и принимает все входящие смс'ки в модеме. [Debian 8]

 datetimefix.sh (1.4.2)  - демон исправления времени и даты при перезагрузке роутера (код сам написал). [entware-3x]

 gammusmsdfix.sh (2.4)  - демон исправляет права доступа к модему для фикса gammu-smsd. Еще демон для авто вкл/выкл gammu-smsd при подключении/извлечении модема. [Debian 8]

 initrc (2.18.2)  - стартовый скрипт OPKG, который запускает системы Debian и entware. [entware-3x]

 и другие  - ...

 

 

 

Написал полную инструкцию от меня (веб-мастера)

 

Требования

• НЕ нужен интернет на роутере

• только для прошивки 2.07 или старше

• прошивка с поддержкой opkg

• kernel 3.x.

• флешка минимум 2гб (у меня 16гб) и исключительно с файловой системой ext4. В Андроиде можно через PARTITION TOOLKIT SD 1.39.apk переформатировать. В Windows - EaseUS Partition Master free. В Линукс - через команду mke2fs -T ext4 -F /dev/путь_до_вашей_флешки

 

 

Начинаем.

 

1. Форматируем флешку в ext4, и подключаем ее к USB роутера.

 

 

2. Через 192.168.1.1 веб-интерфейс включаем на роутере FTP-доступ. А еще советую, но не объязательно, поменять порт веб-интерфейса с 80 на 777. Желательно это сделать именно в конце статьи.

 

 

3. Важное! Измените на "Чтение и запись" права Доступа к папкам нашей флешки через http://192.168.1.1/#usb.access

 

 

4. Заходим через ftp-клиент и создаем папку "install" на нашей флешке.

 

- скачиваем архив с Debian 8 Jessie и entware-3x mipsel_ent_deb_5.tar.gz (без регистрации можно скачать) 62 MB для ВСЕХ кинетиков.

(для Keenetic DSL, VOX, LTE не поддерживаю, воспользуйтесь другой инструкцией)

и копируем файл mipsel_ent_deb_5.tar.gz в папку "install"

 

 

5. Переходим в веб-интерфейс во вкладку OPKG http://192.168.1.1/#usb.opkg и включаем. Выбираем нашу флешку и нажимаем на "применить".

 

За процессом установки можно отследить в журнале http://192.168.1.1/#tools.log

примерно длиться 1 минуту

Скрытый текст

initrc		Версия initrc: 2.18.1_modEntware
0 
0		Старт демона для Даты /opt/etc/datetimefix.sh 
ndm		Opkg::Manager: /opt/etc/initrc: start.
0 
0		запуск /opt/etc/init.d/doinstall
installer	Info: Раздел пригоден для установки.
installer	[1/5] Начало развёртывания системы Entware-3x...
installer	Info: Создание папок...
installer	[2/5] Установка базовых пакетов без интернета из временной папки /opt/_pagesOpkg
installer	Установка:
ndm		Core::ConfigurationSaver: saving configuration...
ndm		Core::ConfigurationSaver: configuration saved.
installer	Info: Установка пакетов прошла успешно! Продолжаем...
installer	[3/5] Генерация SSH-ключей...
ndm		Opkg::Manager: /opt/etc/initrc: Generating key, this may take a while...
installer	Info: Ключ ecdsa создан
ndm		Opkg::Manager: /opt/etc/initrc: .Generating key, this may take a while...
installer	Info: Ключ rsa создан
installer	[4/5] Установка Entware-3x завершена! Сохранение временной зоны
ndm		Core::Server: started Session /var/run/ndm.core.socket.
ndm		Core::Server: client disconnected.
installer	[5/5] Настройка сценария запуска для прошивки NDMS...
ndm		Core::Server: started Session /var/run/ndm.core.socket.
ndm		Core::ConfigurationSaver: saving configuration...
ndm		Core::Server: client disconnected.
installer	Готово!!!
installer	Можно открыть SSH-сессию (порт: 22022) для соединения с устройством (войти в Entware-3x) (логин:пароль -> root:zyxel).
root		   
root		Начало Entware-3x
root		start /opt/etc/init.d/rc.unslung
dropbear[14480]	Running in background
root		Конец Entware-3x
root  
root		 
root		Старт демона "фикс gammu-smsd"  
ndm		Opkg::Manager: /opt/etc/initrc: ash: can't kill pid 9281: No such process.
ndm		Opkg::Manager: /opt/etc/initrc: start.
Сообщение	Старт Debian сервисы...
root		с т а р т: ssh
ndm		Opkg::Manager: /opt/etc/initrc: Starting OpenBSD Secure Shell server: sshd.
sshd[14518]	Server listening on 0.0.0.0 port 22.
sshd[14518]	Server listening on :: port 22.
root		   
Сообщение	Конец.

 

 

Всё! установлены и работают одновременно и Entware-3x и Debian 8.

 

зайти в Debian 8 на кинетике можно по ssh:

 логин root

 пароль debian

 host 192.168.1.1

 порт 22

и

зайти в Entware-3x на кинетике можно по ssh:

 логин root

 пароль zyxel

 host 192.168.1.1

 порт 22022

Пароль entware-3x никак не связан с паролем кинетика. Меняется он, если необходимо, стандартной командой:

# passwd

Советую изменить пароль в конце статьи.

 

 

6. Включаем на флешке Файл Подкачки (swap) http://192.168.1.1/#tools.settings

Размер файла (Мбайт) минимум пишем 200 или больше

 

 

 

7.  Далее. Продолжаем настройку entware-3x.

Подключаемся к entware-3x посредством ssh.

 Обновляем список пакетов

# opkg update

 

и устанавливаем нужные нам пакеты:

# opkg install mc

# opkg install openssh-server

# opkg install openssh-sftp-server

 

Конфигурация нового openssh-сервера находится в файле /opt/etc/ssh/sshd_config.

(1) через редактор "mc" поменяем порт:

# mcedit /opt/etc/ssh/sshd_config

(2) строчку меняем с

#Port 22

на 

Port 2222

(3) Чтобы пользователь root мог заходить по ssh, добавим (отредактируем) строку

PermitRootLogin yes

(4) сохраняем и выходым из редактора.

 

 

Создадим ключи командой "ssh-keygen -A"

# ssh-keygen -A

 

Создадим пользователя sshd командой

# adduser -h /tmp -s /bin/false -D -H sshd

 

После этого можно запустить Новый SSH-сервер и проверить его работу:

# /opt/etc/init.d/S40sshd start

 логин root

 пароль zyxel

 host 192.168.1.1

 порт 2222

 

также, теперь работает и sftp-сервер на порту 2222

 

Если работает новый SSH-сервер, то покидаем ssh-подключение на порту 22022.

 

Далее: (если хотите) удаляем dropbear, который и работает на порту 22022:

подключаемся через новый SSH-сервер (порт 2222):

# /opt/etc/init.d/S51dropbear stop

удаление dropbear

# opkg remove dropbear

 

 

Если надо в entware-3x устанавливать какие-то пакеты, то пожалуйста:

# opkg install nginx
# opkg install php7
# opkg install maria-db
# opkg install и другие

 

 

 

Самое важное. Время от времени появляются обновления на initrc (исправляются ошибки и новое что-то добавляются), поэтому не забываем заходить проверять наличия обновления и обновлять свой старый initrc на новый.

 

Эти действия проводим через sftp-клиент (или любым другим способом):

initrc - (2.18.2) этот модифицированный файлик добавляем в папку "/opt/etc/". ТЕПЕРЬ в новом initrc (2.18 и выше) сервисы entware-3x уже запускаются автоматически из директории /opt/etc/init.d/, поэтому теперь НЕТ необходимости добавлять сервисы entware-3x в файл initrc вручную.

debian - (2.0) добавляем в папку "/opt/bin/"

lm - добавляем в папку "/opt/bin/"

mm - добавляем в папку "/opt/bin/"

fm - добавляем в папку "/opt/bin/"

 

в терминале entware-3x 

# opkg install xmlstarlet
# chmod +x /opt/etc/initrc
# chmod +x /opt/bin/debian
# chmod +x /opt/bin/lm
# chmod +x /opt/bin/mm
# chmod +x /opt/bin/fm

 

debian - через эту команду в entware-3x можно остановить, запустить или сделать резервную копию системы Debian.

# debian start

# debian stop

# debian backup 2017test

 

lm - выводит маленькую информацию о памяти диска и загрузки системы

mm - освобождает память от кэшированных записей (почему-то из-за этой команды начинает роутер плохо работать)

fm - алиас к команде "free -m"

 

 

 

ВСЁ. с entware-3x закончили. 

 

 

 

 

в терминале entware-3x:

изменяем репозиторий Debian 8

# mcedit /opt/debian/etc/apt/sources.list

Если хотите остаться (рекомендую) на Debian 8, то:

удаляем всё и добавляем 

deb http://ftp.ru.debian.org/debian jessie main

deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.ru.debian.org/debian jessie-updates main

Если хотите обновиться до последней стабильной версии (на сегодняшний день это Debian 9), то:

удаляем всё и добавляем

deb http://ftp.ru.debian.org/debian stable main

deb http://security.debian.org/ stable/updates main contrib non-free
deb http://ftp.ru.debian.org/debian stable-updates main

 

 Сохраняем.

 

 

8. Настройка пакетов в Debian 8.

 

Эти действия проводим через ftp-клиент (или любым другим способом):

lm - добавляем в папку "/debian/bin/"

mm - добавляем в папку "/debian/bin/"

fm - добавляем в папку "/debian/bin/"

 

в терминале Debian'a

# chmod +x /bin/lm
# chmod +x /bin/mm
# chmod +x /bin/fm

lm - выводит маленькую информацию о памяти диска и загрузки системы

mm - освобождает память от кэшированных записей (почему-то из-за этой команды начинает роутер плохо работать)

fm - алиас к команде "free -m"

 

 

 

Подключаемся по ssh к Debian 8.

обновления системы:

# apt-get update #будет грузить 40МБ

# apt-get upgrade # ответьте "y"

 

установить окно диалога

# apt-get install dialog

 

скачать локализацию (3МБ)

# apt-get install locales

 

изменить на русскую "ru_RU.UTF-8 UTF-8"

# dpkg-reconfigure locales

 

переключиться на RU и перезайти в систему (то есть перезайти в ssh)

# update-locale LANG=ru_RU.UTF-8

 

 

Если у вас Debian 9, то объязательно удаляем systemd, чтобы избежать некоторых проблем (например, с Apache'м)

# apt-get remove systemd

 

 

изменить тимезоне

# dpkg-reconfigure tzdata

 

установить mc (15МБ)

# apt-get install mc

 

установить аналог apt, по желанию

# apt-get install aptitude

 

после установки sudo

# apt-get install sudo

добавить в /etc/hosts строчку

127.0.0.1 Keenetic_Giga

 

другие (объязательно) (10МБ)

# apt-get install apt-utils

# apt-get install wget

 

при брутфорсе(подборе) пароля добавить этот параметр в /etc/ssh/sshd_config

 MaxAuthTries 10

или использовать сторонную программу для этого:

# apt-get install fail2ban

 

 

Приветствие в консоли.

Все скрипты, отображающие информацию в приветствии лежат в /etc/profile.d/

Отображает (ниже код) системную информацию.

Создать новый файл 

# mcedit /etc/profile.d/sshinfo.sh

содержимое sshinfo.sh:

Скрытый текст

echo "";

echo "";



SystemMountPoint="/";

LinesPrefix=" ";

b=$(tput bold); n=$(tput sgr0);



SystemLoad=$(cat /proc/loadavg | cut -d" " -f1);

ProcessesCount=$(cat /proc/loadavg | cut -d"/" -f2 | cut -d" " -f1);



MountPointInfo=$(/bin/df -Th $SystemMountPoint 2>/dev/null | tail -n 1);

MountPointFreeSpace=( \

  $(echo $MountPointInfo | awk '{ print $6 }') \

  $(echo $MountPointInfo | awk '{ print $3 }') \

);

UsersOnlineCount=$(users | wc -w);



UsedRAMsize=$(free | awk 'FNR == 3 {printf("%.0f", $3/($3+$4)*100);}');



SystemUptime=$(uptime | sed 's/.*up \([^,]*\), .*/\1/');



if [ ! -z "${LinesPrefix}" ] && [ ! -z "${SystemLoad}" ]; then

  echo -e "${LinesPrefix}${b}System load:${n}\t${SystemLoad}\t\t${LinesPrefix}${b}Processes:${n}\t\t${ProcessesCount}";

fi;



if [ ! -z "${MountPointFreeSpace[0]}" ] && [ ! -z "${MountPointFreeSpace[1]}" ]; then

  echo -ne "${LinesPrefix}${b}Usage of $SystemMountPoint:${n}\t${MountPointFreeSpace[0]} of ${MountPointFreeSpace[1]}\t";

fi;

echo -e "${LinesPrefix}${b}Users logged in:${n}\t${UsersOnlineCount}";



if [ ! -z "${UsedRAMsize}" ]; then

  echo -ne "${LinesPrefix}${b}Memory usage:${n}\t${UsedRAMsize}%\t\t";

fi;

echo -e "${LinesPrefix}${b}System uptime:${n}\t${SystemUptime}";



echo "";

echo "";

 

 

 

 

Для безопасности:

изменить пароль Debian 8 пользователя root:

# passwd

 

создать нового Юзера с логином dima

# adduser dima

 

добавить его в группу sudo

# adduser dima sudo

 

проверить ssh и sftp подключении для нового юзера (порт всегда 22). работает.

 

 

Запретить ssh-подключение пользователя "root"

# mcedit /etc/ssh/sshd_config

заменить "yas" на "no"

PermitRootLogin no

 

Выходим из "root" и подключаемся через "dima". Чтобы к консоле пользователь "dima" получил рут-доступ, то введите

$ sudo -s

а чтобы выйти из рут-режима, то

# exit

 

Создать папку /var/www и назначаем пользователя и группу "dima"

$ sudo -s

# mkdir /var/www

# chown -R dima:dima /var/www

 

и начинаем дальше установку пакетов

 

установить Apache

# apt-get install apache2

 

добавьте строку ServerName 127.0.0.1

# mcedit /etc/apache2/conf-available/security.conf

 

потом

# mcedit /etc/apache2/conf-available/security.conf

Находим строчки:

 ServerTokens OS

 ServerSignature On

Меняем их на:

 ServerTokens Prod

 ServerSignature Off

 

установить PHP5 (а для Debian 9 замените php5 на php7.0)

# apt-get install php5 php-pear libapache2-mod-php5 php5-mysql

 

установить остальные модули php5

# apt-get install php5-gd php5-memcached php5-curl php5-oauth php5-ssh2 php5-memcache php5-json php5-mcrypt

 

установить MySql

# apt-get install mysql-server mysql-client

 

старт MySql

# /etc/init.d/mysql start

 

установить PhpMyAdmin

# apt-get install phpmyadmin php-gettext

 

или/и установить adminer

# apt-get install adminer

# mcedit /etc/apache2/sites-available/000-default.conf

добавить в конце между <VirtualHost *:80></VirtualHost>

строку

include /etc/adminer/apache.conf

 

 

Nginx будет принимать запросы на стандартном (80-ом) порту (или на 443) и передавать их апачу, который нужно перекинуть на другой порт, например на 81-ый, и разрешить ему принимать только локальные запросы. То есть апач будет невидим извне.

 

# mcedit /etc/apache2/ports.conf

Меняем строку:

Listen 80

на

Listen localhost:81

 

# mcedit /etc/apache2/sites-available/000-default.conf

Меняем строку:

<VirtualHost *:80>

на

<VirtualHost localhost:81>

 

 

установить Nginx

# apt-get install nginx

 

Создаем связку nginx+apache

# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
# mcedit /etc/nginx/sites-available/default
Скрытый текст

#обычное соединение http на порту 80, то есть http://192.168.1.1
#если веб-интерфейс кинетика работает на порту 777, то можно раскомментировать эти 11 строк
#server {
#        listen 80 default_server;
#        listen [::]:80 default_server ipv6only=on;
#        root /var/www/html;
#        #index index.php index.html;
#        server_name 192.168.1.1;
#
#        #перенаправление на httpS
#        rewrite ^(.*) https://$server_name$1 permanent;
#
#}

#безопасное соединение httpS, то есть https://192.168.1.1
server {
        listen 443 default_server;
        listen [::]:443 default_server ipv6only=on;
        root /var/www/html;
        index index.php index.html;
        server_name 192.168.1.1;

     ssl on;
     #ssl_certificate /home/сертификат/server.pem;
     #ssl_certificate_key /home/сертификат/server.key;
     #ssl_dhparam /home/сертификат/dhparam.pem;
     ssl_certificate      /var/сертификат/192.168.1.1.crt;
     ssl_certificate_key  /var/сертификат/192.168.1.1.key;

     ssl_session_timeout 5m;

     ##ssl_protocols SSLv3 TLSv1;
     #ssl_protocols TLSv1.1 TLSv1.2; #для собременных браузеров
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #и для старых браузеров, TLSv1 содержит уязвимость. 

     ##ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
     ssl_prefer_server_ciphers on;

     add_header Strict-Transport-Security max-age=31536000;


        # максимальный размер загружаемого файла
        client_max_body_size 2012M;

        #adminer
        location ~* ^/adminer/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { 
           root /usr/share/adminer/; 
        }

        #статика owncloud
        location ~* ^/owncloud/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt|apk|mp4|mp3|sh|gz|zip|tar|rar|bz|lz|win|obb)[^?])$ {
          root /var/www/owncloud;
          add_header Cache-Control max-age=864000;
        }

      # Разруливаем статику и динамку
       location ~* \.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt|apk|mp4|mp3|sh|gz|zip|tar|rar|bz|lz|win|obb)[^?]$ {
          root /var/www/html;
          add_header Cache-Control max-age=864000;
       }
 


        # запрет на доступ к .htaccess
        location ~ /\.ht {
                deny all;
        }


        # передача запроса апачу
        location /  {
                proxy_pass http://127.0.0.1:81; # Порт на котором висит Apache
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-for $remote_addr;
                proxy_set_header Host $host;
                proxy_connect_timeout 300;
                proxy_send_timeout 300;
                proxy_read_timeout 300;
                proxy_redirect off;
                proxy_set_header Connection close;
                proxy_pass_header Content-Type;
                proxy_pass_header Content-Disposition;
                proxy_pass_header Content-Length;
        }
}

 

 

Для того чтоб apache получал ip-адреса клиентов нужно установить модуль libapache2-mod-rpaf

# apt-get install libapache2-mod-rpaf

 

 

_____

 SSL 

 

Установка и создание сертификата SSL

# apt-get install openssl

 

Создаем наше CA (корневой центр сертификации).

# mkdir /var/сертификат #создаем папку

# cd /var/сертификат #переходим в эту папку

 

Первая команда создаёт корневой ключ. Можно и на 4096 вместо 2048

# openssl genrsa -out rootCA.key 2048

 

Вторая команда создаёт корневой сертификат.

# openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt

 

Отвечать на вопросы тут можно как душе угодно.

Скрытый текст

Country Name (2 letter code) [AU]:

 

State or Province Name (full name) [Some-State]:

 

Locality Name (eg, city) []:

 

Organization Name (eg, company) [Internet Widgits Pty Ltd]:

 

Organizational Unit Name (eg, section) []:

 

Common Name (e.g. server FQDN or YOUR name) []:

 

Email Address []:

 

Все! Теперь мы можем создавать сертификаты для наших серверов и устанавливать корневой сертификат на наши клиентские машины.

 

Создаем сертификат подписаный нашим СА

Генерируем ключ.

# openssl genrsa -out 192.168.1.1.key 2048

 

Создаем запрос на сертификат.

# openssl req -new -key 192.168.1.1.key -out 192.168.1.1.csr

Тут важно указать имя сервера: домен или IP (например, 192.168.1.1)

Common Name (eg, YOUR name) []: 192.168.1.1

 

и подписать запрос на сертификат нашим корневым rootCA.key сертификатом.

# openssl x509 -req -in 192.168.1.1.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out 192.168.1.1.crt -days 5000

 

Теперь на клиенты нужно установить корневой сертификат rootCA.crt

 

rootCA.crt — можно давать друзьям, устанавливать, копировать на сервера, выкладывать в публичный доступ

rootCA.key — следует держать в тайне

( эти файлы лежать в /var/сертификат/ )

 

 

и вот только теперь 

Рестартуем nginx и apache

# service nginx restart

# service apache2 restart

 

 

 

установить postfix (для php функции mail() )

# apt-get install postfix

виберите "интернет-сайт".

А в "Системное почтовое имя:" я лично прописал один из моих поддоменов (секрет), но вы можете любой сайт прописать, например: "local.mail.ru".

И в php-скриптах тогда надо указать отправителя "localhost@local.mail.ru".

 

 

ВАЖНОЕ! Вы найдёте файл /chroot-services.list, в котором по одному на строчку перечислены те Debian-сервисы, что должны запускаться при старте роутера. Изначально там только ssh. Строчки в этом файле соответствуют именам стартовых скриптов из /etc/init.d

То есть чтобы работала ssh, nginx и apache, нужно добавить в /chroot-services.list их, каждое с новой строки:

Скрытый текст

ssh

#cron

#php5-fpm

apache2

nginx 

postfix

vnstat

mysql

## лучше gammu-smsd оставить на плечи /opt/etc/gammusmsdfix.sh

#gammu-smsd

 

 

 

 

Установка Owncloud находится по адресу.

 

 

 

 

Далее:

Установка vnstat в Debian 8
ssh-терминал Debian 8:

# apt-get install vnstat
Скрытый текст

создаем хранилище для каждого интерфейса


vnstat --create -i ra2 
vnstat --create -i gre0 
vnstat --create -i ppp0 
vnstat --create -i eth2.1 
vnstat --create -i lo
vnstat --create -i br0 
vnstat --create -i eth2 
vnstat --create -i ra1 
vnstat --create -i tunl0 
vnstat --create -i teql0 
vnstat --create -i ezcfg0 
vnstat --create -i ra0 
vnstat --create -i sit0 
vnstat --create -i dummy0 
vnstat --create -i eth2.3 
vnstat --create -i ra3 
vnstat --create -i apcli0 
vnstat --create -i br1


vnstat -u -i ra2 
vnstat -u -i gre0 
vnstat -u -i ppp0 
vnstat -u -i eth2.1 
vnstat -u -i lo
vnstat -u -i br0 
vnstat -u -i eth2 
vnstat -u -i ra1 
vnstat -u -i tunl0 
vnstat -u -i teql0 
vnstat -u -i ezcfg0 
vnstat -u -i ra0 
vnstat -u -i sit0 
vnstat -u -i dummy0 
vnstat -u -i eth2.3 
vnstat -u -i ra3 
vnstat -u -i apcli0 
vnstat -u -i br1

 

и подправим права

# chown -R vnstat:vnstat /var/lib/vnstat
# chmod -R 666 /var/lib/vnstat/
# chmod 777 /var/lib/vnstat/

и стартуем 

# service vnstat start

скачиваем архив "веб-интерфейс просмотра статистики vnstat.zip" и распаковываем в debian:  /var/www/html/
Если нужно будет, то редактируйте /var/www/html/vt/config.php
В архиве есть две версии интерфейса, которые будут доступны по адресу:
http://192.168.1.1/vt/ - удобно через мобильный телефон просматривать статистику vnstat
http://192.168.1.1/vnstat/ - для ПК

 

 

Установка bandwidthd на entware-3x
ssh-терминал entware-3x:

# opkg install bandwidthd-sqlite

создадим папку

# mkdir /opt/debian/var/bandwidthd/

редактируем файл конфигурации bandwidthd

# cp /opt/etc/config/bandwidthd.conf /opt/etc/config/orig_bandwidthd.conf
# mcedit /opt/etc/config/bandwidthd.conf

стираем все и добавляем 

Скрытый текст

####################################################
# Bandwidthd.conf
# 
# Commented out options are here to provide
# documentation and represent defaults

# Subnets to collect statistics on.  Traffic that 
# matches none of these subnets will be ignored.
# Syntax is either IP Subnet Mask or CIDR
subnet 10.0.0.0 255.0.0.0
subnet 192.168.0.0/16
subnet 172.16.0.0/12

# Device to listen on
# Bandwidthd listens on the first device it detects
# by default.  Run "bandwidthd -l" for a list of 
# devices. 
#dev "eth0"
#dev "eth2"

###################################################
# Options that don't usually get changed

# An interval is 2.5 minutes, this is how many 
# intervals to skip before doing a graphing run
#skip_intervals 0

# Graph cutoff is how many k must be transfered by an
# ip before we bother to graph it
#graph_cutoff 1024

#Put interface in promiscuous mode to score to traffic
#that may not be routing through the host machine.
#promiscuous true

#Log data to cdf file htdocs/log.cdf
#output_cdf false

#Read back the cdf file on startup
#recover_cdf false

#Libpcap format filter string used to control what bandwidthd see's
#Please always include "ip" in the string to avoid strange problems
#filter "ip"
#filter "ip and host 192.168.1.1"
filter "ip and not host 192.168.1.1"

#Draw Graphs - This default to true to graph the traffic bandwidthd is recording
#Usually set this to false if you only want cdf output or
#you are using the database output option.  Bandwidthd will use very little
#ram and cpu if this is set to false.
graph false

#Set META REFRESH seconds (default 150, use 0 to disable).
meta_refresh 5

# SQLite DB path
sqlite_filename "/opt/debian/var/bandwidthd/stats.db"

# Provide a default sensor name to avoid "unset" value
sensor_id "default"

 

и стартуем

# bandwidthd

чтобы в автозапуске была, то поместите S11bandwidthd в папку /opt/etc/init.d/ и выставьте права

# chmod +x /opt/etc/init.d/S11bandwidthd

потом скачиваем архив "веб-интерфейс для просмотра статистики bandwidthd .zip" и распаковываем в debian:  /var/www/html/
Обязательно редактируйте /var/www/html/bd/config.php
В архиве есть одна версия интерфейса, которые будут доступны по адресу:
http://192.168.1.1/bd/ - удобно через мобильный телефон просматривать статистику bandwidthd

 

 

Установка gammu в Debian 8
ssh-терминал Debian 8:

# apt-get install gammu
# gammu-config

выбираем порт (/dev/ttyUSB2) (или /dev/ttyUSB1, или /dev/ttyUSB0, у меня работает только /dev/ttyUSB2)
и conntection (at)

документацию по gammu найдете в интернете.

 

 

Установка gammu-smsd в Debian 8. Кстати, для приема смс не нужна gammu, хватит и gammu-smsd.
ssh-терминал Debian 8:

# apt-get install gammu-smsd
# mcedit /etc/gammu-smsdrc

и изменяем на рабочий интерфейс модема 
port = /dev/ttyUSB2

кстати, чтобы не ругалась на ошибку доступа, то

# chmod 777 /dev/ttyUSB2

В новой версии initrc уже есть мини-демон, которое каждые 2.5 сек изменяет права именно /dev/ttyUSB2 на 777. Так что после перезагрузки роутера можно не делать в ручном режиме "chmod 777 /dev/ttyUSB2"

и стартуем

# service gammu-smsd start

и смотрим в логи роутера, чтобы ошибок не было

Смс'ки входящие сохраняются в папке /var/spool/gammu/inbox/

 

 

 

Установка демона Фикс-даты_времени. (код сам написал)

Демон исправляет время и дату при перезагрузке или выкл/вкл роутера. Так как у роутера нет собственных внутренных часов. Конечно существует сервис NTP-синхронизации с интернет-временем, но оно не сразу исправляет время, особенно если у вас модемный-интернет или нет интернета вообще.

Вы замечали, что после перезагрузки или отключения роутера время и дата сбиваются. И основая проблема в том, что без этого Демона нарушается статистика сервисов по мониторингу трафиков: vnstat и bandwidthd. Вторая проблема касается к веб-серверу на роутере.

datetimefix.sh - скачать и поместить в папку /opt/etc/ и замените старую initrc на новую initrc (см.выше выше выше еще выше и выше)

в ssh entware-3x:

права на запуск

# chmod +x /opt/etc/datetimefix.sh

Можно либо вручную в первый раз запустить

# /opt/etc/datetimefix.sh start

либо перезагрузите роутер, чтобы запустился /opt/etc/datetimefix.sh

 

 

 

Установка демона Фикс-gammu-smsd. (код сам написал)

Демон автоматичечки исправляет права доступа к модему, чтобы gammu-smsd работал и принимал смс'ки. Еще он автоматичечки включает/выключает gammu-smsd при подключении/извлечении модема. Полезно, чтобы в логе не выводились куча информации об отказе доступа и об ненайденном устройстве при извлечении модема.

gammusmsdfix.sh - скачать и поместить в папку /opt/etc/ и замените старую initrc на новую initrc (см.выше выше выше еще выше и выше)

в ssh entware-3x:

права на запуск

# chmod +x /opt/etc/gammusmsdfix.sh

Можно либо вручную в первый раз запустить

# /opt/etc/gammusmsdfix.sh start

либо перезагрузите роутер, чтобы запустился /opt/etc/datetimefix.sh

 

 

Edited by edm
22) Новая инструкция; 23) новая версия initrc 2.18.2; 24) новый файл "/opt/bin/debian" 2.0
  • Thanks 6
  • Upvote 4
  • Y'r wrong 1
Link to comment
Share on other sites

Админ, закрепи этот топик. 

Я всё с нуля устанавливал и писал параллельно свои действия. 

поэтому тут в инструкции ошибки нет

;)

Edited by edm
Link to comment
Share on other sites

1 минуту назад, edm сказал:

пожалуй, из-за независимости сервисов debian от entware. А именно из-за файла chroot-services.list, через которое удобнее, чем через другой способ

Мои тапочки умирают от смеха - все абсолютно с этим аналогично в 2х способах.

Link to comment
Share on other sites

1 минуту назад, Александр Рыжов сказал:

@edm, зачем закреплять? Вроде ничего нового.

зато всё разложено и понятно. И не надо бегать и искать в других местах. Всё в одном месте для чайников

  • Thanks 2
Link to comment
Share on other sites

зачем семь в кубе? это ж не портвейн! недостаток прав, как и их излишек, может не вывести пациента из комы или наоборот - загнать в неё :)

много лишних движений для чайников, кипятильников и самоваров

  • Thanks 1
Link to comment
Share on other sites

Вручную апач запустился таким образом:

root@Keenetic_Giga:/home/admin# /usr/sbin/apache2 -V
[Fri Jun 23 15:01:08.963558 2017] [core:warn] [pid 6452] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot
root@Keenetic_Giga:/home/admin# source /etc/apache2/envvars
root@Keenetic_Giga:/home/admin# /usr/sbin/apache2 -V
Server version: Apache/2.4.25 (Debian)
Server built:   2017-01-25T22:59:26
Server's Module Magic Number: 20120211:67
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   32-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"
root@Keenetic_Giga:/home/admin# service apache2 restart
[....] Restarting Apache httpd web server: apache2Invoking 'systemctl start apache2'.
Use 'systemctl status apache2' for more info.
Running in chroot, ignoring request.
 failed!
[....] The apache2 instance did not start within 20 seconds. Please read the log[warns to discover problems ... (warning).
root@Keenetic_Giga:/home/admin# apache2 -k restart
httpd not running, trying to start
root@Keenetic_Giga:/home/admin#

Используя команду  service apache2 restart по прежнему не запускается, куда копать?

Edited by Geniuser
Link to comment
Share on other sites

28 минут назад, Geniuser сказал:

Вручную апач запустился таким образом:


root@Keenetic_Giga:/home/admin# /usr/sbin/apache2 -V
[Fri Jun 23 15:01:08.963558 2017] [core:warn] [pid 6452] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot
root@Keenetic_Giga:/home/admin# source /etc/apache2/envvars
root@Keenetic_Giga:/home/admin# /usr/sbin/apache2 -V
Server version: Apache/2.4.25 (Debian)
Server built:   2017-01-25T22:59:26
Server's Module Magic Number: 20120211:67
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   32-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"
root@Keenetic_Giga:/home/admin# service apache2 restart
[....] Restarting Apache httpd web server: apache2Invoking 'systemctl start apache2'.
Use 'systemctl status apache2' for more info.
Running in chroot, ignoring request.
 failed!
[....] The apache2 instance did not start within 20 seconds. Please read the log[warns to discover problems ... (warning).
root@Keenetic_Giga:/home/admin# apache2 -k restart
httpd not running, trying to start
root@Keenetic_Giga:/home/admin#

Используя команду  service apache2 restart по прежнему не запускается, куда копать?

Такие же проблемы, вот тема в курилке. Остается одно - ждать пока кто-то допилит.

 

Link to comment
Share on other sites

А можно ли ограничить обновление репозитория до последней 8 версиии при вызове команд update upgrade и поддерживаемых пакетов соотвественно?

Link to comment
Share on other sites

8 минут назад, Geniuser сказал:

А можно ли ограничить обновление репозитория до последней 8 версиии при вызове команд update upgrade и поддерживаемых пакетов соотвественно?

см.

$ aptitude --help

 

Link to comment
Share on other sites

В 23.06.2017 в 20:30, Geniuser сказал:

А можно ли ограничить обновление репозитория до последней 8 версиии при вызове команд update upgrade и поддерживаемых пакетов соотвественно?

да. перечитай статью (изменяем репозиторий).

Link to comment
Share on other sites

  • 2 weeks later...

Подскажите пожалуйста. В чем может быть причина такой ошибки? 

 

Keenetic Giga 2 прошивка 2.10.A.5.0-7

Opkg::Manager: disk is set to: c8efb5b3-3811-d301-40e7-b5b33811d301:
Aug 09 21:13:20ndm
kernel: EXT4-fs (sda1): re-mounted. Opts: (null)
Aug 09 21:13:20ndm
Opkg::Manager: /tmp/mnt/c8efb5b3-3811-d301-40e7-b5b33811d301 mounted to /tmp/mnt/c8efb5b3-3811-d301-40e7-b5b33811d301.
Aug 09 21:13:20ndm
Opkg::Manager: /tmp/mnt/c8efb5b3-3811-d301-40e7-b5b33811d301 mounted to /opt/.
Aug 09 21:13:20npkg
inflating "ent_deb_5.tar.gz".
Aug 09 21:14:20keenetic nginx
(conn: *705) upstream timed out (145: Unknown error) while reading response header from upstream, client: 192.168.1.60
Aug 09 21:15:20ndm
Opkg::Manager: system failed [0xcffd01a2], timed out.
Aug 09 21:15:21ndm
Opkg::Manager: init script reset to default: /opt/etc/initrc.
Aug 09 21:15:21ndm
Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/.
Link to comment
Share on other sites

16 часов назад, ukr0p сказал:

Aug 09 21:14:20keenetic nginx

(conn: *705) upstream timed out (145: Unknown error) while reading response header from upstream, client: 192.168.1.60

Обновлял постоянно страничку http://192.168.1.1:777/#tools.log ? не надо так делать, жди минуту, и только потом обнови страничку один раз.

 

Хотя не знаю, что за nginx и откуда он взялся. 

 

Я только что тоже на Giga 2 (прошивка 2.10.A.5.0-7) установил Screenshot_2017-08-10-16-22-55.thumb.png.2adf5b92a2ba500aa54bace8d38f7fdc.png

 

:)

Link to comment
Share on other sites

после установки, на флешке какие-нибудь файлы/папки появились?

Можно еще так попробовать:

1) отключи все соединения на роутере с интернетом и установи ent_deb_5.tar.gz

2)или отключи все кабели на кинетике, подключись к кинетику через вай-фай и потом установи ent_deb_5.tar.gz 

Link to comment
Share on other sites

Журнал открывал заранее в отдельном окне.

Купил новую флешку на 16Gb

Отключил все соединения на роутере, оставил только один сетевой кабель.

Результат:

ug 11 10:32:56ndmOpkg::Manager: disk is set to: fd4fd9f9-6d12-d301-604f-d9f96d12d301:
Aug 11 10:32:56ndmkernel: EXT4-fs (sda1): re-mounted. Opts: (null)
Aug 11 10:32:56ndmOpkg::Manager: /tmp/mnt/KINGSTON mounted to /tmp/mnt/KINGSTON.
Aug 11 10:32:56ndmOpkg::Manager: /tmp/mnt/KINGSTON mounted to /opt/.
Aug 11 10:32:56npkginflating "ent_deb_5.tar.gz".
Aug 11 10:33:02ndmNetwork::Interface::Switch: "GigabitEthernet0/1": switch link down at port 1.
Aug 11 10:33:31ndmEvent::Acceptor: sending "Event::Type::DbKey" to "Opkg::Manager" 30 seconds.
Aug 11 10:33:56keenetic_giga nginx(conn: *545) upstream timed out (145: Unknown error) while reading response header from upstream, client: 192.168.1.64
Aug 11 10:34:01ndmEvent::Acceptor: sending "Event::Type::DbKey" to "Opkg::Manager" 60 seconds.
Aug 11 10:34:31ndmEvent::Acceptor: sending "Event::Type::DbKey" to "Opkg::Manager" 90 seconds.
Aug 11 10:34:51ndmOpkg::Manager: /tmp/mnt/KINGSTON initialized.
Aug 11 10:34:51ndmOpkg::Manager: init script reset to default: /opt/etc/initrc.
Aug 11 07:34:510     
Aug 11 07:34:510    
Aug 11 07:34:51initrcВерсия initrc: 2.18.2_stable
Aug 11 07:34:510 
Aug 11 07:34:510Старт демона для Даты /opt/etc/datetimefix.sh 
Aug 11 10:34:51ndmOpkg::Manager: /opt/etc/initrc: start.
Aug 11 07:34:510       
Aug 11 07:34:510запуск /opt/etc/init.d/doinstall
Aug 11 10:34:51installerInfo: Раздел пригоден для установки.
Aug 11 10:34:51installer[1/5] Начало развёртывания системы Entware-3x...
Aug 11 10:34:51installerInfo: Создание папок...
Aug 11 10:34:51installer[2/5] Установка базовых пакетов без интернета из временной папки /opt/_pagesOpkg
Aug 11 10:34:51installerУстановка:
Aug 11 10:35:14installerInfo: Установка пакетов прошла успешно! Продолжаем...
Aug 11 10:35:14installer[3/5] Генерация SSH-ключей...
Aug 11 10:35:14ndmOpkg::Manager: /opt/etc/initrc: Generating key, this may take a while...
Aug 11 10:35:16installerInfo: Ключ ecdsa создан
Aug 11 10:35:16ndmOpkg::Manager: /opt/etc/initrc: .Generating key, this may take a while...
Aug 11 10:35:22installerInfo: Ключ rsa создан
Aug 11 10:35:22installer[4/5] Установка Entware-3x завершена! Сохранение временной зоны
Aug 11 10:35:22ndmCore::Server: started Session /var/run/ndm.core.socket.
Aug 11 10:35:22ndmCore::Server: client disconnected.
Aug 11 10:35:22installer[5/5] Настройка сценария запуска для прошивки NDMS...
Aug 11 10:35:22ndmCore::Server: started Session /var/run/ndm.core.socket.
Aug 11 10:35:22ndmCore::ConfigurationSaver: saving configuration...
Aug 11 10:35:22ndmCore::Server: client disconnected.
Aug 11 10:35:22installerГотово!!!
Aug 11 10:35:22installerМожно открыть SSH-сессию (порт: 22022) для соединения с устройством (войти в Entware-3x) (логин:пароль -> root:zyxel).
Aug 11 10:35:22root       
Aug 11 10:35:22rootНачало Entware-3x
Aug 11 10:35:22rootstart /opt/etc/init.d/rc.unslung
Aug 11 10:35:22dropbear[9288]Running in background
Aug 11 10:35:22rootКонец Entware-3x
Aug 11 10:35:22root  
Aug 11 10:35:22root     
Aug 11 10:35:23rootСтарт демона "фикс gammu-smsd"  
Aug 11 10:35:23ndmOpkg::Manager: /opt/etc/initrc: ...start.
Aug 11 10:35:23СообщениеСтарт Debian сервисы...
Aug 11 10:35:23rootс т а р т: ssh
Aug 11 10:35:23ndmkernel: Algorithmics/MIPS FPU Emulator v1.5
Aug 11 10:35:24ndmOpkg::Manager: /opt/etc/initrc: Starting OpenBSD Secure Shell server: sshd.
Aug 11 07:35:24sshd[9322]Server listening on 0.0.0.0 port 22.
Aug 11 07:35:24sshd[9322]Server listening on :: port 22.
Aug 11 10:35:24root       
Aug 11 10:35:24СообщениеКонец.

Edited by ukr0p
Link to comment
Share on other sites

7 часов назад, ukr0p сказал:

Результат:

7 часов назад, ukr0p сказал:

Aug 11 07:34:51initrcВерсия initrc: 2.18.2_stable

У тебя УСПЕХ, то есть установились entware-3x и debian 8.

 

 

 

7 часов назад, ukr0p сказал:

Aug 11 10:33:56keenetic_giga nginx(conn: *545) upstream timed out (145: Unknown error) while reading response header from upstream, client: 192.168.1.64

на это можно не обращать внимание. Это сообщение от роутера, а не от установки пакета. И в этой сообщении говориться, что истек время ожидания. 

Link to comment
Share on other sites

Не перезапускается nginx. Подскажите пожалуйста, как выяснить почему?

Не запускаются даже через http

https://192.168.1.1/adminer/

или 

https://192.168.1.1/phpmyadmin/

sshot-442.jpg

Edited by ukr0p
Link to comment
Share on other sites

1 час назад, ukr0p сказал:

Не перезапускается nginx. Подскажите пожалуйста, как выяснить почем

nginx есть вполне работоспособный и рабочий в entware. Ради него не стоило ставить debian.

Как уже неоднократно писали - нужно отказываться от systemd и запускать сервисы по другому.

Подробнее тут - http://forums.zyxmon.org/viewtopic.php?f=5&t=5567

Link to comment
Share on other sites

1 час назад, ukr0p сказал:

Не перезапускается nginx. Подскажите пожалуйста, как выяснить почему?

Не запускаются даже через http

https://192.168.1.1/adminer/

или 

https://192.168.1.1/phpmyadmin/

sshot-442.jpg

там у меня в примере приведен код nginx'а для ПОРТа :80.

или поменяй порт nginx на :81 или:

В 08.04.2017 в 14:16, edm сказал:

А еще советую, но не объязательно, поменять порт веб-интерфейса с 80 на 777. Желательно это сделать именно в конце статьи.

 

 

 

И смотри в логах по пути /var/log/nginx ,какие ошибки там в журнале? 

Link to comment
Share on other sites

# mcedit /etc/nginx/sites-available/default

Я добавил ваш код и не досмотрел, что есть незакоменченый код поумолчанию. Это вызывало ошибку 2017/08/11 22:39:42 [emerg] 19219#0: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/default:103

Спасибо Вам за помощь!

Link to comment
Share on other sites

  • 2 months later...
В 08.04.2017 в 14:16, edm сказал:

Все скрипты, отображающие информацию в приветствии лежат в /etc/profile.d/

Пытаюсь сделать приветствие как написано, но выдает:

-bash: -bash:: команда не найдена

-bash: /etc/profile.d/sshinfo.sh: строка 48: синтаксическая ошибка рядом с неожиданным маркером «fi»

 

 

 

Edited by Сергей С
Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...