Показаны сообщения с ярлыком debian. Показать все сообщения
Показаны сообщения с ярлыком debian. Показать все сообщения

22 декабря 2013 г.

Настройка Debian на Cubietruck (cubieboard 3)

В прошлом посте мы установили debian на nand память cubietruck. Итак, сеть не работает.

Проводная сеть.

modprobe sunxi_gmac

Это команда подгрузки модуля сетевого интерфейса в cubietruck. Она вызовет у нас ошибку вроде "could not open moddep file modules.dep.bin". А все потому что такого файла у нас нет и вообще каталога /lib/modules у нас нет. Решается просто - копируйте с SD карты с debian каталог /lib/modules, только проследите за тем, что у ядра у вас совпадают.

root@debtruck:~# mount /dev/mmcblk0p2  /mnt/mmc
root@debtruck:~# modprobe sunxi_gmac
root@debtruck:~# uname -a
Linux debtruck 3.4.61+ #1 SMP PREEMPT Sat Oct 26 13:08:57 CST 2013 armv7l GNU/Linux

После этого сетевой модуль подгрузится и будет работать.

Теперь есть интернет можно поставить еще один пакетик:
apt-get install bash-completion

Включение wifi

modprobe bcmdhd


А проще скопировать файл /mnt/mmc/etc/modules.conf c SD карты в NAND и перезаписать его. Тогда все необходимые модули будут грузиться автоматически. Еще можно скопировать каталог /lib/firmware.

Расширение дискового пространства

Так как изначально образ lubuntu сервера был где-то около 2 Гигабайт, а в NAND вроде нам обещали 8 Гигабайт, то имеет смысл расширить основной раздел. Перезагружаемся на SD карту (В принципе можно и работать прямо с nand, но мне не хотелось захламлять систему пока всякими git и make). Я испытываю проблемы с загрузкой с SD карты, похоже какой-то баг нерешенный. Но вроде приноровился вставлять карту при перезагрузке (см. предыдущий пост). Далее:
# apt-get install git
# git clone git://github.com/linux-sunxi/sunxi-tools
# cd sunxi-tools
# apt-get install libusb-1.0-0-dev make pkg-config
# make
# make install

Далее, запускаем скомпилированную программу nand-part и читаем, что пишут:
"Как видим мы хотим объединить 2 и 3 раздел в один, поэтому новая часть 2 радела is 4194304 + 10584064 = 14778368. "

# ./nand-part -f a20 /dev/nand 32768 'boot 131072' 'rootfs 14778368'

Перезагружаемся без SD карты.

# resize2fs /dev/nandb
# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.0G  866M  5.9G  13% /
Отлично, у нас 7 гигабайт!

Память

С памятью вроде проблем нет (dmesg):

Memory: 448MB 1536MB = 1984MB total

Светодиодная индикация

1 голубой включено
2 оранжевый cpu0 (загрузка)
3 белый cpu1 (загрузка)
4 зеленый mmc0 (обращение)


init.d Скрипт отключения/включения светодиодов в cubietruck:

#!/bin/bash
case "$1" in
    start)
        echo 0 > /sys/class/leds/orange:ph20:led2/brightness
        echo "Switching off Orange LED"
        echo 0 > /sys/class/leds/blue:ph21:led1/brightness
        echo "Switching off Blue LED" 
        echo 0 > /sys/class/leds/white:ph11:led3/brightness
        echo "Switching off White LED" 
        echo 0 > /sys/class/leds/green:ph07:led4/brightness
        echo "Switching off Green LED" 
    ;;
    stop)
        echo 1 > /sys/class/leds/orange:ph20:led2/brightness
        echo "Switching on Orange LED"
        echo 1 > /sys/class/leds/blue:ph21:led1/brightness
        echo "Switching on Blue LED" 
        echo 1 > /sys/class/leds/white:ph11:led3/brightness
        echo "Switching on White LED" 
        echo 1 > /sys/class/leds/green:ph07:led4/brightness
        echo "Switching on Green LED" 
     ;;
    *)
        echo "Usage: /etc/init.d/leds {start|stop}"
        exit 1
    ;;
esac


Правда после включения они не мигаю и горят просто. После перезагрузки будут мигать снова, и не буду мигать, если прописать автозагрузку скрипта.

19 декабря 2013 г.

Установка Debian на Cubietruck (cubieboard 3) на внутреннюю память (NAND)

