Home

Предыдущие 20

10 Ноя, 2008

Просто понравилось

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



20 Мар, 2008

Лог файла транзакций MS SQL

Вчера было обнаружено, что на сервере MS SQL не хватает дискового пространства. Как оказалось, размер лога транзакций занимает более 40 Гб. Путём проб и ошибок было найдено следующее решение:
1. Запускаем Query Analyzer (утилита, которая входит в стандартную поставку MS SQL)
2. Делаем отключение базы данных с помощью процедуры, которая входит в стандартный набор утилит MS SQL: sp_detach_db database_name
3. Затем останавливаем SQL сервер
4. Удаляем файл лога транзакций
5. Запускаем SQL сервер
6. С помощью Query Analyzer’а выполняем процедуру подключения database: sp_attach_db @dbname=”databasename”, @filename1=”path_to_database\databasename.mdf”, @filename2=”path_to_database\logtransaction.ldf” (@filename2 указывать не нужно, так как создаем новый файл журнала)
7. В окне сообщений Query Analyzer’а появится сообщение о том, что создан новый лог транзакций.

12 Дек, 2007

Просто ссылки на интересные темы

Использование GPG
Пакеты с нужными библиотеками
Wiki по словарям для OO
Перенос репозитария с другой машины
wine
wine
wine
wine
FoxPro an Linux
FoxPro an Linux

Перенос данных на новый винт

Решил перенести данные на новый жесткий диск.
Алгоритм действий следующий:
1. Подключил новый диск (sata)
2. Создал два раздела (sdb5 и sdb6)
3. Отформатировал в ext3
4. "Примонтировал" sdb5 в /mnt/sdb5/
5. Переключился в однопользовательский режим: telinit 1
6. Скопировал /usr на новый раздел: cp -Ra usr/ /mnt/sdb5/
7. Проверил, /usr на новом разделе появился
8. Переименовал рабочий /usr в /usr_old
9. Создал новый /usr
10. Добавил в /etc/fstab строку: /dev/sdb5 /usr ext3 defaults 1 2
11. "Размонтировал" /mnt/sdb5/ : umount /mnt/sdb5/
12. "Смонтировал" новый /usr : mount /usr
13. Переключился в многопользовательский режим.
Все работает. Доволен как слон. )
P.S. Для просмотра дисков в системе и работы с ними (форматирование и т.п.) использовал fdisk.

1 Июн, 2007

Постоянно забываю такую простую процедуру создания пользователя для Mysql

Наверное надо чаще заниматься с базами данных, чтобы не забывать вот это (кратеньки пример создание базы данных и привелегий для пользователя)
create database products;
use products;
Добавляем пользователя для коннекта к базе:
GRANT SELECT, INSERT, UPDATE, DELETE ON products.* TO 'gas'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Удалить пользователя можно так:
use products;
delete from user where user='user';

7 Май, 2007

Добавление учетных записей для email

Тут немного подумал над скриптом, который добавляет учетную запись для почтовой системы. Естетственно без доступа к консоли, и т.п. штукам. Вот сам скрипт:

#!/bin/sh
echo -n "Enter your name:"
read NAME
if [ "$NAME" = "" ]; then
echo "You did not enter any information"
else
adduser --system --home /dev/null --ingroup postfix --disabled-login --force-bad
passwd $NAME
fi

Делаем его исполняемым (сам файл), сохраняем как add_mu в директории /bin или другой... (смотрим через env и определяемся). Теперь в консоли просто говорим add_mu, на приглашение вводим имя нового пользователя и все проходит без проблем.

5 Янв, 2007

То что не сумел восстановить - вышло еще лучше )

Вчера полетел винт с Debian'ом - с помощью LiveCD удалось восстановить только правила Iptables, да и то не полностью. Сел сегодня за написание нового скрипта - с нуля так сказать. Так вот - он получился еще лучше предыдущего. Для лучшего backup'а "увековечу" его здесьздесь )

19 Дек, 2006

Давно не было повода или времени...???

