Показаны сообщения с ярлыком ремонт. Показать все сообщения
Показаны сообщения с ярлыком ремонт. Показать все сообщения

FreeNAS 9.1.1 не дает создать новых пользователей

Имеется FreeNAS 9.1.1  x64
В один не очень прекрасный момент перестал давать заводить новых пользователей. Выдает ошибку: operation not permitted pwd_mkdb: /etc/spwd.db to /etc/spwd.db.tmp : no space left on device
Смотрим df -h и действительно в /etc закончилось место. Виновником является /etc/local/proftpd/blacklist.dat. Удаляем его:
rm /etc/local/proftpd/blacklist.dat
Так же надо не забыть убрать его из образа /conf/base/etc/local/proftpd/blacklist.dat, чтобы после перезагрузки он не появился снова.
Откуда он там не понятно, ведь система в read-only. Поэтому перемонтируем на запись, удаляем и обратно в рид-онли:
mount -uw /
rm /conf/base/etc/local/proftpd/blacklist.dat
mount -ur /

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

Есть вариант еще увеличить раздел /etc, но я пока этого не делал:
mount -uw /
ee /conf/base/etc/md_size
(меняем размер на желаемый)
mount -ur /

Восстановление виртуальной машины из бекапа в proxmox ve

Всем когда приходится восстанавливаться из бекапа. Как это было.
Хочется заметить, что свободного места на диске в момент восстановления Вам потребуется в 4 раза больше, чем весит Ваш образ. Если это что-то крупное, то это проблема.
У меня образы виртуальной машины хранятся в qcow2, а бекапы сжимаются при помощи lzo, поэтому в этом мануале будет про них. Как пользоваться другими архиваторами думаю поисковик Вам подскажет