Пришел мне cubietruck. На нем для тестов предустановлен android 4. Мне графика ни к чему, да и сервер на андроиде бестолковая затея. Выяснив, что на данный момент  Cubian толком не поддерживает Cubietruck пришлось выбирать из рекомендованного программного обеспечения. В итоге выбор пал на  Lubuntu Server (официальный сайт).

В процессе поиска, я наткнулся на порт debian для cubietruck для SD Card. Но он нам пригодится не для установки, а для работы с NAND. Можно взять Cubiuntu (пароль по умолчанию linaro\linaro).

1. Скачиваем образ по ссылкам.
2. Скачиваем Win32 Disk Imager  (делал под виной)
3. Вставляем sd карту или флешку, и пишем на нее образ. После старта, ищет загрузчик сначала на MicroSD карте, если не находит его, тогда на внутреннем накопителе, и в конце на USB флешке.

Пару команд на заметку:

locale-gen ru_RU.UTF8
dpkg-reconfigure locales


Устанавливаем lubuntu в nand  с помощью LiveSuitPack (или PhoenixSuit1.0.6.rar for Windows). Нажимаем кнопку FEL вставляем miniUSB в компьютер. Отпускаем FEL после включения. Для чего это надо? С этим образом загрузочные разделы, в которых я честно говоря пока не особо шарю, поэтому проще будет сделать так.

Далее, узнаем ip адрес устройства, заходим по ssh или подключаем клавиатуру.

Дальше у меня возникла проблема с этим портом для sd-карты.  Многие кубитраки идут с багой - невозможно загрузить  систему с SD карты. Испробовав разные комбинации обнаружил что если нажать ресет, а потом сразу вставить карту - система грузится! Потом нашел и другое решение - загрузить андроид с nand, и перезагрузится из него.

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

dd if=u-boot-sunxi-with-spl-ct-20131102.bin of=$card bs=1024 seek=8

В итоге в данном виде загрузка с SD карты у меня происходит без проблем.
Черт, вчера работало, сегодня нет, необъяснимо. :)

Форматируем после перезагрузки основной раздел, где лежит ОС (опять же загружаемся с sd карты пока).

mkfs.ext4 /dev/nandb


Раздел /dev/nanda трогать, как тут смысла я думаю нет. Плюс в /dev/nand уже тоже есть загрузочный сектор, который уже подготовлен.

Установка.

rootfs, устанавливаем стабильный debian.

apt-get update
apt-get install debootstrap
mount /dev/nandb /mnt/rootfs
debootstrap --verbose --arch armhf --variant=minbase --foreign stable /mnt/rootfs http://ftp.debian.org/debian
chroot /mnt/rootfs
/debootstrap/debootstrap --second-stage


cat <<END > /etc/apt/sources.list
deb http://ftp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.debian.org/debian/ stable main contrib non-free
deb http://ftp.debian.org/debian/ stable-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ stable-updates main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
END

apt-get update
export LANG=C
apt-get install apt-utils dialog locales
dpkg-reconfigure locales
# Выбираем en_US.UTF-8 или что сами хотите.
export LANG=en_US.UTF-8
apt-get install dhcp3-client udev netbase ifupdown iproute openssh-server iputils-ping wget net-tools ntpdate ntp vim nano less tzdata console-tools module-init-tools mc

cat <<END > /etc/network/interfaces
auto lo eth0
allow-hotplug eth0
iface lo inet loopback
iface eth0 inet dhcp
END

echo cubietruck > /etc/hostname
 
cat <<END > /etc/fstab
# /etc/fstab: static file system information.
#
#                
proc /proc proc defaults 0 0
/dev/nandb / ext4 noatime,errors=remount-ro 0 1
END

passwd
/etc/init.d/ntp stop

exit


Выключаем. Вытаскиваем SD карту. Включаем.  Должно работать, но сети у меня пока нет.  :) Исправлю - напишу.
Продолжение "настройка debian на cubietruck".
Еще пару экспериментов для памяти (которые мне не помогли):

под дескопной Виндой или Линуксом (од нашу АРМ систему не пойдет):
wget http://dl.cubieboard.org/software/a20-cubieboard/lubuntu/cb-a20-lubuntu-server-13.06-v1.00.img.gz
wget "http://forum.xda-developers.com/attachment.php?attachmentid=1740401&d=1361198061" -O "imgRePacker_204.zip"
gunzip cb-a20-lubuntu-server-13.06-v1.00.img.gz
unzip imgRePacker_204.zip
chmod 777 imgrepacker
./imgrepacker cb-a20-lubuntu-server-13.06-v1.00.img.gz

