пятница, 24 февраля 2012 г.

Djvu и просмотр

Традиционно идет DjView, но как оказалось Evince немного удобнее

kvm, lvm и virtio

Сам не проверял, но интернеты советуют, в общем использовать virtio для сети и диска в виртуальной машине.

Можно создать примерно такой командой (изменив конечно все для себя)

virt-install \
--connect qemu:///system \
-n virt1 \
-r 2048 \
--vcpus=1 \
--disk path=/dev/virt/virt1,bus=virtio \
--vnc \
--os-type linux \
--accelerate \
--network=bridge:br0,model=virtio \
--hvm \
-c /work/iso/CentOS-6.2-x86_64-minimal.iso

kvm, lvm и доступ к разделам диска с хост системы.

Предположим, понадобилось что-то прочитать или исправить в госте
При этом у гостя поключен lvm раздел в качестве "диска" /dev/virt/virt1
Гостя стоит остановить или монтировать в ro режиме.

Для начала "маппим" нужный раздел (со своей таблицей разделов)
kpartx -a /dev/virt/virt1

Теперь в /dev/mapper/ будет что-то вроде virt-virt, virt-virt1p1, virt-virt1p2 ...
Это и есть нужные нам разделы.

Дальше как обычно - mount
mount /dev/mapper/virt-virt1p1 /mnt/virt1p1
И работаем с ним.
Затем umount
и
kpartx -d /dev/virt/virt1

Вроде все.

понедельник, 20 февраля 2012 г.

Eclipse (Indigo), Tomcat и ошибка "Cannot create a server using the selected type"

Если при настройке Eclipse (Indigo) сервера Tomcat получили ошибку вида "Cannot create a server using the selected type"

Что можно сделать (по одному пункту или все сразу):
1. Идем в Window–>Preferences–>Server–>Runtime Environments и проверяем/фиксим пути к серверу

2. Переименовываем или удаляем org.eclipse.jst.server.tomcat.core.prefs в ./workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings

3. Переименовываем или удаляем org.eclipse.wst.server.core.prefs в ./workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings

На этом все, должно добавится без проблем.

воскресенье, 19 февраля 2012 г.

Ftp за NAT проброс портов и настройка диапазона.

Стандартная задача - пробросить ftp за Nat. Небольшая сложность в том, что нужно кроме 21 порта пробросить диапазон дополнительных портов и настроить сам ftp на указаение данного диапозона и ip внешнего интерфейса.
К примеру, выделим для ftp порт 2100 и 10000-10100
Локальный ftp сервер работает на 192.168.122.100 порт 21.

Тогда настройки iptables для "шлюза":

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 2100 -j DNAT --to-destination 192.168.122.100:21
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 10000:10100 -j DNAT --to-destination 192.168.122.100

И в самом ftp надо указать эти нюансы. В случае vsftpd это делается добавлением строк:

pasv_min_port=10000 ;Указываем используемые сервером порты, первый
pasv_max_port=10100 ;и последний
pasv_address=_внешний_ip_шлюза_

В первом приблежении можно считать настроенным.

пятница, 17 февраля 2012 г.

vsftpd и домашние каталоги = 550 Create directory operation failed

Понадобилось на CentOs донастроить vsftpd для работы юзеров с домашними каталогами и вот тут при создании каталога получилось

550 Create directory operation failed.

Решение, позволить в SELinux работу с домашними каталогами

setsebool -P ftp_home_dir=1

вторник, 14 февраля 2012 г.

Tomcat и SSL

Генерируем ключ

keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/apache-tomcat/keystore

обязательно проверьте, с какой версией keytool вы работаете, иначе tomcat будет выдавать в лог что-то вроде: invalid keystore format


Раскомментируем строки и отредактируем в файле /opt/apache-tomcat/conf/server.xml

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/opt/apache-tomcat/keystore" keystorePass="пароль" />

Полезные ссылки

Просто сборник, что бы не потерять нигде и не забыть.

Онлайн конвертер текта (простановка > = >)- http://0en.ru/

понедельник, 13 февраля 2012 г.

