Просмотр сообщений

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


Темы - keremet

Страницы: 1 2 [3] 4 5 ... 8
31
OpenIndiana / Настройка MediaWiki на OpenIndiana
« : Июнь 24, 2013, 02:41:04 pm »
За основу можно взять статью http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Solaris_10

cd ~/examples/mediawiki/
wget http://dumps.wikimedia.org/mediawiki/1.21/mediawiki-1.21.1.tar.gz

sudo svcadm -v enable /network/http:apache22
#svcs -l http
cd /var/apache2/2.2/htdocs/
mkdir wiki; cd $_
tar xf ~/examples/mediawiki/mediawiki-1.21.1.tar.gz
sudo chown -R webservd:webservd *
sudo chmod -R o-rwx *
root@openindiana:/var/apache2/2.2/htdocs/wiki/mediawiki-1.21.1# mkdir config


MediaWiki 1.21 requires at least PHP version 5.3.2, you are using PHP 5.2.12.

Требуется скомпилировать PHP, но я выбрал старую версию
SQLite собран без модуля FTS3 — поиск не будет работать для этой базы данных.
Найдена встроенная графическая библиотека GD.


cd ~/examples/mediawiki/
wget http://download.wikimedia.org/mediawiki/1.19/mediawiki-1.19.7.tar.gz
cd /var/apache2/2.2/htdocs/
tar xf ~/examples/mediawiki/mediawiki-1.19.7.tar.gz
mv mediawiki-1.19.7 wiki
mkdir config
sudo chown -R webservd:webservd *
sudo chmod -R o-rwx *

Для SQLite
sudo cd /var/apache2/2.2
sudo mkdir data
sudo chgrp webservd data
sudo chmod g+w data

http://localhost/wiki/

http://localhost/wiki/mw-config/index.php

Сохранить LocalSettings.php в /var/apache2/2.2/htdocs/wiki

Download the package from https://github.com/jwestyp/TinyMCE_MW (zip, распаковать)
Place in your extensions directory, i.e. /var/apache2/2.2/htdocs/wiki/extensions/.
Include the following lines in your LocalSettings.php file. Make sure paths are correct to your instance.

sudo gedit /var/apache2/2.2/htdocs/wiki/LocalSettings.php

require_once("$IP/extensions/TinyMCE_MW/TinyMCE_MW.php");       //Extension php file location
$wgUseTinymce = true;                                           //Init needed for clicking on a new article link
$wgDefaultUserOptions ['showtoolbar'] = 0;                      //Disable the standard wiki edit toolbar without editing your DefaultSettings.php file
$wgTinymceTheme = "msword";                                     //Options are "simple", "advanced", "msword"
$wgMyWikiURL = "$wgServer/$wgScriptPath/";                      //Configuration setting for link URLs
$wgExt_valid_elements = "data[table|template],repeat[table|sort],categorytree[mode|depth],inputbox[type|bgcolor|width|default|preload|editintro|buttonlabel|searchbuttonlabel|break],big";


http://www.mediawiki.org/wiki/Manual:Configuring_file_uploads

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads  = false;

Загрузка будет доступна после входа под зарегистрированным пользователем(слева Инструменты/Загрузить файл)


$wgLogo             =  "$wgScriptPath/images/logo.jpg"; //"$wgStylePath/common/images/wiki.png";

Чтобы стили нормально отображались у внешних пользователей
##$wgServer           = "http://localhost";
$wgServer           = "http://10.0.10.15:8080";

32
OpenIndiana / Запуск MySQL с большим размером стека
« : Апрель 15, 2013, 11:34:37 am »
При ошибке "Thread stack overrun: 12000 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack."

#Выключить mysql через SMF
sudo svcadm disable mysql

#Запустить сервер mysql с командной строки
sudo /usr/mysql/5.1/bin/mysqld_safe --user=mysql --datadir=/var/mysql/5.1/data --pid-file=/var/mysql/5.1/data/openindiana.pid  -O thread_stack=1000000

33
OpenSolaris / PhpMyAdmin
« : Апрель 13, 2013, 04:55:00 pm »
Установить пароль пользователя root в MySQL.
pfexec svcadm disable svc:/application/database/mysql:version_51
pfexec /usr/mysql/5.1/bin/mysqld_safe --skip-grant-tables --user=root
echo "UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;"|mysql -u root
pfexec pkill mysqld
pfexec svcadm enable svc:/application/database/mysql:version_51

Запустить apache
pfexec svcadm enable svc:/network/http:apache22

Скачать в каталог /var/apache2/2.2/htdocs с сайта http://www.phpmyadmin.net/home_page/downloads.php файл phpMyAdmin-3.5.8-all-languages.7z

