Зарегистрирован домен shulepov.com. Пока там банальный блог. Потом посмотрим что будет. Писать в основном буду там.
Обновил Ubuntu на домашнем десктопе до 8.10. Пока впечатления весьма положительные

Обменяли sendmail на kolab

Наконец то прибили на работе старый комп девяносто-лохматых годов со стоящим на нем sendmail. Теперь на новом компе стоит Debian с установленным kolab grupware.
Теперь у нас есть современная ОС, неплохой веб-интерфейс Horde, Cyrus IMAP и другие вкусности.

Как в GNOME настроить сочетание клавиш на определенное приложение?

Что бы в GNOME запустить некое приложение сочетанием клавиш нужно следующее:
1. Запускаем программу gconf-editor. (Окошко "Выполнить программу" можно вызвать сочетанием клавиш Alt+F2 и в появившемся окошке ввести имя запускаемой программы, в нашем случае - gconf-editor.
2. Открываем папку 'apps'->'Metacity' и выбираем пункт 'keybinding_commands'.
3. В самом верху правой панели дважды щелкаем на пункте 'command_1' и затем вводим в появившееся поле команду, которую мы хотим исполнить (например 'gnome-terminal').


4. В дереве папок слева выираем 'global_keybindings'.
5. Дважды щелкаем на пунтке 'run_command_1' в правой части окна. В поле описываем сочетание клавиш каким мы хотим запустить приложение ('<alt>t' к примеру).


Теперь закрываем окно "Редактора конфигурации". Наше сочетание клавиш уже должно работать. Пробуем. Наслаждаемся :)

Как стать владельцем файла или папки в Windows XP

http://support.microsoft.com/kb/308421

Статья на 2 листа + требуется перегрузиться в безопасный режим.
Как вам такой сценарий? Вместо того что бы в командной строке набрать что-то типа chown

З.Ы. Оказалось есть нечто подобное в виндах

Для того, чтобы компенсировать отсутствие разрешений на файлы и папки необходимо переназначить владельца этих объектов, сделать это можно следующим образом.
  1. Щелкните правой кнопкой значок папки, владельца которой необходимо сменить, и выберите команду Свойства.
  2. Откройте вкладку Безопасность.
  3. Нажмите кнопку Дополнительно и перейдите на вкладку Владелец.
  4. В столбце Имя выделите свое имя пользователя, запись Администратор (если вход в систему был выполнен с помощью учетной записи «Администратор») или группу Администраторы. Чтобы стать владельцем содержимого папки, установите флажок Заменить владельца субконтейнеров и объектов.
  5. Нажмите кнопку OК, а после появления сообщения подтверждения смены владельца - кнопку Да.
  6. Нажмите кнопку ОК и настройте параметры безопасности для папки и ее содержимого.

Для того, чтобы изменить разрешения на доступ к файлам и папкам, которые расположены в текущей папке, выполните следующие действия.
Примечание. Необходимо войти в систему с помощью учетной записи, обладающей полномочиями администратора.
  1. Щелкните правой кнопкой значок папки или файла, разрешения которых необходимо изменить, и выберите команду Свойства.
  2. Откройте вкладку Безопасность
  3. Нажмите кнопку Добавить.
  4. В списке Введите имена выбираемых объектов (примеры) введите пользователя или группу, которые должны обладать правом доступа к этому файлу (например, Администратор).
  5. Нажмите кнопку ОК.
  6. В списке Группы или пользователи выделите нужную учетную запись и установите флажки соответствующих разрешений.
  7. По окончании нажмите кнопку OК.


Смена владельца объектов с помощью утилиты командной строки cacls

Примеры команд, которые можно применить для изменения
cacls "X:\Documents and Settings" /T /E /G Администратор:F
В результате выполнения команды пользователю Администратор будет предоставлен полный доступ к папке Documents and Settings.
cacls "X:\Documents and Settings" /E /R Администратор
В результате выполнения команды полномочия указанного пользователя будут аннулированы.
Примечание. В командах буквой X обозначен диск на котором находятся целевые файлы и папки

Синтаксис команды cacls:
CACLS имяФайла [/T] [/E] [/C] [/G имя:доступ] [/R имя [...]]

[/P имя:доступ [...]] [/D имя [...]]

имяФайла Вывод таблиц управления доступом.

/T Замена таблиц управления доступом для указанных файлов
в текущем каталоге и всех подкаталогах.