Ошибка при выполнеии sudo: sorry, you must have a tty to run sudo

Такая ошибка происходит при строгой настройке sudoers

sudo: sorry, you must have a tty to run sudo

обойти ее можно закомментрировав строку

Defaults requiretty

Debian и установка Tomcat

Качаем свежую версию http://tomcat.apache.org/

apache-tomcat-7.0.25

распаковываем в /opt и делаем симлинк на /opt/apache-tomcat

Создать пользователя tomcat
adduser --system tomcat

Меняем владельца каталога /opt/apache-tomcat пользователя tomcat:
Debian -- chown -RLv tomcat:nogroup /opt/apache-tomcat
Centos -- chown -RLv tomcat:tomcat /opt/apache-tomcat

** Тестовый запуск
sudo -u tomcat /opt/apache-tomcat/bin/catalina.sh run

** в браузер по адресу http://имя_сервера:8080 должна открыться стартовая страница tomcat.

** если нужно запускать на портах ниже 1024, к примеру на стандартном 80 для http, необходимо установить утилиту jsvc
jsvc - предназначена для запуска java-программы как сервиса(демона) операционной системы.
донастроим конфиг /opt/apache-tomcat/conf/server.xml
следующий текст:

<connector connectiontimeout="20000" port="8080" protocol="HTTP/1.1" redirectport="8443"></connector>

заменим порт для http - 80, и указываем кодировку для URI:

<connector connectiontimeout="20000" port="80" protocol="HTTP/1.1" redirectport="8443" uriencoding="UTF-8"></connector>

в /etc/init.d/tomcat помещаем текст скрипта для запуска (подредактировать под свое, если что не так. обратите внимание на JAVA_HOME!!! Возможно понадобится указать полный путь к jsvc)
#=======================================================
#!/bin/sh
JAVA_HOME=/usr/lib/jvm/java-6-sun
CATALINA_HOME=/opt/apache-tomcat
TOMCAT_USER=tomcat

TMP_DIR=/var/tmp
PID_FILE=/var/run/apache-tomcat.pid
CATALINA_BASE=/opt/apache-tomcat

CATALINA_OPTS="-Xmx1024m -Xms512m -XX:MaxPermSize=128m -Djava.awt.headless=true"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/tomcat-juli.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
start)
#
# Start Tomcat
#
jsvc \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \
-Dfile.encoding=UTF-8 \
-Duser.timezone=Europe/Samara \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
-wait 10 \
-pidfile $PID_FILE \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile '&1' \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;

stop)
#
# Stop Tomcat
#
jsvc \
-stop \
-pidfile $PID_FILE \
org.apache.catalina.startup.Bootstrap
exit $?
;;
restart)
#
# Restart Tomcat
#
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage tomcat start/stop"
exit 1;;
esac
#=======================================================

Debian и установка Java Sun JDK7

Качаем JDK 7 tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/index.html


распаковываем и переносим в /usr/lib/jvm
Тут бы самое время сделать симлинк, дабы при апдейте просто перемещать симлинк на новую версию java.
Т.е. делаем линк = jdk_current
ln -s /usr/lib/jvm/jdk1.7_ваша_версия_  /usr/lib/jvm/jdk_current

Проверяем какие версии у нас сейчас есть

sudo update-alternatives --config java

смотрим что выдало

если в выводе было что-то вроде "no alternatives for java" то запускаем
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk_current/jre/bin/java 0


если есть список с цифровыми индексами от 0 до n, то увеличиваем на 1 для следующей команды
Так если было в выводе три строки от 0 до 2, то команда выглядит с "3" в последнем параматре
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk_current/jre/bin/java 3


активируем новую версию

update-alternatives --config java

и выбираем номер нужной версии, т.е. цифра из левой колонки вывода "Selection", по сути ту, что мы в предыдущем шаге задали.

проверяем

java -version

Так же стоит подобное проделать для javac, keytool и прочими нужными программами.
 Для Debian это будет что-то вроде этого:
 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk_current/bin/javac _ваш_номер_альтернативы_

вторник, 7 февраля 2012 г.