Заливаем через scp bootloader.fex

dd if=/usr/src/bootloader.fex of=/dev/nanda
это извлечение из nand образа загрузчика (какого-то уровня). imgrepacker отсюда.

25 июня 2010 г.

Установка redmine на lighttpd в debian squeeze

Начинаем как здесь:

#apt-get install mysql-server rails lighttpd
#apt-get install librmagick-ruby
#apt-get install libmysql-ruby
#apt-get install subversion git-core
#apt-get install libfcgi-ruby1.8

Создаем пользователя и базу:

# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 63
Server version: 5.1.47-1 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database redmine character set utf8;
Query OK, 1 row affected (0.08 sec)

mysql> create user 'redmine'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.47 sec)

mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
Query OK, 0 rows affected (0.01 sec)

Добавляем системного пользователя redmine:

#adduser --disabled-password redmine
#su redmine

Качаем релиз wget'ом redmine (я работал с версией redmine-0.9.4.tar.gz).

Распаковываем содержимое в ~/redmine (tar zxf)

Создаем файл redmine*/config/database.yml (можно скопировать из примера):

production:
adapter: mysql
database: redmine
host: localhost
username: rbuser
password: password
encoding: utf8

Генерируем секретный ключ сессий.

~/redmine$ rake generate_session_store
(in /home/redmine/redmine)

Заполняем базу данных.

~/redmine$ RAILS_ENV=production rake db:migrate
(in /home/redmine/redmine)
rake aborted!
Could not find RubyGem rack (~> 1.0.1)

Я получил такую ошибку.

#gem install rack -v 1.0.1
Successfully installed rack-1.0.1
1 gem installed
Installing ri documentation for rack-1.0.1...
Installing RDoc documentation for rack-1.0.1...

Запускаем повторно из под пользователя redmine:

#su redmine
redmine@srv:/root$ cd ~/redmine/
redmine@srv:~/redmine$ RAILS_ENV=production rake db:migrate
(in /home/redmine/redmine)

Должно все успешно заполниться.

Настройка lighttpd.

Создаем файл /etc/lighttpd/conf-available/20-redmine.conf :

/etc/lighttpd/conf-available# cat 20-redmine.conf
server.modules += ( "mod_fastcgi" )

$HTTP["url"] =~ "^/redmine/" {
alias.url = ("/redmine" => "/home/redmine/redmine/public")
server.document-root = "/home/redmine/redmine/public/"
server.error-handler-404 = "/redmine/dispatch.fcgi"
index-file.names = ("dispatch.fcgi")
fastcgi.server += (
".fcgi" => (
"localhost" => (
"min-procs" => 1,
"max-procs" => 2,
"check-local" => "disable",
"socket" => "/home/redmine/redmine/tmp/sockets/redmine_fcgi.socket" + var.PID,
"bin-path" => "/home/redmine/redmine/public/dispatch.fcgi",
"bin-environment" => (
"RAILS_ENV" => "production",
"RAILS_RELATIVE_URL_ROOT" => "/redmine",
"RAILS_ROOT" => "/home/redmine/redmine"
)
)
)
)
}

Включаем конфигурацию:

#lighttpd-enable-mod redmine

Создаем файл:

srv:/home/redmine/redmine/public# cp dispatch.fcgi.example dispatch.fcgi
srv:/home/redmine/redmine/public# chmod +x dispatch.fcgi

Даем права пользователю www-data (запускает lighttpd)

srv:/home/redmine#chown -R www-data:www-data redmine

Даем права на директории

srv:/home/redmine#chmod 755 logs tmp files

Перезапускаем конфигурации lighttpd:

#/etc/init.d/lighttpd force-reload

Заходим: http://srv/redmine/

По умолчанию, логин admin, пароль admin.

Если что-то пошло не так, смотрим логи:

#tail -F /var/log/lighttpd/access.log /var/log/lighttpd/error.log /home/redmine/redmine/log/production.log

13 июня 2010 г.

Установка kvm на Debian Squeeze

Займемся виртуализацией, с аппаратной поддержкой процессора.

KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (англ.) (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).

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