/E Изменение таблицы управления доступом вместо ее замены.

/C Продолжение при ошибках отказа в доступе.

/G имя:доступ Определение разрешений для указанных пользователей.
"доступ": R Чтение
W Запись
C Изменение (запись)
F Полный доступ

/R имя Отзыв разрешений для пользователя (только вместе с /E).

/P имя:доступ Замена разрешений для указанного пользователя.
"доступ": N Отсутствует
R Чтение
W Запись
C Изменение (запись)
F Полный доступ
/D имя Запрет на доступ для указанного пользователя.

На компьютере под управлением Windows Vista вы можете использовать утилиту командной строки ICACLS, которая выполняет функции Cacls и наделена множеством дополнительных возможностей.
Параметры применения ICACLS:
ICACLS name /save ACL-файл [/T] [/C] [/L] [/Q]
сохранить ACL для всех соответствующих имен в ACL-файле для
последующего использования с командой /restore.

ICACLS directory [/substitute SidOld SidNew [...]] /restore ACL-файл
[/C] [/L] [/Q]
применяет сохраненные ACL к файлам в папке.

ICACLS name /setowner пользователь [/T] [/C] [/L] [/Q]
изменяет владельца всех соответствующих имен.

ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
находит все соответствующие имена, которые включают в себя ACL,
явно содержащие этот Sid.

ICACLS name /verify [/T] [/C] [/L] [/Q]
находит все файлы, чьи ACL не являются каноническими или длина которых
не соответствует количеству ACE.

ICACLS имя /reset [/T] [/C] [/L] [/Q]
заменяет ACL унаследованными по умолчанию ACL для всех соответствующих
файлов

ICACLS имя [/grant[:r] Sid:perm[...]]
[/deny Sid:perm [...]]
[/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q]
[/setintegritylevel Level:policy[...]]

/grant[:r] Sid:perm предоставляет указанному пользователю права доступа.
Если используется :r, разрешения заменяют любые ранее предоставленные
явные разрешения. Если :r не используется, разрешения добавляются
к любым ранее предоставленным явным разрешениям.

/deny Sid:perm явно отклоняет права доступа для указанного пользователя.
ACE явного отклонения добавляется для заявленных разрешений, и
любое явное предоставление этих же разрешений удаляется.

/remove[:[g|d]] Sid удаляет все вхождения Sid в ACL. C
:g, удаляет все вхождения предоставленных прав в этом Sid. C
:d, удаляет все вхождения отклоненных прав в этом Sid.

/setintegritylevel [(CI)(OI)]Level явно задает ACE уровня целостности
для всех соответствующих файлов. Уровень может принимать одно
из следующих значений:
L[ow] - низкий
M[edium] - средний
H[igh] - высокий
Параметры наследования для ACE целостности могут предшествовать
уровню и применяются только к папкам.

Примечание.
Sid могут быть представлены либо в числовой форме, либо в форме понятного
имени. Если задана числовая форма, то добавьте a * в начало SID.

/T означает, что это действие выполняется над всеми соответствующими
файлами и папками ниже уровня папок, указанных в имени.

/C указывает, что это действие будет продолжено при всех ошибках файла.
Однако сообщения об ошибках будут выводиться на экран.

/L означает, что это действие выполняется над самой символической ссылкой,
а не над ее целью.

/Q означает, что команда ICACLS подавляет сообщения об успешном выполнении

ICACLS сохраняет канонический порядок записей ACE:
Явные отклонения
Явные предоставления
Унаследованные отклонения
Унаследованные предоставления

perm - это маска разрешения, она может быть указана в одной из двух форм:
последовательность простых прав:
F - полный доступ
M - доступ на изменение
RX - доступ на чтение и выполнение
R - доступ только на чтение
W - доступ только на запись
в скобках список определенных прав, разделенных запятыми:
D - удаление
RC - чтение
WDAC - запись DAC
WO - смена владельца
S - синхронизация
AS - доступ к безопасности системы
MA - максимально возможный
GR - общее чтение
GW - общая запись
GE - общее выполнение
GA - все общие
RD - чтение данных, перечисление содержимого папки
WD - запись данных, создание файлов
AD - добавление данных, создание папок
REA - чтение дополнительных атрибутов
WEA - запись дополнительных атрибутов
X - выполнение файлов, обзор папок
DC - удаление вложенных папок и файлов
RA - чтение атрибутов
WA - запись атрибутов
права наследования могут предшествовать любой форме и применяются
только к папкам:
(OI) - наследуют объекты
(CI) - наследуют контейнеры
(IO) - только наследование
(NP) - не распространять наследование

