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

2017-09-12

Файлы с фото: упорядочиваем имена

Недавно вернулся из поездки, притащил оттуда фотки аж на трёх фотоаппаратах. Так уж получилось: Honor 8 Pro хорошо умеет делать фотографии в условиях низкой освещенности и на него можно сделать селфи, Note 4 поражает четкостью и насыщенностью в нормальных условиях, но на него селфи не сделаешь (попала пыль в переднюю камеру), а Canon EOS 1100D и вовсе не телефон, а полноценная камера, хоть и старенькая, но как минимум с оптическим зумом.

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

В итоге, скачанные c одной камеры файлы называются датой-временем, типа 20170830_121103.jpg, на другой - тоже самое, но с неотключаемым префиксом IMG_20170830_121103.jpg, а Canon и вовсе лепит снимки с номерами по возрастанию: IMG_5678.JPG. Как их теперь объединить в один упорядоченный по имени файловый массив, да еще и соблюсти хронологию?!... Ах да, дополнительая беда: перед съемкой я совершенно позабыл выставить на них одинаковое время... 

Ругать кроме себя некого, но можно все-таки попробовать разобраться. Мне помогла замечательная утилита exiftool из пакета libimage-exiftool-perl. Она умеет читать EXIF-информацию из файла (не только из картинок, кстати) и производить над ней несложные, но чертовски востребованные мной операции. Используем её, чтобы получить все файлы с именами типа 20170830_121103.jpg.

Итак, среди двух страниц разнообразных тегов нам нужен только CreateDate, его можно получить так:

$ exiftool -CreateDate IMG_5555.JPG
Create Date                     : 2017:09:03 15:20:01

Воспользуемся специальной опцией -d, чтобы преобразовать время как можно ближе к будущему имени файла:

$ exiftool -CreateDate -d "%Y%m%d_%H%M%S.jpg" IMG_5555.JPG 
Create Date                     : 20170903_152001.jpg

Разобьем строку на два поля по двоеточию, возьмем второе и срежем первый символ:

$ exiftool -CreateDate -d "%Y%m%d_%H%M%S.jpg" IMG_5555.JPG | awk -F':' '{print substr($2,2)}'
20170903_152001.jpg


Теперь, если переименовать все файлы по внутреннему тегу, получим единообразие, но из-за расходящегося времени снимки могут потерять хронологию и смотреть (а тем более комментировать) такое слайдшоу будет немного дискомфортно.

Не отчаиваемся! Выбираем одну из камер, которая будет "эталоном". Берем вторую, наблюдаем разницу во времени, хоть с точностью до секунды (но обычно это минуты или даже часы, из-за разных таймзон). Пусть это будет 24 минуты, например. 

Используем опцию exiftool -globalTimeShift, указывая аргументом ей это самое смещение (знак впереди указывает в каком направлении надо сдвинуть временную метку). И натравливаем нижеприводимый скрипт на файлы этой камеры:

#!/bin/bash

for fname in *.JPG; do
  newname=$(exiftool -CreateDate -globalTimeShift "+0:0:0 0:24:0" -d "%Y%m%d_%H%M%S.jpg" $fname | awk -F':' '{print substr($2,2)}')
  mv "$fname" "$newname"
done

Если камер несколько, вычисляем для каждой из них свое смещение от "эталонной", меняем в скрипте зачение аргумента -globalTimeShift и натравливаем на файлы с фотографиями.

Ура, готово! Теперь все файлы называются единообразно, упорядочены по времени, и только внутри у них в EXIF по-прежнему сохранено исходное значение.

В моем случае это не важно, но если нужно, то всемогущий exiftool может и это исправить тоже. 

man exiftool ;)


2012-04-18

Случайно зашел в новостной раздел debian.org и узнал, что 15 апреля лидером снова выбрали Stefano Zacchiroli, и он поставил своеобразный рекорд, став первым лидером с непрерывным трехлетним стажем. Правда, он тут же оговорился, что этот год - последний, и, в частности, добавил:

