Архив рубрики: Linux

Простой скрипт для бэкапа MySQL баз

#!/bin/bash

# Variables
CNF=/etc/mysql/debian.cnf
BACKUPDIR=/var/backups/mysql/
DATE=`date +%F`
OLDDAYS=7

# Main part
for DATABASE in `echo SHOW DATABASES | mysql —defaults-file=${CNF} —skip-column-names`;do
BACKUPNAME=${BACKUPDIR}${DATABASE}.sql.${DATE}
BZBACKUPNAME=${BACKUPNAME}.bz2
echo Dumping ${DATABASE} into ${BZBACKUPNAME}
mysqldump —defaults-file=${CNF} ${DATABASE} > ${BACKUPNAME}; bzip2 -f ${BACKUPNAME}
done

# Deleting old backups

find ${BACKUPDIR} -mtime +${OLDDAYS} -delete

Дампит и сжимает базы данных.
Можно (и нужно) добавить его в крон, например:

00 05 * * * root /usr/local/sbin/mysqlbackup.sh

P.S. Ах да, это юбилейный, сотый пост в моём бложике:)

Автор: AlexWinner

Ubuntu (Debian) — устанавливаем VirtualBox 4.0.6

VirtualBox 4.0.6 устанавливается в Ubuntu очень просто. Все описано вот здесь: http://www.virtualbox.org/wiki/Linux_Downloads . Если вкраце, то должны быть следующие действия:
Выбираем нужную строчку по версии операционной системы из этого списка:

deb http://download.virtualbox.org/virtualbox/debian maverick contrib non-free
deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free
deb http://download.virtualbox.org/virtualbox/debian karmic contrib non-free
deb http://download.virtualbox.org/virtualbox/debian hardy contrib non-free
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
deb http://download.virtualbox.org/virtualbox/debian lenny contrib non-free

Например, для Ubuntu 10.04 нужна строка

deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free

Добавляем ее в конец файла /etc/apt/sources.list.
Затем скачиваем ключ репозитория и добавляем его в apt:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

После чего обновляем репозитории и устанавливаем VirtualBox:

sudo apt-get update
sudo apt-get install virtualbox-4.0

Автор: AlexWinner
Дата публикации: 2011-04-26T05:20:00.000-07:00

Linux — меняем кодировку для всех файлов в директории

for file in `find . -type f`; do iconv $file -f cp1251 -t utf8 -o ${file}_tmp; mv ${file}_tmp $file; done

Рекурсивно меняет кодировку для всех файлов в текущей директории из cp1251 в utf8.

По следам прошедшего Open Source Summit'а

 

Календарь существующих курсов позволил мне побывать на этом прекрасном мероприятии. Организация была на высоте, было много чего интересного. На всех секциях побывать не удалось, главным образом, потому что не получилось разорваться :).
Сначала о выступлениях в торжественной части.

Первым выступал директор Департамента государственной политики в области информационных технологий и координации информатизации Минкомсвязи России с докладом на тему — «Создание национальной программной платформы. Разработка приложений, основанных на использовании СПО» — г-н Милашевский И.А. На доклад, естественно, он вышел с ноутбуком от Apple и презентациями, сделанными в самом популярном офисном приложении (к слову, из всех выступающих только у Марка Шаттлворта были слайды в PDF 🙂 ). Доклад был посвящен основным вопросам, которые необходимо будет решить для создания национальной операционной системы. В частности:

  • создание на базе организуемых дата-центров эталонной сборочной среды, в которой можно будет гарантировать целостность и воспроизводимость сборки конкретных приложений;
  • организация публичного репозитория, где будут находиться собираемые приложения.

 