Примеры:

icacls c:\windows\* /save Acl-файл /T
- в Acl-файле будут сохранены ACL для всех файлов в папке c:\windows
и вложенных папках.

icacls c:\windows\ /restore Acl-файл
- будут восстановлены Acl для всех файлов из Acl-файла, которые
существуют в папке c:\windows и вложенных папках

icacls-файл /grant Администратор:(D,WDAC)
- пользователю Администратор будут предоставлены разрешения
на удаление и запись DAC для файла

icacls файл /grant *S-1-1-0:(D,WDAC)
- пользователю, определенному по sid S-1-1-0, будут предоставлены
разрешения на удаление и запись DAC для файла


Утилиты для правой кнопки мыши в GNOME

В GNOME есть очень приятные программки иногда сильно облегчающие жизнь. Например Вам надо открыть в терминале каталог уже открытый с помощью файл-менеджера Nautilus или надо быстро сделать resize картинки. Все это очень даже возможно. Итак поехали:
sudo apt-get install nautilus-gksu nautilus-image-converter nautilus-open-terminal

Затем мне пришлось перестартовать иксы (Ctrl+Alt+Backspace)
Врезультате видим следующее:

А Яндекс походу не справляется...

Недавно настроил обновлять домашнюю Ubuntu с зеркала на Яндексе. Недолго радовался тому что все работает быстро. Сейчас установка пакетов размером на полтора мегабайта выливается в получасовое ожидание. Это уже совсем ни в какие ворота не лезет. Надо подумать об организации зеркала на работе и образования доступа к нему.

Обновил десктоп

Обновил дистр на рабочем десктопе до Lenny. Вроде более-менее удачно. На первый взгляд раздражает сглаживание шрифтов в GNOME'е

Блог клиент в GNOME

Это тест нового блог клиента для GNOME


Установить элементарно:


oleg@homecomp:~$ sudo apt-get install gnome-blog


а после добавить апплет на панель.




Включение кодировки UTF в консоли Windows

Понадобилось потоком разобрать кучу HTML файлов на рабочем месте под Windows XP. Все бы ничего да файлы эти в кодировке UTF. Под Windows XP и Windows 2003 решение было такое:
C:\>chcp 65001
Active code page: 65001

C:\>

Установка скрипта pyctures и настройка SCGI в apache2

Возникла необходимость поделиться в локалке с коллегами фотками. Решил поискать скрипт галлереи на python. Нашел pyctures. Процесс установки получился такой:

  1. Скачал сам скрипт, разархивировал содержимое каталога website из папки скрипта в /var/www/photo

  2. Скопировал файл config.py.sample в config.py

  3. В config.py поправил значение ключа albumspath


    # Path to the albums.
    albumspath = '/var/ftp/photo'


  4. Далее установил необходимые пакеты:


    apt-get install libapache2-mod-scgi python_webpy python_flup python_imaging python_cheetah


  5. Поправил конфиг Apache. В конфиг нужного хоста прописал следующее:


    SCGIMount /photo 127.0.0.1:4000
    RedirectMatch ^/photo$ /photo/
    ...
    <Location "/photo">
    SCGIHandler On
    SCGIServer 127.0.0.1:4000
    </Location >


  6. После этого в config.py изменил значение ключа root


    root = '/photo'


  7. Перегружаем apache. Убеждаемся что модуль SCGI загружен:


    apache2ctl -t -D DUMP_MODULES


    После этого запускаем скрипт:

    cd /var/www/photo
    ./pyctures scgi


Вот собственно и все.
Добавлять фотки удобно таким образом:
сперва создать из админки скрипта альбом(предпочтительно с латиницей в названии, потом из админки же можно будет дать ему удобоваримое название на русском). При этом в указанной в ключе albumspath папке создается каталог со вложенной структурой подкаталогов. В подкаталог images копируем фотки и из админки запускаем команду reload albums.

Установил Ubuntu 8.04 "Hardy Heron" на ноутбук IRU Stilo 1715

