<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:agrekalov</id>
  <title>Мой выход.com</title>
  <subtitle>agrekalov</subtitle>
  <author>
    <email>agrekalov@yandex.ru</email>
    <name>agrekalov</name>
  </author>
  <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom"/>
  <updated>2008-11-10T16:00:21Z</updated>
  <lj:journal userid="8821978" username="agrekalov" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://agrekalov.livejournal.com/data/atom" title="Мой выход.com"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:10460</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/10460.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=10460"/>
    <title>Просто понравилось</title>
    <published>2008-11-10T16:00:21Z</published>
    <updated>2008-11-10T16:00:21Z</updated>
    <lj:music>Я теряю тебя, С.Сурганова.</lj:music>
    <content type="html">Во время всеобщего обсуждения политических и экономических событий,&amp;nbsp;происходящих сейчас,&amp;nbsp;необходимо сохранять спокойствие и экономить нервы,&amp;nbsp;поскольку они нам еще могут пригодится. Вот тут нашел небольшой набор фраз,&amp;nbsp;понравились:&lt;br /&gt;&lt;span class="style2" align="left"&gt;&lt;b&gt;работай, как будто тебе не надо денег,&lt;br /&gt;люби, как будто тебе никто никогда не причинял боль,&lt;br /&gt;танцуй, как будто никто не смотрит, &lt;br /&gt;пой, как будто никто не слышит, &lt;br /&gt;удивляйся, как будто вчера родился,&lt;br /&gt;говори правду и тебе не придется ничего вспоминать,&lt;br /&gt;живи, как будто на земле рай.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:10162</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/10162.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=10162"/>
    <title>Лог файла транзакций MS SQL</title>
    <published>2008-03-20T06:58:34Z</published>
    <updated>2008-03-20T08:37:12Z</updated>
    <content type="html">Вчера было обнаружено, что на сервере MS SQL не хватает дискового пространства. Как оказалось, размер лога транзакций занимает более 40 Гб. Путём проб и ошибок было найдено следующее решение:&lt;br /&gt;1.	Запускаем Query Analyzer (утилита, которая входит в стандартную поставку MS SQL)&lt;br /&gt;2.	Делаем отключение базы данных с помощью процедуры, которая входит в стандартный набор утилит MS SQL: sp_detach_db database_name&lt;br /&gt;3.	Затем останавливаем SQL сервер&lt;br /&gt;4.	Удаляем файл лога транзакций&lt;br /&gt;5.	Запускаем SQL сервер&lt;br /&gt;6.	С помощью Query Analyzer’а выполняем процедуру подключения database: sp_attach_db @dbname=”databasename”, @filename1=”path_to_database\databasename.mdf”, @filename2=”path_to_database\logtransaction.ldf” (@filename2 указывать не нужно, так как создаем новый файл журнала)&lt;br /&gt;7.	В окне сообщений Query Analyzer’а появится сообщение о том, что создан новый лог транзакций.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:9812</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/9812.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=9812"/>
    <title>Просто ссылки на интересные темы</title>
    <published>2007-12-12T12:09:00Z</published>
    <updated>2007-12-21T11:52:16Z</updated>
    <content type="html">&lt;a href="http://rtfm.adamant.net/tools/GPG/book1.html"&gt;Использование GPG&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libc.so.6(GLIBC_2.4)"&gt;Пакеты с нужными библиотеками&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.services.openoffice.org/wiki/Dictionaries"&gt; Wiki по словарям для OO &lt;/a&gt;&lt;br /&gt;&lt;a href="http://starl1te.wordpress.com/2007/05/01/aptoncd-%d0%97%d0%b0%d0%bf%d0%b8%d1%81%d1%8c-%d1%83%d0%b6%d0%b5-%d1%81%d0%ba%d0%b0%d1%87%d0%b0%d0%bd%d0%bd%d1%8b%d1%85-%d0%bf%d0%b0%d0%ba%d0%b5%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-cddvd/"&gt;Перенос репозитария с другой машины&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gazette.linux.ru.net/lg80/taneja.html"&gt; wine &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.opennet.ru/base/sys/linux_2cpred_wine.txt.html"&gt; wine &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dkws.org.ua/phpbb2/viewtopic.php?topic=3029&amp;amp;forum=6"&gt; wine &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.etersoft.ru/content/view/56/"&gt;wine &lt;/a&gt;&lt;br /&gt;&lt;a href="http://foxpopuli.narod.ru/ix.htm"&gt; FoxPro an Linux &lt;/a&gt;&lt;br /&gt;&lt;a href="http://sysadmin.tomsk.ru/index.php?showtopic=2516&amp;amp;st=0&amp;amp;p=17489&amp;amp;#entry17489"&gt; FoxPro an Linux &lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:9508</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/9508.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=9508"/>
    <title>Перенос данных на новый винт</title>
    <published>2007-12-12T08:19:57Z</published>
    <updated>2007-12-12T08:19:57Z</updated>
    <content type="html">Решил перенести данные на новый жесткий диск. &lt;br /&gt;Алгоритм действий следующий:&lt;br /&gt;1. Подключил новый диск (sata)&lt;br /&gt;2. Создал два раздела (sdb5 и sdb6)&lt;br /&gt;3. Отформатировал в ext3&lt;br /&gt;4. "Примонтировал" sdb5 в /mnt/sdb5/&lt;br /&gt;5. Переключился в однопользовательский режим: telinit 1&lt;br /&gt;6. Скопировал /usr на новый раздел: cp -Ra usr/ /mnt/sdb5/&lt;br /&gt;7. Проверил, /usr на новом разделе появился&lt;br /&gt;8. Переименовал рабочий /usr в /usr_old&lt;br /&gt;9. Создал новый /usr &lt;br /&gt;10. Добавил в /etc/fstab строку: /dev/sdb5 /usr ext3 defaults 1 2&lt;br /&gt;11. "Размонтировал" /mnt/sdb5/ : umount /mnt/sdb5/&lt;br /&gt;12. "Смонтировал" новый /usr : mount /usr&lt;br /&gt;13. Переключился в многопользовательский режим.&lt;br /&gt;Все работает. Доволен как слон. )&lt;br /&gt;P.S. Для просмотра дисков в системе и работы с ними (форматирование и т.п.) использовал fdisk.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:9283</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/9283.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=9283"/>
    <title>Постоянно забываю такую простую процедуру создания пользователя для Mysql</title>
    <published>2007-06-01T14:07:47Z</published>
    <updated>2007-06-01T14:07:47Z</updated>
    <content type="html">Наверное надо чаще заниматься с базами данных, чтобы не забывать вот это (кратеньки пример создание базы данных и привелегий для пользователя)&lt;br /&gt;create database products; &lt;br /&gt;use products;&lt;br /&gt;Добавляем пользователя для коннекта к базе:&lt;br /&gt;GRANT SELECT, INSERT, UPDATE, DELETE ON products.* TO 'gas'@'localhost' IDENTIFIED BY 'password'; &lt;br /&gt;FLUSH PRIVILEGES; &lt;br /&gt;Удалить пользователя можно так: &lt;br /&gt;use products;&lt;br /&gt;delete from user where user='user';</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:9029</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/9029.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=9029"/>
    <title>Добавление учетных записей для email</title>
    <published>2007-05-07T08:49:23Z</published>
    <updated>2007-05-07T14:12:51Z</updated>
    <content type="html">Тут немного подумал над скриптом, который добавляет учетную запись для почтовой системы. Естетственно без доступа к консоли, и т.п. штукам. Вот сам скрипт:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;echo -n "Enter your name:"&lt;br /&gt;read NAME&lt;br /&gt;if [ "$NAME" = "" ]; then&lt;br /&gt;echo "You did not enter any information"&lt;br /&gt;else&lt;br /&gt;adduser --system --home /dev/null --ingroup postfix --disabled-login --force-bad&lt;br /&gt;passwd $NAME&lt;br /&gt;fi&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Делаем его исполняемым (сам файл), сохраняем  как add_mu в директории /bin или другой... (смотрим через env и определяемся). Теперь в консоли просто говорим add_mu, на приглашение вводим имя нового пользователя и все проходит без проблем.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:8738</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/8738.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=8738"/>
    <title>То что не сумел восстановить - вышло еще лучше )</title>
    <published>2007-01-04T23:12:40Z</published>
    <updated>2007-01-13T19:10:59Z</updated>
    <content type="html">Вчера полетел винт с Debian'ом - с помощью LiveCD удалось восстановить только правила Iptables, да и то не полностью. Сел сегодня за написание нового скрипта - с нуля так сказать. Так вот - он получился еще лучше предыдущего. Для лучшего backup'а "увековечу" его здесь&lt;a name="cutid1"&gt;&lt;/a&gt; #! /bin/sh

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="JCServer"
NAME=JCServer.sh
DAEMON=/usr/sbin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/jcserver
test -x $DAEMON || exit 0