Debian, KVM и виртуализация

Настройка виртуализации.

** проверяем поддерживает ли процессор аппаратную виртуализацию:
cat /proc/cpuinfo | egrep '(svm|vmx)'
Поддержка должна быть, иначе дальше нечего и мечтать о kvm.

** установка
sudo apt-get install kvm libvirt-bin virtinst bridge-utils
(при установке возможны траблы 404 из-за отсутствия либы в немецком репо)
reboot

** Проверяем (должно быть ТРИ слэша!!! иначе при двух нарвемся на сообщение вида: error: Cannot access CA certificate '/etc/pki/CA/cacert.pem': No such file or directory)

virsh -c qemu:///system list --all
В выводе пока виртуалок нет, но выводится что-то вроде "Id Name State -----"

** Добавим определение моста в /etc/network/interfaces

# virtual interfaces
auto br0
iface br0 inet static
bridge_ports vnet0
address 192.168.100.1
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
bridge_stp off

/etc/init.d/networking restart
смотрим ifconfig, есть ли br0


** Создаем виртуальную машину:

Создаем для удобства каталоги (к примеру в /srv) iso и vms
Качаем образ iso нужной ОС.

virt-install -n vm1 -r 1024 -f /srv/vms/vm1.img -s 10 -c /srv/iso/ваша_ОС.iso --accelerate --os-type=linux —os-variant=generic26 -v --vnc -w bridge:br0

опции:
-n vm1 — имя домена (виртуальной машины)
-r 1024 — количество оперативной памяти
-f /srv/vms/vm1.img — расположение «жесткого диска».
s 10 — размер «жесткого диска»
-c /srv/iso/ваша_ОС.iso — указываем iso образ, с которого будем производить установку системы.
--accelerate --os-type=linux --os-variant=generic26 -v — оптимизируем VDS для работы с виртуальным Linux с ядром 2.6.хх
--vnc — запускаем VNC-сервер для доступа к виртуальной машине.
-w bridge:br0 — указываем, что виртуальная машина должна использовать сетевой мост br0 хост-машины


** Подключаемся к виртуалке

ssh -L 5900:localhost:5900 _логин_@_ip_
И во второй консоли:
vncviewer localhost:5900

** Устанавливаем как обычно сервер.
Если понадобится сменить "диск" в приводе используем команду
virsh attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly
virsh attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly
attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly
virsh -c qemu:///system attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly



** Настрока на хост серевере iptables на доступы извне по ssh и SNAT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.100.2:22
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source _ip_хоста_



** Удаление ВМ
virsh undefine vm1

понедельник, 6 февраля 2012 г.

Drupal 7 и постинсталл.

** Перевод интерфейса

Активируем модуль Locale
?q=admin/config/regional/language
Add language - Russian
Переставить галку языка Default на русский

?q=admin/config/regional/translate
Вкладка import
Language file - Browse - выбираем пакет с переводом - к примеру drupal-7.0.ru.po

** Человекочитаемые ссылки
включаем "чистые ссылки"
?q=admin/config/search/clean-urls

Модули необходимые для транслита урлов
Pathauto
Token
Transliteration

/admin/config/search/path/settings
ставим внизу галку "Transliterate prior to creating alias"


** Простая тема MAYO (White)
Модуль Color

четверг, 2 февраля 2012 г.

Debian и Dockbarx

Во всех манах встречается упоминание команды add-apt-repository ppa:dockbar-main/ppa

Для Debian это равносильно внесению в список apt такого источника

deb http://ppa.launchpad.net/dockbar-main/ppa/ubuntu lucid main

aptitude update

и теперь

aptitude install dockbarx

firefox и плагины 64bit

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

Так вот при ручном обновлении перестали работать плагины adobe и т.п.
А все ведь просто, на сайте фф предлагается для скачки версия в 32 бита. А плагины в 64 битной системе стоят соответствующие.

ФФ релизит 64bit отдельно - так для версии 10.0
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/10.0/linux-x86_64
Качаем с нужным языком и устанавливаем (распаковываем, копируем и т.п.)