Page 3 of 9 FirstFirst 12345 ... LastLast
Results 31 to 45 of 134

Thread: Размышления об использовании файлов pre-* и post-* в новых прошивках Олега

  1. #31
    Quote Originally Posted by al37919 View Post
    как он себя поведет --- понятно --- рухнет (причем не сразу после загрузки). Тут скорее как быстро понять что он рухнул от этого.

    Может в pre-mount добавить mkswap -c /path , чтобы при каждой перезагрузке проверять раздел на плохие блоки? Если результат проверки отрицательный, то берем следующий раздел из списка swap разделов и апдейтим /etc/fstab
    тоже вариант, надо подумать.
    vim имеет два режима - бибикать и все портить (с) не мое

  2. #32
    Join Date
    Aug 2007
    Location
    Moscow, Russia
    Posts
    976
    Quote Originally Posted by BlackKovu View Post
    Это не поможет если вдруг не доступен инет (и время соотв не обновиться). Надо будет покумекать на счет проверки текущего времени, и если в течении тех же 5s обновления нет то не делать чекинг диска.
    Я тут на форуме честно спер строчку для post-boot:

    ntpclient -c3 -i$(nvram get ntp_interval_x) -h$(nvram get ntp_server0) -s

    Синхронизирует время еще до "штатного" запроса.У меня - Стрим и все успешно работает.
    А у Корбины, насколько я знаю, есть свой NTP-сервер ntp.corbina.net. Так может если его в настройках указать и к нему маршрут прописать, то не дожидаясь поднятия ВПН вышеуказанная строчка будет отрабатывать?

  3. #33
    Quote Originally Posted by Serge_K View Post
    Я тут на форуме честно спер строчку для post-boot:

    ntpclient -c3 -i$(nvram get ntp_interval_x) -h$(nvram get ntp_server0) -s

    Синхронизирует время еще до "штатного" запроса.У меня - Стрим и все успешно работает.
    А у Корбины, насколько я знаю, есть свой NTP-сервер ntp.corbina.net. Так может если его в настройках указать и к нему маршрут прописать, то не дожидаясь поднятия ВПН вышеуказанная строчка будет отрабатывать?
    для VPN не знаю что выйдет а для нормального соединения наверное должно отработать нечто подобное
    ntpclient -c3 -i$(nvram get ntp_interval_x) -h$(nvram get ntp_server0) -s || exit 0
    for i in `/usr/bin/awk '/ext3/{print($1)}' /etc/fstab`
    ...

  4. #34
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    al37919, посмею заметить, но по моему в Вашем описании затесалась несущественная, но все же ошибка:

    #! /bin/sh

    /opt/etc/init.d.base/rc.unslung start

    base???

  5. #35
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Исправил. Спасибо за _осмысленную_ поправку Удачи!
    Last edited by al37919; 31-01-2008 at 19:35.

  6. #36
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    ага, осмысливать приходится то чем зарекался никогда не заниматься
    предложеный Вами метод действительно IMHO получился очень правильный. ФС монтируется настолько быстро, что даже при директ подключении к инету часики иногда не успевают обновится, результат -
    Jan 1 02:00:17 e2fsck: /dev/discs/disc0/part1 has gone 35801 days without being checked, check forced.
    Кажется здесь http://wl500g.info/showpost.php?p=60934&postcount=5 описывался метод как это "подправить", но я никак не догоню как оно работает и возможно ли применить этот метод к WL500gP...
    Last edited by Contemplator; 31-01-2008 at 23:42.

  7. #37
    Мы 3-я сообщениями выше обсуждали эту проблему. На 500-ке IMHO есть три варианта.
    1) Получить время принудительно перед запускам чекера
    2) сделать sleep на 5-30s (мне этот способ совсем не понравился)
    3) если времени еще нет то пропускам чекер (я остановился на этом)

  8. #38
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    тут проблема в том, что время мы получаем из внешней сети, и вопрос что будет сделано раньше --- установлено соединение и обновлено время или дойдем до проверки дисков pre-mount . У себя в логах я вижу, что PPPoE соединение, обычно, устанавливается первым. Потом запускается ddns клиент, который, похоже и обновляет время. После этого запускается pre-mount, и только после этого ntp получает время и далее каждые 2 часа...

    В общем универсальных решений я не вижу.

    Вариант 3 из предыдущего поста плох тем, что возможно проверки не будет никогда. Тогда зачем весь этот огород городить.

    От себя предлагаю четвертый вариант:

    создать файл с текущей датой (и естественно сохранить его в flashfs):

    /bin/date "+%m%d%H%M%Y" > /usr/local/etc/date

    Добавить в pre-boot:

    /bin/date `cat /usr/local/etc/date`

    Если сделать только это, то первую операцию придется выполнять раз в полгода, поскольку по умолчанию fs создается с требованием проверки раз в полгода.

    Возможен и еще вариант. У себя я давно вместо flashfs save && flashfs commit использую скрипт, который выполняет дополнительные действия (например на всякий случай сохраняет последнее состояние flashfs и nvram перед перезагрузкой). Так что первой комманде место как раз в этом файле.

  9. #39
    Join Date
    Jan 2008
    Location
    Minsk Belarus
    Posts
    94
    Quote Originally Posted by al37919 View Post
    От себя предлагаю четвертый вариант:

    создать файл с текущей датой (и естественно сохранить его в flashfs):

    /bin/date "+%m%d%H%M%Y" > /usr/local/etc/date

    Добавить в pre-boot:

    /bin/date `cat /usr/local/etc/date`

    Если сделать только это, то первую операцию придется выполнять раз в полгода, поскольку по умолчанию fs создается с требованием проверки раз в полгода.

    Возможен и еще вариант. У себя я давно вместо flashfs save && flashfs commit использую скрипт, который выполняет дополнительные действия (например на всякий случай сохраняет последнее состояние flashfs и nvram перед перезагрузкой). Так что первой комманде место как раз в этом файле.
    или поручить это cron`у? ведь завершение работы и перезагрузка не всегда бывают корректными (гипотетически ) а на скрипт можно посмотреть?

  10. #40
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    положим, нас интересует не перезагрузка, а действие, которое надо выполнить перед сохранением flashfs

    PHP Code:
    cat /usr/local/bin/flashsav
    #! /bin/sh

    LASTCOPYDIR=/opt/tmp/save/fs/last

    /bin/date "+%m%d%H%M%Y" > /usr/local/etc/date

    flashfs save 
    && \
    cp /tmp/flash.tar.gz $LASTCOPYDIR && \
    nvram show $LASTCOPYDIR/nvram.txt 2> /dev/null && \
    echo 
    "Copies of the latest content of flashfs and nvram are saved in $LASTCOPYDIR&& \
    flashfs commit && \
    rm /tmp/flash.tar.gz

    exit $? 
    а в ~/.profile:
    PHP Code:
    alias flashsave="flashsav && reboot" 

  11. #41
    Вопрос, который давно меня волнует: как из bash'a запустить перезагрузку, сохранив при этом историю команд? Проблема в том, что ~/.bash_history обновлятся после выхода из bash'a.

  12. #42
    Quote Originally Posted by djet View Post
    Вопрос, который давно меня волнует: как из bash'a запустить перезагрузку, сохранив при этом историю команд? Проблема в том, что ~/.bash_history обновлятся после выхода из bash'a.
    http://www.opennet.ru/cgi-bin/openne...y=1&topic=bash

    history [-c] [n]
    history -anrw [имя_файла]
    history -p аргумент [аргумент ...]
    history -s аргумент [аргумент ...]
    Если опции не указаны, выдает список истории команд с номерами строк. Строки, для которых указана звездочка (*), были изменены. При указании аргумента n выдаются только последние n строк. Если указано имя_файла, список истории берется из этого файла; если файл не указан, используется значение переменной HISTFILE. Опции имеют следующие значения: -a Добавлять "новые" строки истории (строки истории, введенные с начала текущего сеанса bash) в файл истории.
    -n Читать строки истории, еще не прочитанные из файла истории, в текущий список истории команд. Речь идет о строках, добавленных в файл истории с начала текущего сеанса bash.
    -r Читать содержимое файла истории и использовать его в качестве текущего списка истории выполнения команд.
    -w Записывать текущий список истории команд в файл истории, переписывая его текущее содержимое.
    -c Очистить список истории выполнения команд, удаляя все записи.
    -p Выполнить подстановку из списка истории для последующих аргументов и выдать результат в стандартный выходной поток. Результат не запоминается в списке истории. Для отключения обычной подстановки из списка истории, необходимо маскировать (брать в кавычки) каждый аргумент.
    -s Сохранить аргументы в списке истории как одну запись. Последняя команда в списке истории удаляется перед добавлением аргументов.


    Возвращается значение 0, если не передана недопустимая опция или при попытке чтения или записи файла истории не произошла ошибка.
    vim имеет два режима - бибикать и все портить (с) не мое

  13. #43
    может имеет смысл и время сохранять во флэше, точнее текущее время + 20 секунд, у меня перезагрузка идет гдето секунд 15. и сразу после загрузки обновлять в сервера времени.
    vim имеет два режима - бибикать и все портить (с) не мое

  14. #44
    Так ведь скрипт выполняется не в текущем шелле, а в новом.

    А, придумал: ". save".

    save у меня выглядит так:
    PHP Code:
    #!/bin/sh
    history -w
    flashfs save 
    > /dev/null 2>&&& flashfs commit && flashfs enabled
    cp 
    /tmp/flash.tar.gz /opt/backup
    nvram show 
    > /opt/backup/nvram.txt
    sync
    nvram commit 
    Ещё есть reload
    PHP Code:
    #!/bin/sh
    echo 'Reload requested..'
    source save  
    sleep 3
    echo 'Reloading now.'
    reboot 
    может имеет смысл и время сохранять во флэше, точнее текущее время + 20 секунд, у меня перезагрузка идет гдето секунд 15. и сразу после загрузки обновлять в сервера времени.
    Тоже об этом подумал. По логу, у меня первым стартует post-firewall на 6-7 секунде.
    Last edited by djet; 01-02-2008 at 20:13.

  15. #45
    IMHO смысла нет. Все равно в стабильном режиме там даже дата будет неверной (отставать на 1-2-3 недели).

    А вообще хороший вариант, у меня такая мысль промелькивала но до дела не довел и остановился на более простой проверке (тем более что в меня в 80% дата уже еспевается обновитсся (кабельный модем без всяких VPN)). Но мне нравиться - имлеменитрую у себя похожую схему.

Page 3 of 9 FirstFirst 12345 ... LastLast

Similar Threads

  1. Replies: 586
    Last Post: 30-01-2016, 18:32
  2. Replies: 83
    Last Post: 11-12-2012, 18:31
  3. Установки MTU в последних прошивках от Олега
    By Uncle Sharic in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 12
    Last Post: 08-06-2008, 18:05

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •