вторник, 4 мая 2010 г.

Законы... законы ;-)

Стало очень интересно как наше законодательство относится к изменению/модификации приобретенных программных продуктов под "себя".
Вот что нашел:

Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
[Гражданский кодекс РФ] [Глава 70] [Статья 1280]

1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:

1) внести в программу для ЭВМ или базу данных изменения исключительно в целях их функционирования на технических средствах пользователя и осуществлять действия, необходимые для функционирования таких программы или базы данных в соответствии с их назначением, в том числе запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), а также осуществить исправление явных ошибок, если иное не предусмотрено договором с правообладателем;

2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей или для замены правомерно приобретенного экземпляра в случаях, когда такой экземпляр утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована в иных целях, чем цели, указанные в подпункте 1 настоящего пункта, и должна быть уничтожена, если владение экземпляром таких программы или базы данных перестало быть правомерным.

2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи.

3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:

1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;

2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;

3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.

4. Применение положений, предусмотренных настоящей статьей, не должно наносить неоправданный ущерб нормальному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя.

пятница, 16 апреля 2010 г.

Постоянные ошибки с ключами GPG

При обновлении постоянно вылетают ошибки типа:
GPG error: http://archive.ubuntu.com breezy-updates Release: The following
signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic
Signing Key

В общем исправляем так:
$ sudo apt-get update -o Acquire::http::No-Cache=True
или так:
$ sudo apt-get update -o Acquire::BrokenProxy=true

четверг, 8 апреля 2010 г.

Объединение сетевых интерфейсов при помощи bonding

$sudo aptitude install ifenslave ethtool

Затем добавим модуль bonding в автозагрузку и пропишем опции для его запуска, для этого в конец файла /etc/modules добавим текст.

$sudo mcedit /etc/modules

alias bond0 bonding
options bonding mode=0 miimon=100

Затем загрузим модуль bonding

$sudo modprobe bonding mode=0 miimon=100

$sudo mcedit /etc/network/interfaces

# The bond0 network interface
auto bond0
allow-hotplug bond0
iface bond0 inet static
address 192.168.1.254
netmask 255.255.255.0
# network 192.168.1.255
broadcast 192.168.1.255
# gateway gateway-address
# dns-nameservers nameserver-one nameserver-two
# dns-search
up /sbin/ifenslave bond0 eth0
up /sbin/ifenslave bond0 eth1

$sudo /etc/init.d/networking restart

$ifconfig

все...

Переименование сетевого интерфейса в Linux

Часто бывает при замене сетевой карты она начинает определятся не как все привыкли по порядку c eth0.

Если вы хотите изменить название интерфейса с eth1 на eth0 либо еще как то, необходимо найти файл в /etc/udev/rules.d/ в имене файла присутствует название persistent-net.rules (в Ubuntu называется 70-persistent-net.rules). Открываем, видим что привязка идет к МАК адресу сетевого адаптера, чтоб изменить название достаточно в конце строки с необходимым адаптером изменить название, например, eth1 меняем на eth0. Сохраняем, перезагружаемся. Все карты видны, как нам нужно.

воскресенье, 21 марта 2010 г.

mail.ru агент в Ubuntu

В общем радуют последние сборки wine. Mail.ru агент устанавливается и запускается почти без "бубнов".
Устанавливаем:

1. Устанавливаем wine и winetricks:
добавляем ppa с текущим wine:

$ sudo add-apt-repository ppa:ubuntu-wine/ppa

$ sudo apt-get update

$ sudo apt-get install wine1.2

$ wget http://www.kegel.com/wine/winetricks

2.
$ winetricks riched20 flash tahoma msxml3

3.
$ wine magentsetup.exe


СТАВИТЬ msxml3 обязательно иначе не отображаются ваши сообщения у получателей. Вместо них иероглифы.
tahoma ставить не обязательно, но стандартный шрифт ужасный.
и все ;-)

$ wine magent.exe

работает!!!

пятница, 19 марта 2010 г.

Серые IP и ssh туннели.

Все некогда писать, уже так много накопилось в записках, вот решил одну выложить...

В общем задача стояла такая:

Есть удаленная рабочая точка с серым ip на которой установлена ubuntu, соединяется по rdp через интернет с w2k3 сервером при помощи ssh туннеля. Там же стоит принтер HP LJ 1000. Народ в 1с робит. Локально печатает все нормально. Но при настройке принтера через rdesktop замучался, печатает только со снятой галочкой "Двусторонний обмен". Снимаешь, перезагружаешься и все...
Юзеру открывать доступ к свойствам принтера тоже не охота. Да и незачем. Работают бесшовном рещиме с seamlessrdp.

Путем гугления по ssh тунелям пришел к такому варианту:
На клиенте пробрасываем cups, rdp и до кучи, раз разобрались, vnc.

Для этого пришлось поднять такие туннели:

1. Клиент:

#!/bin/sh
plink -v -x -a -N -ssh -2 -4 -C -P 222 -l -pw password -L 127.0.0.1:3390:192.168.135.200:3389 -R 1234:127.0.0.1:5900 -R 1235:127.0.0.1:631 user@server.net

