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

За 2007-03-07

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

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

> > Во первых, в config.py должно быть:
> >
> > DB_CHARSET = 'utf-8'
> Именно 'utf-8', а не 'utf8' как сказано в README при создании базы? Или
> это одно и тоже?

Как написано в комментариях "Must be valid python encoding name".
Вообще Python одинаково понимает такие значения: utf8, utf-8, UTF8,
UTF-8. Что относится и к PostgreSQL. А вот MySQL не поддерживает такие
псевдонимы, он понимает только одно из значений.

> > Во вторых, нужно указывать кодировку сервера при добавлении:
> >
> > $ ./srvman --add host=имяхоста charset=кодировкасервера
> А в каком виде? Например у меня на серверах cp1251 так и указать 'cp1251'
> или '1251' или 'win1251'. Сам склоняюсь к 'cp1251' - так и попробую.

И тут нужно указывать кодировку, которую понимает Python. О кодировках
в Python читайте тут http://docs.python.org/lib/standard-encodings.html

   Konstantin Korikov 2007-03-07 22:31:21 (#646274)

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

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

> > Еще раз :) Там написано:
> > # su -c psql postgres
> > ^
> > обратите внимание, что означает от рута. Если su выполняете от рута, он
> > не спрашивает пароль.
> Точно, не спрашивает! Но и не работает... :-)
> [root@alexx root]# su -c psql postgres
> su: exec failed

Опа... Как такое возможно?

# su -c skdfjlsdkfj postgres
bash: skdfjlsdkfj: command not found
# su -c psql skdfjldskfj
su: user skdfjldskfj does not exist
#

У Вас явно какой-то неправильный su.

> [root@alexx root]# psql --help
> This is psql 7.4.3, the PostgreSQL interactive terminal.
>
> Usage:
> psql [OPTIONS]... [DBNAME [USERNAME]]
> .
> .
> .
> -U NAME database user name (default: "root")
> Насколько я понял по справке на psql то первым парамметров идет именно имя
> БД, а не имя пользователя.

Точно. Но команда su получает первым параметром именно имя пользователя.

> Для запуска psql надо указать БД к какой
> подключаться,а потом уже имя пользователя.

А можно и не указывать ни БД, ни имя пользователя.

> В моем случае (на страрте присутствуют только БД template1 и template0, но
> template0 не принимает подключений) команда трансформируется в
>
> $ su -c "psql template1 postgres"

Ради бога. Если оно у Вас работает...

> Ладно, ладно - я и не настаиваю... :) Может просто пояснения действий
> дать? Мне же вот помогло - на этом этапе...

Это для каждой версии PostgreSQL давать отдельные разъяснения? А может
еще и для каждого конкретного дистрибутива?

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

Доказательства :) Может быть оно у Вас работает "не так" совсем не
из-за номера версии. Может это у вас настройки такие. А может
и разработчики дистрибутива что-то нахимичили в исходниках СУБД.

> Но всеже если указывается что версия >= 7.3.16, а в наборе команд
> CREATE ROLE отсутствует, то может стоит подправить?

Использование нового синтаксиса - намек на то что нужно использовать
свежие версии ПО :)

> Кстати, в строке
>
> postgres=# GRANT ALL PRIVILEGES ON DATABASE yourDBUser TO yourUser;
>
> думаю стоит исправить yourDBUser на yourDBName, ведь права передаются на
> БД созданую двумя строками выше.

Да, а тут опечатка. :) Исправил. Спасибо.

> > Какое время? 30 милисекунд? 30 секунд? 30 минут? 30 часов?
> 20-30 минут стоит, потом возвращает управление shell-у.

Значит по какой-то непонятной причине какие-то непонятные процессы
продолжались :)

   Konstantin Korikov 2007-03-07 18:33:09 (#646239)

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

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

Даже если я распространю в интернете сборник Пушкина, который является
public domain.

   2007-03-07 11:51:10 (#646162)

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

On Tue, Mar 06, 2007 at 08:00:51PM +0200, Konstantin Korikov wrote:
> В сообщении от 1173193325 секунд после начала Эпохи Alexander Esmont написал(а):
>
> > 1) в базе при создании устанавливаеться кодировка utf-8, на ftp
> > файлы лежат с именами в кодировке cp1251, у меня локаль koi8-r - как
> > правильно задать парамметры при добавлении сервверов и настроек чтобы в
> > результатах поиска были правильные надписи? Если можно, то по-шагам...
>
> Во первых, в config.py должно быть:
>
> DB_CHARSET = 'utf-8'
Именно 'utf-8', а не 'utf8' как сказано в README при создании базы? Или
это одно и тоже?

> Во вторых, нужно указывать кодировку сервера при добавлении:
>
> $ ./srvman --add host=имяхоста charset=кодировкасервера
А в каком виде? Например у меня на серверах cp1251 так и указать 'cp1251'
или '1251' или 'win1251'. Сам склоняюсь к 'cp1251' - так и попробую.

> > 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". Программа обрабатывает
> такие ошибки и продолжает индексацию других серверов, если такие
> имеются.
Обязательно обкатаю ситуацию, т.к. у нас таки кто-то уронил свой сервер и
он теперь не работает, а только отвечает 421...

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

Обязательно попробую и после обеда отпишусь, если что...

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

   Alexander Esmont 2007-03-07 10:27:50 (#646133)

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

On Tue, Mar 06, 2007 at 07:05:30PM +0200, Konstantin Korikov wrote:

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

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

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

[root@alexx root]# psql --help
This is psql 7.4.3, the PostgreSQL interactive terminal.

Usage:
psql [OPTIONS]... [DBNAME [USERNAME]]
.
.
.
-U NAME database user name (default: "root")
Насколько я понял по справке на psql то первым парамметров идет именно имя
БД, а не имя пользователя. Для запуска psql надо указать БД к какой
подключаться,а потом уже имя пользователя.
В моем случае (на страрте присутствуют только БД template1 и template0, но
template0 не принимает подключений) команда трансформируется в

$ su -c "psql template1 postgres"

Спасибо за разъяснения - увидел путь.

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

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

Но всеже если указывается что версия >= 7.3.16, а в наборе команд
CREATE ROLE отсутствует, то может стоит подправить?
Кстати, в строке

postgres=# GRANT ALL PRIVILEGES ON DATABASE yourDBUser TO yourUser;

думаю стоит исправить yourDBUser на yourDBName, ведь права передаются на
БД созданую двумя строками выше.

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

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

   Alexander Esmont 2007-03-07 10:25:42 (#646132)