Для начала останавливаем машину которую надо восстановить. Переносим текущие("поломанные") образы из папки /var/lib/vz/[id] (где id - номер виртуальной машины) в папку для бекапа, чтобы можно было вернуться к "поломанному" варианту:
mv /var/lib/vz/101/* /mnt/backup_hdd/101_old/

Теперь необходимо распаковать "хороший" бекап:
lzop -d /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_01-00_00_02.vma.lzo /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_24-00_00_02.vma

Файл vma содержит образы всех дисков виртуальной машины и ее конфиг. Распаковывать надо в несуществующую папку, иначе программа ругается, что папка существует:
vma extract /mnt/backup_hdd/dump/vzdump-qemu-101-2016_07_24-00_00_02.vma /mnt/backup_hdd/102/

Видим, что образы в папке из бекапа получились в формате raw и с другими именами файлов. Поэтому их необходимо конвертировать в наш формат и переименовать:
qemu-img convert -f raw -O qcow2 disk-drive-virtio1.raw disk-drive-virtio1.qcow2
mv disk-drive-virtio1.qcow2 vm-101-disk-1.qcow2

И возвращаем восстановленные образы на место:
mv vm-101-disk-1.qcow2 /var/lib/vz/101/

Запускаем виртуальную машину и радуемся.

Восстановление битых MOV-файлов

Бывают случаи, когда камера завершает видеозапись не корректно. И контейнер файла оказывается разрушенным. И в итоге у Вас на руках битый MOV файл.

Для этих случаев и существует утилита Video Repair Tool. Найти ее можно на rutracker.org
Сам софт реализован в качестве консольной программы, что удобно для пакетной обработки файлов. Но для начала существует графическая оболочка для него.

Краткая инструкция:
Запускаем guiscript.exe
1. Выбираем "Choose movie..." битый MOV
2. Выбираем "Choose reference movie..." нормальный НЕ БИТЫЙ файл с этой же камеры в качестве образца (без образца тоже возможно восстановление испорченного файла)
3. Выбираем "Change output folder..." путь для сохранения результата. Если его не указать, то программ положит результат в подпапку repaired рядом с исходным файлом.
4. Нажимаем Scan и ждем пока программа генерирует хороший файл.

Проверяем результат. Велика вероятность, что звуковая дорожка нормально не восстановилась, тогда надо ее подправить утилитой Womble MPEG Video Wizard DVD.
1. Открываем ею восстановленный файл.
2. Выбираем 'Экспорт в mp4...', далее 'Формат = MOV файлы', далее 'Видеокодек = XVID', далее 'Битрейт Видео = 8000', далее 'Аудио = по умолчанию'
3.Проверяем итоговый файл. Так же можно воспользоваться VLC.

Восстановление пропавших писем в папках Thunderbird

Бывает так, что в Mozilla Thunderbird пропадает часть писем. При чем нельзя выявить какую либо закономерность.
Для восстановления делаем следующее:


  1. Закрываем Thunderbird;
  2. Заходим в папку с профилем почтового ящика, в подпапку Mail
  3. Делаем резервную копию двух файлов - Inbox и Inbox.msf. Делаем на примере папки Входящие. Если удалились Отправленные, то Sent.
  4. Удаляем файл Inbox.msf
  5. Удаляем из файла Inbox строки содержащие «X-Mozilla-Status:» (Строки содержащие «X-Mozilla-Status2:» необходимо оставить). Для этого под linux надо запустить команду: mv Inbox Inbox.orig && cat Inbox.orig | grep -v "X-Mozilla-Status:" > Inbox. В файле Inbox.orig сохранена оригинальная копия, а в Inbox, уже обработанный файл. Под Windows надо открыть файл Inbox в любом текстовом редакторе и удалить, указанные выше строки.
  6. Запускаем Thunderbird. Выбираем папку Входящие и ждем пока закончится процесс восстановления.
  7. После того как все успешно прошло можно удалить все резервные копии.

Восстановление связи с Mikrotik RB2011UAS

Краткая справка по принципам работы роутера:
http://mstream.com.ua/mikrotik-tipichnie-problemi-i-ih-resheniay.html

После неудачных экспериментов связь с роутером была потеряна. Кнопка сброса к заводским настройкам находится внутри корпуса и представляет из себя два контакта полумесяцем, которые необходимо замкнуть металлическим предметом.

У нас остается консольный порт, который из себя представляет serial порт с rj-45 разъемом. К нему подходит обычный консольный cisco кабель.




CAT5                                DB9 Pin
Orange-White                           8
Orange                                      6
Green-White                          2
Blue                                        5
Blue-White                            5
Green                                    3
Brown-White                         4
Brown                                     7







Официальная Вики от Микротика по последовательному порту: http://wiki.mikrotik.com/wiki/Serial_Console
И по самому консольному подключению:
http://wiki.mikrotik.com/wiki/Console
http://wiki.mikrotik.com/wiki/Manual:First_time_startup

Самое главное при подключение по com-порту в терминале указать правильный настройки, иначе увидите абракадабру, которая наводт на мысль о неправильной кодировки. И никак не о неправильно-выставленной скорости.

115200bit/s, 8 data bits, 1 stop bit, no parity, flow control=none by default


Интерфейс интернет камеры с управлением trendnet tv-ip400 для пользователей

Месяц назад я задумал сделать камеру, которая показывает панораму города в реальном времени. Взял обычную камеру интернет камеру и собрал поворотное устройство на базе ардуино. Но сразу выползли косяки. Камера питается от 5В, ардуино с сервоприводами нужно 12В. 5В не хватает сервам и они трещат, кряхтят и все дергается. Конструкция тоже оказалась не очень гармоничной. Разместить это все в прозрачной колбе получалось с трудом.

Так оказалось, что одна из первых моих интернет камер оказалась без дела. Матрица старого образца шумит. Разрешение не ахти - 640 х 480, однако даже при таком она картинку кажет не очень, по сравнению с существующими ныне камерами такого же разрешения. Так вот она и отошла от дела. А тут на днях она мне попадает в руки. Решено, что надо ее использовать.

Просто прокинуть порт на нее не интересно. Да и тяжеловат он. Плюс там много лишнего и "секретного" для пользователя из вне. Надо сделать свой интерфейс. Но не просто показывать снапшот, а дать на время управление камерой. Повертеть же головой всем интересно .

Решил посерфить базу интернета на наличие api. Естественно ничего не существует. И тут попалась поделка нашего немецкого друга. Ее я и взял за основу.

if ($control) {
  // Generate the request header
  # Configuration
  $Host="хх.хх.хх.хх.";
  $Port="хх";
  #PanTiltSingleMove:
  # 0 1 2
  # 3 4 5
  # 6 7 8
  //echo "<pre>";
  //var_dump($_POST);
  if ($d>0){
          $dir1=$d;
          $pan=$x;
          $tilt=$y;
          if ($d2>0)
                    $kuda='инициализация...';
          else
                    $kuda='поворот';
  } else {
    $pan=0;
    $tilt=0;
    $dir1=4;
    $kuda='';
    if ($here_x>200) {
            $dir1=5;
            $pan=3;
            $kuda='вправо';
    } elseif ($here_x<100) {
            $dir1=3;
            $pan=3;
            $kuda='влево';
    }
    if ($here_y>160) {
       if ($dir1!=4) {
         $dir1=$dir1+3;
         $kuda=$kuda.' и ';
       } else {
         $dir1=7;
       }
            $kuda=$kuda.'вниз';
            $tilt=4;
    } elseif ($here_y<80) {
       if ($dir1!=4) {
         $dir1=$dir1-3;
         $kuda=$kuda.' и ';
       } else {
         $dir1=1;
       }
            $kuda=$kuda.'вверх';
            $tilt=4;
    }
  }
  if ($dir1==4) {
    $kuda='центровка';
    header("Refresh: 0; URL=?control=1&d=8&x=10&y=3&d2=5&x2=10&y2=0");
  } else {
    if ($d2>0) {
        header("Refresh: 0; URL=?control=1&d=$d2&x=$x2&y=$y2");
    } else {
        header("Refresh: 0; URL=?1=1"); //делайте как хотите этот рефреш
    }
  }
  //начинается секретное API
  $ReqBody = "PanSingleMoveDegree=$pan&TiltSingleMoveDegree=$tilt&PanTiltSingleMove=$dir1";
  $URI="/PANTILTCONTROL.CGI";
  $ReqHeader =
  "POST $URI HTTP/1.1\n".
  "Authorization: Basic ".base64_encode("guest")."\n".
  "Host: $Host:$Port\n".
  "Content-Type: application/x-www-form-urlencoded\n".
  "Content-Length: ".strlen($ReqBody)."\n\n";
  $Zapros=$ReqHeader."$ReqBody\n";
  // Open the connection to the host
  $socket = fsockopen($Host, $Port, &$errno, &$errstr);
  if (!$socket)
  {
    echo "error";
  } else {
    fputs($socket, $Zapros);
    $idx = 0;
    while (!feof($socket)) {$Result1[$idx++] = fgets($socket, 128);}
  }
  //конец серкретного АПИ
  echo '<BODY STYLE="MARGIN: 0; PADDING: 0; BACKGROUND-COLOR: #000000">';
  echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td valign=middle align=center bgcolor=black><font color=white>
  <b>$kuda";//<br>pan=$pan tilt=$tilt dir1=$dir1<br>";
  //var_dump($Result1);
  echo "</td></tr></table>";
  exit;
}
  header("Refresh: 15; URL=?1=1"); //рефреш в себя
?>
<BODY STYLE="MARGIN: 0; PADDING: 0; BACKGROUND-COLOR: #000000"><form action=?1=1 method=post><input type=image src=http://HOST:PORT/IMAGE.JPG name=here><input type=hidden name=control value=1></form>

Это только начало. Надеюсь не заброшу :)

Горят блоки питания от оборудования D-link

Очень часто, после отключения электричества, стали гореть импульсные блоки питания от оборудования Д-линк (точки доступа, роутеры, модемы, свитчи). После экспериментов выяснил, что умирают они именно при подаче электричества. Т.е. если вы дома и выключили электричество, то у вас есть возможно выдернуть блок питания из розетки и вставить только после восстановления электроснабжения. Тем самым вы спасете свой блок питания. Хороший вариант? ;)

После копания интернета выяснил, что в этих блоках питания используется не очень качественный конденсатор, который вылетает со временем и не дает запуститься БП. Я, кстати, замечал, что иногда блоки питания запускаются, но не мог найти этому объяснения.

На самом деле лечится такой блок питания очень легко, если вы держали в руках паяльник.
Распиливаем корпус блока питания ножовкой по металлу или ножом с зубчиками. Можно попытаться расколоть, но есть вероятность повредить внутренности, да и сам корпус.

После достаем плату, она должна быть без дефектов. На ней есть конденсатор 25v 47mkF, на плате он промаркирован как с5. Такого типа он там один. Устанавливаем на его место новый на 50v 10mkF. Проверяем.

Информация была найдена на просторах инета. Первоисточник вроде бы отписался на форуме dlink.ru

0DMRMaster - DMR Server

 0DMRMaster https://github.com/olympy/0DMRMaster 1. Install Python 3.13.7 wget https://www.python.org/ftp/python/3.13.7/Python-3.13.7.tgz ta...