Перейти в каталог документов apache
cd /var/apache2/2.2/htdocs
Распаковать архив
7z x phpMyAdmin-3.5.8-all-languages.7z
Переименовать каталог в более удобное название
mv phpMyAdmin-3.5.8-all-languages adm

Создать каталог для настроек
mkdir adm/config
chmod a+w adm/config

Перейти на страницу настроек
http://localhost/adm/setup/
Default language - Русский

Теперь можно пользоваться по ссылке http://localhost/adm/
логин: root
пароль: newpwd


В geany для расширения *.sql добавить команду Compile в формате
cat %f|mysql -u root -pnewpwd

34
Сегодня копирую с сайта все, что мне кажется там интересным. Рекомендую всем интересующимся OpenSolaris-ом сделать то же самое.

35
OpenIndiana / Зоны ipkg
« : Март 22, 2013, 12:53:11 pm »
##Создание каталога и датасета для зон
mkdir /zones
zfs create rpool/zone1
zfs set mountpoint=/zones/zone1 rpool/zone1
chmod 700 /zones/zone1

#Конфигурирование зоны
zonecfg -z zone1
Password:
zone1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/zones/zone1
zonecfg:zone1> add net
zonecfg:zone1:net> set physical=e1000g0
zonecfg:zone1:net> set address=10.0.2.20
zonecfg:zone1:net> end
zonecfg:zone1> info
zonename: zone1
zonepath: /zones/zone1
brand: ipkg
autoboot: false
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: shared
hostid:
fs-allowed:
net:
   address: 10.0.2.20
   allowed-address not specified
   physical: e1000g1
   defrouter not specified
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit

#отмена конфигурирования
zonecfg -z zone1 delete

#Установка зоны
zoneadm -z zone1 install

#отмена установки, удаление датасета
zoneadm -z zone1 uninstall

#Запуск зоны
zoneadm -z zone1 boot

#создание пользователя keremet в zone1
zlogin zone1 useradd -s /bin/bash keremet

#запустить команду zonename в zone1 под пользователем keremet
zlogin -l keremet zone1 zonename
OpenIndiana (powered by illumos)    SunOS 5.11    oi_151a7    October 2012
zone1

#скопировать пароли из глобальной зоны
cp /etc/shadow /zones/zone1/root/etc/

#подключиться к консоли зоны
zlogin -C zone1


36
OpenIndiana / Отладка модулей ядра
« : Январь 11, 2013, 02:44:31 am »
# dumpadm
      Dump content: kernel pages
       Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash/openindiana
  Savecore enabled: no
   Save compressed: on

Каталога /var/crash/openindiana по умолчанию нет, его надо создать. Тогда в него будут записываться дампы.

# mkdir -p /var/crash/openindiana

Создание дампа на работающем ядре

# savecore -L
dumping to /dev/zvol/dsk/rpool/dump, offset 65536, content: kernel
 0:09 100% done
100% done: 196783 pages dumped, dump succeeded
savecore: System dump time: Thu Jan 10 10:21:32 2013

savecore: Saving compressed system crash dump in /var/crash/openindiana/vmdump.0
savecore: Decompress the crash dump with
'savecore -vf /var/crash/openindiana/vmdump.0'


Извлечение дампа со специально выделенного устройства

dd if=/dev/zvol/dsk/rpool/dump of=1.img

Распаковка дампа

# savecore -vf /var/crash/openindiana/vmdump.0
savecore: System dump time: Thu Jan 10 10:21:32 2013

savecore: saving system crash dump in /var/crash/openindiana/{unix,vmcore}.0
Constructing namelist /var/crash/openindiana/unix.0
Constructing corefile /var/crash/openindiana/vmcore.0
 1:36 100% done: 196783 of 196783 pages saved
2248 (1%) zero pages were not written
1:36 dump decompress is done

Запуск отладчика

mdb -k unix.0 vmcore.0

37
Проверим, получает ли Xorg сообщения при движениях колеса:
pgrep Xorg
1391

sudo pfiles 1391
14: S_IFCHR mode:0600 dev:548,0 ino:115343364 uid:101 gid:10 rdev:220,0
      O_RDWR|O_NONBLOCK
      /devices/pseudo/consms@0:mouse
      offset:120416

sudo dtrace -n 'pid1391::read:entry/arg0==14/{}'
Сообщения выводятся, когда колесо крутится.
Значит Xorg получает инфу о прокрутке, но прокрутку не выполняет.


38
OpenIndiana / Шифрованние данных на ZFS
« : Ноябрь 25, 2012, 04:10:19 pm »
Выделяем место на пуле, где будет храниться зашифрованная файловая система (только в первый раз :) ).
sudo zfs create -V 500m rpool/d
Это место будет доступно через файлы /dev/zvol/rdsk/rpool/d (символьный) и /dev/zvol/dsk/rpool/d (блочный).

