По умолчанию это действие производится вручную администратором, однако гораздо лучше если сервер будет устанавливать обновления сам, скажем раз в неделю. Для этих целей будем использовать планировщик cron. Сначала создадим файл скрипта в директории /etc/cron.weekly, что обеспечит ему еженедельное исполнение:
sudo touch /etc/cron.weekly/updates
Откроем его в редакторе Midnight Commander (F4) и внесем следующий текст:
echo "**************" >> /var/log/updates
date >> /var/log/updates
aptitude update >> /var/log/updates
aptitude safe-upgrade -o Aptitude::Delete-Unused=false --assume-yes --target-release `lsb_release -cs`-security >> /var/log/updates
echo "Security updates (if any) installed"
Сохраним (F2) и, выйдя из mc, добавим ему права на исполнение:
sudo chmod +x /etc/cron.weekly/updates
Теперь наш скрипт будет исполняться еженедельно записывая результат своей работы в
/var/log/updates, чтобы избежать излишнего разрастания лог-файла необходимо обеспечить его ротацию. Для этого воспользуемся штатной утилитой logrotate. Создадим файл:
sudo touch /etc/logrotate.d/updates
И внесем в него следующий текст:
/var/log/updates {
rotate 2
weekly
size 250k
compress
notifempty
}
При указанных настройках файл будет заменяться новым каждую неделю (weekly) или по превышении им размера 250 кБ (size 250k), при этом будут сохранятся два предыдущих файла (rotate 2) в сжатом виде (compress), при пустом логе ротация не происходит (notifempty).
При необходимости можно легко изменить период установки обновлений. Достаточно переместить скрипт updates в соответствующую директорию. Например его перемещение из /etc/cron.weekly в /etc/cron.daily позволит устанавливать обновления ежедневно.
среда, 19 мая 2010 г.
воскресенье, 16 мая 2010 г.
Платы на чипах tw68xx в ubuntu
С данными платами Zoneminder работает только с этими дровами http://gitorious.org/tw68, но они не доделаны... Нет режима YUV420, в RGB32 полосы вертикальные постоянно на кадрах.
Более менее работает в режиме YUVY, но пропадает цвет в режиме мультиплексирования (
Пробовал 2 платы 8 камер...
p.s.
Самому zoneminder не нравиться, ставил так, для пробы. Пользую avreg, но он не умеет работать с этим режимом...
так, что пока курим в сторонке смотря на git tree )))
Собственно вот как ставил:
1. вырубаем (можно и не вырубать) V4L_MULTI_BUFFER на вкладке ->config
2. ставим CAPTURES_PER_FRAME = 2
3. собираем дрова с git
sudo su
apt-get install git-core dpkg-dev build-essential automake gcc
cd /root; git clone git://gitorious.org/tw68/tw68-v2.git
cd tw68-v2 ; make
cp tw68.ko /var/lib
chmod 755 /var/lib/tw68.ko
4. правим /etc/modprobe.d/bttv.conf
options bttv card=77 tuner=4 radio=0 triton1=0 vsfx=0 autoload=0
5. и добавляем в автозагрузку sudo mcedit /etc/rc.local
modprobe bttv
insmod /var/lib/tw68.ko
Проверено ubuntu 9.10 и 10.04, платы на чипах tw6802, zoneminder из родных репов...
Более менее работает в режиме YUVY, но пропадает цвет в режиме мультиплексирования (
Пробовал 2 платы 8 камер...
p.s.
Самому zoneminder не нравиться, ставил так, для пробы. Пользую avreg, но он не умеет работать с этим режимом...
так, что пока курим в сторонке смотря на git tree )))
Собственно вот как ставил:
1. вырубаем (можно и не вырубать) V4L_MULTI_BUFFER на вкладке ->config
2. ставим CAPTURES_PER_FRAME = 2
3. собираем дрова с git
sudo su
apt-get install git-core dpkg-dev build-essential automake gcc
cd /root; git clone git://gitorious.org/tw68/tw68-v2.git
cd tw68-v2 ; make
cp tw68.ko /var/lib
chmod 755 /var/lib/tw68.ko
4. правим /etc/modprobe.d/bttv.conf
options bttv card=77 tuner=4 radio=0 triton1=0 vsfx=0 autoload=0
5. и добавляем в автозагрузку sudo mcedit /etc/rc.local
modprobe bttv
insmod /var/lib/tw68.ko
Проверено ubuntu 9.10 и 10.04, платы на чипах tw6802, zoneminder из родных репов...
вторник, 4 мая 2010 г.
Законы... законы ;-)
Стало очень интересно как наше законодательство относится к изменению/модификации приобретенных программных продуктов под "себя".
Вот что нашел:
Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
[Гражданский кодекс РФ] [Глава 70] [Статья 1280]
1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:
1) внести в программу для ЭВМ или базу данных изменения исключительно в целях их функционирования на технических средствах пользователя и осуществлять действия, необходимые для функционирования таких программы или базы данных в соответствии с их назначением, в том числе запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), а также осуществить исправление явных ошибок, если иное не предусмотрено договором с правообладателем;
2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей или для замены правомерно приобретенного экземпляра в случаях, когда такой экземпляр утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована в иных целях, чем цели, указанные в подпункте 1 настоящего пункта, и должна быть уничтожена, если владение экземпляром таких программы или базы данных перестало быть правомерным.
2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи.
3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:
1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;
2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;
3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.
4. Применение положений, предусмотренных настоящей статьей, не должно наносить неоправданный ущерб нормальному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя.
Вот что нашел:
Статья 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
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
все...
Затем добавим модуль 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. Сохраняем, перезагружаемся. Все карты видны, как нам нужно.
Если вы хотите изменить название интерфейса с 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
работает!!!
Устанавливаем:
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.
В общем задача стояла такая:
Есть удаленная рабочая точка с серым 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
Нашел такое решение.
Автоматическое исправление ошибок ФС при перезагрузке 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
В драйверах для 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
Подписаться на:
Сообщения (Atom)