Давно не писал в свой ЖЖ... Мда, начало не очень (, но все же:
столкнулся с такой задачкой, вернее сказать меня с ней "столкнули" на новой работе - необходимо добавить в автозагрузку скрипт, который пробрасывает пакеты с одного порта на другой. Все бы ничего, благодаря уважаемому мною человеку DIVZ'u это можно было реализовать с помощью IPTABLES, но не тут то было. Оказывается надо подключать какие-то специфические библиотеки java-машины в этом скрипте... Вобщем скрипт получился, но вот средствами update-rc.d my_scrypt default не вышло. Тогда было сделано следующее: в /etc/init.d/ был обнаружен скрипт примера (skeleton) для автозагрузки любого приложения (после некоторой доработки под свои нужды) который и был добавлен в автозагрузку. Ну а теперь по-порядку:
1. Копируем skeleton
2. Редактируем для запуска своего скрипта, в частности придумываем ему имя (демон'у), указываем где будет распологаться основной скрипт, который пробрасывает пакеты, ни и еще кое что...
3. Затем смотрим в /etc/rc?.d/ все файлики вида S??имядемона, и для вновь созданного на основе skeleton'a скрипта делаем дальше
4. Копируем созданный на основе skeleton'a скрипт в /etc/init.d/
5. Выполняем update-rc.d переименованный_skeleton start 98 2 3 4 5 . (точку обязателно через пробел)
6. После перезагрузки системы появился процесс с указанным именем в переименованном_skeleton'е и в течение вечера все проработало нормально. Теперь жду ADSL модем для разворачивания MPLS.
А вот как сделать такую "автозагрузку" на ASP-Linux не знаю.... (((

18 Сент, 2006

Команды, выполняемые при запуске

Создаем собственно файл - назовем его например test
Помещаем его в /etc/init.d/
Делаем файл исполнимым: chmod +x /etc/init.d/test
Добавляем его в автозагрузку: update-rc.d test defaults (удалить из автозагрузки с remove)
Прописываем в файл стандартный заголовок для shell-скриптов: #!/bin/bash
Но вот что-то у меня не захотел работать для монтирования разделов NetWare, придется в fstab добавить.
Метки:

11 Сент, 2006

Таблицы символов

Не мое, но очень полезно, а я все время путаю. Пусть будет здесь, может запомню....

Еще одним компонентом стандарта UNICODE являются алгоритмы для взаимно-однозначного преобразования кодов UNICODE в последовательности байтов переменной длины. Необходимость таких алгоритмов обусловлена тем, что не все приложения умеют работать с UNICODE. Некоторые приложения понимают только 7-битовые ASCII-коды, другие приложения - 8-битовые ASCII-коды. Такие приложения используют для представления символов, не поместившихся, соответственно, в 128-символьный или 256-символьный набор, так называемые расширенные ASCII-коды, когда символы кодируются цепочками байтов переменной длины. Алгоритм UTF-7 служит для обратимого преобразования кодов UNICODE в расширенные 7-битовые ASCII-коды, а UTF-8 - для обратимого преобразования кодов UNICODE в расширенные 8-битовые ASCII-коды.

10 Сент, 2006

Си под Debian'e

просто надо:

1. gcc test.c -o test -g3
2. gdb test
3. list
4. break 1
5. step
6. print name_var
7. info break
8. run
9. info breakpoints
10. delete number_breakpoint

Только вот хотелось бы значения переменных просматривать на другой консоли, но не получится. :( Только в процессе выполнения программы ((((
Метки:

8 Сент, 2006

NClient в Debian'e

Задался задачей проверить как будет работать новелловский клиент в Debian'e и есть ли такой вообще. Как оказалось - есть. Так что для монитрования томов Netware в Debian'e надо? Это - установить пакет ncpfs и пакет ipx, затем дать такие последовательности команд:
ipx configure --auto_primary=on --auto_interface=off;
ipx_interface add -p eth0 802.2
ncpmount -S name_server -U name_user /mnt/netware, каталог /mnt/netware должен существовать.
После этого всего прекрасно видны тома netware сервера. Вот так.
И еще, при операции монтирования для отображения русских символов необходимо выполнить вот так:
ncpmount -S name_server -U name_user /mnt/netware -y koi8-r -p cp866
Метки:

6 Сент, 2006

iptables

Для создания и очистки цепочек правил для iptables используется два файла с правами x. В одном содержатся наборы правил для цепочек, в другом наборы правил для очистки всех цепочек. Т.е. вначале запускается файл очистки правил, затем файл создания правил. Для того, чтобы цепочки правил сохранились после перезагрузки необходимо после добавления правил выполнить /etc/init.d/iptables save active, и после этого все правила будут выполняться даже после перезагрузки.
Метки:

Рассылка спама .... уже обезврежена

В пятницу была обнаружена загрузка канала. Путем отключения всех сервисов и процессов определил, что загрузка возникла в связи с передачей пакетов на порт 25. Проанализировал откуда-куда идут пакеты (tcp dump -i eth1 port 25) был определен IP - адрес машины, с которой валился спам на сервер. Зараженной машиной оказалась.... МОЯ. Сканирование машины на вирусы ничего не дало (DrWeb, AVP - онлайн). Только tcpview показал, что процесс svchost.exe используется для отправки спама. Отключил с помощью tcpview этот процесс - рассылка прекратилась. Долго еще пробовал всякие проверки, но ничего так и не помогло - спам так и сыпался. На следующий день проверил опции своего Drweba, оказалось, что отключена опция "Эвристический анализ". Включив эту опцию, обнаружил инфицированный sms.exe каким-то Trojan.Spabot... дальше не помню названия. После удаления данного приложения рассылка спама прекратилась. Вот так, не стоит открывать NAT для себя... Или забывать о том, что он открыт... :) Но я все одно рад тому что получилось удалить этого "зверя".
Метки:

30 Авг, 2006

Просто задачка

(Пифагоровы тройки) Прямоугольный треугольник может иметь стороны, каждая из которых является целым числом. Набор трех целочисленных значений для сторон прямоугольного треугольника называется пифагоровой тройкой. Эти три стороны должны удовлетворять следующему соотношению: сумма квадратов двух катетов равна квадрату гипотенузы. Найдите все пифагоровы тройки для катетов side1, side2 и гипотенузы не превосходящих 500. Используйте цикл for с тройной вложенностью, в котором просто перебираются все последовательности. Это является примером вычислени "с помощью грубой силы".

Вот так задачка: действительно "грубая сила"



# include stdio.h
int main ()
{
long int gip, side1, side2, i = 0;
printf ("N\tКатет1\t Катет2\t Гипотенуза\n");
{
for (side1 = 1; side1 <= 500; side1 ++)

{
for (side2 = 1; side2 <= 500; side2 ++)

{
for (gip = 1; gip <= 500; gip ++)
{
i++;
if ((side1 * side1 + side2 * side2) == (gip * gip))
printf ("%ld\t%ld\t%ld\t%ld\n" , i, side1, side2, gip);
}
}
}
}
return 0;
}


i = 120521985 %)

29 Авг, 2006

Востановление NDS (дерева каталогов) в NetWare 5.1

Описанный метод восстановления на Проне был мною полностью опробован на тестовом сервере. Развернул себе такую "сеть" из одного нетваре сервера и одной виндовой машины с установленным NClient'ом. Затем провел следующее:
1. Выполнил на консоли сервера dsrepair -> Unattended full repair. Это проверка дерева NDS на наличие ошибок.
2. Скопировал все из раздела sys:\_NETWARE. Кстати некоторые файлы так и не скопировались
3. Создал одну Organisation Unit, добавил одного User, дал права на директории. Проверил - все работает, т.е. пользователь свободно создает, удаляет файлы на выделенном дисковом пространстве.
4. В консоли сервера disable login, затем clear station all, затем unload ds
5. Скопировал все из bakup'a (см.п. 2) в раздел sys:\_NETWARE
6. В консоли сервера enable login, затем ds, dsrepair -> Unattended full repair. После проверки дерева на ошибки в отчете появилось 2 ошибки. Повторная проверка dsrepair -> Unattended full repair ошибок не показала.
7. Проверил дерево через NWadmin - рабочей группы и пользователя, описанных в п.3 как не бывало, остальное все нормально работает, загружается, с правами все нормально.
8. Удалили через NWadmin все, что можно было в дереве, повторил п.п.4.5.6 - все нормально, все пользователи на месте, и остальные объекты дерева тоже. А вот права доступа пришлось прописывать заново, что является не очень удобным для большого дерева со сложной структурой.
Ну вот, теперь можно пробовать работу с утилитами по восстановлению NDS от именитых производителей. Надеюсь скоро опишу работу с Portlock'ом.

Добавлено


Описанные пункты по восстановлению дерева NDS были опробованы на рабочем дереве. Т.е. идея была создать резервный сервер со всеми настройками, каталогами, правами доступа. Но не вручную, а описанным выше способом. Так вот: для восстановления и сохранения прав на каталоги и файлы, а также восстановления NDS было сделано следующее:
1. Проверил дерево на рабочем сервере: dsrepair-> Unattended full repair, ошибки были найдены и исправлены
2. Cкопировал директорию _NETWARE с рабочего серва на резервный
3. Скопировал полностью содержимое тома DATA с рабочего сервера на резервный
4. Сохранил права на рабочем сервере с помощью tustee.nlm и восстановил их на резервном сервер
Ну а дальше все пошло нормально, переименовал резервный сервер, сменил ID. Как это сделать, описано в http://support.novell.com/cgi-bin/search/searchtid.cgi?/10063497.htm, сегодня пробую под разными пользователями подключиться к резервному серверу, удалить - добавить файлы и директории в соответствии с правами доступа - ВСЕ РАБОТАЕТ. Т.е. резервный сервер есть....
Метки:

22 Авг, 2006

Еще про NetWare

Для нормальной работы с .dbf на сервере NetWare 5.1 должны быть проведены следующие "мероприятия":

1. Установить последний саппортпак. На данный момент это 8.0.
2. Monitor -> Server parameters -> Locks ->
2.1 Maximum record Locks Per Connection: 5000
2.2 Maximum File Locks Per Connection: 10000
2.3 Maximum record locks: 100000
2.4 Maximum file locks: 200000
3. Произвести отключение локального кэширования файлов на клиентах. Выполняется такой командой на консоли: set client file caching enabled = off. Добавлять в autoexec.ncf необязательно (проверил лично)
4. При массированной одновременной работе с dbf-файлами на TFS на NetWare 5.1 просто необходимо провести еще и отключение оплоков: на консоли сервера командой SET LEVEL 2 OPLOCKS ENABLED = OFF
Оплоки - это одновременная блокировка файла с нескольких машин. То есть каждый пользователь как бы работает со своей собственной копией файла. Для DBF, да еще и с индексами, может быть фатально...
Ну вот, после этих изменений все должно идти нормально в отношении индексов. Не рушатся, как было до этого.
Да, и еще, команда для проверки отключены ли оплоки такая: SET LEVEL 2 OPLOCKS ENABLED

19 Авг, 2006

Немного про NetWare

Некоторые заметки про NetWare 5.1 Опробовал тут одну очень полезную утилиту для администрирования и восстановления сервера (AdRem Server Manager). Для этого развернул в сети еще один сервер, и начал пробовать. Но вот до того, как начать пробовать, снес опекуна. Т.е. теперь не могу открыть дерево NDS. Однако оказалось что есть для таких как я утилита adminadd.nlm, которая достаточно быстро добавляет указанного в ее параметрах запуска пользователя и пароль.
Еще одна небольшая заметка по поводу объекта profile: права на чтение для него даем всей Organisation, в свойстве logins cript пишем такое: NO_DEFAULT - чтобы не маппировались SYSTEM и PUBLIC, map root k:=nserver/data:techn\ - подключение сетевого диска К map root m:=nserver/data:uprav\ - подключение сетевого диска M. Еще обязательно на директориях, которые доступны для каждой из созданных организационных единиц ставить "Препятствовать удалению" через NWadmin, т.е. пользователь не сможет удалить корневую директорию.
Метки:

17 Авг, 2006

Несколько из миллиона нужных мне знаний

Дуплексный канал обеспечивает одновременную передачу информации в обоих направлениях. Может состоять из двух физических сред, каждая из которых используется для передачи данных только в одном направлении.
Полудуплексный канал обеспечивает передачу информации в обоих направлениях, но не одновременно а по очереди
Симплексный канал позволяет передавать информацию только в одном направлении.
Коммутация - соединенине конечных узлов через сеть транзитных узлов.
Маршрут - последовательность узлов от отправителя к получателю.
Метка потока представляет собой некоторое число, которое несут все данные потока. Не меняет своего значения на всем протяжении пути от источника до назначения и таким образом уникально идентифицирует поток в локальной сети.
Метрика - абстрактный способ измерения близости между двумя объектами в сети.
Метки:

16 Авг, 2006

Опять вирусы

Позавчера уходя домой, увидел, что с нескольких машин в сети начали сыпаться пакеты неизвестного происхождения. Поднимаюсь к этим пользователям, нифига, никакие сетевые службы и т.п. не запущено, а пакеты идут. Проверка на вирусы показала, что все .exe на этих машинах инфицированы Win32.Parite.2 :( DrWeb "излечил" эти файлы. Перезагрузив машину, увидел, что все начинается снова. Но тут оказалось, что этот вирус (как оказалось червь) так просто не убирается Описанные в этой статье методы помогли в случае с Windows XP, а вот для Windows 98 это не прошло. Таким образом целый день вчера провозился с этой машиной. Но кто ищет, тот всегда найдет. Попробовал также Adaware, не помогло. Но вот на одном из форумов посоветовали вот эту утилиту. Теперь все нормально, все файлы вылечены, все .exe запускаются. Пытаюсь теперь найти, откуда это все просочилось, ведь все закрыл. Есть две рабочих версии: через почту (что маловероятно, но письма от/для этих пользователей теперь идут через меня)и подобрав универсальные пароли в BIOS, так как к одной из машин можно подобрать пароль. Теперь вот займусь сам подборкой паролей, и если один из универсальных пройдет, тогда что делать и не знаю. :((((( Не один из универсальных паролей не подошел, все таки версия BIOS более новая и универсальные пароли к ней еще никто не "освещал". Оказалось мой помошник "забыл" в BIOS'e отключить USB Deviсes, зато USB клавиатуру отключил. Вот. Ну ничего. Будем дальше наблюдать. :)

Предыдущие 20

Ноябрь 2008

Вс Пн Вт Ср Чт Пт Сб
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Реклама

Трансляция

RSS Atom
Разработано LiveJournal.com