Archive for the ‘Linux’ Category

Запись нескольких радиостанций.

Четверг, 17 января, 2013

Потребовалось вести запись нескольких радиостанций. Были куплены три автомобильных приемников с линейным выходом, со склада взят старый комп и в него воткнули две старых pci звуковых карты.
(далее…)

Конвертируем CR2 to JPG из под Ubuntu

Вторник, 13 ноября, 2012

Ставим пакет ufraw, а затем конвертируем, с помощью консольной утилиты ufraw-batch. Минимальный набор ключей —out-type= — в какой формат конвертировать (ppm|tiff|tif|png|jpeg|jpg|fits) и —out-path= — в какой каталог сохранять файлы. Остальные ключи смотрим в man-е.
Этот скрипт конвертирует CR2-файлы из папки /home/rrv/cr2 в JPG-файлы в паку /home/rrv/jpg:

cd /home/rrv/cr2 ; ls *.CR2 | awk '{system ("ufraw-batch --out-type=jpg --wb=auto --black-point=auto --clip=film --exposure=2.3 --out-path=/home/rrv/jpg/ "$0)}'

Редирект в Squid

Среда, 5 октября, 2011

Почему пару дней назад, некоторые пользователи перестали входить в социальную сеть «вконтакте», при этом другие говорили, что не испытывают проблем. В итоге выяснилось, что через URL vkontakte.ru перестало входить, а через vk.com проблем не было. Разбираться мне было лень сделал редирект:

acl vrontakte dstdomain vkontakte.ru
http_access deny vrontakte
deny_info http://vk.com vrontakte

Конвертируем aac в mp3

Среда, 5 октября, 2011

Потребовалось конвертировать, получилось:

Устанавливаем:

sudo apt-get install ffmpeg libavcodec-extra-52

Конвертируем:

ls *.aac | awk 'BEGIN{FS="."}{system ("ffmpeg -y -i "$1".aac -acodec libmp3lame -ac 1 -ar 22050 -ab 24k "$1".mp3")}'

ImageMagick — консольный графический редактор

Среда, 28 сентября, 2011

Если требуется провести массовые операции с графическими файлами, то пользуемся ImageMagick.

(далее…)

Ubuntu. Аналог гостевого аккаунта Windows.

Четверг, 25 августа, 2011

Попросили меня настроить Ubuntu для работы в интернет кафе, то есть что бы после перезагрузки все настройки пользователя вернулись к исходным но скачанные файлы оставались в папке Загрузки.

Все просто, воспользуемся aufs и tmpfs. (далее…)

Смена часового пояса в Ubuntu

Пятница, 19 августа, 2011

Интерактивная смена часового пояса из консоли выполняется командой:

dpkg-reconfigure tzdata

DD примеры.

Пятница, 19 августа, 2011

Нашел на просторах иностранного интернета.

  1. Создание ISO образа компакт диска
    dd if=/dev/cdrom of=image.iso bs=2k
  2. Создание образа с дискеты
    dd if=/dev/fd0 of=floppy.img
  3. Залить образ обратно на дискету
    dd if=floppy.img of=/dev/fd0 bs=18k
  4. Создание файла reallylargefile размером 1Gb заполненный случайными данными
    dd if=/dev/random of=reallylargefile count=2M
  5. Тоже, что и выше, но более быстрое но менее криптоустойчивое :
    dd if=/dev/urandom of=reallylargefile count=2M
  6. Тоже что и выше, но быстрее за счет увеличения размера блока:
    dd if=/dev/urandom of=reallylargefile count=256k obs=4096
  7. Создание файла размером 10Gb с именем virtualpartition, заполненный нулями, и доступный как ext2 виртуальный раздел:
    dd if=/dev/zero of=virtualpartition bs=1M count=10k
    mke2fs virtualpartition
    (ответить yes, когда ругнется, что это не блочное устройство)
    dd if=/dev/zero of=virtualpartition bs=1M count=10k
    mkdir /mnt/virtual
    mount -o loop virtualpartition /mnt/virtual/
  8. Создать файл 10Gb без выделения реального пространства (если операционная система это поддерживает)
    dd if=/dev/zero of=sparsefile.img bs=1 seek=10G count=0
  9. Скопировать первый раздел первого жесткого диска в файл partitionone
    dd if=/dev/hda1 of=partitionone
  10. Чтобы скопировать первый IDE-жесткий диск на второй IDE-жесткий диск (устройства подставляйте свои), т.е. клонировать диск, включая файловые системы, таблицы разделов и главную загрузочную запись
    dd if=/dev/hda of=/dev/hdb
  11. Смотрим, что делает dd, запускаем в другой консоли
    ps aux | grep «dd if» | grep -v grep | awk ‘{system («kill -s USR1 «$2)}’
    В консоли где работает dd будим видеть примерно следующие
    4518809+0 записей считано
    4518808+0 записей написано
    скопировано 2313629696 байт (2,3 GB), 242,181 c, 9,6 MB/c