Включаем шифрование
sudo lofiadm -c aes-256-cbc -a /dev/zvol/rdsk/rpool/d
затем надо будет дважды ввести пароль.
В результате появятся файлы /dev/lofi/1 и /dev/rlofi/1, через которые можно будет получить доступ к расшифрованной файловой системе.

Создаем файловую систему (только в первый раз :) ). Пусть это будет UFS
sudo newfs /dev/rlofi/1

Монтируем файловую систему
sudo mount /dev/lofi/1 /mnt

Теперь в каталоге /mnt можно будет создавать файлы с данными, доступ к которым следует ограничить.



39
При загрузке OI полоса процесса отображается как-то не красиво, мерцает. Дело в том, что отображение идет по 8 пикселов. 8 удаляются и 8 добавляются. Прилагаю свой вариант файла usr/src/uts/i86pc/os/graphics.c, который позволяет получить более красивую отрисовку: удаляется и добавляется по одному пикселу.

40
Поднять IPS-сервер
sudo /usr/lib/pkg.depotd -d /code1/illumos-gate/packages/i386/nightly/repo.redist/ -p 8151 --proxy-base http://localhost::8151/on-nightly

sudo zfs create rpool/ROOT/illumos_only
sudo zfs set mountpoint=/illumos_only rpool/ROOT/illumos_only


sudo pkg  image-create /illumos_only
sudo pkg -R /illumos_only set-publisher -P -e --no-refresh -O http://pkg.openindiana.org/dev/ openindiana.org
#sudo pkg -R /illumos_only set-publisher -P -e --no-refresh -O http://localhost:8151/ on-nightly
Если файлы репозитория на этой же машине, можно указать путь к ним
sudo pkg -R /illumos_only set-publisher -P -e --no-refresh -O file:///export/home/illumos-dev1/code1/illumos-gate/packages/i386/nightly/repo.redist/ on-nightly

sudo mkdir /illumos_only/etc/
sudo touch /illumos_only/etc/driver_aliases
sudo touch /illumos_only/etc/minor_perm
sudo touch /illumos_only/etc/name_to_major

#sudo pkg -R /illumos_only install pkg:/system/header
sudo pkg -R /illumos_only install pkg:/system/kernel/platform@0.5.11,5.11-0.152

41
Разработки Kirov OSUG / Bluetooth в Illumos
« : Август 28, 2012, 06:53:00 pm »
Начну с переноса в Illumos того,что сделано в OpenSolaris
Надо скомплировать
драйвер ubt: /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/io/bluetooth/ubt
модуль netbt : /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/io/bluetooth/netbt

keremet@openindiana:~/work/gsoc2012/bluetooth-gate/usr/src$ find ./ -name "Makefile*"|xargs grep netbt
./uts/common/Makefile.files:NETBT_OBJS +=    netbtcore.o hci_event.o hci_link.o hci_misc.o hci_socket.o hci_unit.o \
./uts/common/Makefile.rules:$(OBJS_DIR)/%.o:      $(UTSBASE)/common/io/bluetooth/netbt/%.c
./uts/common/Makefile.rules:$(LINTS_DIR)/%.ln:      $(UTSBASE)/common/io/bluetooth/netbt/%.c
./uts/sparc/Makefile.sparc.shared:MISC_KMODS   += netbt
./uts/sparc/netbt/Makefile:MODULE      = netbt
./uts/sparc/ubt/Makefile:LDFLAGS         += -dy -Nmisc/usba -Nmisc/netbt
./uts/intel/Makefile.intel.shared:MISC_KMODS   += netbt
./uts/intel/sockl2cap/Makefile:LDFLAGS += -dy -Nfs/sockfs -Nmisc/netbt
./uts/intel/netbt/Makefile:MODULE      = netbt
./uts/intel/ubt/Makefile:LDFLAGS         += -dy -Nmisc/usba -Nmisc/netbt
./uts/intel/sockrawhci/Makefile:LDFLAGS += -dy -Nfs/sockfs -Nmisc/netbt



Попробовать написать makefile для компляции в дереве исходников OpenSolaris. Лучше даже на основе его компиляции стандартным способом.

Копирование файлов в дерево исходников illumos
cp -r /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/io/bluetooth /export/home/illumos-dev/code/illumos-gate/usr/src/uts/common/io/bluetooth
cp /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/sys/bluetooth.h /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/sys/hci.h /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/sys/l2cap.h /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/sys/sco.h /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/common/sys/rfcomm.h /export/home/illumos-dev/code/illumos-gate/usr/src/uts/common/sys

cp -r /home/keremet/work/gsoc2012/bluetooth-gate/usr/src/uts/intel/netbt /export/home/illumos-dev/code/illumos-gate/usr/src/uts/intel/netbt