Ставим основную систему. Для создания загрузочной флешки используем уже установленный линукс.
У меня будущий серверный процессор AMD, а также потому что squeeze еще unstable, качаем образ отсюда. Я скачал debian-testing-amd64-netinst.iso.

Основную систему будем ставить с флешки. Качаем файл boot.img.gz отсюда. Далее распаковываем образ на флешку:

#zcat boot.img.gz > /dev/sdX

где /dev/sdX - ваша флешка.

Далее вытащим и вставим флешку обратно. Скопируем в корень на автоматически примонтированную флешку файл debian-testing-amd64-netinst.iso. Все, отмонтируем флешку, вставляем в наш сервер, загружаемся и устанавливаем систему.

Создадим две директории - iso для установочных образов, vms для образов виртуальных машин. Копируем с флешки образ в iso.

Устанавливаем kvm:

#apt-get install qemu-kvm libvirt-bin virtinst bridge-utils

bridge-utils - сетевой мост. Настраиваем:

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Перезагружаемся.

Проверяем

#ifconfig
#virsh list

virsh - это команда управления виртуальными машинами.

полезно virsh help.

Теперь настала очередь создать виртуальную машину.

#virt-install -n mediasrv -r 256 -f /vms/mediasrv.qcow2 -s 300 -c /iso/debian-testing-amd64-netinst.iso --vnc --vncport=5900 --noautoconsole --os-type linux --os-variant=generic26

-r - оперативная память
-f - файл-образ сервера
-s - размер файл-образа в гигабайтах
-c - cdrom
- остальное понятно.

как ни странно, но подключиться напрямую к vnc серверу (с другой системы в сети) мне не удалось, по-видимому Vinagre не справляется с авторизацией. Поэтому у меня получилось подключиться через ssh тунель:

$ ssh -L 5900:localhost:5900 root@server

После подключения, в Vinagre подключаемся к localhost:5900 и попадаем на новую виртуальную систему, с экраном установки debian.

Устанавливаем ssh на обе системы и дальше дело техники.

ps. В планах опробовать паравиртуализацию.

16 апреля 2010 г.

Установка debian lenny на Microsoft Virtual Server

Качаем netinst.

При загрузке Tab для редактирования меню.
Удаляем "queit", добавляем "noreplace-paravirt nofxsr".

24 октября 2009 г.

Google Chorme в Debian

Debian в качестве ОС для нетбука asus eeepc 1000 меня полностью устраивал. Во всем, кроме браузеров. Идущий в комплекте Iceweasel ничем не отличился от обычного firefox, который я установил, после Iceweasel. И тот и другой потребляли неимоверное количество памяти и процессора, веб разработка на коленке казалась просто невозможной. Flash плеер, который идет в дебиане (не помню его название) - это просто тихий ужас. Он был заменен официальным с сайта adobe. После этого флеш заработал как надо, но потребляет очень много процессорного времени.
Так как в общем, такая скорость меня не устраивала, решил попробовать Google Chrome. Стабильного релиза под линукс до сих пор нет, официальный сайт google предлагает нам оставить e-mail для оповещения о выходе релиза браузера. Но, как известно, есть не стабильная ветка, deb пакет которой можно взять отсюда: http://dev.chromium.org/getting-involved/dev-channel
Я скачал dev пакет, установил.
Все очень приятно удивляло.
1. Пакет устанавливает дополнительный репозиторий, с которого, по-видимому, он планирует обновляться.
2. Первый запуск - предложение импортировать настройки браузера с firefox.
3. Русский интерфейс (правда не весь, новые функции наверное не успевают переводить).
4. БОльшая полезная площадь страниц (что особенно актуально в нетбуках).
5. Ну конечно скорость! Намного шустрее.
6. Поедание памяти (без флеша -1-3% на 10 вкладках, в то время как мозила - до 20%).

С флешом таже беда, флеш на torrents.ru занимает 50% процессора сразу. Но это проблема флеша, попробую найти ее решение позже.

Далее, мне нужен был firebug или аналог.
В самом Crome есть DeveloperTools - который, в принципе, может заменить и firebug - он уже сейчас предоставляет много функций, хотя может быть не привычно для любителей firebug'а.
Также, хромисты пошли дальше, выпустили в августе так называемый CrhomeDevtools, который позволяет использовать eclipse для дебага яваскрипта в eclipse.



