событие
12 коммент.
С нами сила
И уверенность в победе!
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
dh_make --createorigи пишем, что пакет собрали мы сами, после чего:
debuildи наблюдаем, как за несколько мгновений собирается Midnight Commander. Сборка должна пройти без проблем, и полученный deb-пакет легко и просто ставится:
dpkg -i mc_4.6.3-1_i386.debНа этом установка mc завершена, существующий Midnight Commander будет обновлён до версии 4.6.3. После этого набираем привычное mc и наслаждаемся. Вот как выглядит Midnight Commander у меня в Yakuake:
\begin{enumerate}\item это первое,
\item это первое,
\item а это второе,
\item и последнее.
\end{enumerate}
1. это первое,2. а это второе,
2. а это второе,
3. и последнее.
http://mydebianblog.blogspot.com/feeds/posts/default?orderby=published&max-results=5
\begin{spacing}{0.9}и в списке литературы:
\tableofcontents
\end{spacing}
\begin{spacing}{0.9}
\bibliographystyle{plain}
\bibliography{refs}
\end{spacing}
\let\oldthebibliography=\thebibliography
\let\endoldthebibliography=\endthebibliography
\renewenvironment{thebibliography}[1]{%
\begin{oldthebibliography}{#1}% \setlength{\parskip}{0ex}%
\setlength{\itemsep}{0ex}%
}%
{%
\end{oldthebibliography}%
}
\singlespacingИли вот так:
\onehalfspacing
\doublespacing
\setstretch{1.1}
\begin{doublespace}Этого должно хватить для начала набора текста диплома в LaTeX.
This paragraph has \\ double \\ line spacing.
\end{doublespace}
\begin{spacing}{2.5}
This paragraph has \\ huge gaps \\ between lines.
\end{spacing}
Был один парень, который хотел поучаствовать в сообществе Федора и внести свой вклад в развитие дистрибутива. Обычно, когда новые участники приходят, они пишут письма в списки рассылки. В середине 2007 мы получили письмо, которое написал простой парень по имени Рикки - он хотел поддерживать инфраструктуру серверов Федоры, и для начала разработать новый сайт с лучшим usability. В письме Рикки написал, что он студент. В общем, ничего удивительного в этом не было, так как в сообществе Федора очень много студентов, которые пишут документацию для проекта или помогают развивать пользовательские приложения. И этот парень переделал многое в сайте, написал код для автоматического перевода страницы на другой язык. В общем, Рикки внёс очень большой вклад, и он вложился в то, что будет видеть любой зашедший на федоровский сайт. Рикки хотел сделать хороший сайт для Федоры, и он задался целью. Один человек сделал то, чего он хотел и помог проекту.
Мы пригласили Рикки к нам, в главный офис РедХата, там было 2000 людей, провести вместе выходные. РедХатовцы были готовы оплатить перелёт, проживание и всё остальное, но Рикки приехал сам, благо жил не далеко. Планировалось провести время неформально, с распитием пива и дружеским общением. И вот он пришел. Пришёл с мамой - ему 16 лет, а в США очень строгие законы насчёт того, с какого возраста можно употреблять алкоголь. Так вот его мама сказала: слушай, Рикки, ты конечно иди, но позвони нам и мы тебя заберём на машине до того, как все остальные напьются :-)В общем, Макс подчеркнул, что если кто-то хочет помочь проекту, то это сделать проще, чем многие думают. Не обязательно писать код - есть форумы, блоги, ответы в IRC-каналах и тому подобное. И в этом есть небольшая проблема. Вот есть люди, которые пассивно используют Федору - идут в Гугл, ищут ответы на свои вопросы и, если что-то не работает, просто выбрасывают её и ищут что-то ещё. Есть такие, которые пишут код, статьи и помогают новичкам на форумах. Вот самая большая проблема - перенести больше людей из первой группы во вторую.
Материалы сайта "Записки дебианщика" написаны virens и доступны на условиях лицензии Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Unported License. Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях
1) обязательной ссылки на автора (virens, http://mydebianblog.blogspot.com/) и
2) распространении любых производных работ на условиях этой же лицензии (ссылка на эту лицензию обязательна!).
Это означает, например, что вы можете копировать тексты с этого сайта на свой, помещая ссылки на мой сайт и на условия лицензии, но не можете размещать рядом с этими текстами контекстную рекламу. Пожалуйста соблюдайте условия лицензии.
На всякий случай: активная ссылка в HTML-виде ставится так (например на этот блог):<a href="http://mydebianblog.blogspot.com/">Скопировано из блога "Записки дебианщика"</a>
Получится вот так:Скопировано из блога "Записки дебианщика"
Все довольны и рады, никаких претензий. Что нам и говорит лицензия Creative Commons: <...>Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях 1) обязательной ссылки на автора <...>
К примеру, в своё время я перевёл одну статью, которая мне была интересна - она тут. Не скажу, чтобы я очень хорошо её перевёл (делалось для сдачи тысяч в институте), но тем не менее. Что нам и говорит лицензия Creative Commons: <...>Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях 1) обязательной ссылки на автора <...>
Я никогда особенно не скрывал, что немалая часть постов моего блога написана с использованием материалов других блоггеров или документации к программам; в конце концов, я не являюсь профессиональным разработчиком, а всего лишь пользователем этих программ. Таким образом, часть моих текстов напрямую основана на постах других блоггеров - но, в отличие от многих копипастеров, меня нельзя обвинить в плагиате. Вот вам пример: Евгений Чайкин aka StraNNik в своё время написал коротенький пост про установку LaTeX в Debian. А я как раз думал, как же начать освоение LaTeX и вообще с чего его начать? И тут мне попадается его пост - ба, да это же так просто! И я сделал всё так, как он написал - и у меня всё получилось. Евгению LaTeX был в общем без нужды, о чём он честно и написал далее, а для меня LaTeX стал основным рабочим инструментом. И тут я пишу свою статью об установке LaTeX - частично используя его текст и примеры. Откройте оригинальный пост Евгения и мой в разных вкладках - идея та же, выражена похоже, но автор исходной работы упомянут, ссылки проставлены, претензий нет.
Снова пример. Tigro, читая мои посты про эмулятор QEMU, пишет: "А вот VirtualBox - это то, что действительно работает", и приводит свои аргументы в пользу эмулятора VirtualBox. Лично мне и лично для моих задач такое решение не кажется оптимальным, и я привожу аргументы, где работа с QEMU проще и удобнее. И это хорошо! Пусть каждый опишет ту программу, которая ему больше нравится \ более удобна в силу ряда причин: и авторам от этого лучше (в процессе аргументирования оба лучше изучат описываемую программу), и читателям хорошо (авторы пишут подробно и ссылаются друг на друга - можно выбрать то, что лучше подойдёт).
Кстати, хотелось обратить внимание вот на какой момент. Сейчас (конец 2008 года) блогов появилось довольно много и эта ниша (тематические блоги) в общем подошла к насыщению, на мой взгляд. А вод хороших обозревателей и тех, кто делает подкасты, совсем мало. Если кто-то из читателей подумывает о том, как реализовать свои творческие порывы - подумайте, а не начать ли вам делать подкасты или обзоры?
Например, можно просто закидать нечистотами оппонента в ЛОРовском стиле "ты ламо ушастое"/"быдло красноглазое". Но это не конструктивно не убедительно. Лучше так: "Да ваш линукс ставить трудно" - "А вот ссылка, всё подробно расписано" - "Ну вроде как не сложно, а вот программ не разыщешь!" - "А вот тут они, с описанием". Более того, увидев trackback (обратную ссылку), на форум может зайти и автор поста, и внести в обсуждение комментарии или конструктивную критику.
<blockquote>
Цитата (попёрто <a href="http://mydebianblog.blogspot.com/"> отсюда </a>):
....
кусок текста, который взяли
....
</blockquote>
# taskset -p 1 5907Получаем в ответ:
pid 5907's current affinity mask: 1Задача, таким образом, перекинута на второй процессор.
pid 5907's new affinity mask: 2
# chrt -p 6091В ответ должны получить:
pid 6091's current scheduling policy: SCHED_OTHERЭто значит, что задача теперь будет выполняться неотложно, с минимально возможными задержками (важно при точной синхронизации событий - например, открывание и закрывание затвора фотокамеры при работе с импульсным лазером).
pid 6091's current scheduling priority: 0
-с1 --- реальное время (real time)Для указания параметра приоритета используется ключ -nM, где M - число от 0 (высокий приоритет) до 7 (низкий приоритет).
-с2 --- наилучшая работа (best effort)
-с3 --- бездействие (idle)
# ionice -c1 -n0 -p5812После этого приложению уже никто не помешает монопольно использовать ввод-вывод.
alien IceWMControlPanel-3.2-1.noarch.rpmУтилита должна написать: icewmcontrolpanel_3.2-1.noarch.deb generated
# dpkg -i icewmcontrolpanel_3.2-1.noarch.debУстановка должна пройти без приключений, и после этого получаем множество утилит управления возможностями IceWM, таких как
IceWMCP
IceWMCP-Keyboard
IceWMCP-Mouse
IceWMCP-PySpool
IceWMCP-Wallpaper
IceWMCP-WinOptionsPhrozenClock
IceSoundManager
GtkPCCard
iceme
icepref
icepref-td
IceWMCP-Icons
uninstall-icewm-control-panel
cfdisk /dev/hdb
- Ext3: надёжная, протестированная и многократно проверенная файловая система Linux систем, рекордов скорости не ставит, в большинстве случаев - оптимальный выбор.Далее, по умолчанию в Debian поставлены утилиты ext3. Если нужных нет - ставим:
- ReiserFS: лучший выбор, если на разделе много мелких файлов; большие файлы копирует медленно и ощутимо грузит процессор, так что не для слабых машин.
- Xfs: лучший выбор для файловых хранилищ, особенно файлов огромных размеров (iso-образы дистрибутивов и фильмы).
- Jfs: не быстрая, но весьма стабильная файловая система и нетребовательна к ресурсам - мало грузит процессор и хороша на старых машинах и медленных ноутбуках.
aptitude install reiserfsprogs xfsprogs jfsutilsПосле этого пишем:
sudo mkfs -t типФС /файл/устройствагде вместо типФС подставляем выбранную файловую систему:
sudo mkfs -t ext3 /dev/hdb1На экране будет происходить что-то вроде:
sudo mkdir /mnt/megadriveи даём директории полные права:
sudo chmod 770 /mnt/megadriveИ монтируем:
sudo mount -t ext3 /dev/hdb1 /mnt/megadriveВсё, разделы созданы и отформатированы.
# tune2fs -m 0 /dev/hdb1После этого простому пользователю будет доступно всё место.
Либо сделать так, чтобы проверка происходила реже, например, 1 раз в 100 загрузок:# tune2fs -c 0 /dev/sda1
Просмотреть свойства файловой системы можно командой# tune2fs -c 100 /dev/sda1
и узнать о ней много интересного. Если нужно, конечно.# tune2fs -l /dev/sda1
fdisk -l /dev/sdaв ответ получаем:
Откуда видим: есть три раздела, первый из них (/dev/sda1) это раздел подкачки (500 мегабайт). Второй раздел (/dev/sda2) на 30Гб, трейтий (/dev/sda3) на 120Гб. Активный раздел (который сейчас используется операционной системой) помечен звёздочкой.
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd0f4738c
Device Boot Start End Blocks Id System
/dev/sda1 1 61 489951 82 Linux swap / Solaris
/dev/sda2 * 15567 19457 31254457+ 83 Linux
/dev/sda3 62 15566 124543912+ 83 Linux
df .точка на конце обязательна; получим:
Filesystem 1K-blocks Used Available Use% Mounted onсобственно то же, что и в случае с fdisk -l == именно информацию о разделе.
/dev/sda2 85864764 2733992 83130772 4% /home
В консоли пишем:При этом графический режим должен завестись хоть под каким-то соусом. Дальше алгоритм действий такой: идём в поисковик и пишем "название_видеокарты_здесь linux driver". Я всех ваших видеокарт не знаю, так что вы уж ударьте пальчик о пальчик, пожалуйста.suвводим свой рутовый пароль и идём в каталог /etc/X11 при помощи командыcd /etc/X11либо (что проще) запустив mc. В подкаталоге X11 и ищем там файл XF86Config или xorg.conf и открываем его на редактирование (кнопка F4 в MC), ищем и правим текст (выделено полужирным):Section "Device"То есть вписываем вместо того драйвера, который сейчас у вас написан, драйвер vesa.
Identifier "Generic Video Card"
Driver "vesa"
.....
# aptitude install cupsys gs-esp foomatic-bin foo2zjs cups-pdfвместе со всеми зависимостями. Последний пакет, cups-pdf, добавляет возможность печатать сразу в PDF из любой программы в Linux. Подключение принтеров описывается тут (в картинках). Информация о поддержке моделей принтеров в Linux доступа на официальном сайте проекта CUPS.
aptitude install sane xsaneВсё должно поставиться и настроиться. После этого можно попробовать что-нибудь сосканировать в графическом редакторе GIMP. О поддержке моделей сканеров в Linux узнать на официальной странице проекта SANE.
Пресс-релизКонник Михаил Всеволодович 10 июня 2009 года
Цифровое восстановление изображений
в отображающих системах с оптическим кодированиемАннотация
Диссертация посвящена методам цифрового восстановления изображений в оптических системах, в которых совмещается преимущества оптики и широкие возможности цифровых алгоритмов. Искажая изображение заранее известным образом и затем восстанавливая, можно получить изображения с большей глубиной резкости, компенсировать дефекты оптики или кодировать информацию. В этой работе описывается применение таких систем для надёжного шифрования текстов, напечатанных на бумаге.
В наше время цифровая фотография стала очень распространённым явлением, и даже в мобильных телефонах теперь есть цифровые камеры. Многие, наверное, замечали, что если сфотографировать какой-то предмет и при этом неправильно навести фотоаппарат на резкость, фотография получается очень размытой. На такой мутной картинке мало что можно разобрать.
Оказывается, такое размывание можно использовать, чтобы сделать картинку лучше. Для этого нужно размыть всё изображение, а потом с помощью специальных программ это искажение устранить - и получится, например, картинка с большой глубиной резкости. И теперь вы уж точно не промахнётесь с наводкой на резкость!
Казалось бы - зачем сознательно искажать фотографию, а потом её такими трудами восстанавливать? Не проще ли сразу сфотографировать нормальное изображение: взять объектив получше и фотоаппарат подороже, и проблемы нет.
Оказывается, что не проще. Объективы с большой глубиной резкости это очень дорогие, сложные и хрупкие устройства. Кроме того, оптическим системам приходится работать в жару и холод, под водой и в космосе, и сложные объективы могут не выдержать таких условий.
Поэтому вместо применения дорогих объективов мы добавляем внутрь камеры специальную искажающую пластинку для равномерного искажения снимаемой картинки. То, что вы при этом фотографируете, искажается, но искажается всюду одинаково и это искажение нам известно. После этого мы с помощью специальной программы убираем это искажение, и картинка вновь становится читаемой.
С такими пластинками некоторые из вас сталкивались в лазерных указках. Насадки на лазерные указки превращают яркую точку в какой-нибудь светящийся рисунок - и вот вместо обычной лазерной точки на стене появляется изображение черепа с костями, бабочки или сердечка. Насадка на лазерной указке перераспределяет свет из точки в картинку, записанную особым образом на прозрачной искажающей пластинке внутри насадки. То есть яркая точка становится неким узором. Такие же искажающие пластинки используем и мы в нашей системе, только не для одной точки, а для всего изображения. Фотографируемое изображение, проходя через такой оптический элемент, размывается, но это размывание мы знаем - достаточно посмотреть сквозь этот элемент на яркую точку.
В этой работе мы решили применить эту идею для систем шифрования. У каждого есть что-то, что ему бы хотелось скрыть - от фирменного рецепта яичницы до кодов запуска ракет. Нужно быстро и надёжно зашифровать напечатанный на бумаге документ, чтобы потом хранить его или передать по Интернету куда-нибудь ещё. Для этого мы освещаем листок и снимаем на цифровую камеру, в которой установлена искажающая пластинка, похожая на ту, что в лазерной указке. После этого вместо красивой картинки вы увидите размытое пятно на изображении: оно надёжно закодировано. Вся информация о том, что мы закодировали, хранится в небольших перепадах яркости размытого изображения, и можно сказать, что такой метод шифрования похож на рисование узоров на песке.
Изображение размыто, и ваш документ теперь никому не прочитать. Мы знаем, как картинка размылась, и можем это размывание убрать. Так как нельзя абсолютно точно сфотографировать реальный предмет на цифровую камеру, то дешифрованное изображение будет несколько хуже оригинала - но зато мы получаем очень надёжное шифрование.
Вскрыть такой шифр очень трудно, поскольку размывание в нашей системе очень большое: вместо картинки вы увидите яркое пятно, из которого невозможно угадать ни размер ключа, ни его элементы. Если же вы захотите перебрать все возможные комбинации, использовав для этого все суперкомпьютеры мира взятые вместе, то это будет очень долго. Вы не переберёте и 5% всех вариантов, как потухнет Солнце - после этого будет уже не до шифров.
Чтобы расшифровать такое изображение, нужно применить специальные программы-фильтры, которые компенсируют внесённые искажения в сфотографированную картинку. Эти фильтры очень похожи на те, которыми вы пользуетесь в графических редакторах, когда хотите повысить резкость изображения.
Конечно, такой способ шифрования тоже не идеален. Например, можно подложить шифровальщику специальную картинку, из которой можно выудить ключ, или посветить лазерной указкой на лист бумаги при шифровании. Но это потребует доступа к шифровальной установке, о чём злоумышленникам почти всегда приходится только мечтать.
Поэтому такие системы, сочетающие в себе оптику и цифровую обработку, очень интересны и могут найти применение во многих областях, связанных с быстрой обработкой изображений. Может быть, элементы этих систем появятся в вашей фотокамере или камере мобильного телефона!
Материалы сайта «Записки дебианщика» написаны virens’ом и доступны на условиях лицензии Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Unported License. Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях:
1) обязательной ссылки на автора (virens, http://mydebianblog.blogspot.com/);
2) распространении любых производных работ на условиях этой же лицензии (ссылка на эту лицензию обязательна!).
Пожалуйста соблюдайте условия лицензии Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Авторские права - Михаил Конник aka virens.