Отправляет email-рассылки с помощью сервиса Sendsay

За 2007-03-06

Re: Собираю электронные книги по Linux

Хихин Руслан пишет:
> 1 Является-ли распространением выкладывание в интернете
>
Да. Насколько я помню, в последних редакциях (ч. 4 ГК РФ) даже в явном
виде. До того выкладывание в интернете рассматривалось по аналогии как
доведение до всеобщего сведения путём передачи по кабелю. Правовые
последствия от этого не меняются - распространение произведений без явно
выраженного разрешения автора является незаконным.
> 2 Подлежит-ли российскому закондательству выкладывание книг в интернете,
> например в зоне .net, .tv и т.п
Законодательство регулирует действия людей, а не действия компьютеров.
Если ты находишься в РФ - можешь хостить файлик хоть на Марсе, это не
имеет никакого значения - распространять произведение запрещено именно
тебе и ответственность за нарушение этого требования несёшь ты, а никак
не сервер, где оно лежит.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30663; Возраст листа: 1320; Участников: 1422
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/646057

   Alexander Grebenkov 2007-03-06 23:57:30 (#646057)

Re: внедрение свободного софта

В сообщении от 6 Март 2007 08:19 RoGeR написал(a):
> зачем же паленым делать образы? если qemu поддерживает создание образов
> для VMWare ?
>
> да и qemu можно юзать вместо VMWare.

qemu МОЕЙ сборки отказывается работать с kqemu, а то бы нафиг мне все эти
вари... Три часа на установку винды, 10 минут загружается виртуальная
машина... Страх Божий!

   2007-03-06 22:41:26 (#646040)

Re: Пакетное сканирование FTP

В сообщении от 1173193325 секунд после начала Эпохи Alexander Esmont написал(а):

> 1) в базе при создании устанавливаеться кодировка utf-8, на ftp
> файлы лежат с именами в кодировке cp1251, у меня локаль koi8-r - как
> правильно задать парамметры при добавлении сервверов и настроек чтобы в
> результатах поиска были правильные надписи? Если можно, то по-шагам...

Во первых, в config.py должно быть:

DB_CHARSET = 'utf-8'

Во вторых, нужно указывать кодировку сервера при добавлении:

$ ./srvman --add host=имяхоста charset=кодировкасервера

>
> 2) где хранятся индексы для поиска?

В базе данных :)

