zyxmon Posted June 25, 2016 Share Posted June 25, 2016 ...Я к тому, что в своих постах показал что получается без всяких ссылок, так же во многих роутерах (и без Entware) используется переменная в "/tmp/TZ". Файл /etc/TZ это символьная ссылка на /tmp/TZ где запись возможна. А Вы прочли написанное, Entware не использует этот файл. А во времена musl этот файл имел неподдерживаемый формат (полная таймзона). Возможно, вы забыли переменную TZ, которая устанвливается в профиле и имеет приоритет. Проверяйте ~ # rm /opt/etc/TZ ~ # unset TZ ~ # date Sat Jun 25 13:08:34 UTC 2016 ~ # echo GMT+3 > /tmp/TZ ~ # date Sat Jun 25 13:09:02 UTC 2016 ~ # echo GMT-3 > /tmp/TZ ~ # date Sat Jun 25 13:09:14 UTC 2016 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 25, 2016 Share Posted June 25, 2016 получается началось это после того как я все таки решил разобраться с часовыми поясами, до этого месяца 2-3 нормально крутился motion, asterisk и nginx и всякие shellinabox Заданная в морде таймзона записывается в файл в файловой системе tmpfs, который расположен в памяти и создается при загрузке роутера. Сломать руками можно (есть доступ на запись, но до полной перезагрузки). Создаййте отдельную тему "Не могу установить entware и привидите лог начиная с момента, когда распознается флешка". Для правильного форматирования флешки часто нужно удалить раздел, потом создать раздел и форматировать. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 25, 2016 Share Posted June 25, 2016 GanjaKyp помогло `unset TZ`. Осталось найти, где переменная кроме /opt/root/.profile задается. Может в /opt/etc/profile ??? Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 25, 2016 Share Posted June 25, 2016 Очень похоже (судя по логу установки), что прошивка работает не через файл, а через переменную TZ Quote Link to comment Share on other sites More sharing options...
Илья Ганжин Posted June 25, 2016 Author Share Posted June 25, 2016 в /etc/profile нет установки переменной TZ, в /root/.profile сделал export TZ="", в /etc/init.d/rc.unslung тоже TZ="", после перезагрузки часовой пояс снова сбрасывается на UTC после ввода unset TZ часовой пояс считывается из /etc/TZ Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 25, 2016 Share Posted June 25, 2016 Я уже писал - переменная имеет приоритет перед файлом. Где она установлена - Вам и карты в руки. Может и прошивка на Вашем устройстве ее устанавливает. У меня в extra изменение таймзоны в морде идет в файл /tmp/TZ export TZ="" как раз дает эффект UTC. Моя ошибка! замените в .profile строку с TZ= на `unset TZ` Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 26, 2016 Share Posted June 26, 2016 zyxmon Я про пост Подскажите как сменить часовой пояс и кто му что не на добыло ни каких сложностей с переменной в ndm указан, в /root/.profile есть строка export TZ=`cat /etc/TZ | tail -n 1` Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 26, 2016 Share Posted June 26, 2016 в /etc/profile нет установки переменной TZ, в /root/.profile сделал export TZ="", в /etc/init.d/rc.unslung тоже TZ="", после перезагрузки часовой пояс снова сбрасывается на UTC после ввода unset TZ часовой пояс считывается из /etc/TZ Повторюсь где что лежит /tmp # ls -l /etc lrwxrwxrwx 1 root root 7 Jun 24 11:59 TZ -> /var/TZ lrwxrwxrwx 1 root root 7 Jun 24 11:59 localtime -> /var/TZ ... lrwxrwxrwx 1 root root 16 Jun 24 11:59 profile -> /opt/etc/profile /tmp # ls -l -rw-r--r-- 1 root root 6 Oct 29 2013 TZ ... /tmp # ls -l /var lrwxrwxrwx 1 root root 4 Jun 24 11:59 /var -> /tmp /tmp # /tmp/TZ он же /etc/TZ или он же /etc/localtime или он же /var/TZ Опять же почему нельзя просто при запуске например /opt/etc/init.d/S00хххх не сделать все что нужно с /tmp/TZ. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 26, 2016 Share Posted June 26, 2016 ...Опять же почему нельзя просто при запуске например /opt/etc/init.d/S00хххх не сделать все что нужно с /tmp/TZ. Этим занимается прошивка. И не нужно в ее работу вмешиваться!!! Если в прошивке опять вернуться на musl, то файл станет бинарным! А если прошивка перейдет на glibc - то еще и имя поменяет. Давайте так - мухи отдельно, котлеты отдельно. В Entware таймзона задается отдельно от прошивки. В настоящий момент можно создать силинк /opt/etc/TZ --> /etc/TZ и таймзоны будут совпадать. Раньше было проще выкусить кусок бинарного прошивочного файла TZ в переменную. Но в будущем возможно все это придется изменить. А у GanjaKyp или прошивка не создает нужные силинки, или прошивка работает не через файл, а через переменную. Quote Link to comment Share on other sites More sharing options...
Илья Ганжин Posted June 26, 2016 Author Share Posted June 26, 2016 в общем я в /opt/root/.profile прописал echo GMT-6 > /opt/etc/TZ unset TZ но это получается происходит только когда я в терминал захожу? или при старте системы тоже? а началось все видимо оттого что я случайно удалил файл /etc/TZ вместо /opt/etc/TZ, если я правильно понял это и есть файл самой прошивки? Quote Link to comment Share on other sites More sharing options...
Илья Ганжин Posted June 26, 2016 Author Share Posted June 26, 2016 еще в файле /opt/root/.profile есть строка !/bin/sh, а при запуске терминала сразу же появляется ошибка BusyBox v1.24.1 () built-in shell (ash) -sh: !/bin/sh: not found /root # эта строка нужна вообще? Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted June 26, 2016 Share Posted June 26, 2016 еще в файле /opt/root/.profile есть строка !/bin/sh, а при запуске терминала сразу же появляется ошибкаBusyBox v1.24.1 () built-in shell (ash) -sh: !/bin/sh: not found /root # эта строка нужна вообще? Эта строка называется "shebang", и правильное ее написание таково: #!/bin/sh У вас же пропущен символ '#' в начале, потому некорректно работает. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 26, 2016 Share Posted June 26, 2016 в общем я в /opt/root/.profile прописалecho GMT-6 > /opt/etc/TZ unset TZ но это получается происходит только когда я в терминал захожу? или при старте системы тоже? а началось все видимо оттого что я случайно удалил файл /etc/TZ вместо /opt/etc/TZ, если я правильно понял это и есть файл самой прошивки? .profile выполняется, когда входите в терминал. Но файл /opt/etc/TZ "действует" на все приложения Entware /etc/TZ должен создаваться прошивкой при старте. Точнее так (на примере Extra) /var это симлинк на /tmp Далее файл TZ создается в /tmp Далее /etc/TZ это симлинк на /var/TZ Все симлинки жестко прописаны в прошивке. echo GMT-6 > /tmp/TZ Все восстановит. Но это должно происходить при загрузке прошивки автоматически. PS У меня /opt/root/.profile такой #!/bin/sh #export TZ=`cat /etc/TZ | tail -n 1` export PS1='\w$ ' . /opt/etc/profile Первая строка shebang Вторая для красоты пустая Третья закомментирована (не действует) Четвертая для установленного bash - см. http://forums.zyxmon.org/viewtopic.php?p=15432#p15432 Пятая выполняет предустановленный /opt/etc/profile (команды из него) Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 27, 2016 Share Posted June 27, 2016 Как оказалось - одно дело вызов из консоли, другое дело вызов скриптов самой прошивкой. В последнем случае (тот же rc.unslung) - если не задана переменная TZ (а в файле /opt/etc/TZ все как надо), то время в журнал, вывод комнды date из скрипта могут быть без учета таймзоны. Это некоторая загадка, которая не соответствует документации 2002 года. С тех пор часть ulibc в этом плане не менялась. Или же я неправильно прочел документацию...... даже с пустым окружением (env -i) команда date работает в консоли правильно. Чудеса.... Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 27, 2016 Share Posted June 27, 2016 Объяснение всего этого оказалось элементарным. В хук скриптах прошивки задана неверная (по видимому пустая) переменная TZ. добавление в начала таких скриптов `unset TZ` все исравляет. На мой взгляд нужно или правильно задавать TZ при вызове хуков, или не задавать совсем! Quote Link to comment Share on other sites More sharing options...
Илья Ганжин Posted June 27, 2016 Author Share Posted June 27, 2016 это требует изменения в прошивке или в entware? Quote Link to comment Share on other sites More sharing options...
zyxmon Posted June 28, 2016 Share Posted June 28, 2016 это требует изменения в прошивке или в entware? Все читатели уже похоже потеряли нить обсуждения. Не беспокойтесь, все что нужно сделают в Entware-keenetic и прошивке. Quote Link to comment Share on other sites More sharing options...
Nail Krysinski Posted August 18, 2016 Share Posted August 18, 2016 /tmp # cat TZ TZif2M"�_�ǝ>�y�*����9i��W���l��� �<�@��m��=2���h��=����EP���`�'�����@�P������C@�̓��������������s��|d� lU�!\F�"L7�#<(�$,��%� �& ��''p'��p(���)x��)��p*��p+��p,��p-��p.��p/t�p0d�p1]��2r��3=��4Ry�5���62[�6�b�8�xp8�D�9�Zp:�&�;�<p<�Cp=��p>�%p?�p@fpA���BE�pCc��D%�pEC��F�pG#��G���I���IΫ�J���K���ḶpM�TL�`������������� MMTMSTMDSTMSKMSDMSMEETEEST�������TZif2��N�&����V��������_�������>�y�����*��������9i������W�������l������� �����<�@������m������=2�������h������=��������EP�������`�'�����@�P������C@�̓���������������s��|d� lU�!\F�"L7�#<(�$,��%� �& ��''p'��p(���)x��)��p*��p+��p,��p-��p.��p/t�p0d�p1]��2r��3=��4Ry�5���62[�6�b�8�xp8�D�9�Zp:�&�;�<p<�Cp=��p>�%p?�p@fpA���BE�pCc��D%�pEC��F�pG#��G���I���IΫ�J���K���ḶpM�TL�`������������� #9#9�1�#w�?�� *0�8@��FP��� �*0�8@��*0�!� �8@�8@��*0�LMTMMTMSTMDSTMSKMSDMSMEETEEST������� MSK-3 Это нормально разве? Из-за этого date выдает время по UTC а не MSK-3 как указано? Cron работает в своём времени, оттого в логах каша. Помогите. Keenetic Viva, стоковая прошивка + Entware Quote Link to comment Share on other sites More sharing options...
zyxmon Posted August 18, 2016 Share Posted August 18, 2016 1 час назад, Nail Krysinski сказал: Это нормально разве? Да. 1 час назад, Nail Krysinski сказал: Из-за этого date выдает время по UTC а не MSK-3 как указано? Нет. 1 час назад, Nail Krysinski сказал: Cron работает в своём времени Какой именно cron (из двух)? 1 час назад, Nail Krysinski сказал: оттого в логах каша. Вам шашечки (правильную работу cron), или ехать? Это разные вещи - время в cron и время в журнале. 1 час назад, Nail Krysinski сказал: Keenetic Viva, стоковая прошивка Какая именно. Номер у нее есть? 1 час назад, Nail Krysinski сказал: + Entware Какой вариант Entware? Их три. Приведите содержимое /opt/etc/opkg.conf. Когда обновляли пакеты и обновляли ли хоть раз? Как это делать знаете? Quote Link to comment Share on other sites More sharing options...
Nail Krysinski Posted August 18, 2016 Share Posted August 18, 2016 Если кракозябры - это нормально, то пусть так и будет. Я подумал что кодировка файла кривая просто. Cron установленный пакетным менеджером opkg. Меня смутило, что в логах на вебморде задания по крону с неверным временем, а главное конечно, чтобы заданное время в кронтабе соответствовало моему часовому поясу. Если крон работает норм, тогда можно ли исправить время в логах? Прошивка 2.05.C.4.0-5 Поставить Entware заставил полурабочий стоковый впн-сервер и такой-же ddns-клиент, искал ребут по расписанию. Entware скачивал http://pkg.entware-keenetic.ru/binaries/keenle/installer/installer-keenle.tar.gz ~ # cat /opt/etc/opkg.conf src/gz keenle http://pkg.entware-keenetic.ru/binaries/keenle dest root / lists_dir ext /opt/var/opkg-lists насчет обновления пакетов нашел и выполнил, результат: ~ # opkg update Downloading http://pkg.entware-keenetic.ru/binaries/keenle/Packages.gz. Updated list of available packages in /opt/var/opkg-lists/keenle. ~ # opkg upgrade ~ # т.е. ничего не произошло. Наверно всё свежее. Поставил только вчера. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted August 18, 2016 Share Posted August 18, 2016 24 минуты назад, Nail Krysinski сказал: Если кракозябры - это нормально, то пусть так и будет. Это бинарный файл. 24 минуты назад, Nail Krysinski сказал: Cron установленный пакетным менеджером opkg. А разве есть другой способ установки приложений? расскажите всем о таком! 24 минуты назад, Nail Krysinski сказал: Прошивка 2.05.C.4.0-5 Рекомендую перейти на 2.07 (на 2.08 пока не нужно). 24 минуты назад, Nail Krysinski сказал: Если крон работает норм, тогда можно ли исправить время в логах? За логи отвечает прошивка. Все вопросы к ней. Но лучше сразу перейти на 2.07! Приложения Entware берут часовой пояс из фала /opt/etc/TZ - он текстовый, в нем должна быть Ваша зона. Если его нет, создайте. Но приоритет имеет переменная TZ - ее создает прошивка. Правильность времени проверяйте в консоли командой date. В задание cron добавьте logger `date` и проверьте правильность работы cron. Quote Link to comment Share on other sites More sharing options...
Nail Krysinski Posted August 18, 2016 Share Posted August 18, 2016 (edited) 23 часа назад, zyxmon сказал: А разве есть другой способ установки приложений? расскажите всем о таком! Всем рассказываю: на самом деле в Entware два варианта планировщика cron - в виде апплета busybox и в виде отдельного пакета. При установке http://pkg.entware-keenetic.ru/binaries/keenle/installer/installer-keenle.tar.gz busybox шел в комплекте, так что opkg мной не использовался для установки "вшитого" крона. 23 часа назад, zyxmon сказал: Рекомендую перейти на 2.07 (на 2.08 пока не нужно). Нашел прошивку kng_rc_delta_2.07.B.2.0-7, подойдет? Вопрос не этого треда, но всё же: изначально на viva впн-сервер не выдает маршрут до локальной подсети клиенту, неделю с техподдержкой переписываюсь, толку нет. Новая прошивка может решить эту проблему? Или может быть мне написать в спец тему, где могу выложить переписку с ТП и приложить файлы? Может быть в моей прошивке есть баги о которых я не нашел информации? Спасибо. Edited August 19, 2016 by Nail Krysinski частично разобрался Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.