Еще есть приложение диспетчер задач. Он показывает нагрузку на процессор и скорость закачки страниц, как для всего браузера, так и для каждой вкладки (у меня скорость показывал для каждой вкладки, а процессор - нет, только общий, наверное не сделано еще).

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

27 мая 2009 г.

GUI Менеджер сетевых соединений wicd в debian

Все-таки я вернулся к wicd.

То есть, поставил на asus eee pc debian lenny, тут же выкинув NetworkManager ибо он сразу не заработал.
По-быстрому настроил wifi через interfaces и wpasupplicant:

#wpa_passphrase your_ssid your_psk

Так я создал хеш ключа для сети (your_ssid - имя wifi сети, your_psk - pre shared key - ключ, то есть).

wpa_supplicant.conf я создавать не стал, просто прописал что-то вроде

auto ath0
iface ath0 inet dhcp
wpa-driver wext
wpa-ssid имя сети
wpa-ap-scan 1
wpa-proto WPA
wpa-pairwise TKIP
wpa-group TKIP
wpa-key-mgmt WPA-PSK
wpa-psk паскей (созданный выше хеш)


Все тут же завелось и забегало.
В этом же процессе пытался поставить GUI-шные менеджеры: wifi-radar, тот же network manager (из пакетов), а так же wicd (поставил почему-то с репы убунты, потыкал, что-то не понравилось, тут же снес, надеясь что будущем найду что-то получше).
Несколько дней меня это устраивало, пока я не дошел до работы. Настройки wifi другие, да и dhcp по проводам хочется (а дома еще не подключал, но традиционно статика), покумекав, я все-таки понял, что на ноуте должен стоят GUI-шный менеджер сетевых интерфейсов, это обязательное условие для оперативного изменения сетевых подключений. Хотя лукавлю, можно конечно написать скрипт, но хочется же лучшего и сразу (статуса сети в трее например, переключение сетей мышкой и т.п.).
Так как NetworkManager из коробки никаких признаков о сетях не подавал, решил поставить версию из сырцов, надеясь на лучшее.
Процесс установки протекал очень напряженно. Я не буду рассказывать про все dev пакеты которые пришлось поставить, размер их был не меньше 50 мб. Но я твердо решил испробовать новую версию.
Ну вот вроде бы и скомпилировалось и поставилось. Поставиться-то поставилось, но запускаться не хотело. То есть сам Менеджер. Пару часов ковыряний порядком поднадоели, конфиги уже были раскиданы по местам (их много, особенно которые относятся к dbbus) из диры с сырцами, когда я сообразил, что конфиги-то проинсталлированы только не в ту диру. /usr/local/etc вместо /etc. Может я ключик при конфигурировании не указал, а может под а-ля bsd систему конфигуратор, разбираться не стал, так как менеджер вроде запущен и работает.
На заметку, посмотреть, что происходит с менеджером, если он у вас не запускается как демон, можно так:

#NetworkManager --no-daemon

Я наивно полагал, что nm-applet входит в состав NetworkManager (как в пакете), а вот и не так. Его, оказывается, надо ставить отдельно. Его еще и не сразу найдешь, так как NetworkManager находится далеко в списке на ftp от апплета.

Ладно, решил, так решил. Ооо, установка апплета - это нечто монстроидальное. Столько зависимостей наверное сложно придумать (казалось бы - апплетик, иконка с меню, ну может она и разруливает там брелоки какие-нибудь). Пришлось еще влить около 100 мб всякой всячины. Я уж был хотел передумать, но упорство взяло верх.