Было также много других вопросов, но они ничем не отличались от публичных заявлений других чиновников по поводу Национальной платформы, так что я сразу перейду к самому интересному — выступлению Марка Шаттлворта.
Марк начал с обращения к присутствующим по-русски, сказав, что немного знает русский язык, но поскольку он его знает не в том объеме, чтобы читать на нем доклад — он продолжит по-английски. Само выступление касалось множества политических и организационных вопросов (я предвижу, что его за это будут «пинать» многие линуксоиды, которые вечно всем недовольны). Доклад начался с того, что на сегодняшний день Linux и все, что его окружает (движение Open Source), становится мейнстримом всей IT-сферы. Все технологические новинки появляются в первую очередь здесь — это виртуализация, новомодные облачные вычисления. Linux неумолимо пробирается на телефоны, встраиваемые устройства, начинает предустанавливаться на новые ноутбуки.
В то же время, если мы хотим ориентироваться на что-то большее, чем серверные решения, — в этом случае необходимо предложить решения «из коробки». Огромный недостаток Linux в том, что пока таких решений мало. И Canonical пытается решить именно эти вопросы. Что нужно большинству людей — чтобы после установки система просто работала, находила все необходимые драйвера для подключаемых устройств (естественно, что для этого необходимо, чтоб они были 🙂 ). В частности, Марк упомянул, что, например, при внедрении Linux в российские школы многие столкнулись с тем, что не со всеми версиями дистрибутива работал драйвер «электронной доски». И именно проблема с недостатком драйверов пока является самой большой и самой «неудобной» для массового внедрения Linux.
Следующее перспективное направление — снижение «фрагментации» Linux-сообщества путем создания глобальной экосистемы. Ни для кого не секрет, что сейчас сообщество сильно разделено. Многие работают над одним и тем же одновременно, распыляя усилия и плодя множество однотипных проектов. Ведь OpenSource, как движение, и создавался для того, чтобы можно было по максимуму использовать уже существующие решения, доводя их до ума, а не изобретать каждый раз велосипед заново. Не поддается сомнению и то, что помимо глобального сообщества, работающего над мейнстримом, необходимо учитывать локальные проблемы. Тут Марк опять упомянул российские проблемы с «электронной доской».
Следующая проблема — это то, что существующая инфраструктура компаний-продавцов «железа» и программного обеспечения построена вокруг проприетарного ПО. Это одно из самых перспективных направлений. И акцент тут нужно делать не на бесплатности Linux, а на предложении пользователям тех возможностей, которых нет у «конкурирующих» систем: гибкость, простота использования, открытые стандарты и т.п.
И, конечно же, самое главное — это не повторить ситуацию 80-х годов и путь Microsoft. Сейчас в мире многое меняется и нельзя замыкаться в рамках каких-то границ (будь-то государственные границы или социальные), интересов. Необходимо сохранить то, чем всегда отличалось движение программ с открытым исходным кодом. — глобальная совместная работа над многими проектами. Соответственно, нужно менять и бизнес-подходы, позволяющие получать прибыль на свободном ПО, не повторяя историю успеха всеми «любимой» корпорации.
Следующим выступлением было «Информационно безопасные технологии на основе свободно распространяемых исходных кодов». Доклад читал первый заместитель начальника Центра ФСБ России Баранов А.П. Его выступление было, скажем так, очень спорным. В основном оно касалось вопросов государственной сертификации операционных систем ФСТЭК и создания на их основе решений для обеспечения безопасности государственной информации. По затратам на сертификацию и последующую доработку ОС под государственные требования нет никаких различий между Windows, Linux и BSD. Более того, докладчик посчитал, что в Linux серьезные проблемы с драйверами устройств, даже P’n’P там работает не так хорошо, как в Windows. Он объяснил это так — все производители «железа» работают прежде всего с Microsoft, поэтому и драйвера для Windows появляются раньше. Еще одна проблема Linux — недостаток прикладного ПО. А все потому, что Microsoft лучше стимулирует и направляет разработчиков своего ПО, поэтому оно у них и лучше и качественнее. Поэтому по прикладному ПО Linux так и будет отставать, потому что курировать разработку некому. В свете программы создания национальной платформы необходимо создать государственную структуру, которая будет курировать разработку такого прикладного ПО, необходимого госкомпаниям.
Следующая проблема для массового внедрения Linux — во многих государственных компаниях есть свое ПО, которое они не хотят переписывать под другую систему.
По возможностям, связанным с обеспечением безопасности данных, г-н Баранов считает, что система, «созданная из кусочков», гораздо менее безопасна, чем целостная и монолитная система от одного производителя. Для госцелей и для Windows и для Linux была создана своя система мандатного доступа. Для Windows она существует в виде отдельного диска, доустанавливающего все после установки базовой системы. Сама компания Microsoft не возражает против такой модификации своей операционной системы (еще бы она возражала — прим. автора.). Докладчик также отметил, что вследствие открытой модели разработки программисты под Linux и BSD-системы менее квалифицированы, чем их коллеги, пишущие программы под сами знаете что. Именно поэтому, затраты на создание мандатной системы доступа для Linux были гораздо больше, чем под Windows.
Следующий доклад читал директор ИПИ РАН Соколов И.А. на тему «ТП НПП в контексте общих задач разработки ПО в России». Свое выступление он начал со слов, что несогласен со многими положениями предыдущего докладчика, но формат встречи не позволяет дискутировать и если кто хочет поучаствовать в дискуссии — то следует это сделать в специальное время в отдельной секции. Основные тезисы его выступления:

 

  • Многие организации хотят участвовать в разработке национальной ОС, поэтому необходимо с самого начала решить проблему координации усилий, для чего необходимо создать регулирующий госорган.
  • Программирование, как таковое, давно стало отдельной отраслью научного знания.
  • Производительность труда программистов выросла в несколько раз, благодаря новым языкам программирования, множеству существующих алгоритмов и повторному использованию кода.
  • Разработка ПО глобализуется, потому что компьютер и программы становятся неотъемлемой частью нашей жизни и потребность в ПО растет.

 

