Глупый пингвин робко прячет, умный - смело достает...


Архивация динамического списка файлов, с отображением прогресса

Стояла задача - в страшно разветвленной помойке директорий и файлов выцепить все файлы определенных типов и затарить их в архив /tmp/archive.tar.gz. Дополнительно хотелось наблюдать за прогрессом с прогнозом времени выполнения. Было решено средствами find, pv, gawk (только gawk, с mawk не заработало) следующим образом:

find -type f -o -name \*.c -o -name \*.h -o -name \*.xsl -print0 |
    xargs -0 du -bs |
        awk '{s+=$1;sub(/^[0-9]*\t/,"");n=$0"\0"n;printf"scan files: %d\r",++i}END{ORS="";print n|"tar --null -cT-|pv -s "s"|gzip -9> /tmp/archive.tar.gz"}'
0
Ваша оценка: Ничего

Статическая линковка в cmake

Указываем через флаг "DCMAKE_EXE_LINKER_FLAGS":

# cmake -DCMAKE_EXE_LINKER_FLAGS=-static -DCMAKE_INSTALL_PREFIX=/usr  ./
0
Ваша оценка: Ничего
ramok аватар

Как правильно закрыть дескриптор процесса в expect

Если в expect скрипте множество раз вызывается spawn, то нужно уметь правильно закрывать дескриптор процесса. exp_close не достаточно, нужно дополнительно вызывать exp_wait. В противном случае дескриптор не будет освобождаться, и процесс повиснет в виде зомби.

Этот упрощенный скрипт вызывает sensors и выводит каждую секунду только температуру процессора.
Если убрать wait, то будут порождаться зомби.

while 1 {
 
    spawn sensors
 
    expect -timeout 1 -re {Core 0:\s+(\+?[^\s]+)} {
        send_user -- $expect_out(1,string)
        exp_continue
    } timeout {
        close
    } eof {
    }
 
    wait
 
    sleep 1
}
0
Ваша оценка: Ничего

Установка Oracle Java (JRE и JDK) в современные дистрибутивы

Открыв однажды окно "О программе" торрент-клиента/сервера Azureus (Vuze), написанного на Java, я очень удивился, увидев установленную версию Java 1.6.0.22! Но я регулярно читаю новостные ресуры по Linux, и там постоянно пишут, что "вышел корректирующий релиз Java 1.6.0.x+1, в нём исправлено 200 критических уязвимостей...". Какой ужас! Я пользуюсь ОЧЕНЬ старой версией Java, хотя мой дистрибутив самый новый и содержит себе все самые последние обновления!

Что произошло? Выяснилось, что компания Oracle, которая владеет правами на Java, в августе 2011 года отозвала выданную компанией Sun, приобретённой ей, лицензию на поставку Java в дистрибутивы Linux (новость на ресурсе opennet.ru). На старые версии Oracle Java (а именно ветка 1.6 и версия 1.6.0.22 и ранее) это не распространяется, а на более новые версии - распространяется. К счастью, есть OpenJDK, тот же самый Java, код OpenJDK открыт под лицензией GPL. И если для версии 1.6 совместимость между OpenJDK и Sun/Oracle Java была не полной (не удалось открыть примерно 1% исходного кода), то ветвь Oracle Java 1.7 базируется как раз на OpenJDK, и совместимость на этот раз полная (новость на ресурсе opennet.ru).

В этом совете я покажу вам то, как компания Oracle предполагает теперь устанавливать Java пользователям. Не ждите новую Java в обновлениях! Подробности ниже...

0
Ваша оценка: Ничего

Пять способов использовать Linux веб-камеру

(Автор Разван Т.Коложа, February 12, 2008 (9:00:00 PM))

Итак, вы только что установили линукс-совместимую вебкамеру. Протестировали ее в Kopete, теперь вы можете отправлять свои фото в MSN и Yahoo! Что дальше? Вот несколько вещей которые еще можно сделать.

Сделайте видеозаписи
Один из самых простых способов записать видео это использовать mencoder, входящий в пакет mplayer. Используя Video4Linux драйвер, mencoder может получить ввод с веб-камеры и сохранить в несжатый AVI файл. Используйте следующую команду для записи AVI с разрешением 320x240.

$ mencoder tv:// -tv driver=v4l:width=320:height=240:device=/dev/video0 -nosound -ovc lavc -o wcrecording.avi

Предполагается что /dev/video0 используется вашей вебкамерой. Так как моя недорогая камера не имеет микрофона, я использовал опцию -nosound чтоб отключить запись звука.

0
Ваша оценка: Ничего

Экспорт .mbox в gmail

Очень простой способ экспорта .mbox в gmail:
1. Скачиваем отсуда скрипт imap_upload.py.
2. gmail -> Настройки -> Пересылка и POP/IMAP -> Включить IMAP
3. gmail -> Настройки -> Ярлыки -> Создать ярлык (например, Imported)
4. Закачиваем почту из .mbox файла:

$ python imap_upload.py --gmail --box imported my.mbox
0
Ваша оценка: Ничего

Тап на тачпаде - другой метод

ramok предложил интересные варианты - http://linsovet.com/touchpad-enable-tapping - но есть метод (имхо) попроще

# nano /usr/share/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
   Identifier "touchpad catchall"
   Driver "synaptics"
   MatchIsTouchpad "on"
   Option "TapButton1" "1"
   Option "TapButton2" "2"
   Option "TapButton3" "3"
   #...и другие свои опции...
EndSection

проверено на debian 5,6,7, arch, gentoo