Установил таки, работает! Правда все приходится запускать вручную. И менеджер и апплет.
Работает не сеть конечно, работает пока только этот менеджер. В документации сказано - чтобы все правильно работало, очистите файл /etc/interfaces , оставив в нем только лупбек. Ну что ж, открываю интерфейсы - вот же, менеджер "любезно" удалил все, включая закомменченые настройки. Вот спасибо! Теперь дома мне тоже не видать связи, подумал я. Хотя, я ему это простил, надеясь на то, что раз он такой умный, то он мне и сеть поднимет любую.
Начали с dhcp+wifi. И сразу наткнулись на баг, который обмусолен на всяческих забугорных убунтовых форумах - по логам - dchp клиент получает ответ от dhcp сервера, но Менеджер его не принимает (или не понимает) и говорит нам о тайм ауте ответа от dhcp сервера. Сразу говорю - я эту проблему так и не решил. Говорят дело в dhcp3 , но мне так не кажется.
Решил отложить эту проблему в строну и заняться автозагрузкой апплета и менеджера.
Для начала я прописал статику в проводной интерфейс и только так сеть завелась с Менеджером.
Сам Менеджер беспроблемно прописался в update-rc.d, а вот с апплетом начались чудеса.
Используем nm-applet.desktop файл из сырцов - закидываем его в /etc/xdg/autostart .
Перезагружаем бук, и - о, чудо, значек апплета и соединения сети. Но! Упал апплет микшера и раскладки. Я сначала подумал совпадение. Попробовал разные варианты - апплет (с ключем --sm, все как полагается - оно же в desktop прописывается) виноват. Мало того, так приложения не запускаются из гномовского меню! В чем была причина, я так и не понял. Было время идти домой.
Дома, в отличии от работы, wifi с wpa , решил попробовать подключиться. О, чудо, схватил dhcp от моего роутера да еще и с WPA. Вот это странность. В общем, такая нестабильность меня не устраивала, тем более что приложения так и не запускались, посему я, в расстроенных чувствах, решил прибить все, что связано с NetworkManager, до сих пор удивляюсь - как такой сырой софт может стоят дефолтом во многих дистрибах, ужас просто.
Покумекав, чем же все-таки мне заменить NM вспомнил о галопах по wicd, подумал, надо бы уделить побольше времени, вдруг, что из этого выйдет.
Начав изучение, обнаружил, что зря ставил с репы убунты его в прошлый раз, видно попалась не та страница, оказывается его можно ставить с репы дебиана:

deb http://apt.wicd.net lenny extras

получаем ключ:
wget -q http://apt.wicd.net/wicd.gpg -O- | sudo apt-key add -
обновляем репу и ставим wicd.
Вот так все просто и все свежее! (установка 5 минут против полдня на NM)
А дальше что? Да ничего, перезагружаемся - у нас и апплет и все интерфейсы и все работает.
(только также надо предварительно все закомментить в interfaces кроме lo).
wifi с WPA, проводной ethernet - все без проблем. Впечатления - отменные!
Надеюсь, что и дальше такие же будет от использования wicd, чего и вам желаю!

19 мая 2009 г.

Управление модулями апача 2 в дебиане

Постоянно забываю утилиты для управления модулями apache2 в дебиане (ибо редко я его настраиваю). Сделаю заметку.

a2enmod: включить модуль апача (ничего особенного он не делает, создает ссылки на модуль .load и .conf файлы в папке mods-enabled).

Например, включить модуль rewrite:
#a2enmod rewrite

a2dismod: делает вещи обратные a2enmod
Например для отключения модуля:
#a2dismod rewrite

Эти утилиты без параметров выдают список модулей, которые можно активировать в случае a2enmod и список модулей, которые можно деактивировать в случае a2dismod.

15 марта 2009 г.

Архивирование системы или бекап в debian linux

Сделаю заметочку на будущее, чтобы в очередной раз не вспоминать скрипты :)

dmpfile=backup.tar.bz2
srcdir=/
trgdir=/share
cd $trgdir && tar -cfj $dmpfile --exclude-from=/exclude_back $srcdir

Скрипт переходит в директорию куда надо сохранить архив, и выполняет tar.

--exclude-from - берем список исключений из файла в корне (сам скрипт тоже в корне)

# cat exclude_back
/proc
/mnt
/var/run
/dev
/sys
/home/repo
/share

Последние две - мои директории.

14 февраля 2009 г.

Запуск (установка и быстрая настройка) сервера subversion в debian lenny

Устанавливаем сервер и создаем репозиторий:

# apt-get install subversion
# svnadmin create /path/to/svnrepo/
# groupadd subversion
# chown -R root:subversion /path/to/svnrepo/
# chmod -R ug+rw /path/to/svnrepo/

Создаем файл:

/etc/init.d# cat svnserver
svnserve -d -r /path/to/svnrepo/
/etc/init.d# chmod 755 svnserver

Регистрируем в init.d для автозагрузки:

# update-rc.d svnserver defaults

Можно пользоваться:

# svn co svn://localhost/path/to/svnrepo/


ps. Помните, серверу svnserve не обязательно указывать существующий репозиторий. Путь, указанный в аргументе - только лишь указание серверу с какого места начинать просмотр директорий. Поэтому, путь может быть таким:

/path/to/svnrepos

в поддиректориях которого могут располагаться несколько репозиториев:

/path/to/svnrepos/repo1
/path/to/svnrepos/repo2
..
/path/to/svnrepos/repoN

12 февраля 2009 г.

Моя установка (перемещение с windows) trac на debian lenny с базой postgresql

Устанавливаем базу postgresql и дополнительные нужные пакеты:

# apt-get install postgresql postgresql-client postgresql-contrib-8.3

Считаем, что python уже стоит:

# apt-get install python-psycopg2
# apt-get install postgresql-plpython-8.3
# apt-get install python-svn python-subversion

Первый пакет предоставляет доступ к базе из python.
Второй пакет устанавливает возможность писать хранимые процедуры в БД на языке python, которые используются в trac.
Третий позволяет работать с svn репозиториями из python.

Создаем базу данных для trac и пользователя (роль) для базы данных:

# su postgres
$ createuser tracuser -P
Enter password for new role:
Введите снова:
Shall the new role be a superuser? (y/n) y

Тут дописываем: /etc/postgresql/8.3/main/pg_hba.conf .

local trac tracuser md5

Это надо для того, чтобы мы могли соединяться к базе через локальный сокет с помощью нашей роли в базе, а не через tcp/ip . По умолчанию все соединения через local идут для роли безопасности в конфигурационном файле indent sameuser - вкратце, необходимо наличия такого же системного пользователя.

После изменения - "$/etc/init.d/postgresql-8.3 restart" .

Создаем базу данных:

$ createdb -T template0 -h localhost -U tracuser -W trac

Устанавливаем trac и создаем проект:

# wget ftp://ftp.edgewall.com/pub/trac/Trac-0.11.2.1.tar.gz
# tar zxfv Trac-0.11.2.1.tar.gz
# cd Trac-0.11.2.1
# python ./setup.py install
# trac-admin /path/to/myproject initenv

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

Например с windows:

c:\Program Files\PostgreSQL\8.3\bin>pg_dump -U admin trac > tracplain.dump

Восстанавливаем на lenny созданную базу (createlang plpythonu pg_dump сам предусмотрительно прописывает, для этого мы сделали пользователя суперюзером):

# psql -U tracuser -W -f trac.plain trac

Устанавливаем trac через mod_wsgi

# apt-get install libapache2-mod-wsgi

Прописываем в конфиге apache2

WSGIScriptAlias /trac /path/to/trac/mysite.wsgi

WSGIApplicationGroup %{GLOBAL}
AuthType Basic
AuthName "Trac"
AuthUserFile /homr/svn/passwd
Require valid-user
Order deny,allow
Allow from all


Файл с пользователями создаем с помощью passwd.

Содержание файла /path/to/trac/mysite.wsgi:

# cat mysite.wsgi
import os

os.environ['TRAC_ENV'] = '/path/to/trac/'
os.environ['PYTHON_EGG_CACHE'] = '/path/to/trac/eggs'

import trac.web.main
application = trac.web.main.dispatch_request

import site
site.addsitedir('/usr/lib/python2.5/site-packages')

Ресинхронизируем окружение:

# trac-admin /path/to/trac/ resync

Осталось настроить права для каталога окружения проекта и все должно работать.
Также можно урезать права пользователю tracuser с помощью ALTER ROLE

И напоследок, Postgresql quickstart:

1. To start postgres
# /etc/init.d/postgresql start
2. To stop postgres
# /etc/init.d/postgresql stop
3. To start using postgres, change to user postgres
$ su - postgres
4. To create new database
$ createdb dbname
5. To delete database
$ dropdb dbname
6. To access database
$ psql dbname
7. To dump database (backup)
$ pg_dump dbname > backup.out
8. Reload db from file
$ psql -d dbname -f db.out
9. To dump all database to file
$ pg_dumpall > dumpall.sql
10. Reload all from file
$ psql -f dumpall.sql
11. List database
$ psql -l
12. Clean all database
$ vacuumdb --quiet --all

Commands inside psql (PostgreSQL interactive terminal)

