23 окт. 2010 г.

Как быстро открыть порты в рутере на ArchLinux

Иногда приходится заранее в настройках рутера прописывать проброс портов. Многие программы работают и используют UPNP для того, что открыть порты на рутере, поэтому в ручной настройке необходимости не возникает. Однако бывает необходимость настроить проброс портов на рутере посредством UPNP вручную, что достаточно просто.
Необходимо первоначально установить пакет miniupnpc:
yaourt -S miniupnpc
Далее пробросить порты командой:
upnpc -a 192.168.1.1 5005 6005 TCP
где 192.168.1.1 - ip-адрес вашего сетевого интерфейса, подключённого к рутеру,
5005 - для примера порт сетевого интерфейса
6005 - для примера порт, открытый во вне на рутере
TCP - протокол, по котором будут передаваться данные.
Можно также удалить перенаправление, узнать статус, получить список перенаправлений, с помощью дополнительных ключей программы upnpc.

Резервное копирование гигабайтов данных почти бесплатно с Wuala

Давно использую для резервного копирования фотографий, а это у меня порядка 30 гигов, с помощью сервиса Wuala почти бесплатно.
Для начала объясню вкратце, что Wuala это сервис облачного хранения данных как и многие другие, однако у него имеется также несколько отличий. Необходимо установить клиент программы, он написан на java, и поэтому имеются версии под все популярные ОС. Клиент способен эмулировать отдельный диск для удобства в работе. Бесплатно выделяется 1 гигабайт места хранения. Клиент имеет некоторые функции социальной сети, так файлам можно открывать доступ для друзей, для всего мира. Через клиент можно легко искать открытые файлы других пользователей. Доступ к файлам также возможен через веб-интерфейс. Возможности пользователей по использованию сервиса различны, как указано, бесплатно выделяется 1 гигабайт, и отсутсвует ряд важных функций, которые доступны для ПРО пользователей, а именно: резервное копирование, синхронизация и версии файлов. Стать ПРО пользователем можно несколькими способами.
Первое, как обычно, оплатить денежку, существует масса тарифных планов, можно выбрать.
Второе более интересно, а имеено продать (обменять) своё дисковое пространство в обмен на место хранения в сети. Если ваш компьютер всегда в онлайне, ну хотя бы не менее 4 часов в сутки, то вы можете продать свободное место для хранения Wuala служебной избыточной информации, за что, исходя из количества проданного места, помноженного на процент времени нахождения компьютера онлайн в сети, вы получите определённый объём места хранения в сервисе, а также станете ПРО пользователем с доступом к указанным выше функциями. Плюс ещё, клиент можно поставить на разных машинах, между которыми можно проводить синхронизацию информации, резервное копирование (при этом одни и те же данные учитываются в сервисе единожды, т.е. не тратите место дубликатами), и самое главное, продаваемое вами место хранения суммируется между разными компьютерами. Первоначально, например, если вы хотите обменять 20 гигов, вам не датут больше 10% от указанного объёма, но со временем ограничения спадут, как только предоставленный Вами объём будет использован сервисом wuala по назначению, т.е. по мере заполнения. Рекомендую сразу ограничить скорость отдачи и скачивания в сервисе, т.к. активность будет частая, как по закачке, так и наоборот.
Так я "продал" (обменял) 60 гигов, с учётом того, что среднее время в сети компьютера составляет 95,11%, полученное место составило 57 гигов. Также на другой машине я обменял ещё 25 гигов. Настроил на разных копьютерах резервирование данных раз в сутки и могу получить доступ ко всем сохранённым данным из клиента на любой машине. Плюс место хранения в сервисе можно получить до 6 гигабайт с помощью рефералов по полгига с каждого на год, как и в любом другом сервисе. Надеюсь сервис вам пригодится.
Принцип работы таков, что создаётся на машине папка (диск), файлы которых хранятся в сервисе. Функция резервирования настраивается с помощью клиента через меню Файл, резервировать можно любую папку на машине, резервируемые данные доступны через сервис только для чтения. Возможно настроить периодичность проверки резервируемых данных, указав не только период, но и время резервирования. При этом поддерживаются функции версий файлов, т.е. возможно восстановить предыдущие версии из резерва, а также удалённые файлы, копии которых оказываются в корзине сервиса.
Ещё отмечу, что перевод на русский в клиенте присутствует, однако немного кривоват местами, но всё же понятен.
И ещё, данный сервис Wuala использую для резервирования, но от Dropbox не отказываюсь, т.к. использую последний в основном для оперативной синхронизации данных.