I'm flattered by the trust that Debian members have put in me in the past, and now renewed with this election. I've a lot of admiration for democratic processes, and I couldn't be happier to have been chosen to serve as DPL for another year. I suspect my agenda for the year will be quite packed and, in parallel, I'll do my best to make myself replaceable.

В моем вольном переводе:

Я снова польщен доверием участников Debain на этих выборах. Я восхищен демократическими процессами и не мыслю большего счастья, чем служить проекту еще один год на этом посту. Подозреваю, что мой график будет максимально насыщенным, но постараюсь при этом сделать все от меня зависящее, чтобы быть заменимым.

По-моему, слова по-настоящему мудрого лидера, особенно про заменимость...

Отсюда

2009-12-24

Linux на Лаптопе

Linux в качестве серверной ОС - весьма привычное решение, зато на ноутбуках подавляющее большинство людей по-прежнему подразумевают Windows. Эту ситуацию немного подломили нетбуки, стартовавшие в лице Asus EEE именно с linux. Купив два года назад Asus F7Sr, я решил оставить там "родную" Windows Vista Home Premium, дабы насладиться щедрым даром Microsoft, типа ТВ-тюнера или интеграцией с домашним кинотеатром. Реальность оказалась ужасна, но, к счастью, недавно сдох винчестер, и мне предоставился шанс начать все с чистого листа винта. Займет ли его снова лицензионная Vista?

2009-02-17

Debian 5.0

Вышел новый Debian 5.0.

Теперь бинарные пакеты размещаются уже на 5-ти DVD.... Растем!

2008-11-04

Linuxcenter - rulez!

После долгих раздумий, решился на покупку LilyPad Arduino Main Board:



Резюме: просто не выдержал, захотелось поиграться на праздниках.

А теперь по-порядку о том, как я все это провернул. Рабочим субботним утром я сформировал заказ из трех позиций:
Почему?

Первая позиция - самая низкая цена на Arduino в Петербурге, кроме того есть на складе. В отличие от нормальных Arduino, на ней нет USB, и поэтому необходима вторая позиция (конечно, если только у вас не завалялся программатор от AVR). Ну и третье - прикольная штука, одним словом - пiнгвiнятко.

Позвонил по телефону, получил подтверждение того, что заказ можно забрать в этот же день, поехал ближе к закрытию - короче, решил испытать магазин Линукс-центра на прочность.

Найти дорогу даже с моим врожденным топографическим кретинизмом было несложно, благо на сайте есть снимок со спутника и серия фотографий "как к нам пройти" (кстати, если будете искать - пингвина на самом деле нет, он подфотошоплен на последней фотографии, а вот Москвич 49-48 ЛДД с предпоследней так и стоит - памятник архитектуры!).

За дверью "Мезон.Ру" я обнаружил небольшое помещение с несколькими комнатами, сопровождаемое неотъемлемыми атрибутами склада - многоэтажными полками-стеллажами, заваленными знакомыми предметами - например, журналом LinuxFormat.

Получив вожделенный заказ (кстати, USB/Serial Converter оказался последний), я вежливо попрощался и собрался уйти восвояси, но не тут-то было! Девушка сурово спросила меня:

- Подождите! А какой Linux вы используете в быту?

На мой ответ Debian я тут же получил в качестве бонуса три наклейки на корпус компьютера. Дальше я увидел, что девушка вынимает мне номера LinuxFormat-а и запротестовал - объяснил, что и так уже подписал свою фирму аж на два экземпляра. Однако, уклониться от периодических изданий мне не удалось: узнав, что наша контора не выписывает Системный Администратор, девушка торжественно вручила мне три летних номера.

Я снова попытался робко попрощаться, но тут мне опять было велено обождать: через три минуты мне вынесли кружку Debian (как выяснилось, тоже последнюю).

Я был практически в немом восхищении, но все-таки набрался глупости спросить, почему столько подарков, неужели так мало покупают? На что мне ответили следующее:

- Что вы, покупают, как раз, много! Но мы - интернет-магазин, живых людей видим редко. Но как не сделать подарок человеку, если видно, что он понимает?

Я еще раз попрощался и ушел, тронутый до глубины души. Если задуматься, не столь важна халява, но то, что подарок сделан это не из корыстных маркетинговых соображений, а от чистого сердца. Ведь именно так дарю подарки я сам: не важно, сколько он стоит для меня, важна его ценность для человека, которому даришь...

Тем не менее, вот мои трофеи:



Хочу отметить гениальный маркетинговый ход с мягкой игрушкой Tux-ом: если бы не прикольное описание, я бы не обратил на него внимания:

Пiнгвiнятко Лiнукс - культовой персонаж для любого Линуксоида !
Сшит добрыми тетушкамi на Донецькой фабрikе iграшек, по идее производителя должен служить для оформления iгровых кiмнат...
За ненадлежащее использование LinuxCenter ответственности не несет !

Покупая, я думал, что где-то есть бирочка, что он действительно зроблiн в Украiне. Но нет - ничего подобного я не обнаружил. С другой стороны, обманутым я себя не почувствовал, потому что игрушка очень симпатичная, Tux-а так и хочется потискать. Еще он оказался немного крупноват - явно не для монитора, скорее для телевизора:

2008-09-22

BK650EI и Debian

С тех пор, как в моей серверной кладовке сдох UPS, я мечтал выкроить время для поиска нового. В отпуске масса свободного времени, и можно спокойно погружаться в поиски. Конечно же, главный критерий - оно должно быть совместимо с Linux.

Предыдущий ИБП был Powerman BackPro 600Plus, типа dumb. Это такой простейший тип
источников, которые подключаются по RS-232, но выдают только два сигнала: факт наличия напряжения в розетке и "батарея близка к разряду". Со стороны компьютера подается сигнал "выключить питание".

У dumb-источников есть один серьезный минус: почти все они игнорируют команду выключения при наличии питания в розетке, т.е. некорректно себя ведут в ситуации power overrun. Как это выглядит?

Допустим, выдан сигнал "батарея почти разряжена", компьютер начинает процесс shutdown-а, и тут (о чудо!) напряжение в розетке снова появляется. Не спешите радоваться!

Если бы питание в розетке не появилось, ИБП по команде обесточил бы компьютер и включил бы его обратно по появлению. А так - он его не обесточит, компьютер никогда не выключится, а следовательно и не перезагрузится, навсегда повиснув на шаге "подать сигнал shutdown на ИБП".

Это можно победить исключительно совершенствуя shutdown-скрипт, например добавив простое выжидание времени работы от разряженной батареи (помноженное для надежности на два ;) с последующей перезагрузкой. Тогда данные будут гарантированно целы, power overrun - побежден, время восстановления - увеличено. Не идеально, но работает.

Решив шикануть на остаток отпускных, я присмотрелся к UPS-ам, которые ведут себя более разумно (smart-но :). Поскольку расспрашивать продавцов в компьютерных магазинах по поводу совместимости с Linux категорически нельзя (начинают читать надписи на коробках, копаться в документации, расспрашивать коллег и даже изучать сайты производителей - при наличии компа с инетом - как правило, все безрезультатно), надо предварительно сделать это самостоятельно. Сначала надо почитать UPS HOWTO, оно даст основные знания. Однако, не ждите там списка совместимого оборудования. Для этого надо отправится на сайты популярных UPS-демонов:

1. Network UPS Tools (NUT): оборудование, поддерживаемое стабильной и нестабильной ветками.

2. Apcupsd: список критериев, по которым можно ориентироваться, чтобы не промахнуться. К слову сказать - номер кабеля отлит на корпусе разъема USB, т.е. нанесен "черным по черному"

Какого демона выбрать? Ответ прост: если вы запали на ИБП от APC, то выбирать надо apcupsd, в противном случае - nut. Архитектура и настройка у них немного отличается, но в основных идеологических моментах они похожи.