#kstn

0
Ваша оценка: Ничего
FrBrGeorge аватар

ImageMagick, png и размер холста

При работе с изображениями в формате PNG не стоит забывать о «размере холста». В частности, утилиты из ImageMagick часто вычисляют смещение и размер, исходя именно из размера холста; чтобы этого избежать, используйте +repage.

0
Ваша оценка: Ничего
ramok аватар

Конфиг tmux с клавишами как у screen

С tmux в примерах идёт конфиг с хоткеями a-la screen, но там нет многого из того что мне нужно.
Пришлось добавлять самому.

0
Ваша оценка: Ничего
FrBrGeorge аватар

Colorfly PocketHiFi и другие нестандартные устройства хранения в Linux

Linux можно заставить работать с нестандартными устройствами, которые видны как USB-флешки, но не распознаются. На помощь приходит параметр quirks модуля usb-storage.

0
Ваша оценка: Ничего

Ethernet on battery

Удивительно, но я долгое время не мог добиться того, чтоб при выключении электропитания на ноуте не выключался eth0. Все как всегда оказалость просто.
Необходимо отредактировать файл /etc/laptop-mode/conf.d/ethernet.conf, а именно параметр:

DISABLE_ETHERNET_ON_BATTERY=0

Запем перезапустить laptop-mode:

$ sudo /etc/init.d/laptop-mode restart
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Оживление запоротого насмерть BIOS

Рассказ о том, как я восстановил свой BIOS после неудачной прошивки coreboot. Примеры прошивки под DOS и Linux, немного фотографий и рассказ об одном из самых брутальных способов оживления мертвой материнки.

http://blindage.org/?p=3827

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Perl, Bash. Генерация сайта: галерея, блог. Управление материалами.

Господа, поделюсь с Вами своей наработкой - генератор сайта с управлением через сеть жаббер.
Bash используется в самом генераторе, а Perl - в боте.
http://storozhenko.org/blog/blog2.html#post121
Это не очередная соц.сеть - а всего лишь применение аналогичной технологии.

Весь сайт http://storozhenko.org сгенерирован данным скриптом, и постоянно обновляется.
В том числе добавляются изображения, музыкальные записи и лента новостей.
Мне уже поступали предложения добавить в бота - возможность постить (отправлять) картинки через жаббер. Возможно что-то Вы предложите :)
Рассматривается возможность создания голосования через бота.
Так же возможно портирование на винду, в виде экзешников.

Ищу людей, которым интересно ботописание и сайтописание, для объединения в команду энтузиастов :)
Всех желающих "добавить что-то от себя" как в код, а так же по вопросам и предложениям - просьба писать сюда, и в личку на жабере, буду рад общению.

Скриншоты:

ramok аватар

Повторить символ заданное количество раз

Повторить символ заданное количество раз

$ printf 'A%.0s' {1..50}
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
$ perl -e 'print "A"x50'
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
$ python -c 'print "A"*50'
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
3.333335
Ваша оценка: Ничего Рейтинг: 3.3 (3 голоса)
ramok аватар

Как вернуть префикс http:// в firefox 7

В firefox 7 по умолчанию отключено отображение "http://" перед адресом.
Вернуть все на место можно в about:config установив browser.urlbar.trimURLs в false

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ooTync аватар

Amarocker: экспорт звёздных треков на плеер, с конвертацией в mp3

Amarok2 позволяет отмечать звёздами понравившиеся треки, однако эта информация хранится в встроенной базе данных. Проблема появляется когда хочется перекачать на плеер только лучшие треки, и не дай бог — сконвертировать их в MP3 чтобы оно всё поместилось!

Скрипт позволяет:
* Получить список звёздных треков
* Залить на плеер звёздные треки, конвертируя их в mp3 (или просто копировать):
* Легко получить mysql-консоль и поковыряться внутри базы Amarok2 :)
* Насильно вписать во ВСЕ звёздные треки метаинформацию о рейтинге (Amarok2 это не делает!)

Теперь можно не бояться что Amarok потеряет базу :)

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
FrBrGeorge аватар

Удаление файлов по rsync

Команда

$ rsync -a /var/empty/ --delete --include 'файл' --exclude '*' каталог-приёмник

удаляет 'файл' из каталога приёмника.

0
Ваша оценка: Ничего
ramok аватар

Как убрать в firefox неправильно набраный пароль

Если неправильно ввести пароль при HTTP Basic Authorization, то firefox запоминает этот пароль и не дает его ввести правильно.

Для того что бы firefox забыл этот пароль нужно выбрать
Edit -> Preference -> Privacy -> clear your recent history -> Ditails Active Logins -> Clear now
Или просто нажать Ctrl-Shift-Del Ж:-)

В vimperator/pendactyl это меню можно вызвать по :dialog cleardata

0
Ваша оценка: Ничего
FrBrGeorge аватар

Просмотр списка дисков и их разделов с помощью lsblk

Команда lsblk выводит список дисков и их разделов целиком и в удобном виде.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Быстрое обновление youtube-dl

Youtube переодически меняет свой интерфейс, и даунлоадеры видео типа youbube-dl ломаются. Это не так критично, так как авторы довольно оперативно все исправляют. Но проблема в том, что эти изменения долго идут к репозиториям дистрибутивов.

youtube-dl имеет специальный ключик для обновления самого себя из авторского репозитория. Достаточно запустить:

$ sudo youtube-dl -U
Updating to latest stable version...
Updated to version 2011.08.04
0
Ваша оценка: Ничего