Tag Archives: линукс

Памятка: avr-gcc, компиляция

Необходимые компоненты:

port install avr-gcc avr-libc

Создание объектного файла, линковка и получение исполняемого модуля:

avr-gcc -g -Os -mmcu=attiny2313 -c main.c
avr-gcc -g -Os -mmcu=attiny2313 -o main.elf main.c
avr-objcopy -j .text -j .data -O ihex main.elf main.hex

Заливка:

avrdude -c usbasp -p attiny2313 -U flash:w:main.hex

Hint: reptyr

Hint from serverfault.

My office job routinely sees me connected to a Linux box via VNC.

Sometimes I start a remote job on the console, and realize later that it runs much longer than expected. (Should have started that one under Screen in the first place…)

I don’t want to keep my workstation running overnight just to keep the VNC session open; I would like to move that already-running remote job into a Screen session (on the remote box), so I can power down the workstation (and reconnect next morning).
DevSolar

Solution:
reptyr — A tool for «re-ptying» programs.

reptyr is a utility for taking an existing running program and attaching it to a new terminal. Started a long-running process over ssh, but have to leave and don’t want to interrupt it? Just start a screen, use reptyr to grab it, and then kill the ssh session and head on home.
«reptyr PID» will grab the process with id PID and attach it to your current terminal.

After attaching, the process will take input from and write output to the new terminal, including ^C and ^Z. (Unfortunately, if you background it, you will still have to run «bg» or «fg» in the old terminal. This is likely impossible to fix in a reasonable way without patching your shell.)

OS X: Migrating to SSD «properly»

Today our target is to migrate OS X from 250GB Hitachi HDD to 160GB OCZ solid-state drive. To do it in proper way we have to take into account a few things:

  • partitions must be aligned to increase drive performance
  • GPT uses unique IDs, that is why we shouldn’t just duplicate all data from one drive to another, but create a new partition table
  • we have to use TRIM for our new SSD to increase drive life
  • it would be nice to enable noatime mount option for filesystems on SSD to minimize writes to it

It is strongly recommended to create a full image backup of your HDD first!
If it all goes wrong this is the only way you are going to get everything back.

Continue reading

Gentoo + GPT + LVM + RAID5. Brain dump

Установка Gentoo на систему без EFI, с программным RAID5, возможностью расширять хранилище до гигантских размеров с помощью разметки дисков с GPT и настройки LVM поверх рейда. Для загрузки используется Grub2.

Continue reading

Best way to compress Fraps video

Для сильного сжатия видео, записанного с помощью утилиты Fraps, можно использовать набор библиотек ffmpeg. При этом ролики сжимаются с размера порядка 1ГБ до 50МБ без особо заметных потерь качества картинки и звука.

Для Windows

Упёрто здесь.

I’ve written a couple bat files that I use for encoding my Fraps recordings (quickly and well). First up, I have the lossless variation incase I’m doing mostly static desktop recordings:

SETLOCAL ENABLEDELAYEDEXPANSION
SETLOCAL ENABLEEXTENSIONS
for /F "delims=;" %%A IN ('dir /b *.avi') DO (
ffmpeg -i "%%A" -acodec ac3 -ab 192000 "%%~nA.ac3"
ffmpeg -i "%%A" -vcodec rawvideo -f yuv4mpegpipe -an -pix_fmt yuv420p - | x264.x64 - --stdin y4m --crf 0 --bframes 5 --b-adapt 2 --ref 4 --mixed-refs --no-fast-pskip --direct auto --deblock -3:-3 --subme 10 --trellis 2 --analyse all --8x8dct --me umh --output "%%~nA.noaudio.mkv"
mkvmerge -o "%%~nA - lossless.mkv" --forced-track 1:no -d 1 -A -S "%%~nA.noaudio.mkv" --forced-track 0:no -a 0 -D -S "%%~nA.ac3" --track-order 0:1,1:0
del "%%~nA.ac3"
del "%%~nA.noaudio.mkv"
)
pause

For the other one, I use a lossy mode that’s pretty indistinguishable between the source and the encode in motion:

SETLOCAL ENABLEDELAYEDEXPANSION
SETLOCAL ENABLEEXTENSIONS
for /F "delims=;" %%A IN ('dir /b *.avi') DO (
ffmpeg -i "%%A" -acodec ac3 -ab 192000 "%%~nA.ac3"
ffmpeg -i "%%A" -vcodec rawvideo -f yuv4mpegpipe -an -pix_fmt yuv420p - | x264.x64 - --stdin y4m --crf 19 --bframes 5 --b-adapt 2 --ref 4 --mixed-refs --no-fast-pskip --direct auto --deblock -3:-3 --subme 10 --trellis 2 --analyse all --8x8dct --me umh --output "%%~nA.noaudio.mkv"
mkvmerge -o "%%~nA.final.mkv" --forced-track 1:no -d 1 -A -S "%%~nA.noaudio.mkv" --forced-track 0:no -a 0 -D -S "%%~nA.ac3" --track-order 0:1,1:0
del "%%~nA.ac3"
del "%%~nA.noaudio.mkv"
)
pause