потом соответственно еще один для запуска 1с:

#!/bin/sh
rdesktop 127.0.0.1:3390 -kcommon -u"user" -p password -a8 -xm -N -P -z -g1273x745 -A -s"c:\seamlessrdp\seamlessrdpshell.exe c:\1cv77\bin\1cv7s.exe"

2. На w2k3 сервере поднимаем второй туннель до шлюза:
plink -ssh -N -v user@192.168.135.254 -P 222 -pw password -L 632:127.0.0.1:1235 -L 5902:127.0.0.1:1234

где:
192.168.135.200 - сам сервер w2k3
192.168.135.254 - шлюз на linux на стороне сервера.
user@server.net - внешний адрес нашего шлюза. У меня динамический пользую no-ip.com

для автоподнятия ssh на стононе w2k3 использовал myentunnel, небольшая надстройка над plink, которая позволяет запускать его как службу и следит за разрывами.

Как ее настраивать писать не буду... Там итак все просто...

после поднятия туннелей подключаем принтер как http://<127.0.0.1:632>...
И все работает. Даже удаленная помогалка VNC.

четверг, 26 ноября 2009 г.

Автоматическое исправление ошибок ФС при перезагрузке

Замучался с одним компьютером, постоянно при некорректном выключении питания летел журнал ext3 и приходилось лезть под root для запуска fsck вручную.
Нашел такое решение.

Автоматическое исправление ошибок ФС при перезагрузке ubuntu.
Правим:
sudo nano /etc/default/rcS

исправляем:
FSCKFIX=yes

пятница, 31 октября 2008 г.

Поставил ubuntu 8.10 на DELL D500 и разочаровался...
В драйверах для intel 3D как надо не пашет:

ОС: Ubuntu 8.10RC

$ uname -a
Linux dell 2.6.27-7-generic #1 SMP Fri Oct 24 06:40:41 UTC 2008 x86_64 GNU/Linux

$ cat /proc/cpuinfo | grep name
model name : Intel(R) Celeron(R) CPU 550 @ 2.00GHz

$ lspci |grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)

$ glxgears
2483 frames in 5.0 seconds = 496.549 FPS
2532 frames in 5.0 seconds = 506.351 FPS
2501 frames in 5.0 seconds = 500.094 FPS

иногда бывает 570 FPS, но все равно маловато, у народа вроде на данной карточке было 1500FPS?

$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) 965GM 20061102

xorg.conf
Section "Device"
Identifier "Configured Video Device"
Driver "intel"
Option "FramebufferCompression" "Off"
Option "AccelMethod" "xaa"
EndSection

Section "Module"
Load "glx"
Load "dri"
EndSection

RAM 1Gb

мои любимые Герои не идут так как не поддерживается Pixel Shader, пробовал обновить ядро до 2.6.28RC2 и драйвер от intel до 2.5 получилось, но mesa 3D так и не настроил, скорее всего придется ждать 9.04 где должны быть исправлены драйвера для intel.
glxgears разогнал до 570FPS.
Зато одно радует грузиться теперь быстрее чем со старым ядром.
При компиляции ядра я только выключил поддержку Xen (не компилировалось ядро) и kernel hacking (размер с ним более 200Мб получается).
Вот ссылка на инструкцию по сборке: http://www.howtoforge.com/kernel_compilation_ubuntu_p2

четверг, 9 октября 2008 г.

Проброс COM портов под wine с использованием remserial !!!

Все-таки получилось наладить работу торгового оборудования в терминальном режиме под Linux. Все осуществлялось при помощи NXServer+remserial+Wine (etersoft).
Команда разработчиков etersoft выпустила патчи для wine, с которыми нормально заработал remserial.
Проверил работу на сканерах, ШК фискальниках (Штрих ФР-К,Фелиск ФР-02К), дисплеях покупателя Datecs. Все заработало нормально, за исключением некоторых тормозов при работе со сканером.

в общем делается это достаточно просто:

Качаем бинарные пакеты remserial от сюда: http://lpccomp.bc.ca/remserial/

Прописываем в в автозапуск на клиенте (где стоит сканер):
#remserial -d -p 7200 -s "9600 raw" /dev/ttyS0 &

на терминальном сервере:
$remserial -d -r 192.168.135.253 -p 7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx &

и подключаемся на сервере к сканеру через драйвер АТОЛ на порту com5.

Те же действия выполняем для подключения всех остальных устройств (не забывая менять порты). Для работы с USB сканером или подключённому к через переходник указываем порт /dev/USB0 или другой к которому подключён сканер.

все.

суббота, 12 января 2008 г.

Вышел wine 0.9.53

Wine 0.9.53 was released today, with the following main changes:

  • RunOnce and Run entries now executed on startup.
  • Beginnings of support for emulated disk devices.
  • Many Richedit improvements.
  • Nicer looking color dialog.
  • Lots of bug fixes.
Полный список изменений http://www.winehq.org/?announce=0.9.53
Поторопился снес wine@etersoft 1.0.8n, хотел поставить из репов для ubuntu, а там пока только 0.9.52 ;-))