главная страница
материалы
  ms access и bitmap
  win в ucs-2 на perl
  приложение facebook
  медиа библиотека
  восстановление exif
  netgear stora
  html и javascript
  конвертация
  перекодировка для tv
  перекодировка для tvix

Разные хитрости работы с Netgear Stora

Исключение файлов из создоваемого архива при скачке со Stora При скачке директории со Stora, она упаковывает в архив все, что в ней содержится. ACDSee же создает папку [Originals], в которой хранит неизмененные фотографии, которые, соответственно, мне в скачиваемом архиве не нужны.

Оказалось, что при создании архива запускается скрипт, в котором создается файл с маской скрытых (по правилам Linux) файлов для исключения их из архива.

Этим я и воспользовался.

  • Переименовал /usr/bin/zip в /usr/bin/zip_bin.
  • Создал свой скрипт /usr/bin/zip
    echo '*/\[Originals\]/*' >> /tmp/AxDownloadManagerToken-getToken--dotFilesPattern
    /usr/bin/zip_bin $@
    
  • Поставил разрешение на запуск.

    Исключение процесса форматирования USB Flash для резервного копирования
    Скачать

    Для того, чтобы резервное копирование не форматировала флешку и работало на любой файловой системе, были сделаны следующие изменения в библиотеке spd.

    После копирования на флешку, если не ntfs, выдается ошибка записи, но в итоге резервная копия вроде создается. При ntfs все работает, как и раньше.

    /usr/lib/spd/scripts/usb/format
    ...
    # wipeUSB - if not mysafe only
    # format - any way, if mysafe - make signature only
    if ( $fs != "mysafe" ) {
        $retval = wipeUSB( $device );
    
        if ($retval == 1 )
            exit( 0 ); // wiping failed 
    
        $lockfile = "/tmp/format_in_progress";
        exec("echo $device >> $lockfile");
        if( partitionUSB( $device, $fs ) ) {
            unlink($lockfile);
            exit(0); // partitioning failed 
        }
    }
    ...
    

    /usr/lib/spd/scripts/usb/usbToolbox.php
    function isMySafe( $partition ) 
    {
    ...
    #        if( $parttype != "ntfs" )
    #            return false;
    
    ...
    if( $parttype == "ntfs" )
            exec("/usr/bin/ntfs-3g $partition $tmpmnt 2> /dev/null", $lines, $retval );
    else exec("/bin/mount $partition $tmpmnt 2> /dev/null", $lines,
    
    ...
    }
    
    function getUSBStatus()
    {
    ...
    #                        if( $parttype=="ntfs" && @stat( "$partmp/.signature" ) ) {
    if( @stat( "$partmp/.signature" ) ) {
                                $ms = "mismatch";
                            }
                        }
                    } else {
                        // if the key was not mounted, determine if it's
                        // mysafe
    #                    if( $parttype == "ntfs" ) {
                            $msstate = isMySafe( $d );
                            if( $msstate === true )
                                $ms = "true";
                            else if( $msstate == "mismatch" )
                                $ms = $msstate;
    #                    }
    
    ...
    }
    
    function signForMySafe($device)
    {
    ...
    $parttype = getPartFSType( $device );
    if ( $parttype == "ntfs") {
        if( USEMYSAFELABEL == true ) 
            exec("/usr/sbin/ntfslabel $device ".MSLABEL ." 2> /dev/null");
        exec("/usr/bin/ntfs-3g $device $tmpmnt 2> /dev/null", $lines, $retval );
    } else exec("/bin/mount $device $tmpmnt 2> /dev/null", $lines, $retval );
    
    ...
    }
    
    function formatUSB( $device, $fs, $label )
    {
    ...
    if ( $fs != "mysafe" ) 
        exec( $cmd, $lines, $retval );
    else $retval = 0;
    ...
    }
    
    

    /usr/lib/spd/scripts/usb/usbremoveMS
    ...
    #        $retval = mountPart( $d, $dir, "ntfs");
    $fs = getPartFSType($d);
    $retval = mountPart( $d, $dir, $fs);
    ...