17 апр. 2010 г.

dropbox, ntfs-3g и kde4

Как-то обновил установленный клиент dropbox до экспериментальной ветки 0.8. Использовал KDE4, и, не обратив на связь между указанным событием, заметил, что кеды стали очень и очень медленно отзываться, щелкнув, можно было не дождаться появления меню и тп. Первоначально грешил на новую видеокарту nvidia, которая была установлена примерно в это время. Переустанавливал различные версии драйверов, результата не дало. При этом в других графических окружениях, при запущенном dropbox, каких-либо минусов не было замечено.
Проблема оказалась в следующем: на машине установлена и винда, и арч, при этом дропбокс установлен и там, и там. И чтобы не иметь на винте дважды одну папку dropbox, под арчем использовал символьную ссылку на папку, находящуюся на разделе, форматированном под ntfs, и поэтому при работе под кедам dropbox как-то странно и интенсивно использует раздел ntfs, что драйвер ntfs-3g "съедал" до 63% от 4 ядер проца. Что странно... Пока решение окончательного не нашёл, может действительно придётся иметь 2 папки dropbox на винте.
И ещё раз напоминаю, что регистрация на дропбоксе по реферальной ссылке даёт к 2 гигам дополнительно 250 мегабайт бонуса, регистрируйтесь.

22 февр. 2010 г.

makeworld или пересобирём всё под archlinux

Дано: ноутбук с процессором Celeron 430M, установлен ArchLinux i686.
Надо: пересобрать все (или почти все) пакеты под указанный процессор.
Имеется ещё другой настольный комп с процессором Core2Quad, с помощью которого будем всё пересобирать.
Для начала нужно вытащить с ноутбука список всех установленных пакетов, для можно использовать подобный скрипт:
pacman -Q | awk '{ print $1 }' | sort > /tmp/pacman-installed.tmp
pacman -Qm | awk '{ print $1 }' | sort | comm -3 /tmp/pacman-installed.tmp - > /tmp/pacman-to-reinstall.tmp

Где в итоге в файле /tmp/pacman-to-reinstall.tmp получаем сортированный список всех установленных пакетов
Рекомендую выборочно почистить данный список от пакетов, пересобирать которые смысла (времени) нет, типа openjdk2 или openoffice-base.
Далее копируем полученный файл на машину, которая будет пересобирать пакеты (хотя можно и пересобирать на том же ноуте, но это неоптимально по времени).
Для удобства создал 2 папки build и maded, в последней дополнительно папку prescott, в которой будут находиться пересобранные пакеты.
Также нужно скопировать файл /etc/makepkg.conf в ~/maded/makepg-prescott.conf и подправить флаги следующим образом:
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Потом просто запускам скрипт следующего содержания:
cd ~/build/
for pkg in $(cat /tmp/pacman-to-reinstall.tmp); do

mkdir $pkg
cd $pkg
echo y | yaourt -G --noconfirm $pkg
makepkg -scf --noconfirm --config ~/maded/makepkg-prescott.conf
if mv *.pkg.tar.gz ~/maded/prescott/; then
echo $pkg >> ~/build/done-prescott.txt
else
echo $pkg >> ~/build/error-prescott.txt
fi
cd ..
rm $pkg -r
done