Внимание следующие примеры опасны, разберитесь что вы делаете прежде чем тупо копировать!!!

  1. Заполняет первый жесткий диск нулевыми байтами, стирая его
    дд if=/dev/zero of=/dev/hda
  2. Это перезаписывает первые несколько блоков, первого жесткого диска из файла, это приводит к потере таблицы разделов
    дд if=funnysong.mp3 of=/dev/hda
  3. Полностью затирает диск данными со звуковой карты 🙂
    дд if=/dev/dsp of=/dev/hda
  4. Перезапись всего диска псевдослучайными данными
    дд if=/dev/urandom of=/dev/hda
  5. Замена всех вхождений строки «Top Secret» на «Доступно!!» на диске /dev/sda (обратите внимание, что количество букв должно совпадать)
    дд if=/dev/sda | sed ‘s/Top Secret/Доступно!!/g’ | dd of=/dev/sda

Описание тут:
www.opennet.ru/man.shtml?topic=dd&category=1&russian=0
www.opennet.ru/man.shtml?topic=dd&category=8&russian=0
www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506

Как узнать pid запускаемой программы из скрипта.

Вторник, 21 сентября, 2010

Для примера я написал скрипт test.sh, где ищем pid для запускаемой команды sleep в место нее может быть запущена любая программа.

$ cat test.sh
#!/bin/sh
#в переменной $$ находится pid этого скрипта
echo "pid скрипта = "$$
#Для примера запустим команду sleep на 5 мин. в переменной $! будет pid запущенной нами команды
sleep 300 &
pid=$!
echo "pid="$pid
ps waux | grep $pid | grep -v grep
#или так, в этом примере sleep будет 10 мин для отличия
sleep 600 1>/dev/null 2>&1 &
pid=$!
echo "pid="$pid
ps waux | grep $pid | grep -v grep

Запустим скрипт test.sh:

$ sh test.sh
pid скрипта = 9959
pid=9960
rrv       9960  0.0  0.0   9728   828 pts/2    S+   20:58   0:00 sleep 300
pid=9964
rrv       9964  0.0  0.0   9728   824 pts/2    S+   20:58   0:00 sleep 600

Ломаем пароли Authorization: Basic

Понедельник, 20 сентября, 2010

Имеем: Доступ до роутера.

Требуется: получить доступ до сайта пользователя с Basic авторизацией

Решение:
1. на роутере выполняем команду

tcpdump -i em3 -p -s 0 -w /home/rrv/tcpdump.txt \(dst host XX.XX.XX.XX and dst port 80\)

тем самым мы сохраним в файл /home/rrv/tcpdump.txt дамп общения с сервером ip=XX.XX.XX.XX и портом 80

2. спустя некоторое время ищем в файле строку авторизации:

tcpdump -s 0 -A -r /home/rrv/tcpdump.txt | less

Находим строку вида:

 Authorization: Basic QWRtaW46VG9wU2VjcmV0

Теперь раскодируем:

echo "QWRtaW46VG9wU2VjcmV0" | openssl enc -base64 -d
Admin:TopSecret

Все 🙂 Логин: Admin пароль: TopSecret