1. Access psql
# psql
2. Get help about commands
# \h
3. Quit psql
# \q
4. Import from file
# \i input.sql
5. Show databases
# \l
6. Show tables
# \dt
7. Show users
# \du
8. Connect to database
# \c dbname
9. Change user password
# \c template1
# ALTER USER postgres with password 'new_password';
10. Clean database
# VACUUM FULL;
11. Help on syntax command
# \h SYNTAXNAME

29 января 2009 г.

rtorrent в debian etch

rtorrent в debian etch зачастую страдает ошибкой time out подключения к трекерам. Иными словами, rtorrent не соединяется.
Решение такое: http://libtorrent.rakshasa.no/ticket/1546

if you have a fresh debian installation you need to install the actual libcurl ( http://curl.haxx.se/download.html ) with the actual c-ares ( http://c-ares.haxx.se/ )

first install c-ares then libcurl (libcurl: ./configure --enable-ares)

After that .. compile libtorrent and rtorrent.

3 апреля 2008 г.

Установка Eclipse 3.3.2 на debian etch 86_64

Eclipse - IDE для прграммирования, написанная на java. Для установки свежей версии на 64 битном etch, используя java-package из коробки нужны небольшие хитрости.
1. Устанавливаем java-package.
2. от root:

cd /usr/share/java-package
cp -a sun-j2re1.5 sun-j2re1.6

редактируем sun-j2re1.6/install
первая строка: suffix=j2re1.6-sun

редактируем sun-j2re.sh
добавляем в секцию amd64|x86_64-linux-gnu

"jre-6-linux-amd64.bin")
j2se_version=1.5
j2se_expected_min_size=16 # 16542512 bytes
found=true
;;


Сохраняем и выходим.

3. качаем jre-6-linux-amd64.bin с sun.com
4. заходим под обычным пользователем и сохраняем бинарный файл в домашнюю директорию
5. выполняем $fakeroot make-jpkg jre-6-linux-i586.bin
6. удаляем пакеты gij и SableVM из системы.
7. проверяем $java -version
8. распаковываем и просто запускаем Eclipse.

19 ноября 2007 г.

Смотрим кино напрямую с домашнего фтп на Nokia N800

Как говорится, голь на выдумки хитра. Нет у меня пока большой флешки SD для моей Nokia N800, а кино посмотреть хочется (точнее, хочется посмотреть, как смотрится кино на ней).

Что нам требуется: Непосредственно сама Нокия :), точка доступа WiFi (или карточка WiFi, точка, ес-но предпочтительней), комп соединенный с точкой доступа, и Линукс на компе :).

Операции проводились на софте: Debian Etch 4.0, на Нокии IT OS2007.


Для начала установим конвертор видео на десктоп. Говорят можно и не кодируя смотреть - но не все, я решил что конвертор все таки нужен.
Качаем отсюда media convertor под Линукс. Это есть архив с .jar файлом, для запуска которого необходима Ява машина и mencoder. Побродив по интернету, обнаружил что ее как таковой нет для Debian, и ее надо качать с сайта sun. Но покопавшись в дистрибутиве etch'а обнаружил, что все-таки есть альтернатива - пакет java-gcj-compat, который неплохо справляется с конвертором. Указываем чтобы наш .jar файл запускался с помощью java runtime.

mencoder входит в состав mplayer, но почему то не входит с состав etch (хоть и mplayer входит). Для его установки можно попробовать скомпилировать mplayer, а можно поставить из репозитория http://www.debian-multimedia.org/ (придется скачать около 5 мегабайт).

Media Convertor запустился без проблем и работать начал тоже без проблем.

В роли ftp сервера использовал proftpd. Настройки у него в одном файле и простые, так как комп в локальной сети - заморачиваться по поводу авторизации не стал - использовал гостевой доступ. Настройки простые - в инете на каждом шагу.

Отлично. У нас есть кодированый фильм и доступ к нему по фтп (настройки wifi в точке доступа тоже простые).

Далее. Нам нужен mplayer и терминал на таблетке (так называют интернет-планшет в обиходе)/

Терминал ставиться без особых проблем отсюда http://maemo.org/downloads/product/osso-xterm-advanced/
mplayer тоже http://maemo.org/downloads/product/mplayer/ (он сразу и ставит некий launcher для иксов)

И тут начинается самое интересное. Устанавливаем wifi соединение, заходим на ftp (например, ftp://192.168.1.2) браузером, копируем ссылку на фильм, открываем xterm и пишем - $mplayer ftp://192.168.1.2/film.avi

Приятного просмотра! ;)