Continue reading

Mount point permissions, OS X NFS sharing. Brain dump

Задача: есть комп загруженный с Gentoo LiveCD, в нём имеется жёсткий диск с инфой, которую нужно быстро и не заморачиваясь расшарить для макоси. И чтоб не было никаких The folder «shared» can’t be opened because you don’t have permission to see its contents.

На лине:

mount -t ntfs -o rw,users,uid=65534,gid=65534,umask=0000 /dev/sda1 /mnt/shared/
echo '/mnt/gentoo *(rw,no_root_squash,sync,anonuid=65534,anongid=65534,insecure,no_subtree_check)' >> /etc/exports
/etc/init.d/nfs restart

В OS X:
Finder → Go → Connect to server… (⌘K) → Server Address:
nfs://192.168.0.1/mnt/shared

Возможные косяки:

  • Неправильные права доступа для самой шары (конкретно в нашем случае — /mnt/shared имеет достаточные для работы права Access: (0555/dr-xr-xr-x) Uid: (65534/ nobody) Gid: (65534/ nobody));
  • Недостаточные права в /etc/exports. В этом примере роль играет опция insecure;
  • Неправильно введён адрес сервера или путь к расшаренной директории со стороны макоси;
  • Настройками файрвола зарезан NFS с одной из сторон.

Continue reading

Тюнинг Electrolux Z 9122

Около двух месяцев назад я обзавёлся этим нехитрым устройством от Electrolux. Два фильтра, вентилятор, не самая сложная печатная плата, — всё это аккуратненько ввёрнуто в весьма посредственного качества корпус. Пары дней использования хватило, чтобы понять, что уйма ярких голубых светодиодов в этом устройстве способны раздражать сильнее шума, создаваемого на максимальных оборотах. Кстати, в первых двух режимах (Silent, I) девайс бесшумен, как это и заявлено в рекламе, а в третьем (II) сравним с тихо шуршащим неподалёку компютером. Уровни III и Turbo действительно не для слабонервных, но оно того стоит. Проверено во время пожара в близлежащих гаражах, когда всё затянуло вонючим чёрным дымом. Очиститель профильтровал комнату за считанные минуты, почти не оставив запаха. Так что рекламирую и рекомендую ;-)

Continue reading

Верификация e-mail: сложный путь. Brain dump

Иногда приспичивает сделать что-то сложно и мучительно, just for fun, так вот один из тех случаев.

Скачать SMTP honeypot: smtphoneypot.zip

Скрипт ковырялся давно, подробностей не помню, так что коротко. Ситуация примерно следующая: имеется некий хост, на котором поднят веб-сервер. Провайдер предоставляет динамический IP-адрес и категорически запрещает трафик на порты 80, 25, 22 и некоторые другие. Также пользуемся услугами DynDNS чтобы попадать на этот хост по адресу, например, что-то.gotdns.org и центром CAcert для подписи наших сертификатов, при этом очень хочется генерить и подписывать сертификаты на имя что-то.gotdns.org, а злобному касерту подавай проверку с помощью электронной почты, что данный домен принадлежит нам.

Continue reading

Zabbix, grsecurity: graph with no data

Sometimes zabbix creates empty graph with [no data] caption. However, in «latest data» there are some values with current timestamp, so it might seem like zabbix_server is gathering info properly. There might be nothing particular in log files also, which makes this problem quite difficult to resolve. This might be happening because of system running grsecurity patch which doesn’t allow zabbix and other users to read /proc filesystem.

Continue reading

Вышла первая бета-версия CRM/биллинга NetProfile

Вышла первая публичная бета-версия open-source системы CRM и биллинга абонентов для провайдеров и IT-подразделений NetProfile. В функционал NetProfile входят:

  • Иерархическая база учёта абонентов/контрагентов.
  • Система отслеживания ошибок и задач.
  • Управление сетями, доменами, хостами и т. п.
  • Автосоздание конфигураций для DNS- и DHCP-серверов.
  • Ведение базы сетевых устройств (включая поддержку SNMP).
  • Real-time биллинг абонентов (RADIUS), включая учёт трафика в обоих направлениях, времени и т. д.
  • Создание и учёт платёжных документов.
  • Интеграция с платёжными системами.
  • Виртуальная файловая система, с поддержкой WebDAV и возможностью прикрепления файлов к различным объектам.
  • Возможность экспорта различных объектов в LDAP и многое другое.

Компоненты системы написаны на C, PL/SQL, PHP и JavaScript. Системные компоненты выпускаются под лицензией LGPL3+, web-интерфейс — AGPL3+. Для ознакомления с системой доступен образ LiveDVD.

Страница проекта: http://www.netprofile.ru/

Automatic sync with update and glsa check

The script does the following:
1) emerge sync
2) emerge -pvuD world
3) check for packages which can be upgraded but aren’t shown by ’emerge -pvuD world’
4) list all glsa vulnerabilities
5) email the output of the previous commands (except for the sync output of course).
6) download (not emerge!) all packages needed for ’emerge -pvuD world’

Continue reading