Итак имеется:
Ноутбук - IRU Stilo 1715L
Ubuntu 8.04 Hardy Heron.
Процесс установки
Устанавливался дистр мирно безо всяких сбоев и проблем. На диске имелась Windows XP, а также было около 10 Gb свободного неразмеченного пространства. Ubuntu встала туда куда полагается, правда я не мудрствовал и ставил все в один раздел, ну и, разумеется, выделил пару гиг на своп. Установка заняла минут 25-30 (навскидку)

Проблемы.
После перезагрузки ubuntu заработала в 800x600. В списке доступных разрешений 1024x768 отсутствовало. Драйвер был указан "vesa". Поскольку родное разрешение для ноута 1024x768, то я и принялся за пляски с бубном вокруг нового дистрибутива. Выяснилось следующее: на ноуте используется видеоадаптер XGI Volari XP5. Драйвер "sis" c ней не работает, "trident" - тоже. После ковыряний в xorg.conf оставил "vesa" с разрешением 1024x768. Соответственно никакого аппартного ускорения 2D и тем более 3D. Жить можно, но очень некомфортно.

Что понравилось.
Заработали все клавиши клавиатуры включая функциональные (типа мьют,громче,тише и проч.), Тачпад заработал корректно. Отрабатывает клики и даблклики. Заработала кнопка прокрутки на тачпаде. По умолчанию неплохие шрифты и сглаживание. ПО стоит модное :) вроде FireFox 3 beta 5 и OpenOffice 2.4.

Новый релиз Ubuntu уже вызвал недовольные отзывы

http://www.computerra.ru/blog/sys/linux/355707/

Похоже автор статьи какой-то патологический неудачник или полный идиот

Установка PyQt 4.3 и Python 2.5 на Windows

Установка Python:
1. Идем на страницу http://www.python.org/download/ и там кликаем на пункт "Python 2.5.2 Windows installer"
2. Сохраняем файл и , после загрузки, запускаем установку
3. Все опции установки оставляем по умолчанию

Установка PyQt4:
1. Идем на страницу http://www.riverbankcomputing.co.uk/pyqt/download.php и там выбираем пункт "PyQt-Py2.5-gpl-4.3.3-2.exe"
2. Сохраняем
3. Запускаем установку и все ставим по умолчанию

Все! Python и PyQt включая Qt 4.3 установлены! Теперь можно проверить как это все работает:

Идем Пуск -> Все программы -> Python 2.5 -> IDLE (Python GUI)

>>> import sys
>>> from PyQt4.QtGui import *
>>> a = QApplication(sys.argv)
>>> hello = QLabel("Hello!",None)
>>> hello.show()
>>> a.exec_()


В результате получаем такое окошко:

Наш новый блог

Подумав, я, CrashCool и Rulix решили создать новый общий блог посвященный настройке Linux.

Зачем вы это пишите? Таких блогов полным-полно!

- В момент настройки наверное каждый перелопатил кучу материала и добился результата. Но по прошествии месяца-другого довольно тяжело вспомнить подробности и приходится заново отыскивать советы, howto и прочие man'ы. Записав все единожды в свой журнал легче найти нужную информацию. Итак это частная записная книжка, но открытая для всех.

 

Ваши советы мне не помогли

- То что описали мы гарантировано заработало у нас. Если Вы сможете подробно изложить проблему возможно мы сможем помочь Вам решить её.

 

Итак, встречайте: InDebian.blogspot.com

Проект домашней сети

Думаю организовать дома примерно такую информационную структуру:




коммункатор, лэптоп жены (и в перспективе мой), компутер детей, "главный" десктоп по Wi-Fi сообщаются с беспроводным коммутатором. Тот, в свою очередь, по витой паре соединен с ADSL-модемом, который выступает так же в роли сетевого концентратора. Так же к модему подключен сетевой диск на котором хранится общий медиа-контент(фильмы, музыка, фотки). Беспроводной коммутатор, сетевой диск и модем убираются с глаз долой на какую нибудь антресоль в прихожей (в кладовку). В результате дома отсутствуют лишние провода. Сеть доступна из любого места в доме. Все счастливы.
Правда можно еще добавить принтсервер и принтер подключать через него в модем/концентратор. Но я пока не видел принт-серверов с поддержкой Wi-Fi.

Exaile - музыкальный плеер для GTK+


После того как я пересел с KDE на GNOME я ощутил катострофическую нехватку нормального музыкального проигрывателя. Все эти Banshee и дефолтный Rhythmbox быстро опротивели. И вот на горизонте возник новый вариант:
Exaile - удобная навигация по фонотеке, управление обложками, стабильная работа. Короче пока не жалею о том что поставил его.
Немного об установке:

$sudo vi /etc/apt/sources.list


Добавляем такую строку:

deb http://download.tuxfamily.org/syzygy42 feisty exaile 


Сохраняем файл. Осталось еще немного :-)

$wget http://download.tuxfamily.org/syzygy42/F4ECF181.gpg
$sudo apt-key add F4ECF181.gpg
$sudo apt-get update
$sudo apt-get install exaile


Вот собственно и все. Можно наслаждаться любимыми музыкальными произведениями.

Ставим DBD::Oracle на Debian Etch

Для работы модуля DBD::Oracle помимо самого модуля нам понадобится Oracle Instant Client.
Идем на сайт oracle и скачиваем:
instantclient-basic-linux32-10.2.0.3-20061115.zip
instantclient-sdk-linux32-10.2.0.3-20061115.zip
instantclient-sqlplus-linux32-10.2.0.3-20061115.zip

Распаковываем файлы в какую либо директорию. В моем случае получилось так:

/opt/oracle/instantclient_10_2


После этого добавляем в .bashrc следующие переменные окружения

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/instantclient_10_2
export LD_LIBRARY_PATH=$ORACLE_HOME
export NLS_LANG=AMERICAN_CIS.CL8KOI8R
export PATH=${PATH}:$ORACLE_HOME

Затем делаем следующие ссылки

#cd opt/oracle/instantclient_10_2
#ln -s libclntsh.so.10.1 libclntsh.so
#ln -s libocci.so.10.1 libocci.so


Закачиваем исходники модуля DBD::Oracle:

#perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')
cpan> get DBD::Oracle
cpan> quit


Скачиваем файл Makefile-instantclient.PL и сохраняем его в каталог с исходниками модуля (по умолчанию это /root/.cpan/build/DBD-Oracle-1.19 ). Скачиваем конфигурационный скрипт oracle-instantclient-config в директорию входящую в переменную PATH. Я сохранил его в /usr/bin/. После этого делаем его исполняемым и правим некоторые строчки:

prefix=/opt/oracle/instantclient_10_2
version=10.2.0.3

incdirs="-I${exec_prefix}/sdk/include"
libdirs="-L${exec_prefix}"


Устанавливаем необходимую библиотеку (возможно придется ставить еще какие-нибудь, но мне только эту :) ):

$sudo apt-get install libstdc++5

Под аккаунтом root идем в каталог с исходниками и собираем наш модуль:

#cd /root/.cpan/build/DBD-Oracle-1.19
#perl Makefile-instantclient.PL
...
#make
...
#make install

Вот и все! Модуль установлен!
Примечание. Так как не всегда удобно писать полную строку коннекта, можно брать данные из файла tnsnames.ora, который по умолчанию лежит в $ORACLE_HOME/network/admin/ либо указать в переменной TNS_ADMIN каталог с этим файлом

Продолжаем издеваться над домашней ubuntu

Установил и настроил на домашней системе Apache+SSL+MySQL+Perl&php
А как же? Надо же немного ковыряться в perl CGI

Новые шрифты в Ubuntu

Добавил в домашнюю Ubuntu майкрософтовские шрифты

$sudo apt-get install msttcorefonts

В данном пакете поставляются следующие шрифты:
Andale Mono
Arial Black
Arial (Bold, Italic, Bold Italic)
Comic Sans MS (Bold)
Courier New (Bold, Italic, Bold Italic)
Georgia (Bold, Italic, Bold Italic)
Impact
Times New Roman (Bold, Italic, Bold Italic)
Trebuchet (Bold, Italic, Bold Italic)
Verdana (Bold, Italic, Bold Italic)
Webdings

Из установленной версии Win XP (C:\Windows\Fonts) добавил еще
Lucida
Tahoma
а также Cambria, Calibri и Consolas, которые у меня появились после установки Consolas Font Pack for Microsoft Visual Studio

После этого дабы не перегружая иксы шрифты стали доступны для использования выполняем такую команду:

$sudo fc-cache -fv

GUI редактор для написания программ(продолжение)

Очередное новшество -- редактор scribes. В нем вроде бы все так как и хотелось мне - шаблоны, snippets, подсветка синтаксиса, аскетичный дизайн. Если я с ним подружусь - отпишусь подробнее.