Не даром APC спамили меня мылом и макулатурой на протяжении трех лет! Можно сказать, я сдался. Самая доступная модель - Back-UPS CS 500, но вот как раз данные о ее совместимости содержат какие-то оговорки. Видимо, надо будет кабель переделывать, а хочется включить и сразу работать. Поэтому, я остановил свой выбор на Back-UPS CS 650 (в простонародье модель BK650EI), благо он еще и нужной формы: высокий и узкий, а не в виде колбаски с квадратным сечением и уже тем более не в форме беременного сетевого фильтра.

В комплекте идут два весьма добротных кабеля для подключения нагрузки, кабель для подключения телефонной линии, драгоценный кабель для подключения USB. Все остальное
можно смело выкинуть, включая диски и бумажки (ну, кроме гарантийной). Внимание! Как это не смешно, кабель c вилкой для
подключения к силовой сети отсутствует. Хотя, именно он-то как раз и освобождается при подключении компьютера к ИБП.

Подключаем питание через ИБП, соединяем кабель USB к компьютером, включаем. В dmesg мы должны увидеть строчку:

hiddev96: USB HID v1.10 Device [American Power Conversion Back-UPS CS 650 FW:817.v4.I USB FW:v4] on usb-0000:00:1d.0-1

Далее apt-get install apcupsd, редактируем конфигурацию. К слову, можно брать готовую конфигурацию из архива примеров:

gunzip /usr/share/doc/apcupsd/examples/usb.conf.gz
cp usb.conf /etc/apcupsd/apcupsd.conf


Для данной модели надо выбирать режим usb, приблизительное содержимое конфигурации будет таким:

UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock

Запускаем все это и тестируем:

/etc/init.d/apcupsd start
apcaccess status

На выходе мы должны получить список величин и вполне человеческих значений. Я с интересом узнал, что в розетке сейчас 218 Вольт; UPS загружен на треть; прогнозируемое время работы - 17 минут:


MODEL : Back-UPS CS 650
UPSMODE : Stand Alone
STARTTIME: Mon Sep 22 00:11:35 MSD 2008
STATUS : ONLINE
LINEV : 218.0 Volts
LOADPCT : 34.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 17.2 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 230.0 Volts
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 180.0 Volts
HITRANS : 266.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 13.6 Volts
LINEFREQ : 50.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B0815X06598
BATTDATE : 2008-04-08
NOMBATTV : 12.0
FIRMWARE : 17.v4.I USB FW:v4
APCMODEL : Back-UPS CS 650


Таким образом, основная задача достигнута: несколько простых движений, и оно работает. Дальше можно заняться "тонкой" настройкой, благо файлы конфигурации хорошо документированы.

2008-05-27

Debian woman



Вот так вот - Дебиан для женщин. Самое интересное, что я туда попал по ссылке с информацией о том, как собирать .deb-пакет из исходников.

2007-01-16

Памятка

Как делать бинарный пакет Debian из исходников:
  • Идем на страницу бинарного пакета (например, сюда), внимательно смотрим в самом низу страницы после More Information on... ссылки на файлы и качаем три - исходный тарболл (orig.tar.gz), пакованный diff (diff.gz) и описание(dsc)
  • Натравливаем на это дело dpkg-source -x файл.dsc получается новый каталог с исходниками, которые правильно пропатчены.
  • Делаем cd этот замечательный каталог и запускаем dpkg-buildpackage -rfakeroot -b
  • Уровнем выше получаем вожделенный пакет, готовый к установке в нашей системе :)
Вообще, конечно, FAQ

2006-10-24

Debian Sarge

Произвел эксперимент по установки Debian Sarge 3.1r3 на домашний комп. Новый инсталлятор и система детекта оборудования сначала порадовала наличием, а потом обломала тем, что загрузила ~30 модулей устройств, что вызвало отказ со стороны сетевой карты что-либо передавать.

Поставил в expert-моде, с ядром 2.6. Ничего так, все-таки завелось, на лаптопе.