Toolserver/For users/Ru: Difference between revisions
No edit summary |
No edit summary |
||
| Line 81: | Line 81: | ||
* Если вам приходится запускать длительные запросы к базе данных, прочтите [http://mail.wikipedia.org/mailman/private/toolserver-l/2005-December/000092.html советы по оптимизации]. |
* Если вам приходится запускать длительные запросы к базе данных, прочтите [http://mail.wikipedia.org/mailman/private/toolserver-l/2005-December/000092.html советы по оптимизации]. |
||
== |
== Веб-хостинг == |
||
Вам предоставляется хостинг по адресу <tt><nowiki>http://tools.wikimedia.de/~<username>/</nowiki></tt>. Помещайте содержимое в <tt>~/public_html/</tt>. Вы можете использовать PHP или (в качестве альтернативы) CGI-скрипты (последние следует располагать в каталоге <tt>~/public_html/cgi-bin/</tt>). Как CGI-, так и PHP-скрипты запускаются под вашим идентификатором пользователя. |
|||
Webalizer |
Статистика (сгенерированная с помощью [[Webalizer]]) для узла tools.wikimedia.de доступна здесь: [http://tools.wikimedia.de/~daniel/stats/] (обновляется раз в 6 часов). Обратитесь к [[User:Duesentrieb]] в случае если с этим возникнут проблемы. |
||
== Дисковые квоты == |
|||
==Disk quota== |
|||
Для вас установлена дисковая квота в 256 мегабайт на файловой системе <tt>/u01</tt> . Это сделано не для того, чтобы ограничить использование, а чтобы не дать пользователям по ошибке занять слишком много места. Мы можем увеличить этот лимит; для этого напишите на <tt>zedler-admins@wikimedia.org</tt> с указанием того, сколько места вам нужно и зачем. |
|||
You have a disk quota of 256MB on the <tt>/u01</tt> filesystem. This is not meant to restrict usage; rather, to prevent users from accidentally using too much disk space. If you would like a larger quota, please mail <tt>zedler-admins@wikimedia.org</tt> explaining how much you need and why. |
|||
== Программы == |
|||
==Software== |
|||
Большинство обычных средств, которые могли бы вам понадобится, установлены здесь. Напишите администраторам, если вам понадобится что-то ещё. Следует заметить, что: |
|||
Most of the usual software you would expect is installed. Ask zedler-admins if you want something else. There are a few points to note: |
|||
; 64- |
; 64-битное окружение : по умолчанию на Solaris всё компилируется в 32-битном режиме. Чтобы получить 64-битный исполняемые файл, используйте "<code>-xarch=amd64</code>" (для cc) или "<code>-m64</code>" (для gcc) |
||
; mysql : |
; mysql : 32-битные клиентские библиотеки находятся в <tt>/opt/mysql50/</tt>, а 64-битные - в <tt>/usr/local/mysql/</tt> |
||
; C/C++ |
; Компиляторы C/C++ : доступны два: GCC и Sun Studio. Если вы предпочитаете gcc, используйте <tt>/usr/sfw/bin/gcc</tt> (C) или <tt>/usr/sfw/bin/g++</tt> (C++). Для Studio используйте <tt>/opt/SUNWspro/bin/cc</tt> (C) или <tt>/opt/SUNWspro/bin/CC</tt> (C++). |
||
; <tt>/bin/sh</tt> : |
; <tt>/bin/sh</tt> : не используйте его! Используйте <tt>/usr/bin/ksh</tt> или <tt>/usr/xpg4/bin/sh</tt> |
||
=== |
=== Окружение GNU === |
||
Если вы предпочитаете использовать GNU-версии утилит, добавьте <tt>/usr/local/gnu/bin</tt> в начало переменной окружения PATH: |
|||
$ PATH=/usr/local/gnu/bin:$ |
$ export PATH=/usr/local/gnu/bin:$PATH |
||
Вы можете добавить это в свой файл <tt>~/.profile</tt>. |
|||
==Batch jobs== |
==Batch jobs== |
||
Revision as of 15:56, 20 May 2006
en: This article is an incomplete translation of Toolserver/For users into Russian.
ru: Эта статья - незавершённый перевод Toolserver/For users на русский язык.
Здесь приведена информация для пользователей zedler.
Ваш аккаунт
У вас есть учётная запись. Вы можете зайте по ssh на сервере login-services.zedler.knams.wikimedia.org (или or tools.wikimedia.org - краткое имя). Сейчас его IP-адрес - 145.97.39.142.
Для всех аккаунтов задано время истечения в будущем (выводится при каждом входе). Используемые аккаунты нужно обновить в соответствии с правилами (см. Toolserver).
Применяется аутентификация с использованием публичных ключей. Чтобы добавить новый SSH-ключ, измените ~/.ssh/authorized_keys и допишите его туда на новой строке (формат OpenSSH, только ключи второй версии SSH).
Если у вас возникли проблемы, напишите на zedler-admins@wikimedia.org. В качестве альтернативы, можно воспользоваться списком рассылки toolserver-l или же спросить в IRC-канале #wikimedia-toolserver.
База данных
У вас есть база с названием "u_<имяпользователя>". Пароль к ней записан в вашем файле ~/.my.cnf. К ней имеете доступ на запись только вы, но таблицы, названия которых начинаются с "pub_", может прочитать любой другой пользователь. Имя SQL-сервера - sql (но не localhost)
Для большинства открытых вики есть реплицируемые базы данных. Их названия имеют вид <язык><проект>_p, где <язык> - это язык (например, "ru", "en"), а <проект> - кодовое название проекта ("wiki" для Википедии, для остальных - "wiktionary", "wikibooks" и так далее). Вы можете их только читать. Список всех баз с информацией о языке и размере находится в таблице wiki базы данных toolserver.
Предоставлены следующие таблицы:
- categorylinks
- cur
- hitcounter
- image
- imagelinks
- interwiki
- logging
- math
- oldimage
- page
- pagelinks
- querycache
- revision
- site_stats
- text
- updates
- user_groups
- recentchanges
- archive
- user_ids (урезанная таблица user: только поля user_name и user_id)
Из-за бага в MySQL запросы насчёт представлений работают неэффективно; мы надеемся, что рано или поздно это будет исправлено.
В некоторых из этих баз есть дополнительные индексы, не описанные в стандарте. Справка по ним хранится в /usr/local/etc/views. Если вам нужно добавить свой индекс, напишите нам.
Представление текста в таблицах cur и text
Текст в таблицах 'cur' и 'text' может быть сжатым или закодированным.
- для сжатого текста в old_flags есть флаг 'gzip' (zlib-сжатие без заголовков)
- текст с флагом "utf8" находится в кодировке UTF-8. Текст без этого флага может быть (а может и не быть) в ASCII (TODO: задокументировать).
- текст с флагом "object" закодирован как PHP-объект; это может встречаться в :
- отметках cur; объект PHP содержит cur_id строки в таблице cur с самим текстом.
- blob-ы истории. Это специальное сжатое хранилище (TODO: задокументировать).
- что-нибудь ещё?
- тест с флагом "external" в old_flags хранится во внешних базах и пока ещё не доступен на zedler.
Вы можете использовать MediaWiki-функцию Revision::getRevisionText для получения текста (см. также Revision.php).
В будущем отсутствующий текст в базе будет браться из XML-дампа базы, но не ранее, чем мы сможем увеличить суммарный объём наших дисковых массивов.
Внимание: если в базе есть данные, помеченные флагом "latin1", то они закодированы не в ASCII. Чаще всего правильная кодировка - UTF-8. Это проблема возникла при создании совместимой с MySQL 4.0 реализации. Будьте внимательны и не давайте клиенту MySQL пробовать перевести данные в UTF-8 за вас, или вЫ получите мусор.
Отметки времени
Временные отметки - это не числа, а строки, состоящие из цифр. Поэтому всегда окружайте их кавычками (например, rc_timestamp > '200500000000' вместо rc_timestamp > 200500000000). Если вы об этом забудете, то запрос будет гораздо медленнее (в 50 раз и больше).
SQL-запросы
- Запросы-зомби: выход не останавливает длительные запросы. Если вы случайно инициировали запрос, требующий много времени, вы можете получить его идентификатор по команде SHOW PROCESSLIST и завершить его с помощью KILL идентификатор
- Массовая вставка: вставка из файлов, в которых поля разделены символами табуляции, гораздо быстрее, чем вставка записей по отдельности. Используется следующая команда: LOAD DATA LOCAL INFILE полный_путь_к_файлу IGNORE INTO TABLE имя_таблицы
- Если вам приходится запускать длительные запросы к базе данных, прочтите советы по оптимизации.
Веб-хостинг
Вам предоставляется хостинг по адресу http://tools.wikimedia.de/~<username>/. Помещайте содержимое в ~/public_html/. Вы можете использовать PHP или (в качестве альтернативы) CGI-скрипты (последние следует располагать в каталоге ~/public_html/cgi-bin/). Как CGI-, так и PHP-скрипты запускаются под вашим идентификатором пользователя.
Статистика (сгенерированная с помощью Webalizer) для узла tools.wikimedia.de доступна здесь: [1] (обновляется раз в 6 часов). Обратитесь к User:Duesentrieb в случае если с этим возникнут проблемы.
Дисковые квоты
Для вас установлена дисковая квота в 256 мегабайт на файловой системе /u01 . Это сделано не для того, чтобы ограничить использование, а чтобы не дать пользователям по ошибке занять слишком много места. Мы можем увеличить этот лимит; для этого напишите на zedler-admins@wikimedia.org с указанием того, сколько места вам нужно и зачем.
Программы
Большинство обычных средств, которые могли бы вам понадобится, установлены здесь. Напишите администраторам, если вам понадобится что-то ещё. Следует заметить, что:
- 64-битное окружение
- по умолчанию на Solaris всё компилируется в 32-битном режиме. Чтобы получить 64-битный исполняемые файл, используйте "
-xarch=amd64" (для cc) или "-m64" (для gcc) - mysql
- 32-битные клиентские библиотеки находятся в /opt/mysql50/, а 64-битные - в /usr/local/mysql/
- Компиляторы C/C++
- доступны два: GCC и Sun Studio. Если вы предпочитаете gcc, используйте /usr/sfw/bin/gcc (C) или /usr/sfw/bin/g++ (C++). Для Studio используйте /opt/SUNWspro/bin/cc (C) или /opt/SUNWspro/bin/CC (C++).
- /bin/sh
- не используйте его! Используйте /usr/bin/ksh или /usr/xpg4/bin/sh
Окружение GNU
Если вы предпочитаете использовать GNU-версии утилит, добавьте /usr/local/gnu/bin в начало переменной окружения PATH:
$ export PATH=/usr/local/gnu/bin:$PATH
Вы можете добавить это в свой файл ~/.profile.
Batch jobs
Sometimes, people want to run long, slow jobs that use a lot of CPU. but they don't want to disturb other users with these things. using the Fair Share Scheduler[2], it's possible to allocate these processes less CPU time. (in our particular configuration, if one normal job and one batch both are both on the same CPU, the batch job will only receive 20% of the CPU time).
to start a new process in the batch scheduling class, use newtask:
$ /bin/id -p # (GNU id, /usr/local/gnu/bin/id, does not support the p flag) uid=1001(kate) gid=102(users) projid=3(default) $ newtask -p batch bash $ id -p uid=1001(kate) gid=102(users) projid=4(batch)
any processes you now start will run with lower priority until you return to your default shell with
$ exit