Ошибка линковки netbt:
/export/home/illumos-dev/code/illumos-gate/usr/src/uts/intel/netbt$ /usr/ccs/bin/ld -r -dy -o debug32/netbt debug32/netbtcore.o debug32/hci_event.o debug32/hci_link.o debug32/hci_misc.o debug32/hci_socket.o debug32/hci_unit.o  debug32/l2cap_lower.o debug32/l2cap_misc.o debug32/l2cap_signal.o debug32/l2cap_upper.o  debug32/rfcomm_dlc.o debug32/rfcomm_session.o debug32/rfcomm_upper.o  debug32/sco_upper.o
ld: fatal: symbol 'm_copydata' is multiply-defined:
   (file debug32/netbtcore.o type=FUNC; file debug32/hci_event.o type=FUNC);
ld: fatal: symbol 'm_copyback' is multiply-defined:
   (file debug32/netbtcore.o type=FUNC; file debug32/hci_event.o type=FUNC);
ld: fatal: symbol 'm_cat' is multiply-defined:
   (file debug32/netbtcore.o type=FUNC; file debug32/hci_event.o type=FUNC);

Решение поставить static перед inline:
В /export/home/illumos-dev/code/illumos-gate/usr/src/uts/common/sys/hci.h
static inline void wakeup(struct hci_unit *unit)
{
   mutex_enter(&unit->hci_devlock);
   cv_signal(&unit->ucv);
   mutex_exit(&unit->hci_devlock);
}

static inline unsigned char *
device_xname(struct hci_unit *dev)
{
   return (dev->dv_xname);
}

В /export/home/illumos-dev/code/illumos-gate/usr/src/uts/common/sys/bluetooth.h

static inline void m_copydata(mblk_t *m, uint32_t off, uint32_t len, void *p)
{
   bcopy((uint8_t *)(m->b_rptr + off), (uint8_t *)p, len);
}

static inline void m_copyback(struct mbuf *m0,int off,int len, void *cp)
{
   bcopy((uint8_t *)cp, (uint8_t *)(m0->b_rptr + off), len);
   m0->b_wptr = m0->b_rptr + len + off;
}

static inline void m_cat(struct mbuf *dist, struct mbuf *src)
{

   while (dist->b_cont)
      dist = dist->b_cont;

   if (src)
      dist->b_cont = src;
}

static inline struct mbuf *
m_split(struct mbuf *m, int len0, uint32_t wait)
{
   struct mbuf *n=NULL;
   int   plen;

   plen = MBLKL(m);
   if(plen <= len0)
      return (NULL);
   
   n = allocb(plen - len0, wait);
   if(n == NULL)
      return (0);
   
   bcopy(m->b_rptr+len0, n->b_rptr, plen - len0);
   n->b_wptr += (plen - len0);
   m->b_wptr -= (plen - len0) ;
   return (n);
}

static inline void
m_prepend(struct mbuf *m, int len, int how)
{
   struct mbuf *n = NULL;

   n = allocb(len+MBLKL(m), how);
   if(n == NULL){
      cmn_err(CE_WARN,"die!\n");
      return;
   }
   n->b_wptr += len;
   bcopy(m->b_rptr, n->b_wptr, MBLKL(m));
   n->b_wptr += MBLKL(m);
   freemsg(m);
   m = n;
}


static inline void wakeup(struct hci_unit *unit)
{
   mutex_enter(&unit->hci_devlock);
   cv_signal(&unit->ucv);
   mutex_exit(&unit->hci_devlock);
}


42
При воспроизведении звука из любого приложения периодически начинается его искажение. В osol2009.06 на этом же оборудовании все было нормально. На другом компе с oi151a звук воспроизводится нормально. Вероятнее всего, это ошибка в драйвере audio810.
Надо попробовать скомпилировать более старую версию
keremet@openindiana:/export/home/illumos-dev/code/illumos-gate/usr/src/uts$ find ./ -name "*audio810*"
./intel/audio810
./intel/audio810/debug64/audio810.ln
./intel/audio810/debug64/audio810
./intel/audio810/debug64/audio810.o
./intel/audio810/debug32/audio810
./intel/audio810/debug32/audio810.o
./intel/audio810/debug32/audio810.ln
./intel/lint-libs/debug32/llib-laudio810.ln
./intel/lint-libs/debug64/llib-laudio810.ln
./common/io/audio/drv/audio810
./common/io/audio/drv/audio810/audio810.h
./common/io/audio/drv/audio810/audio810.conf
./common/io/audio/drv/audio810/audio810.c


43
В файл /etc/logindevperm добавить строку:
/dev/vt/console_user    0620    /dev/console

44
pfexec ntpdate ntp.mobatime.ru
Более подробно - в скрипт сервиса svc:/network/ntp:default : /lib/svc/method/xntp

45
Код, бинарники и тестовые входные файлы выложены тут:
https://github.com/keremet/odtfiller

Страницы: 1 2 [3] 4 5 ... 8