> 3) один из серверов слег сегодня и при подключении ftp выдает сообщение
> 421 Service not available, remote server has closed connection
> а indexer вываливает ошибку
> Traceback (most recent call last):
> File "./indexer.py", line 82, in run
> self.connect()
> File "./indexer.py", line 104, in connect
> self.ftp.connect(*self.connectArgs)
> File "/usr/lib/python2.3/ftplib.pyc", line 132, in connect
> shostssplitshbytessportspbytessbytessjoinscmdsselfsvoidcmd(sselfshostsportscmdsbytesshbytesspbytes((s/usr/lib/python2.3/ftplib.pycsendportЬs
>
> File "/usr/lib/python2.3/ftplib.pyc", line 207, in getresp
> print_linesselfssendcmdsrespstransfercmdscmdsconnmakefilesfpreadlineslinesdebuggingsCRLFsclosevoidresp(sselfscmdcallbacksfpslinesrespsconn((s/usr/lib/python2.3/ftplib.pycs
> retrliness*
> File "/usr/lib/python2.3/ftplib.pyc", line 193, in getmultiline
> A new port is created for you. Return the response code.
> File "/usr/lib/python2.3/ftplib.pyc", line 183, in getline
> EOFError
>
> Это нормально или все-таки что-то несовместимо?

То что печатается Traceback это нормально. Только непосредственно перед
ним должна быть строчка "FTP Error occurred". Программа обрабатывает
такие ошибки и продолжает индексацию других серверов, если такие
имеются.

> После этой ошибки остальные сервера из списка тоже не индексируются...

Возможно они уже были проиндексированы и еще не пришло время их
индексации.

Чтобы можно было ответить точно нужно больше информации, т.е. подробно
опишите все действия и покажите полный вывод программ. Перед запуском
индексировщика покажите вывод

$ ./srvman.py --list

и

$ ./srvman.py --print --server=номерсервера

для каждого сервера.

   Konstantin Korikov 2007-03-06 20:58:02 (#646020)

Re: Пакетное сканирование FTP

В сообщении от 1173191774 секунд после начала Эпохи Alexander Esmont написал(а):

> > Что означает выполнить команду psql от имени пользователя postgres. А
> > Вы пытаетесь выполнить psql от имени текущего пользователя и
> > подключится к базе данных postgres.
> Извиняюсь, мой косяк - я забыл написать
> 1) вариант как написано завершаеться с сообщением
> [alexx@alexx alexx]$ su -c psql postgres
> Password:
> su: Authentication failure

Еще раз :) Там написано:

# su -c psql postgres
^
обратите внимание, что означает от рута. Если su выполняете от рута, он
не спрашивает пароль.

> (пароль точно правильный)
> 2) вариант с командой взятой в кавычки
> [alexx@alexx alexx]$ su -c "psql postgres"
> Password:
> psql: FATAL: database "postgres" does not exist
> Делаю вывод такой базы не существует, проверяю
>
> [alexx@alexx alexx]$ psql -l
> Список баз данных
> Имя | Владелец | Кодировка
> -----------+----------+> template0 | postgres | SQL_ASCII
> template1 | postgres | SQL_ASCII
> (записей: 2)
>
> точно - базы нет. Там наверное хранится информация о пользователях?

Такой базы нет, она и не нужна. postgres - это не база данных, а
пользователь. По умолчанию postgres - это суперпользователь в
PostgreSQL. По умолчанию в PostgreSQL используется метод авторизации
ident, который получает имя пользователя у операционной системы, по
этому мы используем su чтобы сменить пользователя.

Как настроен PostgreSQL именно у Вас я только догадываюсь. Если он
позволяет непривилегированному пользователю alex создавать базы данных,
то это похоже дыра в безопасности.

В ридми я это все описывать не буду и не просите :) Для этого есть
соответствующая документация. Как создавать базы данных и устанавливать
к ним права доступа нужно читать в документации к вашей версии
PostgreSQL.

> > Теоретически программе нужен PostgreSQL 7.3.16 (это если опираться на
> > документацию). При написании использовался 8.1.
> Понял - будет возможность проверю... Может в Ридми подправить-бы надо?

Что именно подправить? Сказать что требуется 8.1? Если будет точно
известно что требуется 8.1, я подправлю. А пока по имеющимся у меня
данным я полагаю что подойдет любая версия >= 7.3.16.

> > > Соответственно, даже при ручном выполнении запроса UPDATE поля с
> > > количеством файлов и размером остаются незаполнеными.
> >
> > Потому что индексирование было прервано по ошибке выше.
> Если индексирование было прервано, то чем же он занимался все это время?
> ;-)

Какое время? 30 милисекунд? 30 секунд? 30 минут? 30 часов?

   Konstantin Korikov 2007-03-06 20:03:05 (#646012)

Re: Пакетное сканирование FTP

On Mon, Mar 05, 2007 at 03:43:29PM +0200, Konstantin Korikov wrote:
> В сообщении от 1173087818 секунд после начала Эпохи Alexander Esmont написал(а):
>
> > Вот и прошу помощи в написании скрипта, который бы заходил на ftp-сервер,
> > сохранял локально список файлов и отключался. Обвязку я и сам (думаю)
> > смогу организовать...
>
> http://lostclus.linux.kiev.ua/chestnut-ftp-search/
>
Заработало! Первый тест показала приятность и удобство использования.
Осталось выяснить некоторые подробности:
1) в базе при создании устанавливаеться кодировка utf-8, на ftp
файлы лежат с именами в кодировке cp1251, у меня локаль koi8-r - как
правильно задать парамметры при добавлении сервверов и настроек чтобы в
результатах поиска были правильные надписи? Если можно, то по-шагам...

2) где хранятся индексы для поиска?

3) один из серверов слег сегодня и при подключении ftp выдает сообщение
421 Service not available, remote server has closed connection
а indexer вываливает ошибку
Traceback (most recent call last):
File "./indexer.py", line 82, in run
self.connect()
File "./indexer.py", line 104, in connect
self.ftp.connect(*self.connectArgs)
File "/usr/lib/python2.3/ftplib.pyc", line 132, in connect
shostssplitshbytessportspbytessbytessjoinscmdsselfsvoidcmd(sselfshostsportscmdsbytesshbytesspbytes((s/usr/lib/python2.3/ftplib.pycsendportЬs

File "/usr/lib/python2.3/ftplib.pyc", line 207, in getresp
print_linesselfssendcmdsrespstransfercmdscmdsconnmakefilesfpreadlineslinesdebuggingsCRLFsclosevoidresp(sselfscmdcallbacksfpslinesrespsconn((s/usr/lib/python2.3/ftplib.pycs
retrliness*
File "/usr/lib/python2.3/ftplib.pyc", line 193, in getmultiline
A new port is created for you. Return the response code.
File "/usr/lib/python2.3/ftplib.pyc", line 183, in getline
EOFError

Это нормально или все-таки что-то несовместимо?
После этой ошибки остальные сервера из списка тоже не индексируются...

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30659; Возраст листа: 1320; Участников: 1422
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/645993

   Alexander Esmont 2007-03-06 19:14:02 (#645993)

Re: Пакетное сканирование FTP

On Tue, Mar 06, 2007 at 03:46:49PM +0200, Konstantin Korikov wrote:
> В сообщении от 1173182445 секунд после начала Эпохи Alexander Esmont написал(а):
>
> > По инструкции в README.txt:
> >
> > $ psql postgres
> > psql: FATAL: database "postgres" does not exist
> > - После этого пробую в другую базу
>
> Там написано:
>
> # su -c psql postgres
>
> Что означает выполнить команду psql от имени пользователя postgres. А
> Вы пытаетесь выполнить psql от имени текущего пользователя и
> подключится к базе данных postgres.
Извиняюсь, мой косяк - я забыл написать
1) вариант как написано завершаеться с сообщением
[alexx@alexx alexx]$ su -c psql postgres
Password:
su: Authentication failure
(пароль точно правильный)
2) вариант с командой взятой в кавычки
[alexx@alexx alexx]$ su -c "psql postgres"
Password:
psql: FATAL: database "postgres" does not exist
Делаю вывод такой базы не существует, проверяю

[alexx@alexx alexx]$ psql -l
Список баз данных
Имя | Владелец | Кодировка
-----------+----------+template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(записей: 2)

точно - базы нет. Там наверное хранится информация о пользователях?

> Теоретически программе нужен PostgreSQL 7.3.16 (это если опираться на
> документацию). При написании использовался 8.1.
Понял - будет возможность проверю... Может в Ридми подправить-бы надо?

> > $ ./indexer.py
> > Traceback (most recent call last):
> > File "/usr/lib/python2.3/logging/__init__.pyc", line 674, in emit
> > File "/usr/lib/python2.3/logging/__init__.pyc", line 567, in format
> > Return a logger with the specified name, creating it if necessary.
> > File "/usr/lib/python2.3/logging/__init__.pyc", line 365, in format
> > iN(rootnodesselfsrootsdisablesemittedNoHandlerWarnings
> > KeyError: 'threadName'
>
> Похоже что threadName появился в Python 2.4, однако в документации об
> этом не сказано. Попробуйте Python 2.4. Или замените
>
> "[%(asctime)s] [%(levelname)s] [%(threadName)s] %(message)s")
>
> на
>
> "[%(asctime)s] [%(levelname)s] [%(thread)d] %(message)s")
Заменил - прошло без ошибок и вылетов.

> >
> > Соответственно, даже при ручном выполнении запроса UPDATE поля с
> > количеством файлов и размером остаются незаполнеными.
>
> Потому что индексирование было прервано по ошибке выше.
Если индексирование было прервано, то чем же он занимался все это время?
;-)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30658; Возраст листа: 1320; Участников: 1422
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/645987

   Alexander Esmont 2007-03-06 19:03:38 (#645987)

Re: Пакетное сканирование FTP

В сообщении от 1173182445 секунд после начала Эпохи Alexander Esmont написал(а):

> По инструкции в README.txt:
>
> $ psql postgres
> psql: FATAL: database "postgres" does not exist
> - После этого пробую в другую базу

Там написано:

# su -c psql postgres

Что означает выполнить команду psql от имени пользователя postgres. А
Вы пытаетесь выполнить psql от имени текущего пользователя и
подключится к базе данных postgres.

> $ psql template1
> template1=>CREATE DATABASE chnutdb WITH ENCODING 'utf8';
> CREATE
> template1=>CREATE ROLE yourUser WITH PASSWORD 'yourPassword' LOGIN;
> ERROR: syntax error at or near "ROLE" at character 8

CREATE ROLE это для нового PostgreSQL (>= 8.1). Для старого нужно
CREATE USER.

Теоретически программе нужен PostgreSQL 7.3.16 (это если опираться на
документацию). При написании использовался 8.1.

> {попробовал разобраться самостоятельно и пришел к такой форме}
>
> template1=>CREATE USER alexx WITH PASSWORD 'password';
> CREATE
> template1=>GRANT ALL PRIVILEGES ON DATABASE chnutdb TO alexx;
> GRANT
>
> Далее все по инструкции:
> $ ./configure.py --create-schema --create-config
> $ ./srvman.py --add host=ftp.example1.net
> $ ./indexer.py
> Traceback (most recent call last):
> File "/usr/lib/python2.3/logging/__init__.pyc", line 674, in emit
> File "/usr/lib/python2.3/logging/__init__.pyc", line 567, in format
> Return a logger with the specified name, creating it if necessary.
> File "/usr/lib/python2.3/logging/__init__.pyc", line 365, in format
> iN(rootnodesselfsrootsdisablesemittedNoHandlerWarnings
> KeyError: 'threadName'

Похоже что threadName появился в Python 2.4, однако в документации об
этом не сказано. Попробуйте Python 2.4. Или замените

"[%(asctime)s] [%(levelname)s] [%(threadName)s] %(message)s")

на

"[%(asctime)s] [%(levelname)s] [%(thread)d] %(message)s")

в indexer.py.

> и вот тут затык минут на 30, хотя ls -lR на сервере выполняеться за
> минуту...
> Потом :
> Exception in thread Thread-1:
> Traceback (most recent call last):
> File "/usr/lib/python2.3/threading.pyc", line 436, in __bootstrap
> File "./indexer.py", line 255, in run
> self.indexer.run()
> File "./indexer.py", line 95, in run
> web.update('server', where = self.serverID, **upd)
> File "/home/alexx/rpm/chestnut/chestnut-ftp-search/web.py", line 971, in
update
> values.values() + vars)
> File "/home/alexx/rpm/chestnut/chestnut-ftp-search/web.py", line 794, in
<lambda>
> ctx.db_execute = lambda cur, sql_query, d=None: \
> ProgrammingError: ERROR: current transaction is aborted, commands ignored
until
> end of transaction block
>
> UPDATE server SET i_end_time='2007-03-06 13:49:41.074113' WHERE id = 1
>
> Соответственно, даже при ручном выполнении запроса UPDATE поля с
> количеством файлов и размером остаются незаполнеными.

Потому что индексирование было прервано по ошибке выше.

> Для доступа к поиску я использовал
> $ run.py
> а броузером на 127.0.0.1:8080/
> т.к. apache пока не ставил...
> Это нормальный метод?

Для тестирования - да. Для использования в продакшин - нет, так как
небезопасно.

> > Демо:
> > http://search.linux.kiev.ua/
> Посмотреть в работе не получилось при задании маски: '*', результат: "Ничего
> не найдено"
> Opera 9.10

Наверно потому что не было файлов, в которых содержится символ "*".
Чтобы этот символ интерпретировался как маска нужно выбрать режим писка
= шаблон оболочки.

   Konstantin Korikov 2007-03-06 16:56:04 (#645968)

Re: Пакетное сканирование FTP

On Mon, Mar 05, 2007 at 06:10:04PM +0200, amper_2***@r*****.ru wrote:
> Как насчет такого решения?
>
> lftp -c 'lftp serverip; set ftp:charset cp1251;find > filename'
>
Идея не плоха, но find работает медленновато при создании списка.
Вот модификация, которая меня устроила:
lftp -c 'lftp HostName.Dom; set ftp:charset cp1251; login user pass; ls
-lR > swap.lst; bye'
и по быстродействию и по автоматизации. Спасибо за идею.
Осталось теперь только компоновку в единый файл сделать и полный порядок
- тут думаю уже справлюсь.

> Хочеться автоматизировать этот процесс таким способом:
> - есть файл со списком ftp ресурсов
> - написать скрипт который выполнит сбор списка файлов со всех ресурсов и
> сольет их в один файл в подкаталоги с именами ftp-ресурсов для удобного
> поиска.
>
> Вот и прошу помощи в написании скрипта, который бы заходил на ftp-сервер,
> сохранял локально список файлов и отключался. Обвязку я и сам (думаю)
> смогу организовать...

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30656; Возраст листа: 1320; Участников: 1422
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/645947

   Alexander Esmont 2007-03-06 16:04:42 (#645947)

Re: Пакетное сканирование FTP

On Mon, Mar 05, 2007 at 03:43:29PM +0200, Konstantin Korikov wrote:
> В сообщении от 1173087818 секунд после начала Эпохи Alexander Esmont написал(а):
>
> > Вот и прошу помощи в написании скрипта, который бы заходил на ftp-сервер,
> > сохранял локально список файлов и отключался. Обвязку я и сам (думаю)
> > смогу организовать...
>
> http://lostclus.linux.kiev.ua/chestnut-ftp-search/
Идея понравилась. Решил попробовать, но не получилось...
Рассказываю как я делал, может поправите...
psql (PostgreSQL) 7.4.3
Python 2.3.3
Cheetah-2.0rc7
flup-0.5
FormEncode-0.4
web.py-0.2
дистрибутив ALTLinux Master 2.4

По инструкции в README.txt:

$ psql postgres
psql: FATAL: database "postgres" does not exist
- После этого пробую в другую базу
$ psql template1
template1=>CREATE DATABASE chnutdb WITH ENCODING 'utf8';
CREATE
template1=>CREATE ROLE yourUser WITH PASSWORD 'yourPassword' LOGIN;
ERROR: syntax error at or near "ROLE" at character 8

{попробовал разобраться самостоятельно и пришел к такой форме}

template1=>CREATE USER alexx WITH PASSWORD 'password';
CREATE
template1=>GRANT ALL PRIVILEGES ON DATABASE chnutdb TO alexx;
GRANT

Далее все по инструкции:
$ ./configure.py --create-schema --create-config
$ ./srvman.py --add host=ftp.example1.net
$ ./indexer.py
Traceback (most recent call last):
File "/usr/lib/python2.3/logging/__init__.pyc", line 674, in emit
File "/usr/lib/python2.3/logging/__init__.pyc", line 567, in format
Return a logger with the specified name, creating it if necessary.
File "/usr/lib/python2.3/logging/__init__.pyc", line 365, in format
iN(rootnodesselfsrootsdisablesemittedNoHandlerWarnings
KeyError: 'threadName'

и вот тут затык минут на 30, хотя ls -lR на сервере выполняеться за
минуту...
Потом :
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.3/threading.pyc", line 436, in __bootstrap
File "./indexer.py", line 255, in run
self.indexer.run()
File "./indexer.py", line 95, in run
web.update('server', where = self.serverID, **upd)
File "/home/alexx/rpm/chestnut/chestnut-ftp-search/web.py", line 971, in update
values.values() + vars)
File "/home/alexx/rpm/chestnut/chestnut-ftp-search/web.py", line 794, in <lambda>
ctx.db_execute = lambda cur, sql_query, d=None: \
ProgrammingError: ERROR: current transaction is aborted, commands ignored until
end of transaction block

UPDATE server SET i_end_time='2007-03-06 13:49:41.074113' WHERE id = 1

Соответственно, даже при ручном выполнении запроса UPDATE поля с
количеством файлов и размером остаются незаполнеными.

Что делать и где я виноват?

Для доступа к поиску я использовал
$ run.py
а броузером на 127.0.0.1:8080/
т.к. apache пока не ставил...
Это нормальный метод?

> Демо:
> http://search.linux.kiev.ua/
Посмотреть в работе не получилось при задании маски: '*', результат: "Ничего
не найдено"
Opera 9.10

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30655; Возраст листа: 1320; Участников: 1422
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/645934

   Alexander Esmont 2007-03-06 15:42:32 (#645934)

Re: внедрение свободного софта

Васильич wrote:

>А образы для него делаю паленым VMWare Workstation под маздаем. Кстати, всвязи
>с этим вопрос (философский): можно ли не ворованной программой открывать
>файлы, сделанные на ворованной программе? будет ли это нарушением закона?
>
>
>
зачем же паленым делать образы? если qemu поддерживает создание образов
для VMWare ?

да и qemu можно юзать вместо VMWare.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 30654; Возраст листа: 1320; Участников: 1422
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/645876

   2007-03-06 08:40:11 (#645876)

Re: внедрение свободного софта

В сообщении от 5 Март 2007 08:12 Иваненко Денис написал(a):
> Вот мои соображения по теме:
> 1. Платить прдётся. Не сегодня, так завтра. Однозначно. Если начальство
> этого не понимает, ему же хуже.

Я, кажется, нашел решение. Пусть половинчатое и не соответствующее идеологии
Linux, но все-таки хоть что-то. VMWare player. Самый что ни на есть
бесплатный. Запускаю под ним образ винды. Если приходят проверяющие - то на
компе стоит линукс, а апплета vmplayer на десктопе нет... Пусть ищут. А
образы для него делаю паленым VMWare Workstation под маздаем. Кстати, всвязи
с этим вопрос (философский): можно ли не ворованной программой открывать
файлы, сделанные на ворованной программе? будет ли это нарушением закона?

ЗЫ: провел психологический эксперимент. Друзья-компьютерщики вообще при беглом
осмотре не смогли определить, что винда - виртуальная... Так что и
пользователи тем более не поймут.

   2007-03-06 07:39:55 (#645870)