Page 4 of 8 FirstFirst ... 23456 ... LastLast
Results 46 to 60 of 230

Thread: Как зафиксировать порядок USB носителей (fstab)?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Quote Originally Posted by theMIROn View Post
    в наших прошивках поддерживается монтирование и по label, и по uuid
    только label пишите маленькими буквами
    Спасибо. Буду иметь ввиду.

  2. #2

    Посмотреть, кто не дает отмонтировать диск

    Code:
    $ umount /tmp/mnt/disc0_3
    umount: can't umount /tmp/mnt/disc0_3: Device or resource busy
    Как понять, что нужно прибить, чтоб диск нормально отмонтировался? Хочу чекдиск сделать.

    Спасибо.

  3. #3
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    в пакетах есть lsof

  4. #4
    Quote Originally Posted by al37919 View Post
    в пакетах есть lsof
    и на что смотреть? кто не отпускает, какие критерии?

  5. #5
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Pablo Escobar - вы же опытный участник, что же мешает глянуть доку на fuser через гугл?

  6. #6
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Quote Originally Posted by Pablo Escobar View Post
    и на что смотреть? кто не отпускает, какие критерии?
    критерии простые --- прибивать все процессы, которые имеют открытые файлы.

    А вообще, наиболее практически эффективное решение:
    Code:
    flashfs disable && reboot
    umount того, что автосмонтировано
    e2fsck того, что надо проверить
    flashfs enable && reboot

  7. #7
    Join Date
    Oct 2010
    Location
    Ufa
    Posts
    11

    Как правильно отмонтировать HDD?

    Ребят как увидел скорость передачи с роутера на комп так сразу решил что нужно отрубать винт от роутера и пользоваться HDD непосредственно с компа но делать полный halt нет смысла так как без интернета туго как то будет работать с HDD, начал искать sh скриптики для отключения именно винта... чет не как разобраться не могу

    В общем как я понял для отключения скрипт :

    ~/pre-shutdown.sh
    Code:
    #!/bin/sh
    GREP="/bin/grep"
    MOUNT="/bin/mount"
    AWK="/usr/bin/awk"
    SWAPOFF="/sbin/swapoff"
    DEVDIR="/dev/discs/"
    RCUNSLUG="/opt/etc/init.d/rc.unslug"
    
    
    $RCUNSLUG stop
    
    
    for i in $($DF | $GREP $DEVDIR | $AWK '{print $6}')
    do
      $MOUNT -o remount,ro $i
    done
    
    $SWAPOFF -a
    sleep 5s
    Для включения (монтирования)
    ~/pre-mount.sh
    Code:
    #!/bin/sh
    ECHO="/bin/echo"
    DF="/bin/df"
    GREP="/bin/grep"
    AWK="/usr/bin/awk"
    FDISK="/sbin/fdisk"
    FREE="/usr/bin/free"
    MKSWAP="/sbin/mkswap"
    SWAPON="/sbin/swapon"
    LOGGER="/usr/bin/logger"
    E2FSCK="/sbin/e2fsck"
    LS="/bin/ls"
    
    DEVDIR="/dev/discs/"
    
    
    SWAPDSK=$($FDISK -l | $GREP swap | $AWK '{print $1}')
    if [ $($FREE | $GREP Swap | $AWK '{print($2)}') = "0" ]; then
      for i in $SWAPDSK; do
        if $MKSWAP -c $i > /dev/null 2>&1
        then
          $SWAPON $i
          $ECHO "swap $i is on " | $LOGGER -t e2fsck
          break
        else
          $ECHO "swap $i with badblocks" | $LOGGER -t e2fsck
        fi
      done
    fi
    MNTINODES=$($LS -i1 $($DF | $GREP $DEVDIR | $AWK '{print $1}') | $AWK
    '{print $1}')
    DEV=$( $FDISK -l | $GREP part | $GREP -v swap | $GREP -v Extended | $AWK
    '{print($1)}')
    for i in $DEV; do
      if [ $($LS -1iR $i | $AWK '{print(index(MNT,$1))}' MNT="$MNTINODES") =
    "0" ]; then
         $E2FSCK -p $i | $LOGGER -t e2fsck
      fi
    done
    Ошибки следующие :

    При отмантировании (Отключения винта)
    Code:
    root@router root]$ sh ~/pre-shutdown.sh
    Stopping rtorrent: rtorrentcannot access /proc/250/exe: No such file or directory
    .
    Stopping web server: lighttpd
    Shutting down Download Engine... not started.
    Stopping: php-fcgi
    Stopping: cron
    Stopping - SAMBA:
    Stopping SAMBA - nmbd
    Stopping SAMBA - smbd
    .
    Stopping service: syslog-ng
    /usr/local/root/pre-shutdown.sh: line 17: /opt/sbin/lsof: not found
    /usr/local/root/pre-shutdown.sh: line 17: /opt/sbin/lsof: not found
    
    [root@router root]$ mount
    rootfs on / type rootfs (rw)
    /dev/root on / type squashfs (ro)
    none on /dev type devfs (rw)
    proc on /proc type proc (rw)
    tmpfs on /tmp type tmpfs (rw,noatime)
    usbfs on /proc/bus/usb type usbfs (rw)
    /dev/discs/disc0/part2 on /opt type ext3 (ro,noatime)
    /dev/discs/disc0/part3 on /tmp/mnt/disc0_3 type ext3 (ro,noatime)
    и лампочки продолжают гореть на HDD

    при монтирование обратно :

    Code:
    [root@router /]$ sh ~/pre-mount.sh
    BusyBox v1.17.2 (2010-09-30 19:29:29 MSD) multi-call binary.
    
    Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
    
    Options:
    	-v VAR=VAL	Set variable
    	-F SEP		Use SEP as field separator
    	-f FILE		Read program from FILE
    
    /usr/local/root/pre-mount.sh: line 36: {print $1}: not found
    BusyBox v1.17.2 (2010-09-30 19:29:29 MSD) multi-call binary.
    
    Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
    
    Options:
    	-v VAR=VAL	Set variable
    	-F SEP		Use SEP as field separator
    	-f FILE		Read program from FILE
    
    /usr/local/root/pre-mount.sh: line 38: {print($1)}: not found

    Помогите разобраться в чем беда, ставил из программ тока Самбу, рТоррент, отправку смс через скрипт "Установка программ для чайников"

  8. #8
    а что мешает из веб-морды отключать?

  9. #9
    Join Date
    Oct 2010
    Location
    Ufa
    Posts
    11
    Pablo Escobar не видел там именно отключение HDD... Прошивка стоит олеговская 1.9.2.7-d-r2174

    А все службы от рТоррент, самбы и тп отключатся сами? или вначале нужно их отрубать? и будет ли продолжать работать инет?

  10. #10
    Quote Originally Posted by kirill.psl View Post
    Pablo Escobar не видел там именно отключение HDD... Прошивка стоит олеговская 1.9.2.7-d-r2174

    А все службы от рТоррент, самбы и тп отключатся сами? или вначале нужно их отрубать? и будет ли продолжать работать инет?


    должны отключиться. Интернет будет

  11. Exclamation Скрипты Ton'а.

    UPD: 20.01.2010 18:08

    Здравствуйте!
    Решил создать тему где я буду выкладывать скрипты которые я использую в том виде в котором они есть на форуме или переписанные мной.

    Прошу сильно не судить, у меня ASUS WL-520gU в использовании где c ноября 2009 года. И у меня появилось кучу вопросов под данной железке я получил все эти ответы здесь на форуме, но это заняло у меня прилично времени. Поэтому и решил всем (Таким как я, новеньким) выкладывать здесь то что может быть интересно и нужно.

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

    Поэтому выложу скрипт который я переделал и привел к моему мнению более понятному и простому виду. (Сильно не пинайте)

    rc.unslung - Скрипт запуска других скриптов (services).
    pre-mount - Скрипт вызывается при подключении usb диска но перед его монтированием.
    pre-shutdown - Скрипт который вызывается перед перезагрузкой.
    fstab - Файл конфигурации, с информацией куда какие разделы монтировать

    rc.unslung
    Code:
    #!/bin/sh
    
    # Место положение скриптов
    daemons_dir=`/bin/echo /opt/etc/init.d/S??*`
    case $1 in
        start)
            # Сортируем в порядке возрастания
            daemons=`/bin/echo $daemons_dir | /usr/bin/tr " " "\n" | /usr/bin/sort`
            # Полученный список запускаем по одному
            for i in $daemons; do
                $i start
                # Ждем одну секунду
                /bin/sleep 1s
            done
            ;;
        stop)
            # Сортируем в порядке убывания
            daemons=`/bin/echo $daemons_dir | /usr/bin/tr " " "\n" | /usr/bin/sort -r`
            # Полученный список останавливаем по одному.
            for i in $daemons; do
                $i stop
                # Ждем одну секунду
                /bin/sleep 1s
            done
            ;;
        *)
            /bin/echo "Usage: $0 {start|stop}"
            exit 1
            ;;
    esac
    Можно еще добавить строчки для ведения лога, но мне это не нужно.

    pre-mount
    Code:
    #!/bin/sh
    
    # Включаем swap (Раздел подкачки, как в Windows файл подкачки)
    /sbin/swapon -a
    
    # Ту я определяю какие директории у меня прописаны в файле fstab, выводе я исключаю swap
    for i in `/bin/sed '/swap/ c\' /etc/fstab | /usr/bin/awk '/discs/ {print($1)}'`; do
        # Проверяем полученные разделы на ошибки
        /sbin/e2fsck -p $i | /usr/bin/logger -t e2fsck
    done
    pre-shutdown
    Code:
    #!/bin/sh
    
    # Останавливаем скрипт который написан выше, а он в свою очередь остановит другие скрипты
    /opt/etc/init.d/rc.unslung stop
    
    # Ту я определяю какие директории у меня прописаны в файле fstab, выводе я исключаю swap
    for i in `/bin/sed '/swap/ c\' /etc/fstab | /usr/bin/awk '/discs/ {print($1)}'`; do
        # Убиваю процессы зависящие от моих разделов, если вдруг таковые имеются
        /opt/sbin/lsof -t "$i" | /usr/bin/sort -nr | /opt/bin/xargs /bin/kill -9
        # Сброс буфера
        /bin/sync
        # Разделы которые есть монтирую в режиме только чтения
        /bin/mount -o remount,ro $i
    done
    
    # Ну теперь выключаю swap
    /sbin/swapoff -a
    fstab
    Code:
    # Пути до раздело    Куда монтировать    Файловая система    С какими параметрами монтируем    dump-freq    pass-num
    /dev/discs/disc0/part3    none    swap    sw    0    0
    /dev/discs/disc0/part2    /opt     ext3    rw,noatime    0    0
    /dev/discs/disc0/part1    /tmp/mnt/disc0_1    ext3    rw,noatime    0    0
    # dump-freq используется утилитой dump для определения необходимости архивирования.
    # pass-num используется утилитой fsck для определения порядка проверки разделов. 0 = не проверять, 1 = первый, 2 = второй (и далее по порядку)
    # dump-freq  и pass-num у меня стоит ноль, так как в прошивке это не работает стандартными средствами как в обычно Linux дистрибутиве.
    P.S. Я в скриптах жестко прописываю пути, стараюсь исключить символические ссылки. Причем пути прописываю до тех программ которые изначально идут в прошивке, а не до тех которые ставятся с пакетом coreutils или другими.
    Last edited by tonshakshuev; 20-01-2010 at 16:28.

  12. #12
    Начинание хорошее. Остаётся только добавить ссылки на конкретные посты, по материалам которых делаются скрипты, и пояснения, почему переделаны оригинальные скрипты, чем лучше, чем хуже.

  13. Quote Originally Posted by checat View Post
    Начинание хорошее. Остаётся только добавить ссылки на конкретные посты, по материалам которых делаются скрипты, и пояснения, почему переделаны оригинальные скрипты, чем лучше, чем хуже.
    Я обязательно приведу ссылку на людей, чей труд изначально использовал. Чужой труд надо уважать.

  14. #14
    Quote Originally Posted by tonshakshuev View Post
    Поэтому и решил всем (Таким как я, новеньким) выкладывать здесь rc.unslung
    новенькие не всегда знают для чего используется тот или иной скрипт. Было бы неплохо назначение скрипта указывать.

  15. В файле fstab у меня dump-freq и pass-num стоит по нулям. Так как я считаю с прошивке это не реализовано. И поэтому и есть скрипты проверки раздело перед запуском. И если делать все красиво в файле, то следовательно если не реализовано то ноль.

    Верно ли это?

Page 4 of 8 FirstFirst ... 23456 ... LastLast

Similar Threads

  1. Настройка mpcs на роутере
    By poptab in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1059
    Last Post: 17-07-2012, 06:22
  2. cannot detect USB HDD
    By ferdz_33 in forum WL-500gP Q&A
    Replies: 8
    Last Post: 13-01-2010, 07:53
  3. Проблема: USB 1.1 устройства через USB 2.0 хаб
    By Rambalac in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 30
    Last Post: 15-09-2009, 12:00

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
  •