Как-то обновил установленный клиент dropbox до экспериментальной ветки 0.8. Использовал KDE4, и, не обратив на связь между указанным событием, заметил, что кеды стали очень и очень медленно отзываться, щелкнув, можно было не дождаться появления меню и тп. Первоначально грешил на новую видеокарту nvidia, которая была установлена примерно в это время. Переустанавливал различные версии драйверов, результата не дало. При этом в других графических окружениях, при запущенном dropbox, каких-либо минусов не было замечено.
Проблема оказалась в следующем: на машине установлена и винда, и арч, при этом дропбокс установлен и там, и там. И чтобы не иметь на винте дважды одну папку dropbox, под арчем использовал символьную ссылку на папку, находящуюся на разделе, форматированном под ntfs, и поэтому при работе под кедам dropbox как-то странно и интенсивно использует раздел ntfs, что драйвер ntfs-3g "съедал" до 63% от 4 ядер проца. Что странно... Пока решение окончательного не нашёл, может действительно придётся иметь 2 папки dropbox на винте.
И ещё раз напоминаю, что регистрация на дропбоксе по реферальной ссылке даёт к 2 гигам дополнительно 250 мегабайт бонуса, регистрируйтесь.
17.04.2010
22.02.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
Надо: пересобрать все (или почти все) пакеты под указанный процессор.
Имеется ещё другой настольный комп с процессором 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
Ярлыки:
arch
28.01.2010
odt2doc или как конвертировать odt в другой формат
Везде и всегда использую 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 будет после конвертирования удалён.
Вот и сегодня понадобились документы в формате 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.
Скачать последнюю версию можно отсюда.
Особые пожелания в необходимости внесения изменений в программу с моей стороны не забудьте направить мне.
Ещё, перед конвертированием, в любом случае, рекомендую сделать бекап, т.к. всё же возможны случаи, что полученный текст не будет соответствовать оригиналу, часто так сбоят таблицы в текстовом документе.
Выкладываю для загрузки архив со следующими файлами:
odt2any.au3 - скрипт AutoIt3
odt2any.exe - его скомпилированная версия
odt2any.ini - некоторые изменяемые настройки
DocumentConvertor.py - сам скрипт конвертирования
Если вы желаете, вы можете всегда внести дополнительные изменения (иной исходный формат и т.д.) в скрипт и скомпилировать с помощью AutoIt3.
Скачать последнюю версию можно отсюда.
Особые пожелания в необходимости внесения изменений в программу с моей стороны не забудьте направить мне.
Ярлыки:
docx,
openoffice,
windows
01.12.2009
Переход с ext4 на ext3
В этой статье ранее было рассказано, как сконвертировать reiserfs до ext4, точнее до ext3 c помощью anyfs, а потом уже до ext4 стандартными средствами.
Поэтому аналогично указанным в статье действиям возможно конвертировать любую файловую систему, в том числе и ext4, до ext2/3 без лишних хлопот, просто пропустите шаг обновления с ext3 до ext4.
Испытано на себе, когда возникла необходимость переносной винт, форматированный под ext4, подключить и использовать с бытовым HD-медиаплеером, который мог читать только ext3, не выше.
Поэтому аналогично указанным в статье действиям возможно конвертировать любую файловую систему, в том числе и ext4, до ext2/3 без лишних хлопот, просто пропустите шаг обновления с ext3 до ext4.
Испытано на себе, когда возникла необходимость переносной винт, форматированный под ext4, подключить и использовать с бытовым HD-медиаплеером, который мог читать только ext3, не выше.
Ярлыки:
arch,
ext4,
filesystem
20.10.2009
Настройка vpn pptp под arch
Случилось мне временно использовать проводного провайдера Beeline, который проводной, на оффсайте ничего не написано, как и что под линукс настроить для соединения, а вот про винду и макось написано.
Пришлось повозиться. Для начала при использовании vpn pptp под ArchLinux рекомендую ознакомиться с вики.
Далее действуем по инструкции, с некоторыми замечаниями.
В /etc/rc.conf для интерфейса, подключённого к проводу, для примера eth0, указываем строку
eth0="dhcp"
Автоматически, таким образом, будут получены настройки ip-адреса и dns, при этом шлюз по умолчанию у меня не установился, поэтому пришлось добавить в /etc/rc.local следующие строки:
route add 213.234.192.8 gw 10.117.24.1
route add 85.21.192.3 gw 10.117.24.1
route add 85.21.140.65 gw 10.117.24.1
где 10.117.24.1 шлюз для интерфейса eth0, получаемый через dhcp, узнать можно командой
ifconfig eth0
Таким образом, было явно указано, как соединяться с dns-серверами и адресом vpn.internet.beeline.ru
Далее можно ручками или следующей командой определить настройки pptp-соединения:
sudo pptpsetup --create bp --server vpn.internet.beeline.ru --username 123456 --password 12345
где вместо цифр укажите свои логин и пароль.
Далее убедитесь, что файл /etc/ppp/options.pptp содержит примерно следующее:
lock
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
Также приведите файл /etc/ppp/peers/bp к следующему содержанию:
pty "pptp vpn.internet.beeline.ru --nolaunchpppd --logstring pptp"
lock
noauth
nobsdcomp
nodeflate
defaultroute
persist
name LOGIN
remotename bp
ipparam bp
где LOGIN - ваш логин, указанный ранее в настройках.
Файл, содержащий пароли, /etc/ppp/chap-secrets, должен иметь строку:
LOGIN bp "PASSWORD" *
где LOGIN и PASSWORD ваши.
Всё, теперь можно подключиться командой:
sudo pon bp
или
sudo pppd call bp
Дабы проверить подключение, можно следующими опциями:
sudo pppd call bp nodetach debug
Отключить соединение можно командой:
sudo poff bp
или все процессы pppd
sudo poff -a
Всё. Для удобства, чтобы соединение происходило при загрузке компьютера, можно добавить в файл /etc/rc.local в конце строку:
pon bp
Теперь всё.
Пришлось повозиться. Для начала при использовании vpn pptp под ArchLinux рекомендую ознакомиться с вики.
Далее действуем по инструкции, с некоторыми замечаниями.
В /etc/rc.conf для интерфейса, подключённого к проводу, для примера eth0, указываем строку
eth0="dhcp"
Автоматически, таким образом, будут получены настройки ip-адреса и dns, при этом шлюз по умолчанию у меня не установился, поэтому пришлось добавить в /etc/rc.local следующие строки:
route add 213.234.192.8 gw 10.117.24.1
route add 85.21.192.3 gw 10.117.24.1
route add 85.21.140.65 gw 10.117.24.1
где 10.117.24.1 шлюз для интерфейса eth0, получаемый через dhcp, узнать можно командой
ifconfig eth0
Таким образом, было явно указано, как соединяться с dns-серверами и адресом vpn.internet.beeline.ru
Далее можно ручками или следующей командой определить настройки pptp-соединения:
sudo pptpsetup --create bp --server vpn.internet.beeline.ru --username 123456 -
где вместо цифр укажите свои логин и пароль.
Далее убедитесь, что файл /etc/ppp/options.pptp содержит примерно следующее:
lock
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
Также приведите файл /etc/ppp/peers/bp к следующему содержанию:
pty "pptp vpn.internet.beeline.ru --nolaunchpppd --logstring pptp"
lock
noauth
nobsdcomp
nodeflate
defaultroute
persist
name LOGIN
remotename bp
ipparam bp
где LOGIN - ваш логин, указанный ранее в настройках.
Файл, содержащий пароли, /etc/ppp/chap-secrets, должен иметь строку:
LOGIN bp "PASSWORD" *
где LOGIN и PASSWORD ваши.
Всё, теперь можно подключиться командой:
sudo pon bp
или
sudo pppd call bp
Дабы проверить подключение, можно следующими опциями:
sudo pppd call bp nodetach debug
Отключить соединение можно командой:
sudo poff bp
или все процессы pppd
sudo poff -a
Всё. Для удобства, чтобы соединение происходило при загрузке компьютера, можно добавить в файл /etc/rc.local в конце строку:
pon bp
Теперь всё.
02.10.2009
Передача данных быстро и серьёзно.
У всех, не секрет, torrent ассоциируются только с нарушением авторских прав в виде закачек кина и тп, но использование по назначению торрентов можно решать срочные задачи передачи каких-либо данных.
К примеру, нужно передать напрямую через интернет какие-либо данные, торренты в этой ситуации чуть ли не лучшее решение, т.к. передача будет продолжаться даже после обрыва связи с какой-либо стороны, смены динамического ip-адреса, будет докачиваться только то, что у принимающей стороны нет.
И главное, это не так муторно, как кажется.
Для начала создаём торрент-файл на отдающей стороне, можно любым клиентом, можно с помощью командной строки - с помощью программы createtorrent:
createtorrent -a http://tracker.openbittorrent.com/announce -l 4194304 DIR dir.torrent
В данном примере анонсирующим трекером указан бесплатный анонимный трекер от создателей thepiratebay, на оффсайте всё написано, как и почему можно считать этот трекер безопасным.
Далее указан размер части, в примере указан 4 мегабайта, по умолчанию 256 килобайт, после указано наименование передаваемого файла или каталога, и в конце имя создаваемого торрент-файла.
Стравливаете торрент-файл клиенту на отдающей машине, можно, проще и быстрее, с помощью rtorrent, указав клавишей Enter путь к торрент-файлу, Ctrl+O - путь к данным, Ctrl+S - запустив раздачу.
Осталось просто передать торрент-файл принимающей стороне, вариантов тьма, та же электронная почта, ssh или dropbox ... и тп.
Такой способ передачи необходимых файлов не раз спасал меня.
13.08.2009
Dropbox с поддержкой локальной сети
На форуме dropbox представлена эксперементальная ветка клиента 0.7.x с поддержкой локальной сети P2P, т.е. если 2 или более клиента одного пользователя используют для соединения один ip-адрес, то они постараются соединятся для синхронизации с друг другом, поэтому теперь, сбросив файл на одной машине, другие получат его не из внешней сети, а по локальной сети напрямую.
Если нужно 250 мегов сверху, регистрируйтесь по этой ссылке)))
Если нужно 250 мегов сверху, регистрируйтесь по этой ссылке)))
Ярлыки:
dropbox
Подписаться на:
Сообщения (Atom)