Последним докладом, на котором я присутствовал, было выступление г-на Петренко А.К., заведующего отделом технологий программирования ИСП РАН на тему «Свободное программное обеспечение, открытые технологии и открытые стандарты». Начал он с того, что из себя представляет свобода ПО в понимании Free Software Foundation и положений GPL. Я не буду это тут писать, потому что, думаю, многие с этим знакомы. Главным преимуществом свободного ПО докладчик считает возможность изучать код, учиться и учить других, зарабатывать на распространении и экономить на лицензиях, строить международные партнерства.
При создании национальной ОС необходимо разработать адекватную систему оценки качества создаваемого ПО — по результату, а не по статусу компании-разработчика. В качестве основного критерия результативности предлагается принять количество патчей, принятых международным сообществом.
Основные риски свободного ПО (по мнению заказчиков) — его низкое качество и технологическое отставание, что не является истиной. На сегодняшний день многие крупные компании, включая Microsoft, курируют проект, связанные с ПО с открытым исходным кодом.
Планируемые результаты, которые планируется получить от использования национальной ОС:

 

  • Экономия государственных затрат за счет повторного использования программного обеспечения;
  • Приоритетная поддержка проектов, занимающихся научными исследованиями в области разработки программного обеспечения. Для этого необходимо разработать новую систему оценки конкурентных заявок по IT-проектам. По мнению докладчика, тут самым главным должна быть открытость полученных результатов, что позволит оценивать результат честно.
  • Государственная поддержка центров компетенции по ключевым направлениям.

 

После перерыва я переместился в секцию, где состоялась встреча Марка Шаттлворта с участниками сообщества Ubuntu. Ему задавали множество вопросов. Попробую тут привести некоторые из них по памяти:
Вопрос: Зачем нужна разработка Unity, если есть GNOME/KDE/что-то еще? Какова на сегодняшний день стабильность Unity?
Ответ: Пользователям системы нужно простое и удобное решение «из коробки». Имеющиеся среды не удовлетворяют таким требованиям. Например, если есть прекрасное решение, которое чтобы довести до ума нужно долго настраивать — оно не будет никому нужно. На настоящий момент Unity находится в активной разработке, именно поэтому разработчики Ubuntu до сих пор не решили — стоит ли включать ее в грядущий релиз. При разработке активно используется помощь простых людей «с улицы», которых сажают за систему и просят выполнить какую-то простейшую операцию, например, подключить веб-камеру, сделать с ее помощью снимки и выложить их на Facebook. Если человеку это удалось, значит интерфейс прост и удобен.
В качестве бета-тестеров Unity и Ubuntu участвуют и родители Марка. Он привел такой пример, что у его родителей на протяжении 6 лет стояла Ubuntu и когда он купил им новый ноутбук с Windows 7 — они сказали ему: «Убери эту неудобную гадость и поставь нам Ubuntu».
В: Что думает Марк Шаттлворт о конкуренции с Google Chrome OS? Какие будут его действия, если победит Google?
О: Конкуренция идет на пользу конечным пользователям и ее Марк не боится. Пусть пользователи выберут то, что считают нужным. Но лично для него хранить свои приватные данные где-то в облаке Google — странно. Он не может доверять кому-либо свои данные, в обмен на честные глаза. Но это лично его мнение и пусть каждый решает за себя сам.
В: Планирует ли компания Canonical выпускать планшеты и наладонники с Ubuntu на борту?
О: Да, если будет такой спрос.
Молодые люди с форума Ubuntu снимали все на камеру и потом обещали выложить видео, так что думаю, желающие смогут найти позже в сети эти записи.
Затем я переместился в секцию, где директор по продажам компании Canonical Пол Хольт и инженер по политике продаж Борис Девоуг делали доклад о корпоративных решениях для закачиков. Небольшой нестыковкой было то, что слайды были переведены на русский язык, поэтому докладчики выступали «вслепую» :). Но свой текст они знали на пять баллов, поэтому не ошиблись ни разу.
С саммита мне пришлось уйти раньше, о чем я сильно сожалею, но надеюсь, что подобное событие произойдет и на будущий год :).