d_start() {
  start-stop-daemon --start --quiet --pidfile $PIDFILE \
    --exec $DAEMON
}

d_stop() {
  start-stop-daemon --stop --quiet --pidfile $PIDFILE \
    --name $NAME
}

d_reload() {
  start-stop-daemon --stop --quiet --pidfile $PIDFILE \
    --name $NAME --signal 1
}

case "$1" in
  start)
  echo -n "Starting $DESC: $NAME"
  d_start
  echo "."
  ;;
  stop)
  ps -A|grep java|awk '{print $4}'&amp;gt;/home/grekalov/sqripts/java_ps
        exec 3&amp;lt;&amp;0 0&amp;2
  exit 1
  ;;
esac

exit 0</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:8620</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/8620.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=8620"/>
    <title>Давно не было повода или времени...???</title>
    <published>2006-12-19T20:29:55Z</published>
    <updated>2007-02-25T20:12:14Z</updated>
    <category term="Дебиан мне не даст стать эникейщиком"/>
    <lj:music>Дельфин - Плавники</lj:music>
    <content type="html">Давно не писал в свой ЖЖ... Мда, начало не очень (, но все же:&lt;br /&gt; столкнулся с такой задачкой, вернее сказать меня с ней "столкнули" на новой работе - необходимо добавить в автозагрузку скрипт, который пробрасывает пакеты с одного порта на другой. Все бы ничего, благодаря уважаемому мною человеку &lt;a href="http://divz.livejournal.com"&gt;DIVZ'u&lt;/a&gt; это можно было реализовать с помощью IPTABLES, но не тут то было. Оказывается надо подключать какие-то специфические библиотеки java-машины в этом скрипте... Вобщем скрипт получился, но вот средствами update-rc.d my_scrypt default не вышло. Тогда было сделано следующее: в /etc/init.d/ был обнаружен скрипт примера (skeleton) для автозагрузки любого приложения (после некоторой доработки под свои нужды) который и был добавлен в автозагрузку. Ну а теперь по-порядку:&lt;br /&gt;&lt;b&gt;1. Копируем skeleton &lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. Редактируем для запуска своего скрипта, в частности придумываем ему имя (демон'у), указываем где будет распологаться основной скрипт, который пробрасывает пакеты, ни и еще кое что...&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. Затем смотрим в /etc/rc?.d/ все файлики вида S??имядемона, и для вновь созданного на основе skeleton'a скрипта делаем дальше&lt;/b&gt;&lt;br /&gt;&lt;b&gt;4. Копируем созданный на основе skeleton'a скрипт в /etc/init.d/&lt;/b&gt;&lt;br /&gt;&lt;b&gt;5. Выполняем update-rc.d переименованный_skeleton start 98 2 3 4 5 . (точку обязателно через пробел)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;6. После перезагрузки системы появился процесс с указанным именем в переименованном_skeleton'е и в течение вечера все проработало нормально. Теперь жду ADSL модем для разворачивания MPLS. &lt;/b&gt;&lt;br /&gt;А вот как сделать такую "автозагрузку" на ASP-Linux не знаю.... (((</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:7417</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/7417.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=7417"/>
    <title>Команды, выполняемые при запуске</title>
    <published>2006-09-18T14:53:07Z</published>
    <updated>2006-09-18T14:53:07Z</updated>
    <category term="bash"/>
    <content type="html">Создаем собственно файл - назовем его например test&lt;br /&gt;Помещаем его в /etc/init.d/&lt;br /&gt;Делаем файл исполнимым: chmod +x /etc/init.d/test&lt;br /&gt;Добавляем его в автозагрузку: update-rc.d test defaults (удалить из автозагрузки с remove)&lt;br /&gt;Прописываем в файл стандартный заголовок для shell-скриптов: #!/bin/bash&lt;br /&gt;Но вот что-то у меня не захотел работать для монтирования разделов NetWare, придется в fstab добавить.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:7060</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/7060.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=7060"/>
    <title>Таблицы символов</title>
    <published>2006-09-11T13:23:17Z</published>
    <updated>2006-09-11T13:23:17Z</updated>
    <content type="html">&lt;b&gt;Не мое, но очень полезно, а я все время путаю. Пусть будет здесь, может запомню....&lt;/b&gt;&lt;br /&gt;&lt;t&gt;&lt;br /&gt;Еще одним компонентом стандарта UNICODE являются алгоритмы для взаимно-однозначного преобразования кодов UNICODE в последовательности байтов переменной длины. Необходимость таких алгоритмов обусловлена тем, что не все приложения умеют работать с UNICODE. Некоторые приложения понимают только 7-битовые ASCII-коды, другие приложения - 8-битовые ASCII-коды. Такие приложения используют для представления символов, не поместившихся, соответственно, в 128-символьный или 256-символьный набор, так называемые расширенные ASCII-коды, когда символы кодируются цепочками байтов переменной длины. Алгоритм UTF-7 служит для обратимого преобразования кодов UNICODE в расширенные 7-битовые ASCII-коды, а UTF-8 - для обратимого преобразования кодов UNICODE в расширенные 8-битовые ASCII-коды.&lt;br /&gt;&lt;/t&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:6730</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/6730.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=6730"/>
    <title>Си под Debian'e</title>
    <published>2006-09-10T17:16:37Z</published>
    <updated>2006-09-10T17:16:37Z</updated>
    <category term="си в Linux"/>
    <content type="html">просто надо:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;1.  gcc test.c -o test -g3&lt;br /&gt;2.  gdb test&lt;br /&gt;3.  list&lt;br /&gt;4.  break 1&lt;br /&gt;5.  step &lt;br /&gt;6.  print name_var&lt;br /&gt;7.  info break&lt;br /&gt;8.  run&lt;br /&gt;9.  info breakpoints&lt;br /&gt;10. delete number_breakpoint&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Только вот хотелось бы значения переменных просматривать на другой консоли, но не получится. :( Только в процессе выполнения программы ((((</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:6606</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/6606.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=6606"/>
    <title>NClient в Debian'e</title>
    <published>2006-09-08T10:26:49Z</published>
    <updated>2006-09-14T05:52:31Z</updated>
    <category term="nclient for debian"/>
    <lj:music>Летучий фрегат</lj:music>
    <content type="html">Задался задачей проверить как будет работать новелловский клиент в Debian'e и есть ли такой вообще. Как оказалось - есть. Так что для монитрования томов Netware в Debian'e надо? Это - установить пакет ncpfs и пакет ipx, затем дать такие последовательности команд:&lt;br /&gt;&lt;t&gt;ipx configure --auto_primary=on --auto_interface=off&lt;/t&gt;;&lt;br /&gt;&lt;t&gt;ipx_interface add -p eth0 802.2&lt;/t&gt;&lt;br /&gt;&lt;t&gt;ncpmount -S name_server -U name_user /mnt/netware&lt;/t&gt;, каталог /mnt/netware должен существовать.&lt;br /&gt;После этого всего прекрасно видны тома netware сервера. Вот так.&lt;br /&gt;И еще, при операции монтирования для отображения русских символов необходимо выполнить вот так:&lt;br /&gt;&lt;t&gt;ncpmount -S name_server -U name_user /mnt/netware -y koi8-r -p cp866&lt;/t&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:6378</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/6378.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=6378"/>
    <title>iptables</title>
    <published>2006-09-06T13:23:57Z</published>
    <updated>2006-09-06T13:23:57Z</updated>
    <category term="debian"/>
    <content type="html">Для создания и очистки цепочек правил для iptables используется два файла с правами x. В одном содержатся наборы правил для цепочек, в другом наборы правил для очистки всех цепочек. Т.е. вначале запускается файл очистки правил, затем файл создания правил. Для того, чтобы цепочки правил сохранились после перезагрузки необходимо после добавления правил выполнить /etc/init.d/iptables save active, и после этого все правила будут выполняться даже после перезагрузки.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:5988</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/5988.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=5988"/>
    <title>Рассылка спама .... уже обезврежена</title>
    <published>2006-09-06T07:56:40Z</published>
    <updated>2006-09-06T07:56:40Z</updated>
    <category term="спам"/>
    <content type="html">В пятницу была обнаружена загрузка канала. Путем отключения всех сервисов и процессов определил, что загрузка возникла в связи с передачей пакетов на порт 25. Проанализировал откуда-куда идут пакеты (tcp dump -i eth1 port 25) был определен IP - адрес машины, с которой валился спам на сервер. Зараженной машиной оказалась.... МОЯ. Сканирование машины на вирусы ничего не дало (DrWeb, AVP - онлайн). Только tcpview показал, что процесс svchost.exe используется для отправки спама. Отключил с помощью tcpview этот процесс - рассылка прекратилась. Долго еще пробовал всякие проверки, но ничего так и не помогло - спам так и сыпался. На следующий день проверил опции своего Drweba, оказалось, что отключена опция "Эвристический анализ". Включив эту опцию, обнаружил инфицированный sms.exe каким-то Trojan.Spabot... дальше не помню названия. После удаления данного приложения рассылка спама прекратилась. Вот так, не стоит открывать NAT для себя... Или забывать о том, что он открыт... :) Но я все одно рад тому что получилось удалить этого "зверя".</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:5839</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/5839.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=5839"/>
    <title>Просто задачка</title>
    <published>2006-08-29T21:09:37Z</published>
    <updated>2006-08-30T07:31:36Z</updated>
    <content type="html">(Пифагоровы тройки) Прямоугольный треугольник может иметь стороны, каждая из которых является целым числом. Набор трех целочисленных значений для сторон прямоугольного треугольника называется пифагоровой тройкой. Эти три стороны должны удовлетворять следующему соотношению: сумма квадратов двух катетов равна квадрату гипотенузы. Найдите все пифагоровы тройки для катетов side1, side2 и гипотенузы не превосходящих 500. Используйте цикл for с тройной вложенностью, в котором просто перебираются все последовательности. Это является примером вычислени "с помощью грубой силы".&lt;br /&gt;&lt;h3&gt;Вот так задачка: действительно "грубая сила"&lt;/h3&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# include stdio.h&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt; long int gip, side1, side2, i = 0;&lt;br /&gt; printf ("N\tКатет1\t Катет2\t Гипотенуза\n");&lt;br /&gt;    {&lt;br /&gt;    for (side1 = 1; side1 &amp;lt;= 500; side1 ++)&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;   for (side2 = 1; side2 &amp;lt;= 500; side2 ++)&lt;br /&gt;&lt;br /&gt;       {&lt;br /&gt;       for (gip = 1; gip &amp;lt;= 500; gip ++)&lt;br /&gt;     {&lt;br /&gt;     i++;&lt;br /&gt;     if ((side1 * side1 + side2 * side2) == (gip * gip))&lt;br /&gt;         printf ("%ld\t%ld\t%ld\t%ld\n" , i, side1, side2, gip);&lt;br /&gt;     }&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;   }&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;b&gt; i = 120521985 %)&lt;/b&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:5608</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/5608.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=5608"/>
    <title>Востановление NDS (дерева каталогов) в NetWare 5.1</title>
    <published>2006-08-29T14:21:40Z</published>
    <updated>2006-09-06T08:17:19Z</updated>
    <category term="netware"/>
    <lj:music>Северный ветер</lj:music>
    <content type="html">Описанный метод восстановления на &lt;a href="http://novell.org.ru/staticpages/index.php?page=2002122523442787"&gt;Проне&lt;/a&gt; был мною полностью опробован на тестовом сервере. Развернул себе такую "сеть" из одного нетваре сервера и одной виндовой машины с установленным NClient'ом. Затем провел следующее:&lt;br /&gt;&lt;b&gt;1. Выполнил на консоли сервера dsrepair -&amp;gt; Unattended full repair. Это проверка дерева NDS на наличие ошибок.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. Скопировал все из раздела sys:\_NETWARE. Кстати некоторые файлы так и не скопировались&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. Создал одну Organisation Unit, добавил одного User, дал права на директории. Проверил - все работает, т.е. пользователь свободно создает, удаляет файлы на выделенном дисковом пространстве.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;4. В консоли сервера disable login, затем clear station all, затем unload ds&lt;/b&gt;&lt;br /&gt;&lt;b&gt;5. Скопировал все из bakup'a (см.п. 2) в раздел sys:\_NETWARE&lt;/b&gt;&lt;br /&gt;&lt;b&gt;6. В консоли сервера enable login, затем ds, dsrepair -&amp;gt; Unattended full repair. После проверки дерева на ошибки в отчете появилось 2 ошибки. Повторная проверка dsrepair -&amp;gt; Unattended full repair ошибок не показала.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;7. Проверил дерево через NWadmin - рабочей группы и пользователя, описанных в п.3 как не бывало, остальное все нормально работает, загружается, с правами все нормально.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;8. Удалили через NWadmin все, что можно было в дереве, повторил п.п.4.5.6 - все нормально, все пользователи на месте, и остальные объекты дерева тоже. А вот права доступа пришлось прописывать заново, что является не очень удобным для большого дерева со сложной структурой.&lt;/b&gt;&lt;br /&gt;Ну вот, теперь можно пробовать работу с утилитами по восстановлению NDS от именитых производителей. Надеюсь скоро опишу работу с Portlock'ом.&lt;br /&gt;&lt;h2&gt;&lt;i&gt;Добавлено&lt;/i&gt;&lt;/h2&gt;&lt;br /&gt;Описанные пункты по восстановлению дерева NDS были опробованы на рабочем дереве. Т.е. идея была создать резервный сервер со всеми настройками, каталогами, правами доступа. Но не вручную, а описанным выше способом. Так вот: для восстановления и сохранения прав на каталоги и файлы, а также восстановления NDS было сделано следующее: &lt;br /&gt;&lt;b&gt;1. Проверил дерево на рабочем сервере: dsrepair-&amp;gt; Unattended full repair, ошибки были найдены и исправлены&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. Cкопировал директорию _NETWARE с рабочего серва на резервный&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. Скопировал полностью содержимое тома DATA с рабочего сервера на резервный&lt;/b&gt;&lt;br /&gt;&lt;b&gt;4. Сохранил права на рабочем сервере с помощью tustee.nlm и восстановил их на резервном сервер &lt;b&gt;&lt;br /&gt;Ну а дальше все пошло нормально, переименовал резервный сервер, сменил ID. Как это сделать, описано в &lt;a href="http://support.novell.com/cgi-bin/search/searchtid.cgi?/10063497.htm"&gt;http://support.novell.com/cgi-bin/search/searchtid.cgi?/10063497.htm&lt;/a&gt;, сегодня пробую под разными пользователями подключиться к резервному серверу, удалить - добавить файлы и директории в соответствии с правами доступа - ВСЕ РАБОТАЕТ. Т.е. резервный сервер есть....&lt;/b&gt;&lt;/b&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:5104</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/5104.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=5104"/>
    <title>Еще про NetWare</title>
    <published>2006-08-22T07:34:54Z</published>
    <updated>2006-08-22T07:38:35Z</updated>
    <content type="html">Для нормальной работы с .dbf на сервере NetWare 5.1 должны быть проведены следующие "мероприятия":&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; Установить последний саппортпак. На данный момент это 8.0.&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Monitor -&amp;gt; Server parameters -&amp;gt; Locks -&amp;gt; &lt;br /&gt;&lt;b&gt;2.1&lt;/b&gt; Maximum record Locks Per Connection: 5000&lt;br /&gt;&lt;b&gt;2.2&lt;/b&gt; Maximum File Locks  Per Connection: 10000&lt;br /&gt;&lt;b&gt;2.3&lt;/b&gt; Maximum record locks: 100000&lt;br /&gt;&lt;b&gt;2.4&lt;/b&gt; Maximum file locks: 200000&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Произвести отключение локального кэширования файлов на клиентах. Выполняется такой командой на консоли: set client file caching enabled = off. Добавлять в autoexec.ncf необязательно (проверил лично)&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; При массированной одновременной работе с dbf-файлами на TFS на NetWare 5.1 просто необходимо провести еще и отключение оплоков: на консоли сервера командой SET LEVEL 2 OPLOCKS ENABLED = OFF &lt;br /&gt;&lt;b&gt;Оплоки&lt;/b&gt; - это одновременная блокировка файла с нескольких машин. То есть каждый пользователь как бы работает со своей собственной копией файла. Для DBF, да еще и с индексами, может быть фатально... &lt;br /&gt;Ну вот, после этих изменений все должно идти нормально в отношении индексов. Не рушатся, как было до этого.&lt;br /&gt;Да, и еще, команда для проверки отключены ли оплоки такая: SET LEVEL 2 OPLOCKS ENABLED</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:4718</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/4718.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=4718"/>
    <title>Немного про NetWare</title>
    <published>2006-08-19T11:44:54Z</published>
    <updated>2006-08-20T17:57:30Z</updated>
    <category term="netware"/>
    <lj:music>Б.Г. - "Сестра"</lj:music>
    <content type="html">Некоторые заметки про NetWare 5.1 Опробовал тут одну очень полезную утилиту для администрирования и восстановления сервера (AdRem Server Manager). Для этого развернул в сети еще один сервер, и начал пробовать. Но вот до того, как начать пробовать, снес опекуна. Т.е. теперь не могу открыть дерево NDS. Однако оказалось что есть для таких как я утилита adminadd.nlm, которая достаточно быстро добавляет указанного в ее параметрах запуска пользователя и пароль. &lt;br /&gt;Еще одна небольшая заметка по поводу объекта &lt;b&gt;profile&lt;/b&gt;: права на чтение для него даем всей Organisation, в свойстве logins cript пишем такое: &lt;b&gt;NO_DEFAULT&lt;/b&gt; - чтобы не маппировались SYSTEM и PUBLIC, &lt;b&gt;map root k:=nserver/data:techn\&lt;/b&gt; - подключение сетевого диска К &lt;b&gt;map root m:=nserver/data:uprav\&lt;/b&gt; - подключение сетевого диска M. Еще обязательно на директориях, которые доступны для каждой из созданных организационных единиц ставить "Препятствовать удалению" через NWadmin, т.е. пользователь не сможет удалить корневую директорию.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:4381</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/4381.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=4381"/>
    <title>Несколько из миллиона нужных мне знаний</title>
    <published>2006-08-17T08:28:00Z</published>
    <updated>2006-08-17T08:28:00Z</updated>
    <category term="сеть"/>
    <content type="html">&lt;b&gt;Дуплексный канал&lt;/b&gt; обеспечивает одновременную передачу информации в обоих направлениях. Может состоять из двух физических сред, каждая из которых используется для передачи данных только в одном направлении.&lt;br /&gt;&lt;b&gt;Полудуплексный канал&lt;/b&gt; обеспечивает передачу информации в обоих направлениях, но не одновременно а по очереди&lt;br /&gt;&lt;b&gt;Симплексный канал&lt;/b&gt; позволяет передавать информацию только в одном направлении.&lt;br /&gt;&lt;b&gt;Коммутация&lt;/b&gt; - соединенине конечных узлов через сеть транзитных узлов.&lt;br /&gt;&lt;b&gt;Маршрут&lt;/b&gt; - последовательность узлов от отправителя к получателю.&lt;br /&gt;&lt;b&gt;Метка потока&lt;/b&gt; представляет собой некоторое число, которое несут все данные потока. Не меняет своего значения на всем протяжении пути от источника до назначения и таким образом уникально идентифицирует поток в локальной сети.&lt;br /&gt;&lt;b&gt;Метрика&lt;/b&gt; - абстрактный способ измерения близости между двумя объектами в сети.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:4307</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/4307.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=4307"/>
    <title>Опять вирусы</title>
    <published>2006-08-16T10:10:52Z</published>
    <updated>2006-08-17T08:49:58Z</updated>
    <content type="html">Позавчера уходя домой, увидел, что с нескольких машин в сети начали сыпаться пакеты неизвестного происхождения. Поднимаюсь к этим пользователям, нифига, никакие сетевые службы и т.п. не запущено, а пакеты идут. Проверка на вирусы показала, что все .exe на этих машинах инфицированы Win32.Parite.2 :( DrWeb "излечил" эти файлы. Перезагрузив машину, увидел, что все начинается снова. Но тут оказалось, что этот вирус (как оказалось червь) так просто &lt;a href="http://www.estav.ru/news/2004_01_17.htm"&gt; не убирается &lt;/a&gt; Описанные в этой статье методы помогли в случае с Windows XP, а вот для Windows 98 это не прошло. Таким образом целый день вчера провозился с этой машиной. Но кто ищет, тот всегда найдет. Попробовал также Adaware, не помогло. Но вот на одном из форумов посоветовали вот &lt;a href="http://download.bitdefender.com/resources/files/Download/en/antiparite-en.exe"&gt;эту утилиту&lt;/a&gt;. Теперь все нормально, все файлы вылечены, все .exe запускаются. Пытаюсь теперь найти, откуда это все просочилось, ведь все закрыл. Есть две рабочих версии: через почту (что маловероятно, но письма от/для этих пользователей теперь идут через меня)и подобрав универсальные пароли в BIOS, так как к одной из машин можно подобрать пароль. Теперь вот займусь сам подборкой паролей, и если один из универсальных пройдет, тогда что делать и не знаю. :((((( Не один из универсальных паролей не подошел, все таки версия BIOS более новая и универсальные пароли к ней еще никто не "освещал". Оказалось мой помошник "забыл" в BIOS'e отключить USB Deviсes, зато USB клавиатуру отключил. Вот. Ну ничего. Будем дальше наблюдать. :)</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:3989</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/3989.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=3989"/>
    <title>Внешний вид ЖЖ</title>
    <published>2006-08-10T10:34:12Z</published>
    <updated>2006-08-10T10:34:12Z</updated>
    <content type="html">Почему-то решил поменять внешний вид своего ЖЖ. Наверное так надо.... А может так красивее.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:3740</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/3740.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=3740"/>
    <title>Моя "находчивость" не знает границ :(</title>
    <published>2006-08-09T08:10:29Z</published>
    <updated>2006-08-09T08:10:29Z</updated>
    <content type="html">Целый час провозился с запросом, пока не определил почему like "A*" не возвращает мне необходимый результат. Оказалось в базе данных в поле занесено АХО на английском. И кто интересно был такой умный ?</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:3436</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/3436.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=3436"/>
    <title>"Отличное настроение" (</title>
    <published>2006-08-07T11:54:08Z</published>
    <updated>2006-08-07T11:54:08Z</updated>
    <content type="html">Мало того, что зарплату за июнь  еще не выдали (какие-то 300$ с отпускными), так еще и за июль начислено 670 грн (130$). Желание работать как таковое пропало вообще. Скоро на работу будет не за что добираться. Я в шоке, куда мы катимся? После этого вышел на улицу, и настроение стало еще хуже, 37 градусов жары. Это вообще...., последняя капля.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:3325</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/3325.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=3325"/>
    <title>Длинные руки или быстрые ноги :)</title>
    <published>2006-08-01T14:16:58Z</published>
    <updated>2006-08-01T14:18:16Z</updated>
    <lj:music>Мусорный ветер</lj:music>
    <content type="html">А все-таки как приятно чувствовать себя очень "плохим" человеком. :) Закрыв доступ к USB, CD, Serial, и т.п. портам, я нажил себе врагов. Но! Теперь я могу спокойно разрешить пользователю доступ к этим портам, если перед этим пользователь поднимет свою з-цу и принесет свой сменный носитель ко мне на проверку. А без этого никак, всех нах. А тут с одной тачкой проблема, начала перегружаться, решил проверить комплектуху, а там тот урод, что работал за ней поменял видеокарту. Теперь у меня проходит пломбировка рабочих станций. Я был в шоке после такого расклада. Начинаю составлять докладную руководству с приложением, в котором будут описаны правила работы в локальной сети предприятия. Вот тогда и узнаем, кто как работает. Вот так. Всех урезать в правах.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:agrekalov:2975</id>
    <link rel="alternate" type="text/html" href="http://agrekalov.livejournal.com/2975.html"/>
    <link rel="self" type="text/xml" href="http://agrekalov.livejournal.com/data/atom/?itemid=2975"/>
    <title>День системного администратора (работа)</title>
    <published>2006-07-28T13:09:24Z</published>
    <updated>2006-07-28T13:09:24Z</updated>
    <content type="html">Наверное потому что сегодня праздник, а может еще в связи с чем, но мне удалось наконец-то настроить &lt;a href="http://www.protect-me.com/ru/dl/"&gt;DeviceLock&lt;/a&gt;, что, естественно прибавило хорошего настроения. Приложение удалось настроить за неделю, что было связано опять с моим же "опытом". Основная проблема заключалась в том что вот здесь:gpedit.msc&amp;gt;Конфигурация компьютера&amp;gt;конфигурация Windows&amp;gt;Параметры безопасности&amp;gt;Локальные политики&amp;gt;Параметры безопасности&amp;gt;Сетевой доступ:модель совместного доступа и безопасности для локальных учетных записей&amp;gt; установить в "Обычная". И еще один немаловажный параметр: необходимо исправить в параметрах безопасности что пароль может быть пустым. Но лучше всего установить пароль для пользователя, которого надо прописывать в Credentials для установки сервиса DeviceLock удаленно на машины сети. Именно с этим была задержка в "развертывании" DeviceLock в сети предприятия. Теперь вот на следующей неделе буду наблюдать, так DeviceLock позволяет вести лог по тем устройствам, к которым пытаются достучаться. Также мне понравилось добавления в "белый список" драйверов для тех устройств (USB - принтеры, сканеры) которые подключаются к USB. Вот так, надеюсь я несколько защитил свою сеть от внутренних угроз. &lt;br /&gt; А вообще все это было бы удобно делать в домене, но в связи с отсутствием нормальной машины для Win 2003 Server, а так же средств на ее приобретение, пришлось ограничиться рабочей группой. Но все это реально работает, проверил. &lt;br /&gt; Ну вот, а теперь можно и отдохнуть от работы. :)</content>
  </entry>
</feed>