В итоге в папке maded/prescott будут находиться полученные пакеты, файл ~/build/done-prescott.txt будет содержать список пересобранных пакетов, а файл ~/build/error-prescott.txt список пакетов, которые пересобрать не получилось.
Если процесс прервётся по какой-либо причине, вам будет известно, какие пакеты обработаны, поэтому просто можно запустить процесс вновь, удалив обработанные пакеты из файла /tmp/pacman-to-reinstall.tmp
Далее просто нужно перенести полученные пакеты на ноутбук (в моём случае) и установить командой sudo pacman -U *.pkg.tar.gz
Подобным образом можно пересобрать пакеты под необходимую вам архитектуру, изменив соответствующие флаги и параметры.
К примеру, можно так сразу собрать пакеты, оптимизировав под несколько разных процессоров, сэкономив на трафике и скорости, в данном примере под prescott и athlon-xp:
cd ~/build/
for pkg in $(cat /tmp/pacman-to-reinstall.tmp); do
mkdir $pkg
cd $pkg
echo y | yaourt -G --noconfirm $pkg
makepkg -scf --noconfirm --config ~/maded/makepkg-prescott.conf
if mv *.pkg.tar.gz ~/maded/prescott/; then
echo $pkg >> ~/build/done-prescott.txt
else
echo $pkg >> ~/build/error-prescott.txt
fi
makepkg -scf --noconfirm --config ~/maded/makepkg-athlon-xp.conf
if mv *.pkg.tar.gz ~/maded/athlon-xp/; then
echo $pkg >> ~/build/done-athlon-xp.txt
else
echo $pkg >> ~/build/error-athlon-xp.txt
fi
cd ..
rm $pkg -r
done

Небольшие рекомендации при пересборке пакетов, можно в файле /etc/sudorers добавить строки:
user ALL=NOPASSWD: /usr/bin/pacman
user ALL=NOPASSWD: /usr/bin/pacdiffviewer
user ALL=NOPASSWD: /usr/bin/abs

где вместо user укажите свой логин, это нужно для запуска указанных программ без ввода пароля.
Также заранее запустите abs, и используйте вместо yaourt его форк yaourt-abs, для чего скачайте файлы отсюда и запустите команду makepkg -sci

28 янв. 2010 г.

odt2doc или как конвертировать odt в другой формат

UPDATE: способ, изложенный в данной статье, устарел, смотрите актуальную информацию здесь.

 
Везде и всегда использую OpenOffice, уже привык и основным для меня форматом хранения документов является odt, в нём есть масса плюсов, но и один минус, по работе необходимо использовать не его, а всем известный doc.
Вот и сегодня понадобились документы в формате doc, т.е. нужно было срочно сконвертировать массу файлов odt в doc.
Порыскав в сети, нашёл PyODConverter, т.е. решение есть, но смущало следующее, что нужно новым сконвертированным файлам иметь то же время создания, модификации, что и первоначальный файл в формате odt дабы очень нужно.
Пришлось быстро с помощью AutoIt3 написать под "окна" небольшую программу odt2any, суть которой в следующем.
Если запустить программу без параметров, то обрабатываются файлы odt в текущем каталоге, иначе в параметре можно указать необходимый каталог.
В файле настройки odt2any.ini имеются следующие параметры:
OO="OpenOffice.org 3" - это путь к установленному OpenOffice в каталоге "Program Files", для разный версий он может разниться.
ext="doc" - итоговый формат, можно указать иной, в т.ч. rtf, txt.
delete=0 - если параметр равен 1, то исходный файл odt будет после конвертирования удалён.
UPDATE: Добавлен параметр int="odt" по умолчанию, которые определяет тип исходного файла, т.е. можно конвертировать почти любые поддерживаемые OpenOffice типы файлов в аналогичные автоматом, это нововведение вызвано было необходимостью конвертирования файлов формата docx в обычные doc.
Самое главное, программа устанавливает время создания, модификации полученного файла таким же, что и исходное - то что и требовалось получить.
Ещё, перед конвертированием, в любом случае, рекомендую сделать бекап, т.к. всё же возможны случаи, что полученный текст не будет соответствовать оригиналу, часто так сбоят таблицы в текстовом документе.
Выкладываю для загрузки архив со следующими файлами:
odt2any.au3 - скрипт AutoIt3
odt2any.exe - его скомпилированная версия
odt2any.ini - некоторые изменяемые настройки
DocumentConvertor.py - сам скрипт конвертирования
Если вы желаете, вы можете всегда внести дополнительные изменения (иной исходный формат и т.д.) в скрипт и скомпилировать с помощью AutoIt3.
Скачать последнюю версию можно отсюда.
Особые пожелания в необходимости внесения изменений в программу с моей стороны не забудьте направить мне.

UPDATE: оказалось, что ссылка на архив битая, исправил.