Автор: stranger

linux: обои в виде планеты linux realtime wallpaper Earth

Давным-давно я сделал себе обоину в виде автоматически обновляющейся карты земли с облаками и освещённостью. Сейчас вспомнил и вернул на рабочий стол. Сама карта лежит на http://www.die.net/earth/ . Периодически обновляется, типа в реальном времени. Инструкций в инете полно, вот и моя с некоторыми ремарками, без которых первая попавшаяся из них у меня не заработала.

Из известных мне карт там находятся (цифра — это ширина, есть и другие, я взял самую большую из известных):
http://static.die.net/earth/mercator/1600.jpg
http://static.die.net/earth/rectangular/1600.jpg
http://static.die.net/earth/hemisphere/1600.jpg
http://static.die.net/earth/mollweide/1600.jpg
http://static.die.net/moon/512.jpg

Будем пользоваться довольно классическим способом — выкачивать wget-ом в заранее определённый файл, который указан в вашей DE как картинка рабочего стола.

Итак, все без исключения инструкции советуют делать так:

wget -N -O /home/dimon/wallpaper.jpg http://static.die.net/earth/mercator/1600.jpg

И делать это через шедулер с периодом в 5 минут.

Но здесь кроется очень много косяков. От половины из них оно не работает вообще, от половины работает некорректно. В итоге способ совершенно нерабочий.

Во-первых, параметры -O и -N несовместимы принципиально. И вместе НЕ работают. И в мане это написано. Вернее, не работает, конечно из них -N, ибо он отвечает за опцию проверки по таймштампу. И если файл не обновился, то он заново не выкачивает. А -O отвечает за выходной файл, НО как следствие, все входящие документы оно указывает объединить в один, т.е. понятно почему -N при этом работать не может? Можно оставить, конечно и так, если непринципиально, но смысл выкачивать постоянно по полметра есть не всегда. Так что лучше пользоваться параметром -P и задавать каталог назначения для всех скачанных файлов.

Во-вторых, сервер не отдаёт файлы wget-у. Уж не знаю с какого времени это началось, но факт остаётся фактом — плохим юзерагентам отдаётся пустой gif-ный пиксел. Паскудство, будем указывать юзерагента. Ну, любой возьмите реальный, хотя я писал просто “Mozilla”.

В-третьих, период запроса файла в 1 минуту приведёт к бану. Но, возможно, в моём случае просто регулярно глючило. Но, в любом случае, опыты показали, что картинка обновляется лишь раз в полчаса: где-то в начале каждого часа и где-то в начале второй половины часа. Так что можно запрашивать и раз в 15 минут, например.

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

wget -N -U Mozilla -P /home/dimon/temp http://static.die.net/earth/mercator/1600.jpg

Я ещё добавил -a /home/dimon/temp/wallpaper.log , чтобы логгировать все запросы (для интереса, потом можно убрать).

Я запрашивал через обычный cron, через

$ crontab -e

и дальше добавляем задание:

*/15 * * * * wget -N -U Mozilla -a /home/dimon/temp/wallpaper.log -P /home/dimon/temp http://static.die.net/earth/mercator/1600.jpg

Можно делать через gnome-schedule, никакой разницы, если кому-то он интересен.

Автор: Дмитрий

Изготовление презентаций из Asciidoc с помощью Beamer

В одном из недавних постов я говорил, что из Asciidoc-разметки можно сделать много всяких разных выходных форматов. Среди всего прочего, можно делать и презентации. Не слишком «навороченные», правда, но для многих случаев этого хватает.

Схема такая:

Сначала из Asciidoc делаем DocBook. Это можно сделать командой вида asciidoc -b docbook input.txt. Только вот по такой команде получится файл в формате DocBook 4.5, а моя XSL-таблица понимает только DocBook 5.0+. Поэтому берём конфигурационные файлы asciidoc для изготовления DocBook 5.0, например, отсюда, и даём команду вида

asciidoc -b topic input.txt

Получается файл input.xml. Теперь берём XSL-таблицу, преобразующую DocBook 5.0+ в TeX-овский исходник, например, здесь (эта таблица заведомо не полная, но для моих задач хватает; кому не хватит — добавляйте туда свои шаблоны :)), и даём команду вида

xsltproc beamer.xsl input.xml > presentation.tex

Ну а теперь компилируем этот исходник командой вида

xelatex presentation.tex

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

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

Автор: Portnov