Linux - статьи

         
Linux - статьи
Linux - статьи

         


А еще...


Выше были описаны самые важные программы дистрибутива. Осталось упомянуть дополнительный инструментарий, без которого иногда не обойтись. Среди архиваторов были замечены консольные версии zip, bzip и unrar. А вот графической утилиты для работы с архивом не обнаружено. Во всяком случае, в меню Nautilus найти ее не удалось.

Раз уж мы упомянули о консоли, то в систему включен mc версии 4.6. При несовершенном графическом окружении эта программа может пригодиться. Для редактирования битмаповых изображений в Linux, пожалуй, нет альтернативы Gimp’у (в данный дистрибутив включена версия 2.0.4).

Если же возникнет необходимость прочитать документы AcrobatReader, можно будет воспользоваться gpdf 0.31. А OpenOffice умеет создавать документы такого типа.



"А оно вам надо?"


Вполне вероятно. Уж очень неуместны бывают сетевые кабеля, когда хочется полистать какой-нибудь online-magazin в шезлонге на балконе... Тем более, что декларируемые 54 Mbit/sec OFTM "выливаются" во вполне приличные 20Mbit/sec. Не говоря уже о тех случаях, когда прокладка кабеля просто не представляется возможной или уж вовсе "лениво" дырявить очередное шлакобетонное перекрытие. С учётом нынешней стоимости оборудования Wi-Fi (~20$ за адаптер и ~70$ за аналог hub-а) ответ во многих случаях очевиден: полюбопытствовать - стоит.



Авторские права


Авторские права на этот документ принадлежат (c) 1999, 2000 Greg O'Keefe. Вы можете использовать, копировать, распространять или изменять этот документ не взымая за это денег, следуя соглашениям Общественной Лицензии GNU - GNU General Public Licence. Прошу уведомить меня, если вы используете его целиком или частично как часть другого документа.



Bash


Если вы ввели правильную комбинацию имя пользователя/пароль, login выберет из файла /etc/passwd шелл, который нужно для вас загрузить. Для Linux систем в большинстве случаев это будет bash. Работа bash заключается в том, чтобы читать ваши команды и следить за тем, чтобы они были выполнены. Он является и интерфейсом пользователя и интерпретатором командного языка.

Как интерфейс пользователя он читает ваши команды и выполняет их сам (если это "внутренние" команды типа cd) или находит и выполняет программу (т.е. "внешнюю" команду типа cp или startx). Он также проделывает такие приятные вещи как сохранение истории команд и автоматическое завершение имени файла.

Мы уже наблюдали работу bash в качестве интерпретатора языка программирования. Скрипты, запускаемые программой init при старте системы являются обычно сценариями оболочки и выполняются при помощи bash. Сочетание удобного языка программирования с обычными системными утилитами, доступными из командной строки, представляет очень мощную комбинацию в случае, если вы знаете что делаете. Например (включен режим самодовольства) мне необходимо применить большой набор патчей к директории содержащей некоторые исходные тексты. Я могу сделать это, набрав единственную команду:

for f in /home/greg/sh-utils-1.16*.patch; do patch -p0 < $f; done;

Будут найдены все файлы в моей домашней директории, чьи имена начинаются на sh-utils-1.16 и заканчиваются на .patch. Далее в цикле переменной f будут присваиваться имена этих файлов и выполняться команды заключенные между операторами do и done. В данном случае присутствовало всего 11 файлов-патчей, но это было-бы также просто будь их хоть 3000.



Библиотека GNU C


Следующей, после загрузки ядра, вещью, является запуск процесса init. Однако init, подобно другим программам, использует вызовы функций из системных библиотек.

Вы наверняка знакомы с демо-программами похожими на эту:

main() { printf("Hello World!\n"); }

Программа не содержит определения функции printf, так откуда она её вызывает? Функция берется из стандартной библиотеки C, в системе GNU/Linux это glibc. Если вы скомпилируете её под Visual C++, функция будет взята из стандартной библиотеки реализации Microsoft. Существуют зиллионы стандартных функций для математических и строковых операций, манипулирования датой/временем, оперативной памятью и т.д. и т.п. Всё в мире Unix (включая Linux) либо написано на C либо старается быть написанным, так что всё использует эти функции.

Если вы заглянете в /lib на вашей Linux машине, вы обнаружите множество файлов libsomething.so или libsomething.a и т.п. Это библиотеки таких функций. Glibc является просто реализацией этих функций проектом GNU.

Для программ существует два способа использования библиотечных функций. Если программа собирается статически, эти функции будут скопированы в создаваемый исполняемый код. Код при этом будет взят из библиотеки типа libsomething.a. Если программа собирается динамически, (что происходит по умолчанию) эти функции будут загружаться при выполнении программы по мере надобности. При этом будет использован код из файлов типа libsomething.so.

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

[greg@Curry power2bash]$ ldd /bin/bash libtermcap.so.2 => /lib/libtermcap.so.2 (0x40019000) libc.so.6 => /lib/libc.so.6 (0x4001d000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)



Централизованная схема управления сетью с использованием OpenLDAP


,

Последнее изменение: 2004-07-19 04:23

Централизованная схема управления сетью с использованием OpenLDAP: хранение настроек DHCP, DDNS, Squid, IPTables в OpenLDAP, использование Ulog-acctd, Squid, Firebird, Perl для учета трафика, административный клиент Network Console на Java

Документ распространяется в соответствии с условиями лицензии GNU Free Documentation License. Ни автор, ни распространители, ни любой другой контрибьютор данного документа, не несет никакой ответственности за физический, финансовый, моральный или любой другой ущерб, понесенный при выполнении рекомендаций данного документа.



"Что есть сие?"


Для простоты и всё той же краткости будем считать, что Wi-Fi - тот же Ethernet, только без кабелей. Хотя, справедливости ради, стоило бы вспомнить, что первые устройства разрабатывались не как "расширение", а, скорее, как альтернатива последнего. Но, это - дела минувшие, а нынче адаптер с точки зрения ОС представляется как сетевой, к которому приложимы все обычные средства управления и конфигурирования "a la" ifconfig и т.д.

При ближайшем рассмотрении, однако, различия всё-таки обнаруживаются. Так, для соединения адаптеров Ethernet нужен, как минимум "кросс-кабель", а лучше - hub. То, что с Wi-Fi кабель не нужен - разумеется, но, оказывается, вместе с ним пропадает и ограничение "только два - или hub". Несколько Wi-Fi адаптеров легко могут общаться между собой. У них это называется "Ad-Hoc". Отметим этот режим как "вариант", но зададимся вопросом: а зачем тогда нужен упомянутый выше аналог hub-а? Причин несколько, и чисто физические (большая пропускная способность и лучшая, как правило, реализация радио-тракта) при этом не главные. Важнее то, что Access Point (AP - для краткости. Именно так называется этот самый аналог hub-а) - ключевой участник организации защиты сети. Режим с AP называется "Infrastructure" и имеет средства защиты, отсутствующие для режима Ad-Hoc. К тому же, хорошо бы иметь возможность объединить нашу сеть Wi-Fi с какой-нибудь локальной. Опять же: AP представляется для этого более подходящим устройством, чем IBM PC с парой сетевых карт, одна из которых - Wi-Fi.

Сложив всё необходимое для работы AP в одну коробочку, производитель задумался: а не назначить ли её ещё и роутером/файрволом "по совместительству"? Ведь, практически, всё необходимое уже внутри... Так появились Wi-Fi роутеры, которые, помимо функций AP, имеют порт для подключения модема кабельного, ADSL и прочих в этом роде, обеспечивающих соединение с Сетью. Если учесть, что такой роутер, практически, не дороже обычной AP, то решение имеет хорошие маркетинговые перспективы. Знакомимся поближе...



Что имеем?


Теперь, когда мы немного ознакомились с методами конфигурирования системы, давайте посмотрим, с какими программами можно будет работать, используя SUSE Linux 9.2 LiveCD. Предлагаю разнести их по разделам.



Что нам надо для счастья


Операционная система - на мой взгляд, этот релиз, хоть он и не самый новый, наиболее оптимален для серверов.

Стабильная версия - например, версия 2.2.5, пакет samba-2.2.5.tar.gz.

Компилятор зыка С - gcc (рекомендую установить версию ).

Патч , разработанный в Amherst College. Как видно из названия, этот пачт позволит расширить стандартную функциональность поддержкой корзины для удаленных файлов на сетевых дисках.

Ну и конечно - физический или виртуальный сервер, на который мы будем устанавливать программу (в моем случае это был Dual PIIIs 866, 512M ECC, SCSI RAID Mylex170, 4 HDD SCSI IBM 18G в RAID5, Teckram 390U + SCSI 18G Seagate).



Демоны Ядра


Когда вы используете команду ps aux, вы видите нечто вроде приведенного ниже:

USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND root 1 0.1 8.0 1284 536 ? S 07:37 0:04 init [2] root 2 0.0 0.0 0 0 ? SW 07:37 0:00 (kflushd) root 3 0.0 0.0 0 0 ? SW 07:37 0:00 (kupdate) root 4 0.0 0.0 0 0 ? SW 07:37 0:00 (kpiod) root 5 0.0 0.0 0 0 ? SW 07:37 0:00 (kswapd) root 52 0.0 10.7 1552 716 ? S 07:38 0:01 syslogd -m 0 root 54 0.0 7.1 1276 480 ? S 07:38 0:00 klogd root 56 0.3 17.3 2232 1156 1 S 07:38 0:13 -bash root 57 0.0 7.1 1272 480 2 S 07:38 0:01 /sbin/agetty 38400 tt root 64 0.1 7.2 1272 484 S1 S 08:16 0:01 /sbin/agetty -L ttyS1 root 70 0.0 10.6 1472 708 1 R Sep 11 0:01 ps aux

Это список процессов, выполняющихся в системе. Информация берется из файловой системы /proc, описанной в предыдущем разделе. Заметьте, что init всегда имеет номер один. Процессами номер 2, 3, 4 и 5 являются kflushd, kupdate, kpiod и kswapd. Есть в них нечто странное: в обеих колонках виртуального размера (SIZE) и реального размера (RSS) стоят нули. Как процесс может не использовать память?

Эти процессы являются демонами ядра. Большая часть функций ядра не проявляется в списке процессов, и вы можете оценить объем потребляемой ядром памяти только путем вычитания доступной памяти из общего размера памяти компьютера. Демоны ядра стартуют после init и, следовательно, получают номера подобно другим процессам. Но их код и данные остаются в памяти, принадлежащей ядру.

Имена этих процессов заключены в скобки, поскольку файловая система /proc не имеет информации о командах, которыми эти процессы были запущены.

Так для чего нужны демоны ядра? Предыдущие версии документа содержали просьбу о помощи, так как я очень мало знал о демонах ядра. Последующее изложение было собрано из нескольких разных откликов на эту просьбу, за которые я весьма признателен. Приветствуются и будущие советы, ссылки и исправления!

Ввод и вывод выполняются через расположенные в памяти буферы. Это позволяет программам выполняться быстрее. То, что программа записывает может быть сохранено в памяти, в буфере, и записано на диск позднее, более крупной и эффективной порцией. Эта работа выполняется демонами kflushd и kupdate: kupdate выполняется периодически (5 секунд?) проверяя существование "грязных" буферов. Если таковые присутствуют, он командует kflushd записать их на диск.

Процессы часто остаются без работы, а некоторым нет необходимости держать весь свой код и данные в памяти. Это значит, что мы могли бы использовать память лучшим образом, перемещая неиспользуемые части программ в своп-раздел(ы) на жестком диске. Работа по перемещению данных и кода из памяти на диск и обратно выполняется демонами kpiod и kswapd. Каждую секунду или около того kswapd просыпается чтобы проверить обстановку в памяти и, если что-либо требуется загрузить из свопа в память или не хватает свободной памяти он вызывает kpiod.

Если вы настроили использование автоматического управления питанием (APM), здесь будет присутствовать и демон kapmd.



Дерево LDAP в окончательном варианте


$ ldapsearch -h 127.0.0.1 -LLL -b "dc=myserver,dc=myprovider,dc=ru" -D "cn=manager,dc=myserver,dc=myprovider,dc=ru" -w "secret"

dn: dc=myserver, dc=myprovider, dc=ru

objectClass: top

objectClass: dhcpServer

cn: myserver.myprovider.ru

dhcpServiceDN: cn=Network, dc=myserver, dc=myprovider, dc=ru

dn: cn=Network, dc=myserver, dc=myprovider, dc=ru

cn: Network

objectClass: top

objectClass: dhcpService

objectClass: dhcpOptions

dhcpPrimaryDN: cn=myserver.myprovider.ru, dc=myserver, dc=myprovider, dc=ru

dhcpOption: domain-name "myserver.myprovider.ru"

dhcpOption: domain-name-servers 192.168.1.1

dhcpOption: time-offset -5

dhcpOption: ntp-servers 192.168.1.1

dhcpStatements: default-lease-time 21600

dhcpStatements: max-lease-time 43200

dhcpStatements: ddns-update-style interim

dhcpStatements: ddns-updates on

dhcpStatements: ddns-domainname "myserver.myprovider.ru"

dhcpStatements: ddns-rev-domainname "in-addr.arpa"

dhcpStatements: update-static-leases on

dhcpStatements: key DHCP_UPDATE { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "

 WOfB3kj8IhJK4OZ5s3zHeQ=="

dhcpStatements: } zone myserver.myprovider.ru. { primary 192.168.1.1; key DHCP

 _UPDATE

dhcpStatements: } zone 1.168.192.in-addr.arpa. { primary 192.168.1.1; key DHCP

 _UPDATE

dhcpStatements: } #

dn: cn=192.168.1.0, cn=Network, dc=myserver, dc=myprovider, dc=ru

cn: 192.168.1.0

objectClass: top

objectClass: dhcpSubnet

objectClass: dhcpOptions

dhcpNetMask: 24

dhcpOption: routers 192.168.1.1

dhcpOption: subnet-mask 255.255.255.0

dn: cn=host1, cn=192.168.1.0, cn=Network, dc=myserver, dc=myprovider, dc=ru

cn: host1

objectClass: top

objectClass: dhcpHost

objectClass: internetAccess

objectClass: hostsInfo

dhcpHWAddress: ethernet 00:c0:26:31:6a:13

dhcpStatements: fixed-address 192.168.1.11

allowNat: TRUE

allowProxy: TRUE

forceProxy: TRUE

dn: cn=host2, cn=192.168.1.0, cn=Network, dc=myserver, dc=myprovider, dc=ru


cn: host2

objectClass: top

objectClass: dhcpHost

objectClass: internetAccess

objectClass: hostsInfo

dhcpHWAddress: ethernet 00:c0:26:31:6a:14

dhcpStatements: fixed-address 192.168.1.12

allowNat: TRUE

allowProxy: FALSE

forceProxy: FALSE

dn: cn=Users, dc=myserver, dc=myprovider, dc=ru

objectClass: top

dn: cn=ldapuser1, cn=Users, dc=myserver, dc=myprovider, dc=ru

objectClass: posixAccount

cn: LDAP User 1

uid: ldapuser1

uidNumber: 1001

gidNumber: 10

homeDirectory: /home/ldapuser1

loginShell: /bin/bash

userPassword:: MQ==

dn: cn=ldapuser2, cn=Users, dc=myserver, dc=myprovider, dc=ru

objectClass: posixAccount

cn: LDAP User 2

uid: ldapuser2

uidNumber: 1002

gidNumber: 10

homeDirectory: /home/ldapuser2

loginShell: /bin/bash


Домашняя страница


Последнюю версию этого документа можно найти на From Powerup To Bash Prompt также как и сопутствующий материал ``Building a Minimal Linux System from Source Code''.

Перевод на французский: From Powerup To Bash Prompt спасибо Dominique van den Broeck. Японский перевод Yuji Senda ожидается, если его ещё нет на Japanese Documentation and FAQ Project



Дополнение


Если необходимо организовать мониторинг нескольких материнских плат S2460 Tiger MP (например, в кластере), то не обязательно проводить все указанные операции, включая компиляцию на всех компьютерах. Достаточно проделать это один раз, и использовать потом полученные файлы на других компьютерах. Для этого нужно только поместить эти файлы в соответствующие каталоги.

Изложенный подход с успехом можно использовать и для организации мониторинга других материнских плат (в том числе - плат других производителей). Для этого необходимо учесть отличия в исполнении конкретной материнской платы, например: что за чипсет используется, какая внутренняя шина, с которой пакетом lm_sensors считываются данные, каков внешний чип (в рассмотренном случае это были, соответственно, AMD 760MP, I2C и W83781d). Поддерживаемые чипсеты, шины и внешние чипы приведены в файле /lm_sensors/etc/sensors.conf.eg дистрибутива lm_sensors.

Автор выражает особую благодарность разработчикам пакета lm_sensors, всем, кто участвовал в его отладке и поделился информацией об его использовании, а также производителям платы TYAN S2460 Tiger MP, выпустившим отличное "железо".

document.write('');

Новости мира IT:

02.08 - 02.08 - 02.08 - 02.08 - 02.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 31.07 - 31.07 - 31.07 - 31.07 - 31.07 -

Архив новостей

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

 (66)

2 Август, 17:53

 (19)

2 Август, 17:51

 (34)

2 Август, 15:40

 (42)

2 Август, 15:35

 (1)

2 Август, 14:54

 (3)

2 Август, 14:34

 (3)

2 Август, 14:15

 (2)

2 Август, 13:34

 (7)

2 Август, 13:04

 (3)

2 Август, 12:28

BrainBoard.ru

Море работы для программистов, сисадминов, вебмастеров.

Иди и выбирай!

Loading

google.load('search', '1', {language : 'ru'}); google.setOnLoadCallback(function() { var customSearchControl = new google.search.CustomSearchControl('018117224161927867877:xbac02ystjy'); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); customSearchControl.draw('cse'); }, true);


IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
PR-акции, размещение рекламы — ,
тел. +7 495 6608306, ICQ 232284597

Пресс-релизы —

This Web server launched on February 24, 1997

Copyright © 1997-2000 CIT, © 2001-2009
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Заманчивое предложение - компания «MyWayTour».


Дополнение зеркал


Загрузились? Попробуйте проверьте командой df, откуда вы загрузились и куда: Filesystem 1k-blocks Used Available Use% Mounted on /dev/md0 2071288 566236 1399836 29% / /dev/md1 6245968 185484 5743204 4% /usr/local /dev/md2 4134832 3220 3921568 1% /var /dev/md3 4719868 38036 4442072 1% /home

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

Сейчас мы находимся в точке, которая моделирует сбой одного винчестера. То есть как будто вы только что заменили отказавший винчестер и должны его разбить. Ситуация отличается только тем, что сейчас второй винчестер уже разбит на разделы, единственное что: неправильно разбит. Сейчас вам нужно изменить тип разделов на /dev/hdc с Linux native на Linux raid autodetect. Если бы у вас был чистый винчестер, то сразу нужно было бы создавать разделы с типом 0xFD. Так что берите fdisk /dev/hdc и тренируйтесь восстанавливать. После создания/правки таблицы разделов вас скорее всего попросят перегрузиться.

Теперь предпоследний шаг: дополнение зеркал. Здесь все очень просто. Выполняете raidhotadd mirror partition: # raidhotadd /dev/md0 /dev/hdc1 # raidhotadd /dev/md1 /dev/hdc3 # raidhotadd /dev/md2 /dev/hdc5 # raidhotadd /dev/md3 /dev/hdc6

и смотрите в /proc/mdstat, как RAID становится настоящим mirror'ом. В конечном итоге вы получите следующее: Personalities : [raid1] read_ahead 1024 sectors md0 : active raid1 hdc1[1] hda1[0] 2104384 blocks [2/2] [UU]

md1 : active raid1 hdc3[1] hda3[0] 6345600 blocks [2/2] [UU]

md2 : active raid1 hdc5[1] hda5[0] 4200896 blocks [2/2] [UU]

md3 : active raid1 hdc6[1] hda6[0] 4795264 blocks [2/2] [UU]

unused devices:

Да, забыли последний шаг: поменяйте в /etc/raidtab директивы failed-disk на raid-disk.

Поздравляю, теперь ваша система установлена на RAID 1 (mirroring).



Дополнительные сведения


The Unix and Internet Fundamentals HOWTO Эрика Рэймонда (Eric S. Raymond), особенно раздел 3, What happens when you switch on a computer? Первая часть The LILO User's Guide дает прекрасное представление о разбиении дисков и загрузке. Ссылки в разделе LILO.

The NEW Peter Norton Programmer's Guide to the IBM PC & PS/2, Питера Нортона и Ричарда Уилтона (Richard Wilton), Microsoft Press 1988 Это новая книга Нортона, которая хорошо выглядит, но сейчас я не могу себе её позволить. Одна из множества книг по апгрейду PC


Страница man lilo. Пакет Lilo ( lilo), содержит ``LILO User's Guide'' lilo-u-21.ps.gz (или более поздний). Скорее всего вы уже имеете этот документ. Посмотрите в /usr/doc/lilo или где-то рядом. Постскриптовская версия лучше текстовой, поскольку содержит графики и таблицы. крутейший однодискетный Linux. Создаёт прекрасную спасательную дискету.




исходный код, ссылки в Building a Minimal Linux System from Source Code




Страницы ман для файлов inittab и fstab. Введите man inittab для ознакомления. The Linux System Administrators Guide содержит хороший раздел по init. исходные коды, ссылки приведены в Building a Minimal Linux System from Source Code




Превосходное описание файловых систем есть в разделе 9 книги LDP ``The Linux Kernel''. Вы найдете её на Австралийском зеркале проекта LDP. Команда mount является частью пакета util-linux, ссылка на него приведена в Страницы ман для mount, fstab, fsck, mke2fs и proc Файл Documentation/proc.txt в исходном коде Linux описывает файловую систему /proc. Утилиты для файловой системы EXT2: ext2fsprogs - домашняя страница и ext2fsprogs - Австралийское зеркало. Здесь также был обзор файловой системы Ext2fs, однако он устарел и читается хуже, чем 9-я глава из ``The Linux Kernel'' Unix File System Standard и на the Unix File System Standard. Стандарт описывает что и где должно находится в файловой системе Unix и почему. Сформулированы также минимальные требования к содержимому директорий /bin, /sbin и т.д. Это хороший источник информации если вы поставите себе задачу создания минимальной, но полной системы.




``The Linux Kernel'' из LDP (The Linux Documentation Project) (для сылок см. раздел )

Исходные тексты ядра Linux, если вы достаточно отважны! Код kswapd обитает в linux/mm/vmscan.c, коды kflushd и kupdate живут в linux/fs/buffer.c.



Дополнительные удобства-возможности


Очень часто пользователь просто недостаточно хорошо знаком с возможностями программы - и только поэтому она кажется сложной или неудобной. Чтобы этого не произошло в случае с Mozilla FireFox, приведу несколько наиболее интересных приемов работы с этой программой**.

Просмотр во вкладках (Tabbed brousing) - если кликнуть по ссылке не просто так, а удерживая при этом <Ctrl>, то новая страница откроется на новой вкладке. В FireFox эта опция включена автоматически, а вот в классической Мозилле ее нужно активировать (через меню Navigator > Options > Tabbed brousing).

Поиск слов на странице (Use Find As You Type) - чтобы найти определенное слово на открытой странице, можно вызвать специальный диалог (Edit > Find In This Page). Но можно настроить программу таким образом, чтобы этот поиск можно было производить, просто вводя на клавиатуре нужное слово. Для этого входим в меню Tools > Options > Advanced и снимаем пометку To search links only (иначе поиск будет производиться только среди ссылок на странице).

Синонимы для закладок (Bookmark keywords) - на часто посещаемых сайтах имеет смысл делать закладки. Однако в FireFox есть интересная возможность: давать закладкам символические имена. Например, добавим в закладки www.yandex.ru, а потом через меню Bookmarks > Manage Bookmarks установим свойство Keyword, скажем, в ya (рис. 5). Теперь, просто набрав в адресной строке браузера "ya", попадаем на Яндекс.

Но это еще не все. Закладки могут иметь параметры. Вот пример. Давайте поищем в Яндексе слово "поиск". Поисковик сформирует . Очевидно, что набор символов после text= и перед & кодирует объект поиска - слово "поиск". Теперь давайте добавим в закладки страницу - и назначим ей синоним ya. И теперь, чтобы осуществить в Яндексе поиск какого-либо слова, достаточно набрать в адресной строке ya объект-поиска. Скажите, как удобно!

Блокировка баннеров. Вы часто посещаете какой-то сайт, но он перегружен баннерами. В таком случае достаточно просто кликнуть по баннеру правой кнопкой мыши и выбрать Block Image From.

Аргументы командной строки
Аргумент Описание Пример
"URL" автоматически открывает указанный ресурс mozilla "www.comizdat.com"
-ProfileManager производит запуск менеджера профилей  
-ProfileWizard запуск мастера создания профилей  
-CreateProfile ИмяПрофиля создает профиль с именем ИмяПрофиля mozilla -CreateProfile Uker
-remote если программа уже загружена, предписывает ей выполнение определенного действия mozilla -remote "openURL (www.comizdat.com, new-window) "
-mail почта_Для создает письмо адресату mozilla -mail mailto: tnt@comizdat.com? subject=Привет
openURL () and openFile () с ключем -remote вызывает диалог ввода адреса страницы или выбора файла mozilla -remote "openurl ()"
openURL (URL) and openFile (URL) с ключем -remote открывает указанный ресурс mozilla -remote "openurl (www.comizdat.com) "
openURL (URL, new-tab) с ключем -remote открывает указанный ресурс в новом окне (new-tab может быть заменено на new-window) mozilla -remote "openurl (www.comizdat.com, new-window) "
xfeDoCommand (openBrowser) открывает новое окно браузера; используется с ключем remote. -remote "xfeDoCommand (openBrowser)"


document.write('');

Новости мира IT:

02.08 - 02.08 - 02.08 - 02.08 - 02.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 31.07 - 31.07 - 31.07 - 31.07 - 31.07 -

Архив новостей

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

 (66)

2 Август, 17:53

 (19)

2 Август, 17:51

 (34)

2 Август, 15:40

 (42)

2 Август, 15:35

 (1)

2 Август, 14:54

 (3)

2 Август, 14:34

 (3)

2 Август, 14:15

 (2)

2 Август, 13:34

 (7)

2 Август, 13:04

 (3)

2 Август, 12:28



BrainBoard.ru

Море работы для программистов, сисадминов, вебмастеров.

Иди и выбирай!


Loading

google.load('search', '1', {language : 'ru'}); google.setOnLoadCallback(function() { var customSearchControl = new google.search.CustomSearchControl('018117224161927867877:xbac02ystjy'); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); customSearchControl.draw('cse'); }, true);

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
PR-акции, размещение рекламы — ,
тел. +7 495 6608306, ICQ 232284597

Пресс-релизы —

This Web server launched on February 24, 1997

Copyright © 1997-2000 CIT, © 2001-2009
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Осуществляем по-настоящему качественную , сделайте заказ и убедитесь в этом сами.


Достаточности и необходимости


Цель документа: установка Slackware 10.1 с нуля на IDE software RAID 1 (mirror) из двух дисков. Используется ядро из дистрибутива - 2.4.29, в котором есть поддержка soft-raid. На самом деле достаточно взять любой дистрибутив с ядром 2.4.x и выше. Для запуска raid на ядрах 2.2.х придется собирать свое ядро с соответствующими патчами. Необходимо:

Два одинаковых винчестера. (Использование дисков разного размера возможно, но не рекомендуется (Прим. пер.: интересно, почему?) Возможность загрузиться со Slackware Install CD. Для любителей других дистрибутивов:

ядро 2.4.х и выше Рекомендуется LILO 22.5.7.2 и выше (Возможность загрузить систему с RAID появилась в LILO 22.0) raidtools 0.90 или выше.

Умение пользоваться fdisk'ом. Ну или хотя бы понимать что такое таблица разделов, mbr, раздел и так далее. Несильно погнутые руки для работы в командной строке. Терпение и время. (Пиво опционально).



Файл конфигурации RAID-массива -- /etc/raidtab


После того, как мы подготовили первый диск для создания RAID, самое время создать файл конфигурации массивов RAID, который будет использоваться драйвером md для корректной конфигурации массива. Запустите ваш любимый emacs и, руководствуясь нижеприведенным примером, создайте ваш raidtab. raiddev /dev/md0 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 persistent-superblock 1 device /dev/hda1 raid-disk 0 device /dev/hdc1 failed-disk 1 chunk-size 32

raiddev /dev/md1 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 persistent-superblock 1 device /dev/hda3 raid-disk 0 device /dev/hdc3 failed-disk 1 chunk-size 32

raiddev /dev/md2 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 persistent-superblock 1 device /dev/hda5 raid-disk 0 device /dev/hdc5 failed-disk 1 chunk-size 32

raiddev /dev/md3 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 persistent-superblock 1 device /dev/hda6 raid-disk 0 device /dev/hdc6 failed-disk 1 chunk-size 32

Для каждой пары совпадающих разделов на диске, из которых будут создаваться отдельные разделы массива, должен быть блок с директивой raiddev, объявляющий соответствующее разделу массива /dev/mdX устройство.

Обратите внимание, что я использовал директиву failed-disk, которая позволяет запретить дублировать изменения первого диска на втором и которая указывает на второй диск, на /dev/hdc, с которого вы сейчас реально загрузили систему. Для подробной информации об возможных директивах этого файла можно прочитать в man 5 raidtab



Файловая система


В данном разделе я буду использовать терми "файловая система" в двух разных смыслах. Есть файловые системы на разделах дисков и других устройствах, и есть файловая система как она представлена для вас работающей системой Linux. Под Linux вы монтируете дисковые файловые системы в системную файловую систему.

В предыдущем разделе я упомянул, что скрипты загрузки проверяют и монтируют файловые системы. Эти действия выполняются соответственно командами fsck и mount.

Жесткий диск - это просто большое пространство, на котором можно записывать единицы и нули. Файловая система предлагает метод структурирования информации на диске и представляет нам его в виде файлов, размещенных внутри директорий , размещенных внутри директорий, размещенных внутри директорий... Каждый файл представлен inode, который знает чей это файл, когда создан и где размещено его содержимое. Директории таже представляются inod'ами, которые знают где найти inod'ы файлов принадлежащих данной директории. Если система хочет прочитать /home/greg/bigboobs.jpeg, она во-первых должна отыскать inode для корневой директории / в суперблоке, затем найти inode для директории home в содержимом /, затем директорию greg в содержимом /home, затем inode для bigboobs.jpeg который скажет какие блоки диска следует прочитать.

Если мы добавляем некоторые данные в конец файла, может случиться так, что данные будут записаны на диск до того как содержание inode для этого файла успеет обновиться, или наоборот. Если питание компьютера будет отключено в этот момент, файловая система будет попорчена. Это тот случай, который должен быть определен командой fsck, она же предринимает попытку восстановления.

Команда mount берет файловую систему устройства и добавляет её в иерархию, которую вы привыкли наблюдать работая в системе. Обычно ядро монтирует корневую файловую систему в режиме "только для чтения". Команда mount перемонтирует её в режиме "чтение/запись" после того как она проверена fsck.

Система Linux поддерживает некоторые другие файловые системы: msdos, vfat, minix и т.п. Специфические детали этих систем скрыты путем использования абстракции виртуальной файловой системы (VFS). Мне бы не хотелось вдаваться в детали. Обсуждение этой темы есть в ``The Linux Kernel''. (для ссылок см. раздел )

Существенно иной вид файловой системы смонтирован в /proc. Это некоторое представление объектов ядра. Здесь присутствуют директории для для каждого запущенного процесса, причем номер процесса используется в качестве имени директории. Присутствуют также такие файлы как interrupts и meminfo, которые могут сообщить информацию об используемом железе. Исследуя /proc, вы можете многому научиться.



Linux - статьи


Getty - это программа, которая позволяет вам войти в систему через устройство последовательного доступа такое как виртуальный терминал, текстовый терминал или модем. Она отображает приглашение для регистрации (login prompt). Получив от вас имя пользователя getty передает его login'у, который запрашивает пароль, проверяет его и предоставляет вам шелл.

Существует много getty. Некоторые дистрибутивы, включая Red Hat, используют один из самых маленьких - mingetty, который поддерживает только виртуальные терминалы.

Программа login является частью пакета util-linux, который также включает хорошо работающий getty - agetty. Этот пакет содержит также mkswap, fdisk, passwd, kill, setterm, mount, swapon, rdev, renice, more (программу) and more (т.е. больше программ).



Linux - статьи


Начну именно с той утилиты, которая мне помогла и вообще понравилась. Найдена она была . Я взял файл для Линукс - gpart.linux. Переименовал в gpart и записал на дискету (размер файла - 265364 байт). После чего загрузился с ASP Linux CD-ROM в режиме консоли восстановления. Выполнил dmesg, чтобы еще раз убедиться, что винчестер у меня это устройство hdb: hdb: MAXTOR 6L040J2, ATA DISK drive hdb: 66055248 sectors (33820 MB) w/1819KiB Cache,
CHS=65531/16/63, UDMA (100)

Теперь нужно смонтировать дискету и запустить утилиту: /mnt/floppy/gpart /dev/hdb

После краткого "раздумья" на экран буде выведена информация о возможном размещении стертых разделов. Вот в таком виде: Primary partition (1) type: 131(0x83)(Linux ext2 filesystem) size: 5004mb #s (10249400) s (63-10249462) chs: (0/1/1)-(1023/15/63) d (0/1/1)-(10168/1/56) r …… Primary partition (4) type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX) size: 16731mb #s (34266640) s (31760505-66027144) chs: (1023/15/63)-(1023/15/63) d (31508/7/1)-(65503/1/58) r

Несколько слов о полученной информации. В строку, помеченной type, указан тип файловой системы, в коде и символическом представлении. Вообще, эта утилита "понимает" следующие системы: DOS/Windows FAT (FAT 12/16/32) Linux ext2; Linux swap, версии 0 and 1 (Linux >= v2.2.X); OS/2 HPFS; Windows NT/2000 FS; BSD метки дисков; Solaris/x86 метки дисков; Minix FS; Reiser FS; Linux LVM дисковый массив; SGI XFS on Linux; BeOS filesystem; QNX 4.x filesystem.

В строке size находится информация, касающаяся "секторной приписки" раздела и количества секторов, занимаемых им. То есть строка: size: 16731mb #s (34266640) s (31760505-66027144)

означает, что размер диска - 16731 Мб, занимает он 34 266 640 секторов, с 31 760 505 по 66 027 144.

Последняя строка - chs - предоставляет нам данные о топологическом размещении разделов, в координатах "цилиндр/головка/сектор" (в нашем случае это не так важно).

И что теперь? Теперь мы можем просто восстановить таблицу размещения разделов при помощи команды: gpart -W /dev/hdb /dev/hdb

Такой синтаксис предписывает утилите "вычислить" таблицу разделов на устройстве hdb и вписать его туда же (то есть восстановить). Но, в принципе, нам предоставляются и другие возможности: сохранить эти данные про запас (gpart -W /dev/fd0 /dev/hdb, на дискету. На тот случай если придется ее восстанавливать) или разбить другой диск по образу и подобию текущего (gpart -W /dev/hda /dev/hdb). Если вы любите делать все своими руками - из осторожности, например (все-таки восстанавливать партиции - дело не тривиальное) - можно воспользоваться традиционным fdisk. Не забудьте только добавить ключ -u - тогда при построении таблицы разделов можно оперировать номерами секторов.



Графический интерфейс системы администрирования


Для адинистрирования системы можно использовать стандартные средства LDAP (от утилит, работающих в режиме командной строки, до графических клиентов: GQ - http://biot.com/gq/, JXplorer - http://pegacat.com/jxplorer/) и Firebird (от стандартного isql до IBExpert - http://ibexpert.com/). Однако все они обладают слишком широкой функциональностью, поэтому для управления созданной структурой была создана Network Console. Бинарный дистрибутив (для Linux и Windows) лежит здесь, а исходные коды - здесь. Network Console написана на Java, поэтому для исполнения она требует JRE, а для компиляции - JDK. И JDK, и JRE (как отдельно, так и в составе JDK) доступны на http://java.sun.com/j2se/1.4.2/download.html.



Графический интерфейс управления Samba


Этот интерфейс называется swat, он является так называемым веб-интерфейсом (то есть его можно использовать на любом компьютере, имеющем веб-браузер). Для активации доступа к этой службе необходимо создать в каталоге /etc/xinetd.d файл swat следующего содержания:

service swat { port = 901 socket-type = stream wait = no only_from = <IP адрес рабочей станции администратора> user = root server = /usr/bin/swat log_on_failure += USERID disable = no }

После этого перезапускаем службу xinetd:

# /etc/init.d/xinetd restart

Теперь, если в браузере на рабочей станции администратора набрать: http://192.168.0.1:901 - получим графический интерфейс управления пакетом.

Прежде чем начать непосредственное тестирование установленного пакета, необходимо выполнить следующие операции:

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

# groupadd otdel_1 ... # groupadd otdel_N

создать группу, в которую будем затем помещать имена машин пользователей (необходимо для ОС Windows 2000/XP/2003 Server):

# groupadd -g 9999 machines

создать скрипт machine_add (в папке /usr/bin) - для ручного добавления имен машин в наш домен:

useradd -d /dev/null -c "User PC" -g machines -s /bin/false -M $1 passwd -l $1 smbpasswd -a -t $1

В качестве параметра нашему скрипту передается имя компьютера с добавленным в конце знаком $. Например, для нашего пользователя user имя его ПК - otdel_n1_user:

# /usr/bin/machine_add "otdel_n1_user$"

добавить в систему наших пользователей - с учетом принадлежности их своим группам:

# useradd -c "Фамилия Имя Отчество" -g otdel_1 -s /bin/false user

и, наконец, добавить нашего пользователя в список пользователей samba:

# smbpasswd -a user

- с вводом ему первичного пароля. После входа в сеть пользователь на рабочей станции может самостоятельно сменить себе пароль - причем, тот должен будет удовлетворять двум условиям: не быть "пустым" и иметь длину не менее 6-ти символов. Эти условия контролируются Samba и при их нарушении смена пароля не будет допущена.


Теперь мы можем проверить работоспособность установленного пакета. Для этого выполним следующий скрипт:

# /etc/init.d/smb start

Проверяем, что демон действительно работает:

# /etc/ini.d/smb status

В результате мы должны получить нечто вроде этого:

smbd (pid 1488) выполняется... nmbd (pid 1492) выполняется...

Переходим к проверке доступности ресурсов для пользователей (на примере пользователя user):

# smbclient -L MyServ -U user added interface ip=192.168.0.2 bcast=192.168.0.255 nmask=255.255.255.0 Got a positive name query response from 192.168.0.1 (192.168.0.1) Domain=[MY_DOMAIN] OS=[Unix] Server=[Samba 2.2.5] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba Server) ADMIN$ Disk IPC Service (Samba Server) Otdel Disk Информация отдела Public Disk Общая информация Inst_Prog Disk Инсталяционное ПО HP_5000 Printer Queue for HP LaserJet 5000 Server Comment --------- ------- MyServ File Server Workgroup Master --------- ------- MY_DOMAIN MyServ

Как видно из полученного сообщения, все прошло удачно и при обращении к samba server пользователь получил свои ресурсы.


Хранение в OpenLDAP произвольной справочной информации


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

attributetype ( 1.1.2.1.2.1 NAME 'comment'

    DESC 'Host comment'

        EQUALITY caseIgnoreMatch

        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )

objectclass ( 1.1.2.2.1.2 NAME 'hostsInfo' SUP top STRUCTURAL

        DESC 'Hosts additional info'

        MAY ( comment ))

Необходимо скопровать схему в каталог /etc/openldap/schema и модифицировать файл /etc/openldap/slapd.conf (добавленные строки выделены):

# В дереве LDAP могут присутствовать только такие записи,

# которые являются экземлярами классов, описанных в схемах,

# и удовлетворяют ограничениям этих классов
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema

# Включение схемы для хранения настроек DHCP в LDAP
include /etc/openldap/schema/dhcp.schema

# Включение схемы для хранения настроек Squid и IPTables
include /etc/openldap/schema/internet-access.schema

# Включение схемы для хранения справочной

# информации о хостах
include /etc/openldap/schema/info.schema


# pid-файл и файл с аргументами запуска

pidfile         /var/run/slapd.pid

argsfile        /var/run/slapd.args

...

После перезапуска OpenLDAP (service ldap restart в ALT Linux) необходимо создать файл info.ldif

Содержимое файла необходимо внести в дерево LDAP командой:

ldapmodify -h 127.0.0.1 -x -D

"cn=manager,dc=myserver,dc=myprovider,dc=ru" -w

"secret" -f info.ldif



Init


Я расскажу вам только о программе init в стиле ``System V'', которая используется большинством Linux систем. Существуют и другие варианты. На самом деле вы можете поместить любую программу в /sbin/init и ядро запустит её как только закончит загружаться.

Задачей init'а является запуск всего остального нужным образом. Он проверяет состояние файловых систем и монтирует их. Он запускает демонов для записи системных сообщений, сетевого взаимодействия, обслуживания веб-страниц, обработки сообщений мыши и т.п. Он также запускает процессы getty, которые выдают запросы на вход в систему на ваших виртуальных терминалах.

Я мог бы расказать вам длинную историю о проблеме переключения "уровней запуска" (``run-levels''), однако я пропущу большую её часть, остановившись исключительно на моментах связанных с запуском системы.

Init читает файл /etc/inittab, в котором содержатся инструкции для дальнейшей работы. Первой инструкцией, обычно, является запуск скрипта инициализации. Программой, которая будет выполнять (интерпретировать) данный скрипт, является bash, та самая программа, которая предоставляет вам командную строку. В системах, основанных на Debian, скриптом инициализации будет /etc/init.d/rcS, в Red Hat - /etc/rc.d/rc.sysinit. Это то место где происходит проверка и монтирование файловых систем, установка часов системного времени, включение своп-раздела, присвоение имени хоста и т.д.

Далее будет вызван следующий скрипт, который переведёт нас на "уровень запуска" по умолчанию. Это подразумевает просто некоторый набор подсистем, которые должны быть запущены. Для обслуживания уровней запуска существует набор директорий /etc/rc.d/rc0.d, /etc/rc.d/rc1.d, ..., /etc/rc.d/rc6.d в Red Hat, или /etc/rc0.d, /etc/rc1.d, ..., /etc/rc6.d в Debian, которые отвечают за соответствующие уровни. Когда мы заходим на "уровень запуска" 3 в Debian, этот скрипт будет запускать все скрипты в /etc/rc3.d, начинающиеся на букву `S' (старт). Эти скрипты обычно являются символьными ссылками на скрипты расположенные в init.d.


Итак, скрипт "уровня запуска", вызван процессом init и ищет в соответствующей директории скрипты начинающиеся на `S'. Пусть первым обнаруженным файлом окажется S10syslog. Порядок запуска скриптов определяется номерами. В нашем случае S10syslog оказался первым, поскольку не нашлось скриптов, начинающихся на S00 ... S09. На самом деле S10syslog является ссылкой на /etc/init.d/syslog, который и является скриптом, отвечающим за запуск и остановку системного логгера. Поскольку ссылка начинается на `S', скрипт "уровня запуска" запустит syslog с параметром ``start''. Ссылки, названия которых начинаются на `K' (kill, убить) определяют порядок действий при останове системы или при переходе на другой "уровень запуска".

Для изменения списка подсистем, запускаемых по умолчанию, вы должны установить соответствующие ссылки в директории rcN.d, где N - "уровень запуска" по умолчанию, установленный в вашем inittab.

Последним важным действием init является запуск некоторого количества getty. Они прописываются как ``respawned'', что означает - если данный процесс будет остановлен, init запустит его снова. Большинство дистрибутивов используют шесть виртуальных терминалов. Вы можете захотеть уменьшить их количество для экономии памяти, или, наоборот, увеличить, что позволит запускать множество приложений одновременно и быстро переключаться между ними по мере надобности. Также может возникнуть потребность в запуске getty на текстовом терминале или при подключении по модему. В этом случае вам надо будет отредактировать файл inittab.


Интернет-браузеры


Для путешествия по веб-сайтам можно воспользоваться тремя вариантами из семейства Mozilla: Mozilla Firefox 1.0Pre; Mozilla 1.7.2; Epiphany 1.2.5.

Хотя лично мне очень нравится "лисица", в данном случае можно отметить в ней небольшой недостаток. Когда происходит смена системной локали, было бы хорошо, чтобы эти изменения корректно "проникали" и в пользовательские приложения. Но, например, в FireFox языковым стандартом и набором шрифтов по-прежнему остается "западноевропейский".

А вот в "настоящей" Мозилле основным языком установлен язык системной локали — и это помогает избежать неприятностей. К тому же эта программа поставляется и с некоторыми плагинами: Java Plug-in 1.4.2_05, DjVuLibre-3.5.14, Shockwave Flash 7.0 r25. (Кстати, из Mozilla исключен почтовый клиент. Похоже, вся ставка сделана на Evolution.)



Интернет-пейджер


Для общения в ICQ предлагается распространенный клиент Gaim. В нашей системе представлена версия 0.82.1. Однако напомним, что уже выпущен финальный релиз 1.0.3. Кроме того, лично у меня всегда были проблемы с этой программой по части ее руссификации. Gaim упорно не хочет понимать кодировки, отличные от UTF-8. Вот почему я пользуюсь SIM.


Mozilla и Gaim на рабочем столе



Использование USB Flash под Linux


Николай Ткаченко,

Устройства хранения данных по технологии Flash все настойчивее "стучат" в дверь, пытаясь побыстрее проникнуть в нашу компьютерную жизнь. Народ быстренько окрестил эти устройства "флэшками" и начал интенсивно приобретать - все-таки очень удобно. Действительно, использовать их под Windows 2000 и XP просто - поддержка встроена в саму ОС.

Но представим, что вы - продвинутый админ, пользуетесь только Linux, а тут пришел к вам знакомый с серебристым флэш-брелком на груди: "Эй! Я тут увальную музычку на флэшке приволок. Послушаем?".

Как быть дальше? Понимает ли Linux такое устройство? Сможете ли вы не ударить перед "модным юзером" лицом в грязь? На самом деле все просто. Надо лишь уметь пользоваться утилитой mount и знать, что flash рассматривается этой ОС (Linux) как SCSI-диск.

Итак, включаем "флэшку" в USB-порт. Если у вас RH 8-9, можно воспользоваться программой поиска устройств - hwbrowser. Она просканирует системную шину и найдет все подключенные к ней устройства. Обнаружит, конечно же, и флэш-карту.

Видим (рис. 1), что в системе появился диск /dev/sda1 размером 62 Mб (вообще объем флэш-карты составляет 64 Mб, но в результате форматирования получилось два пустых места). Файловая система, автоматически распознанная этой ОС,- fat16.

Все необходимые данные получены - теперь можно приступить к монтированию устройства в файловую систему. Делается это, как обычно, утилитой mount. А последовательность действий такова. Во-первых, создаем директорию usbflash в папке /mnt (вообще, не обязательно именно в ней - просто так принято). И выполняем команду:

#mount /dev/sda1 /mnt/usbflash

Заходим в эту директорию и читаем:

#ls /mnt/usbflash >alcotable.doc Driver pyngvin.gif retal.rar wb2000s.zip >diskasis.zip m-35-060.jpg!readme.txt??????.rtf

Что имеем? Устройства смонтировано. Но что это за странный файл "???????.rtf"? Дело, конечно, в различных кодовых страницах. Ведь файлы писались под Windows, в кодировке cp866,- а читаем мы их в koi8-r (как правило). Попробуем скорректировать проблему. Использование опций iocharacterset и codepage должно исправить ошибку:

#umount /mnt/usbflash #mount -t vfat /dev/sda1 /mnt/usbflash -o iovharset=koi8-r,codepage=866 #ls /mnt/usbflash >alcotable.doc Driver pyngvin.gif retal.rar wb2000s.zip >diskasis.zip m-35-060.jpg!readme.txt Гарантийное письмо.rtf


Если вы планируете часто подключать flash-карты к компьютеру, имеет смысл сделать запись в системном файле /etc/fstab. Вот такую:

/dev/sda1 /mnt/usbflash vfat iocharset=koi8-r, codepage=866,user


И не забудьте, что fstab должен иметь одну пустую строку в конце (то есть завершаться символом новой строки - \n). Формат этого файла прост. Каждая строка описывает одну точку монтирования. Поля в ней разделяются пробелом. Первое указывает на блочное устройство (/dev/sda1), второе - на точку монтирования (/mnt/usbflash), третье - это тип файловой системы (в нашем случае - vfat); далее следуют опции. С двумя вы знакомы, опция же user означает, что выполнять команду mount /mnt/usbflash может любой пользователь, а не только root.

document.write('');

Новости мира IT:

02.08 - 02.08 - 02.08 - 02.08 - 02.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 31.07 - 31.07 - 31.07 - 31.07 - 31.07 -

Архив новостей

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

 (66)

2 Август, 17:53

 (19)

2 Август, 17:51

 (34)

2 Август, 15:40

 (42)

2 Август, 15:35

 (1)

2 Август, 14:54

 (3)

2 Август, 14:34

 (3)

2 Август, 14:15

 (2)

2 Август, 13:34

 (7)

2 Август, 13:04

 (3)

2 Август, 12:28



BrainBoard.ru

Море работы для программистов, сисадминов, вебмастеров.

Иди и выбирай!


Loading

google.load('search', '1', {language : 'ru'}); google.setOnLoadCallback(function() { var customSearchControl = new google.search.CustomSearchControl('018117224161927867877:xbac02ystjy'); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); customSearchControl.draw('cse'); }, true);

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
PR-акции, размещение рекламы — ,
тел. +7 495 6608306, ICQ 232284597

Пресс-релизы —

This Web server launched on February 24, 1997

Copyright © 1997-2000 CIT, © 2001-2009
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Для Вас: от надежной и проверенной временем компании.


в статье решения применимы без


Главное - не конкретные решения, а технология. Предложенные в статье решения применимы без изменений для довольно узкого круга задач. Но описанная технология в любом случае позволяет упростить администрирование небольших локальных сетей. Та же технология с некоторыми изменениями (фактически они сведутся к увеличению настроек, хранимых в LDAP, поддержке новых сервисов и, как следствие, к модификации Network Console) может быть использована для управления более крупными сетями.

Ядро Linux


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

Процессор может единовременно выполнять только одну инструкцию, однако в системе Linux выполняются одновременно множество вещей. Ядро достигает этого быстрым переключением с задачи на задачу. Это приводит к лучшему использованию процессора, т.к. ядро отслеживает какие процессы готовы активно выполняться, а какие ожидают чего-либо вроде записи в файл или ввода с клавиатуры. Эта задача ядра называется scheduling.

Если программа ничего не делает -- её не надо держать в оперативной памяти. Если даже она что-то делает, могут найтись части, которые не делают ничего. Адресное пространство каждого процесса разделено на страницы. Ядро следит за тем, какие страницы каких процессов используются чаще. Редко используемые страницы могут быть перемещены в своп-раздел. Когда они понадобятся снова, другие неиспользуемые страницы перемещаются в своп, освобождая место в памяти. Это называется управлением виртуальной памятью.

Если вы уже компилировали своё собственное ядро, вы должны были заметить множество опций для различных устройств. Ядро содержит множество специального кода для взаимодействия с разнообразными видами железа и представляет все это для приложений достаточно простым и стандартным способом.

Ядро также управляет файловой системой, межпроцессным взаимодействием и всей этой сетевой кухней.

Будучи загруженным в память, первой задачей ядра является поиск и запуск программы init.



Ящерица на компакт-диске


Николай Ткаченко,

Набирают популярности LiveCD-дистрибутивы Linux — специально построенные системы, которые предназначены для работы без установки на жесткий диск. Это очень удобно, когда необходимо получить представление о новом продукте. Например, о SUSE 9.2

Опыта работы с дистрибутивами SUSE у меня не слишком много. Только однажды на моем ПК завелась "зеленая ящерица". Но на тот момент это был уже морально устаревший пакет программ — и от него пришлось избавиться.

Теперешний же интерес к данной ОС связан, в основном, с ее коммерциализацией при активном участии Novell. А инициативы этой компании относительно Linux достаточно впечатляющи. Радикально поддерживая идеи Open Source разработки программ, Novell, тем не менее, не прочь заработать денег — бизнес есть бизнес. Ее основной продукт — SUSE Linux 9.2 — хоть и недорог, но все же не бесплатен.

Хорошо, что многие разработчики Linux предлагают пользователю LiveCD-версии того или иного дистрибутива. По сути, это пробный вариант операционной системы, не требующий инсталляции и запускаемый прямо с компакт-диска. Неплохой способ ознакомиться с возможностями коммерческого продукта, прицениться. Почему бы и нам не воспользоваться предложением и не оценить достоинства новейшей версии SUSE Linux?

Кстати, существует LiveCD двух вариантов — с Gnome 2.6 и KDE 3.3. Рассмотрим Gnome — именно эту оболочку я предпочитаю в большинстве случаев.



Как я оживлял Linux


Николай Ткаченко,

Житейский случай восстановления случайно стертых разделов жесткого диска

Как и у многих пользователей, на одном винчестере у меня содержится несколько различных ОС. В данном случае - ASP Linux 9.2 и Windows XP (да, вы правильно догадались: "пингвин" для работы, а "окошки" для экспериментов).

И вот в один прекрасный день возникло у меня желание познакомиться с wine - утилитой, которая способна запускать программы win32 из-под Linux. Пришла мысль подключить еще один винчестер и - для чистоты эксперимента - поставить туда "винду". Вот тут-то все и началось…

Я отвлекся и при инсталляции W2K, конечно же, поубивал все разделы не на том диске. А разделы были такие: hdb1(ext3) под корневой раздел "/", размер 5 Гб; hdb2 своп (512 Мб); hdb3(ext3) для пользовательских данных; его величина составляла 9 Гб, и он существовал уже несколько лет - "бэкапы" с него хоть и делались, но не ежедневно. А ведь жаль было расставаться с наработками за последние несколько дней! hdb4(NTFS) с Windows XP - в этом разделе было много ерунды. И я был бы, в общем-то, рад переустановить эту ОС начисто, да вот только это означало потерять базу программы 1C.

Один знакомый посоветовал воспользоваться замечательной утилитой EasyRecovery: "Я сам ею пользовался при нужде. И мне он помог спасти файлы!". Ну, взял я эту программку, установил (под Windows 98), запустил. Да - красиво! Я так понимаю, она предназначена для комплексного обслуживания HDD-носителя. Но вот разочарование: среди упомянутых типов файловых систем, которые понимает EasyRecovery, ни слова о ext2-3. "Хорошо,- думаю,- хоть NTFS спасу. А потом что-то придумаем…". Каким же было мое разочарование, когда эта утилита с проработанным до мелочей GUI не смогла найти ни малейших следов удаленного раздела!

Пришлось запасаться терпением и более детально изучать способы решения проблемы.



Как настроить Fedora Core в качестве клиента к Microsoft VPN Server


Автор: decvar
E-mail: decvar at inbox dot ru
Сайт:



Как организован диск


Почему вообще оказывается возможным спасти стертые программой типа fdisk разделы?

Современные винчестеры имеют объем 40…120 Гб. Все дисковое пространство одного физического устройства принято (и это разумно) делить на несколько частей, называемых разделами (партициями, partition). Зачем? Во-первых, некоторые операционные системы (UNIX-подобные) требуют этого сами по себе, в других случаях удобно "территориально" разделить программы и данные.

Подобно содержанию обычной книги, дающему информацию о размещении глав и разделов, на винчестере содержится специальный объект - MBR (Master Boot Record, основная загрузочная запись). Как раз там и описывается, как поделен диск,- точнее, какой номер первого сектора раздела, каково количество секторов, ему принадлежащих, предоставляется также некоторая другая информация. При включении компьютера BIOS считывает эту запись, загружает ее в память (а на самом деле это маленькая программка! вот поэтому и существуют загрузочные вирусы) и передает ей управление. В стандартном случае MBR просто загружает операционную систему, находящуюся в "активном" разделе. В другом случае - при использовании Linux и Windows 2000/XP - пользователю предлагается меню, позволяющее загружать ОС по выбору.

Кроме регистрации в MBR, первый блок (несколько секторов) каждого логического диска, имеет специальную метку. Эта метка не стирается, когда вы удаляете раздел, скажем, с помощью fdisk,- она будет затерта позднее, когда на данном логическом диске будет создана файловая система. Таким образом, просмотрев последовательно сектора на винчестере, с большой вероятностью можно найти все уделенные разделы. Это не очень сложно, тем более что для этих целей создано несколько программных решений.

document.write('');

Новости мира IT:

02.08 - 02.08 - 02.08 - 02.08 - 02.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 31.07 - 31.07 - 31.07 - 31.07 - 31.07 -

Архив новостей

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


 (66)

2 Август, 17:53

 (19)

2 Август, 17:51

 (34)

2 Август, 15:40

 (42)

2 Август, 15:35

 (1)

2 Август, 14:54

 (3)

2 Август, 14:34

 (3)

2 Август, 14:15

 (2)

2 Август, 13:34

 (7)

2 Август, 13:04

 (3)

2 Август, 12:28



BrainBoard.ru

Море работы для программистов, сисадминов, вебмастеров.

Иди и выбирай!


Loading

google.load('search', '1', {language : 'ru'}); google.setOnLoadCallback(function() { var customSearchControl = new google.search.CustomSearchControl('018117224161927867877:xbac02ystjy'); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); customSearchControl.draw('cse'); }, true);

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
PR-акции, размещение рекламы — ,
тел. +7 495 6608306, ICQ 232284597

Пресс-релизы —

This Web server launched on February 24, 1997

Copyright © 1997-2000 CIT, © 2001-2009
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Известный бренд: на нашем сайте.


Ключи утилиты gpart


При работе с описанной утилитой, полезными могут оказаться и другие опции ее работы:

-b backupfile: позволяет перед тем, как переписывать MBR, сохранить его в определенном файле. -C c, h, s: можно вручную указать геометрию винчестера, если ее не удается корректно определить через ОС. -f: без этого ключа gpart находит раздел, а потом продолжает сканирование от его конца. В этом-же случае производится полное, посекторное сканирование, что может кстати, занять продолжительное время. -L: вывести список поддерживаемых типов файловых систем.



Команды


Большинство работы в bash может быть выполнено с использованием команд типа cp. Большинство из этих команд являются небольшими программами, однако некоторые (типа cd) встроены в шелл.

Команды собраны в пакеты, многие из которых разработаны Фондом Свободного ПО (Free Software Foundation or GNU). Вместо перечисления пакетов я направлю вас к документу . Там вы найдете полный и свежий перечень пакетов, работающих с Linux, также как и инструкции по их сборке.



Конфигурирование устройств ввода


Начнем с настройки клавиатуры. Найдем раздел InputDevice или Keyboard и посмотрим, что здесь можно сделать (для наглядности будем рассматривать в качестве примера реально существующую конфигурацию).

Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "XkbLayout" "ru (winkeys)" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" EndSection

Наиболее интересны для нас опции, передаваемые демону xkb, отвечающему за выбор раскладки клавиатуры. Так, строка

Option "XkbLayout" "ru (winkeys)"

указывает на необходимость загрузки англо-русской раскладки, описываемой в системном файле ru, который находится в папке /usr/X11R6/lib/X11/xkb/symbols (для RH-совместимых ОС). Причем в этом файле выбирается раздел (winkeys), описывающий Windows-подобную конфигурацию раскладки. Следует заметить, что современная программа xkb "понимает" только опции, передаваемые ей через правила (rules), так что необходимо использовать тег Option. Для англо-украинско-русской или англо-украинской раскладки нужно изменить этот тег соответствующим образом:

Option "XkbLayout" "ru_UA (winkeys)" # англо\украинско\русская

или

Option "XkbLayout" "ua (winkeys)" # англо\украинская

Одной из первых линукс-сборок с украинской раскладкой был BlackCat. Но, к сожалению, в нем файл ru_UA содержал ошибку, а именно: блок winkeys начинался так:

include "uk (basic)"

в то время как должен был так:

include "ru_UA (basic)"

Поэтому, чтобы пользоваться украинскими буквами, приходилось вручную редактировать этот файл. Данный недостаток успешно кочевал в другие линукс-пакеты, пока, наконец, ASP Linux 7.3 не расставила все точки над "i". Кроме того, в этой версии знак украинского апострофа наконец-то был прикреплен там, где ему и место - слева от "1". Очень рекомендую использовать xkb именно из этого продукта.

Итак, украинская раскладка установлена. Как будем переключаться? Для этого существует правило XkbOptions. В нашем случае для изменения раскладки оно определяет комбинацию клавиш <Ctrl> + <Shift>. Если же хочется использовать <Alt> + <Shift>, нужно записать:


grp:alt_shift_toggle,grp_led:scroll

Кроме того, grp_led:scroll означает, что о состоянии текущей раскладки будет информировать индикатор клавиатуры Scroll Lock. Дополнительную информацию о настройке раскладки клавиатуры под xkb можно получить, например, из Ивана Паскаля.

Теперь перейдем к настройке мыши. Иногда это приходится делать после изменения конфигурации системы - например, если "последовательную" мышь заменили на PS/2 или приобрели манипулятор с колесиком. Раздел с соответствующими параметрами выглядит так:

Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Device" "/dev/mouse" Option "Protocol" "PS/2" Option "Emulate3Buttons" "on" Option "ZAxisMapping" "4 5" EndSection

Строка

Option "Device" "/dev/mouse"

прямо или косвенно указывает на порт, к которому подключена мышь. В нашем случае этим портом является символическая ссылка /dev/mouse. При необходимости можно создать ее самому, указав правильное устройство. Например, команда

ln -s /dev/ttyS0 /dev/mouse

создает ссылку на порт com 1, а команда

ln -s /dev/psaux /dev/mouse

- на порт PS/2. Тег

Option "Protocol" "PS/2"

определяет протокол работы с манипулятором. Если используется последовательная мышь, то в качестве протокола используется Microsoft, а если мышь с колесиком - то IntelliMouse для COM-порта и IMPS/2 для порта PS/2.

Emulate3Buttons определяет, будет ли одновременное нажатие правой и левой кнопки мыши интерпретироваться как клик средней (третьей) кнопки, даже если ее физически нет. ZaxisMapping "4 5" означает, что прокручивание колесика вперед будет интерпретироваться X-сервером как нажатие кнопки <4>, а назад - как кнопки <5>. Остальное возлагается на приложения. Обычно программы используют эти кнопки для прокрутки содержимого окон.


Копирование операционной системы в RAID


И снова здравствуйте! Вы уже практически подошли к самому интересному в создании RAID'а. Теперь вам надо скопировать все файлы со второго диска в raid-массив. Есть множество различных способов сделать это. Тут я опишу ни самый быстрый, ни самый красивый способ, но думаю этот способ будет ясно понят любым человеком, который в состоянии дочитать до этого места.

Первое: монтируем новый / раздел к /mnt. # mount /dev/md0 /mnt

Второе: создаем каталоги - точки монтирования других новых разделов. Не забудьте здесь указать ваши каталоги и ваши разделы. # mkdir -p /mnt/usr/local # mkdir -p /mnt/var # mkdir -p /mnt/home

Третье: монтирует новые разделы. # mount /dev/md1 /mnt/usr/local # mount /dev/md2 /mnt/var # mount /dev/md3 /mnt/home

Четвертое: копируем систему со второго винчестера на RAID. # cp -a /bin /mnt # cp -a /boot /mnt # cp -a /dev /mnt # cp -a /etc /mnt # cp -a /home /mnt # cp -a /lib /mnt # cp -a /root /mnt # cp -a /sbin /mnt # cp -a /tmp /mnt # cp -a /usr /mnt # cp -a /var /mnt # mkdir -p /mnt/mnt # mkdir -p /mnt/proc

Пятое: исправляем /mnt/etc/fstab, чтобы он указывал на новые разделы, которые являются RAID массивом. Только убедитесь что вы редактируете fstab именно из /mnt/etc/fstab, а не с текущего / раздела.



Красота требует… денег


Наверное, вы удивитесь, но средства восстановления утерянных разделов существуют не только для Линукс но и для Windows всех модификаций:-). Одним из лучших считается Acronis RecoveryExpert (стоимость - около $15).

Эта программа испытывалась в следующих условиях. Было создано три раздела: Linux ext3, Windows Extended и NTFS. Они были отформатированы соответствующим образом и на них были скопированы файлы. Поле этого из-под Windows 98 утилитой fdisk эти разделы были удалены. Дальше за дело взялся RecoveryExpert. Сразу скажу: работать с ним легко - весь процесс восстановления сопровождался короткими, но понятными подсказками. Если отбросить традиционные для коммерческих продуктов диалоги приветствия и поздравления с завершением, то работа программы состояла из трех частей: выбора винчестера, на котором нужно восстановить данные, анализа диска и самого восстановления.

В самом начале пользователю представляется выбор: контролировать весь процесс работы или понадеяться на интеллектуальные способности программы. Рекомендую выбрать ручной режим. Далее требуется более точно указать пространство диска (рис.1), на котором следует искать утерянные данные. Если в следующем диалоговом окне вы выберете полный, а не быстрый анализ винчестера, то наверняка успеете попить пивка и даже выкурить трубочку. Ведь программа будет вынуждена сканировать каждый сектор на предмет наличия метки файловой системы - тогда как при быстром анализе предполагается, что раздел начинается с первого сектора цилиндра, а это дает значительный рост производительности.

Когда процесс сканирования подойдет к концу, укажите те разделы, которые, собственно, нуждаются в восстановлении (рис. 2). Как я говорил, на диске существовал расширенный раздел с логическим диском. В документации к gpart этот случай описывался как не вполне тривиальный. Интересно, что RecoveryExpert (эксперт?) отреагировал на данную ситуацию подобным же образом (забегая наперед, скажу, что раздел все же был восстановлен и данные не потерялись).

Следующим делом пользователю представляется случай полюбоваться на графическое представление структуры диска после его успешного восстановления. Потом - то же самое, но в текстовом виде (рис. 3).

Осталось нажать кнопку Приступить и пожелать себе удачи.



Lilo


Когда компьютер загружает загрузочный сектор на нормальной Linux-машине, то что он загружает является частью lilo (LInux LOader), называемой загрузчиком первого этапа. Эта крохотная программа имеет единственной целью своего существования загрузку и выполнение загрузчика второго этапа.

Загрузчик второго этапа предоставляет вам возможность выполнения команд и может загружать ОС по выбору.

Когда система установлена и запущена, вы можете выполнить команду lilo. В этом случае отрабатывает ``map installer''. Он зачитывает файл настроек /etc/lilo.conf и записывает загрузчики на жесткий диск.

Есть множество способов организации загрузки вашей системы. То, что я описал, является наиболее очевидным и "нормальным", по крайней мере для машин, где главной ОС является Linux. Lilo Users' Guide рассматривает несколько примеров стратегий загрузки. С этим стоит ознакомиться, а кое-что и опробовать на практике.



Linux: укрощение мыши и монитора


2004 г

Николай Ткаченко,

Несколько практических приемов настройки монитора и другой периферии для работы с графическим сервером XFree86 4-ой версии: монитора, мыши, клавиатуры. Предлагаемые знания имеют универсальный характер и с небольшими изменениями могут быть применены и для третьего поколения этого сервера

При старте графический сервер X считывает параметры своей конфигурации, хранящиеся в файле XF86Config-4 (для версий 3.x.x - XF86Config). Обычно этот файл располагается в директории /etc/X11 и имеет секционную структуру, формируемую тегами Section <имя секции> и EndSection - причем сами теги являются регистронезависимыми и символ подчеркивания (_) игнорируется. Существует 12 типов секций, из которых работать, как правило, приходиться со следующими:

InputDevice. Описывает устройства ввода информации, которыми в нашем случае являются мышка и клавиатура. Предыдущий формат описаний для этих целей предполагал теги Keyboard и Pointer. Они еще поддерживаются в целях совместимости и могут появиться, если XF86Config-4 создается при помощи вспомогательных средств, таких как Xconfigurator; Device - описание видеокарты; Monitor - описание параметров монитора; Modes. Специальный параметр, определяющий специфические режимы работы монитора: частоту, синхронизацию, разрешение и др.; Screen. Объединяет монитор и видеокарту в единую графическую систему.



List2.1.5c.shtml


# id ldapuser1

uid=1001(ldapuser1) gid=10(wheel) groups=10(wheel)

# passwd ldapuser1

passwd: updating all authentication tokens for user ldapuser1.

New password:

Re-enter new password:

LDAP password information changed for ldapuser1

passwd: all authentication tokens updated successfully.

$ su - ldapuser1

Password:

Creating directory '/home/ldapuser1'.

Creating directory '/home/ldapuser1/tmp'.

Creating directory '/home/ldapuser1/Documents'.

Creating directory '/home/ldapuser1/.mutt'.

Creating directory '/home/ldapuser1/.mutt/color.default'.

Creating directory '/home/ldapuser1/.xsession.d'.

$ ssh ldapuser1@localhost

ldapuser1@localhost's password:

Last login: Tue Apr 20 10:38:21 2004 from localhost.localdomain

$



LiveCD, будем дружить?


Честно говоря, порядком намучился, пока писал эту статью. Дело в том, что для работы я использовал описываемый дистрибутив Linux. И впечатления от него остались скорее негативными.

Почему? Очень медленно работает. Очень долго происходит загрузка с компакта. А запуск каждой программы сопровождался мучительным ожиданием, которое скрашивал лишь убаюкивающий шум раскручиваемого привода CD.

Далее — время от времени система подвисает. Я уже не говорю, что OpenOffice в этой операционке пригоден только для демонстрации, набирать в нем текст нереально. Может, в моем ПК мало оперативной памяти, всего 256 Мб? А вы как считаете?

Следующий огромный недостаток — невозможность сохранения настроек на любом носителе (на винчестере, карте flash-памяти или на дискете). По крайней мере, я такого средства не нашел. То есть при каждой перезагрузке нужно заново настраивать разрешение экрана, раскладки клавиатуры, сетевые параметры. Это очень неудобно.

Таким образом, данный продукт можно назвать LiveCD лишь с большой натяжкой. Скорее это компакт-диск, демонстрирующий возможности новой операционной системы SUSE 9.2.

document.write('');

Новости мира IT:

02.08 - 02.08 - 02.08 - 02.08 - 02.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 31.07 - 31.07 - 31.07 - 31.07 - 31.07 -

Архив новостей

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

 (66)

2 Август, 17:53

 (19)

2 Август, 17:51

 (34)

2 Август, 15:40

 (42)

2 Август, 15:35

 (1)

2 Август, 14:54

 (3)

2 Август, 14:34

 (3)

2 Август, 14:15

 (2)

2 Август, 13:34

 (7)

2 Август, 13:04

 (3)

2 Август, 12:28

BrainBoard.ru

Море работы для программистов, сисадминов, вебмастеров.

Иди и выбирай!

Loading

google.load('search', '1', {language : 'ru'}); google.setOnLoadCallback(function() { var customSearchControl = new google.search.CustomSearchControl('018117224161927867877:xbac02ystjy'); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); customSearchControl.draw('cse'); }, true);



Маленькие, но полезные программки


Что особенно приятно в Мозилле, так это технология расширений (Extension). Вот посмотрите на диалог настроек моей программы (рис.2). Знаете, что это такое? Сейчас объясню. Архитектура FireFox (да и обычной Mozilla) позволяет расширять функциональность этих программ с помощью внешних программных единиц. Скажем, в меню можно добавить строчку, которая будет вызывать встроенный "Тетрис2" или (мне это нравится больше) вместо flash-клипов будет показывать серый квадрат с текстовой кнопкой flash [Click-to-play] - и загрузка флэшки (иногда довольно объемистого и зачастую не совсем нужного объекта) произойдет, только если вы щелкните по упомянутой кнопке.

Итак, изображенное на рис. 2 окно (вызываемое Tools>Options >Extensions) позволяет включать/отключать/настраивать программы-расширения. Добавить новые компоненты в Мозиллу не сложно -нужно всего лишь знать одну хитрость. Запускать браузер следует с правами суперпользователя - иначе программа не сможет установить новый компонент. (Как это будете делать вы - смотрите сами; я же пользуюсь терминалом и командой su-). После этого выбираете понравившийся "экстеншн" и нажмите ссылку install. В появившемся диалоговом окне (рис. 3) нажмите Install Now и ждите следующего интерактивного сообщения. В нем браузер спросит, куда устанавливать новый компонент: в общую программную директорию или же в каталог пользователя. Рекомендуется выбрать первый вариант (для этого нажмите Cancel). Пройдет несколько секунд и программа сообщит, что новый модуль будет подключен в систему после перезагрузки браузера. Но не спешите. Если не предпринять дополнительных действий, изменения вступят в силу только для root. А все из-за достаточно распространенного постинсталляционного явления в Linux - путаницы в правах доступа. Зайдите в директорию firefox/chrome и добавьте права чтения к новым файлам (проще всего chmod a+r *). И только теперь рядовой пользователь сможет насладиться всей мощью и красотой "расширенной лисы".



Мониторинг материнских плат в Linux


Виталий Колесник,

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

К тому же описание данного процесса подойдет к большинству случаев по организации мониторинга различных материнских плат в операционной системе Linux.

Эффективная эксплуатация сложных технических комплексов, в частности компьютерных, невозможна без исчерпывающей и непрерывно поступающей информации об основных параметрах функционирования системы. Особенно эта проблема актуальна для систем, функционирующих по схеме 24 x 7 x 365, а также для систем, к которым персонал имеет ограниченный доступ.

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

напряжение питания; скорость вращения вентиляторов охладителей; температура процессоров; температура внутри системного блока.

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

В дистрибутивах Линукс, которые в последнее время нашли широкое распространение в серверных системах, стандартом де-факто для программ мониторинга материнских плат стал пакет lm_sensors (http://www.lm-sensors.nu/). Он поставляется в составе некоторых дистрибутивов Linux и имеет широкие возможности.

Однако, чем сложнее и универсальнее инструмент, тем труднее его освоение.

Настоящий материал призван осветить практические вопросы настройки пакета lm_sensors для мониторинга материнских плат TYAN S2460 Tiger MP.

К сожалению, в документации на пакет (файл quickstart) не изложены некоторые тонкие особенности настройки. Попробуем восполнить этот пробел.



Mozilla на поводке


Николай Ткаченко,

Многие пользуются Mozilla - но не все знают, как сделать работу с этим браузером еще более удобной

Пользователи Linux/Unix рассматривают этот браузер как наиболее совершенный среди подобных продуктов. что делает Mozilla стандартом де-факто для данных настольных систем. Поскольку разработчики достаточно интенсивно работают над своим проектом (что не всегда характерно для open-source решений), он все хорошеет и хорошеет. И вот уже пользователи Windows устанавливают его в систему и пробуют на вкус. Вкус, конечно, у каждого разный. Многие отдают предпочтение традиционному IE или, скажем, Opera.

Что же касается автора этих строк, то за несколько лет "обитания" в ОС Линукс я успел подружиться с этим симпатягой-монстром. И вот почему. Этот продукт - в отличие от Opera и IE - по-настоящему бесплатен; он хорошо стыкуется со всеми HTML-стандартами (в отличие от Opera). Кроме того, Мозилла существует в нескольких вариантах. Стандартный вариант (последний стабильный релиз - 1.7) включает и браузер, и почтовый клиент, и html-редактор. Есть еще Mozilla FireFox0.8 - это только браузер, без бонусов, но и работает он быстрее. Отдельно можно использовать почтовый клиент - Thunderbird 0.5.

И хотя сейчас в каждый дистрибутив Linux встраивается Mozilla, лично я отдаю предпочтение FireFox (который раньше назывался FireBird). Поэтому все сказанное ниже будет относится именно к "лисице" - но понятно, что в этом "зверинце" очень много общего:-).



Мультимедиа


Состав программ для работы с видео- и аудиофайлами хотя и невелик, но вполне достаточен: CD-граббер cdparanoja; проигрыватель аудиофайлов xmms 1.2.10; видеопроигрыватель xanim 2.80.



Надо сделать


объяснить работу модулей ядра, depmod, modprobe, insmod и всё такое (я буду должен сначала это найти!) описать файловую систему /proc, возможно добавить упражнений преобразовать в docbook sgml добавить упражнений, возможно целый раздел больших упражнений, типа создания минимальной системы путём добавления файла за файлом из дистрибутивной инсталляции. add makefile hack to bash build instructions - see easter notes.

document.write('');

Новости мира IT:

02.08 - 02.08 - 02.08 - 02.08 - 02.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 01.08 - 31.07 - 31.07 - 31.07 - 31.07 - 31.07 -

Архив новостей

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

 (66)

2 Август, 17:53

 (19)

2 Август, 17:51

 (34)

2 Август, 15:40

 (42)

2 Август, 15:35

 (1)

2 Август, 14:54

 (3)

2 Август, 14:34

 (3)

2 Август, 14:15

 (2)

2 Август, 13:34

 (7)

2 Август, 13:04

 (3)

2 Август, 12:28

BrainBoard.ru

Море работы для программистов, сисадминов, вебмастеров.

Иди и выбирай!

Loading

google.load('search', '1', {language : 'ru'}); google.setOnLoadCallback(function() { var customSearchControl = new google.search.CustomSearchControl('018117224161927867877:xbac02ystjy'); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); customSearchControl.draw('cse'); }, true);

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

PR-акции, размещение рекламы — ,
тел. +7 495 6608306, ICQ 232284597

Пресс-релизы —

This Web server launched on February 24, 1997

Copyright © 1997-2000 CIT, © 2001-2009

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

Компания «Густар» грузовых авто



Настройка


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


Настройки lilo хранятся в файле /etc/lilo.conf. По этому файлу существует свой ман: наберите в шелле man lilo.conf. Главным содержанием lilo.conf являются строки описания для всех систем, которые мы можем грузить с помощью lilo. Описание для Linux содержит сведения о местонахождении ядра системы и о разделе диска, который будет смонтирован в качестве корневой файловой системы. Для других ОС основной информацией является указание раздела диска, с которого необходимо загрузиться.




Большинство настроек ядра выполняется при его построении посредством make menuconfig, или make xconfig в /usr/src/linux/ (или где вы там держите исходники ядра). С помощью rdev вы можете изменить видеомоду по умолчанию, корневую файловую систему, раздел для свопа и размер RAM-диска. Эти и другие параметры могут быть также переданы ядру через lilo. При этом передаваемые параметры могут быть прописаны в lilo.conf или могут быть введены в строке подсказки lilo в процессе загрузки. Например, если вам понадобилось использовать в качестве корневого раздел hda3 вместо hda2, вы должны ввести:

LILO: linux root=/dev/hda3

Если вы строите систему из исходников, вы можете упростить себе жизнь, создав "монолитное" ядро. Такое ядро не имеет загружаемых модулей. Следовательно вам не понадобится копировать модули ядра на целевую систему.

ВАЖНО: Файл System.map используется логгером ядра для определения имен модулей, посылающих сообщения. Программа top также использует эту информацию. Так что, копируя ядро на целевую систему, не забудьте скопировать и System.map.




Некоторые из библиотечных функций зависят от вашего места обитания. Например у нас в Австралии дату пишут как dd/mm/yy, а американцы пишут mm/dd/yy. Glibc предоставляет специальную программу для настройки национальных особенностей - localedef.




Файлом верхнего уровня настройки init является /etc/inittab.

Директории rcN.d, где N = 0, 1, ..., 6 определяют какие подсистемы и в каком порядке будут запущены.

В одном из скриптов, вызываемых init, будет использована команда mount -a. Это приказ смонтировать все файловые системы какие должны быть смонтированы. Последнее определяется файлом /etc/fstab. Вы можете отредактировать этот файл, если решите изменить список файловых систем, монтируемых при старте системы. Синтаксис файла описан в man fstab.




Команда mke2fs, создающая файловую систему типа ext2, имеет параметры, управляющие размером блока, числом inode и т.п. Прочтите ман для mke2fs, чтобы уточнить детали.

Всё, что должно быть смонтировано в вашей файловой системе определяется файлом /etc/fstab. По этому файлу также имеется ман.




Программа update позволяет настроить kflushd и kswapd. Для справки наберите update -h.

Включение свопа происходит по команде swapon, а выключение - по команде swapoff. Скрипт инициализации (/etc/rc.sysinit или /etc/rc.d/rc.sysinit) обычно вызывает swapon. Использование swapoff позволяет экономить энергию на ноутбуках.




Файл /etc/syslog.conf разъясняет логгерам какие сообщения куда записывать. Сообщения различаются по имени службы, от которой они исходят, и уровню приоритета. Строки этого файла содержат информацию о том, что сообщения от службы x с приоритетом y следует направлять в z, где z - файл, терминал, принтер, удаленный хост или что угодно.

ВАЖНО: Syslog требует присутствия файла /etc/services. Этот файл отвечает за распределение портов. Я не знаю, то ли syslog нуждается в портах для выполнения удаленного журналирования, то ли локальное журналирование происходит через порт, а может быть syslog просто использует /etc/services для преобразования имени службы которое вы прописали в /etc/syslog.conf к номеру порта.




Сообщение, появляющееся вверху экрана вместе с приглашением ввести имя пользователя, прописывается в /etc/issue. Getty запускаются из /etc/inittab. Login проверяет сведения о пользователе в /etc/passwd, и, если используется механизм теневых паролей, в /etc/shadow.




Файл /etc/profile содержит общесистемные настройки bash. То что вы здесь напишете повлияет на каждого, кто использует bash в вашей системе. Обычно здесь выполняются такие вещи как добавление директорий к переменной PATH, и установка переменных типа MAIL.

Поведение клавиатуры по умолчанию обычно оставляет желать лучшего. Эти проблемы решаются с помощью readline. Readline - это отдельный пакет, который поддерживает интерфейс командной строки, предоставляя историю команд и автозавершение имен файлов, также как и расширенные возможности редактирования. Он вкомпилирован в bash. По умолчанию readline настраивается редактированием файла .inputrc в вашей домашней директории. Переменная bash INPUTRC позволяет это изменить. Например в Red Hat 6 INPUTRC установлена в /etc/inputrc в /etc/profile. Это значит, что клавиши backspace, delete, home и end будут работать для всех одинаково хорошо.

Прочтя общесистемный файл настройки, bash ищет ваш персональный файл настройки. Он ищет его в вашей домашней директории проверяя имена .bash_profile, .bash_login и .profile. Выполняется первый из найденных файлов. Если вы хотите изменить поведение bash только для себя - делайте это здесь. Например, многие приложения используют переменные окружения для контроля собственной работы. Я имею переменную EDITOR установленной в значение vi и могу использовать vi в Midnight Commander'е (превосходный консольный файл-менеджер) вместо его встроенного редактора.



Настройка авторизации в OpenLDAP


Если все основные настройки системы хранятся в LDAP, то вполне естественно хранить там же и учетные записи пользователей. Для этого желательно модифицировать файл /etc/openldap/slapd.conf (добавленные строки выделены):

...

# Индексы для ускорения поиска в дереве

index  objectClass         eq

#Индексы для DHCP

index dhcpHWAddress        eq
index dhcpClassData        eq

# Индексы для авторизации
index cn, uid, uidNumber, gidNumber eq

Затем необходимо создать файл users.ldif со следующим содержимым:

dn: cn=Users, dc=myserver, dc=myprovider, dc=ru
objectClass: top

dn: cn=ldapuser1, cn=Users, dc=myserver, dc=myprovider, dc=ru
objectClass: posixAccount
cn: LDAP User 1
uid: ldapuser1
uidNumber: 1001
gidNumber: 10
homeDirectory: /home/ldapuser1
loginShell: /bin/bash

dn: cn=ldapuser2, cn=Users, dc=myserver, dc=myprovider, dc=ru
objectClass: posixAccount
cn: LDAP User 2
uid: ldapuser2
uidNumber: 1002
gidNumber: 10
homeDirectory: /home/ldapuser2
loginShell: /bin/bash

Содержимое файла необходимо добавить в дерево LDAP  командой:

ldapadd -h 127.0.0.1 -x -D

"cn=manager,dc=myserver,dc=myprovider,dc=ru" -w

"secret" -f users.ldif

После этого нужно установить pam_ldap и nss_ldap (apt-get install pam_ldap nss_ldap в ALT Linux) и отредактировать следующие файлы по образцу:

/etc/nsswitch.conf:

passwd:     files ldap nisplus nis

shadow:     tcb files ldap nisplus nis

group:      files ldap nisplus nis

hosts:      files nisplus nis dns

ethers:     files

netmasks:   files

networks:   files

protocols:  files

rpc:        files

services:   files
bootparams: nisplus [NOTFOUND=return] files

netgroup:   nisplus

publickey:  nisplus

automount:  files nisplus

aliases:    files nisplus

:

host 127.0.0.1
base dc=myserver,dc=myprovider,dc=ru
rootbinddn cn=manager,dc=myserver,dc=myprovider,dc=ru

:

secret

/etc/pam.d/system-auth-use_first_pass: см. пример

Теперь созданные пользователи LDAP являются также системными пользователями:



Настройка DDNS


Первоначально для хранения конфигурации DNS в LDAP планировалось использовать соответствующий backend bind. Но затем нашлось более простое решение: DDNS - динамический DNS, автоматически редактирующий записи о хостах в файлах прямой и обратной зон по запросу DHCP-сервера. Для его настройки необходимо отредактировать настройки DHCP-сервера непосредственно в дереве LDAP, используя файл dhcp-ddns-add.ldif

Содержимое файла необходимо внести в дерево LDAP следующим образом:

ldapmodify -h 127.0.0.1 -x -D

"cn=manager,dc=myserver,dc=myprovider,dc=ru" -w

"secret" -f dhcpd-ddns-add.ldif

После этого желательно проверить, правильно ли отредактирована главная запись DHCP-сервера:

Затем необходимо установить bind (apt-get install bind в ALT Linux) и включить в нем поддержку DDNS. Содержимое конфигурационных файлов и права доступа к ним приведены (предполагаем, что bind выполняется в chroot - в ALT Linux так оно и есть):

WOfB3kj8IhJK4OZ5s3zHeQ== - это ключ, сгенерированный следующим образом:

dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATE

После выполнения этой команды создаются файлы Kdhcp_update.+157+56116.key и Kdhcp_update.+157+56116.private, из любого можно взять строку ключа.

Перед первым запуском bind необходимо выставить на каталог /var/lib/bind/zone права rwxrwx---, чтобы bind мог стать владельцем файлов зон и создать файлы журналов. После того, как первый хост будет зарегистирирован в DNS, права можно вернуть обратно.

Если все сконфигурировано верно, при регистрации первого хоста в логах можно увидеть



Настройка монитора


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

Картинка формируется на экране следующим образом. Видеокарта инициирует движение луча ЭЛТ-монитора, заставляя его подсвечивать пиксели. Луч движется слева направо со скоростью, определяемой частотой генерации точек видеокарты (dot clock). Эта величина (DC) имеет верхний предел, но даже у старых видеокарт этот предел ревышает 100 МГц, так что он редко является сдерживающим фактором для реализации необходимой частоты развертки.

Таким образом, луч проходит HV видимых точек. Далее следует сигнал, гасящий, но не останавливающий луч. Это необходимо, чтобы избежать искажений по краям изображения. Такое состояние "захватывает" еще HR точек. Когда луч достигает правого края строки, видеокарта генерирует так называемый горизонтальный синхроимпульс. Луч возвращается в свое "левое" положение и сдвигается на одну строку вниз. Длительность такого импульса должна быть достаточной, чтобы стабилизировать ЭЛТ для генерации следующей горизонтальной строки. Будем считать, что времени синхроимпульса достаточно, чтобы луч успел "пробежать" HS точек. Находясь в левом крайнем положении и в выключенном состоянии, луч проходит HL точек, блокируя краевые эффекты. Полный цикл движения луча по горизонтали завершен.

Аналогичным образом организовано движение луча по вертикали. Его основными параметрами будут:

VV - количество видимых строк;

VD - количество строк от нижнего края до начала вертикального синхроимпульса;

VS - длительность вертикального синхроимпульса;

VU - верхний отступ до первой строки.

Для пользователя эти технические подробности выливаются в такую важную величину, как частота смены кадров F. При частоте в 60 Гц работать можно, но большинство будет замечать мерцание люминофора, что очень вредно для здоровья. Нужно стремиться установить частоту работы монитора выше 75 Гц - и чем больше, тем лучше.


Так вот, полное число точек, формирующих кадр, будет HxV, где

H = HV + HR + HS + HR,

V = VV + VD + VS + VU

Чтобы эта матрица точек прорисовывалась с частотой F, нужно установить частоту видеокарты равной

DC = HxVxF

Как уже говорилось, с видеокартой проблем обычно не возникает. Частота смены кадров может ограничиваться недостаточной максимальной частотой строчной развертки монитора (FH).

Действительно, если такая частота равна FH, то условная матрица из одной строки будет разворачиваться с частотой FH, а матрица из V строк - с пропорционально меньшей частотой HF/V. Например, если частота строчной развертки монитора составляет 55 KГц, то при разрешении 1024 x 768 частота смены кадров ограничена величиной 55000/768 = 72 Гц. На самом деле она меньше, ведь V < VV. Вот примеры из реальной жизни: указаны максимальные частоты развертки мониторов и частоты смены кадров для различных режимов. Как видно из нее, монитор с частотой горизонтальной развертки меньше 55 KГц лучше не покупать.

Теперь посмотрим, какое отношение все это имеет к XFree86. Для этого заглянем в журнал запуска X-сервера - файл /var/log/XFree86.0.log:

.............. (II) NV (0): Monitor: Using hsync range of 37.00-93.00 kГц (II) NV (0): Monitor: Using vrefresh range of 70.00-100.00 Гц (II) NV (0): Clock range: 12.00 to 256.00 MГц ........................................................................ ....................................................................... (II) NV (0): Not using default mode "800x512" (vrefresh out of range) (II) NV (0): Not using default mode "1920x1200" (insufficient memory for mode) (**) NV (0): Virtual size is 1024x768 (pitch 1024) (**) NV (0): Default mode "1024x768": 94.5 MГц, 68.7 kГц, 85.0 Гц (II) NV (0): Modeline "1024x768" 94.50 1024 1072 1168 1376 768 769 772 808 +hsync +vsync (**) NV (0): Default mode "800x600": 56.3 MГц, 53.7 kГц, 85.1 Гц (II) NV (0): Modeline "800x600" 56.30 800 832 896 1048 600 601 604 631 +hsync +vsync (**) NV (0): Default mode "640x480": 74.2 MГц, 85.9 kГц, 85.1 Гц (D) NV (0): Modeline "640x480" 74.25 640 672 752 864 480 480 482 505 doublescan +hsync +vsync



Во время загрузки ОС определяет базовые параметры работы графической подсистемы: частота строчной развертки (hsync) - 37,00-93,00 KГц, вертикальной развертки (vrefresh) - 70,00-100,00 Гц, видеокарты - 12,00-256,00 MГц.

После этого X пытается в автоматическом режиме воссоздать возможные режимы работы монитора при разных разрешениях и частотах кадров. Например, мы видим, что наша система может работать при разрешении 1024 x 768 с частотой кадровой развертки 85 Гц. А такое разрешение, как 800 x 512, вообще не удалось реализовать. Если пользователь не указывает этого специально, Linux самостоятельно выбирает приемлемый режим. Обратим внимание на следующие строки:

(**) NV (0): Default mode "1024x768": 94.5 MГц, 68.7 kГц, 85.0 Гц NV (0): Modeline "1024x768" 94.50 1024 1072 1168 1376 768 769 772 808 +hsync +vsync

Последняя требует пояснения. В специальной терминологии она называется "модлайн" и имеет следующий формат:

Modeline "имя_моды" DC HV HR HS H VV VR VS V

Значения условных обозначений вы уже знаете. X раздает имена модам согласно разрешениям: "800 x 600", "1024 x 768" и т.д. Флаги +hsync и +vsync определяют прямой или инвертированый уровень импульсов видеокарты. Они могут иметь знак "минус" или вообще отсутствовать. Иногда их приходится подбирать экспериментальным путем.

Теперь скажем несколько слов о том, как параметры, необходимые для правильной работы дисплея, описываются в XF86Config-4. В этом процессе участвуют три секции: Device, Monitor, Screen.

Device определяет модуль видеокарты, и для ручной настройки можно воспользоваться программой Xconfigurator.

В разделе Monitor описываются параметры дисплея ПК: строка Identifier определяет условный идентификатор монитора в пределах файла. VendorName - необязательный параметр, указывающий производителя и модель. Более важную информацию несут значения вертикальной и горизонтальной синхронизации, HorizSync 37-93 и VertRefresh 70-75. При сканировании режимов работы XFree не будет превышать эти величины, чтобы не вывести из строя монитор. В разделе Monitor также определяются необходимые моды:

# 1024x768 @ 60 Гц, 48.4 kГц hsync Modeline"1024x768"65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync



Если в конфигурационном файле есть мода HHHxVVV, то она перекроет свою "тезку", создаваемую в автоматическом режиме при загрузке X.

Чтобы согласовать параметры монитора и видеокарты, используется раздел Screen. В нем подраздел Device содержит параметры видеокарты, а Monitor - параметры дисплея. Обратите внимание на параметр DefaultColorDepth, определяющий количество цветов на экране. Не забывайте, что для реализации необходимой глубины цвета видеокарта должна обладать достаточным объемом памяти. Впрочем, для современных карт это не проблема. А подсчитать необходимое количество памяти можно по формуле:

M = HxVxB

где H - разрешение по горизонтали, V - разрешение по вертикали, B - количество байт, отводимых на оцифровку цвета. Для 256-ти цветов B=1, для 65536-ти цветов - B=2, для 16-ти миллионов - B=3. Таким образом, из нескольких подсекций будет выбрана та, которая обладает подходящим значением Depth.

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

Section "Monitor" Identifier "Monitor" VendorName "PHL" HorizSync 37-93 VertRefresh 70-75 #640x480 @ 75.0 Гц, 37.5 kГц hsync Modeline"640x480"31.5 640 656 720 840 480 481 484 500 -Hsync -Vsync # 1024x768 @ 60 Гц, 48.4 kГц hsync Modeline"1024x768"65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync EndSection Section "Screen" Driver"Accel" Device"NVidia / SGS Thomson|Riva128" Monitor"Monitor" DefaultColorDepth16 SubSection "Display" Depth16 Modes"1024x768" Virtual1024x768 EndSubSection EndSection

Исходя из своей скромной практики, я сделал вывод, что существует два основных способа подстройки монитора средствами X86Config-4.





Предположим, у нас все работает, но работает плохо. Монитор мигает, хотя должен функционировать на нормальной частоте. Определить режим работы дисплея в Gnome или KDE можно с помощью команды xvidtune.

Одной из возможных причин такого состояния может быть неправильная настройка модлайна в файле настройки X. Определив с помощью xvidtune разрешение монитора, например 800 x 600, можно найти все модлайны с таким именем и "закомментировать" их в расчете на то, что при старте X автоматически подберет оптимальные параметры.

В примере, приведенном выше, выбрана неудачная мода 1024 x 768 @ 60 Гц. "Закомментируем" ее: ведь мы знаем, что "автоматическая" мода "1024 x 768" работает на частоте 85 Гц.



Хуже, если X не в состоянии самостоятельно правильно настроить работу монитора. Придется генерировать моду другими способами. Вообще писать ее "с нуля" - тяжкий труд. Облегчают его различные утилиты. Например, неплохо справляется с этой задачей веб-скрипт .

Вот, например, что предлагает эта утилита для реализации моды 1024 x 768 @ 85 Гц:

Modeline "1024x768" 97.40 1024 1072 1192 1416 768 768 771 809 94.50

Очень близко к данным, которые содержатся в приведенном выше фрагменте. Если этот способ не работает, попробуйте другие утилиты, которых достаточно в интернете (например ). В особо сложных случаях следует предварительно изучить упомянутую документацию и пробовать воссоздать необходимые параметры самостоятельно. Тогда недостаток данного метода может превратиться в его достоинство: таким образом можно "выжать" из монитора дополнительные герцы или установить нестандартное разрешение. Так, мне удалось на 15-дюймовом мониторе получить разрешение 926 x 698 - при работе в Web это удобнее, чем стандартные 800 x 600.

В заключение - несколько дополнительных замечаний и советов. Для описания мод существует альтернативный способ - подсекция Mode:

Mode "имя моды" DotClock частота_видеокарты HTimings HV HR HS H VTimingVV VR VS V Flags+(-) hsync +(-) vsync


Настройка Squid и IPTables


Ни Squid, ни IPTables не поддерживают хранение собственных настроек в LDAP. Для Squid существует модуль авторизации пользователей из LDAP, но нам требуется разграничение доступа не по пользователям, а по рабочим станциям. Настройки IPTables - это стартовый скрипт и/или файл дампа, что тоже не совсем подходит.

Самый простой выход в данной ситуации - создание собственной схемы internet-access.schema

В схеме определяется класс internetAccess и его атрибуты: allowNat (разрешить использование NAT), allowProxy (разрешить использование прокси-сервера) или forceProxy (использовать прокси-сервер в прозрачном режиме). Cозданную схему необходимо скопировать в каталог /etc/openldap/schema и модифицировать файл /etc/openldap/slapd.conf (добавленные строки выделены):

...


# Включение схемы для хранения настроек DHCP в LDAP
include /etc/openldap/schema/dhcp.schema

# Включение схемы для хранения

# настроек Squid и IPTables
include /etc/openldap/schema/internet-access.schema

# pid-файл и файл с аргументами запуска

pidfile         /var/run/slapd.pid

argsfile        /var/run/slapd.args

...

После перезапуска OpenLDAP (service ldap restart в ALT Linux) необходимо внести данные, соответствующие схеме, из файла internet-access.ldif

Добавить их можно командой:

ldapmodify -h 127.0.0.1 -x -D

"cn=manager,dc=myserver,dc=myprovider,dc=ru" -w

"secret" -f internet-access.ldif

Для извлечения списка хостов, у которых одно из свойств allowNat, allowProxy или forceProxy установлено в TRUE, можно использовать такой простой скрипт: /opt/scripts/make_ldap_filter.sh

Пример вызова скрипта:

# /opt/scripts/make_ldap_filter.sh allowProxy
192.168.1.11

Eго можно использовать в скрипте, генерирующем правила для IPTables:/opt/scripts/make_iptables.sh

Аналогичный скрипт для Squid (/opt/scripts/make_squid.sh) выглядит так:

#!/bin/sh

/opt/scripts/make_ldap_filter.sh allowProxy >
/etc/squid/allowed_hosts

При этом в конфигурационном файл Squid (/etc/squid/squid.conf) должно быть написано примерно следующее:

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours


refresh_pattern ^ftp:           1440    20%     10080

refresh_pattern ^gopher:        1440    0%      1440

refresh_pattern .               0       20%     4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Jabber_ports port 5222

acl Safe_ports port 80          # http

acl Safe_ports port 21          # ftp

acl Safe_ports port 443 563     # https, snews

acl Safe_ports port 70          # gopher

acl Safe_ports port 210         # wais

acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 280         # http-mgmt

acl Safe_ports port 488         # gss-http

acl Safe_ports port 591         # filemaker

acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Jabber_ports

acl allowed_hosts src "/etc/squid/allowed_hosts"
http_access allow allowed_hosts
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
error_directory /usr/share/squid/errors/Russian-koi8-r
coredump_dir /var/spool/squid
visible_hostname myserver.myprovider.ru


Настройка связки DHCP+LDAP


Для хранения конфигурации ISC DHCP-сервера в LDAP его необходимо пересобрать с патчем dhcp-3.0.1rc13-ldap-patch (его последнюю версию можно найти на http://home.ntelos.net/~masneyb/). Пользователи ALT Linux вместо ручной пересборки могут подключить репозиторий nm и выполнить команду apt-get install dhcp. После установки DHCP-сервера нужно скопировать файл dhcp.schema (который также можно найти в составе пакета dhcp) в каталог /etc/openldap/schema и модифицировать файл /etc/openldap/slapd.conf (добавленные строки выделены):

После перезапуска OpenLDAP (service ldap restart в ALT Linux) необходимо создать файл dhcpd.ldif (или взять его из пакета dhcp).

Содержимое файла необходимо добавить в дерево LDAP командой: ldapadd -h 127.0.0.1 -x -D "cn=manager,dc=myserver,

dc=myprovider,dc=ru" -w "secret" -f dhcpd.ldif

и проверить, добавлены ли записи, командой:

ldapsearch -h 127.0.0.1 -LLL -b "dc=myserver,dc=myprovider,dc=ru" -D

"cn=manager,dc=myserver,dc=myprovider,dc=ru" -w "secret"

После этого нужно создать конфигурационный файл DHCP-сервера /etc/dhcpd.conf (или взять его из пакета dhcp):

ldap-server "localhost";
ldap-port 389;

ldap-username "cn=manager,dc=myserver,dc=myprovider,dc=ru";

ldap-password "secret";

ldap-base-dn "dc=myserver,dc=myprovider,dc=ru";
ldap-method static;

После запуска DHCP-сервера (service dhcpd start в ALT Linux) в качестве источника настроек он будет использовать дерево LDAP.



Настройка Windows-клиента


Прежде чем ввести компьютер в созданный домен, необходимо (для ОС Windows 2000/XP/2003 Server) изменить параметры входа в домен. Под этим подразумевается, что мы отключим некоторые ключи, использующиеся для задания специального доверительного общения между доменом, сделанным на базе ОС Windows, и Windows-клиентом. Для упрощения этого процесса создадим файл domain_fix.reg следующего содержания:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\Netlogon\Parameters] "requiresignorseal"=dword:00000000 "requirestrongkey"=dword:00000000 "sealsecurechannel"=dword:00000001 "signsecurechannel"=dword:00000001

Следующим шагом будет ввод ПК в домен.

Для ОС Windows 9x все очень просто - необходимо в Свойствах сети выбрать службу Microsoft и в ее свойствах указать, что рабочая станция подключается в домен, и указать также его имя.

Для Windows 2000/XP/2003 Server нужно вызвать вкладку Свойства на Мой компьютер - и выбрать вкладку Имя компьютера. Далее - команда Изменить (см. рис.2).

После этого ОС просмотрит текущую сеть на предмет наличия домена. Если тот будет найден, появится диалоговое окно, в котором вы (в качестве пользователя) должны указать логин пользователя, имеющего права для ввода рабочей станции в домен (в нашем случае, и по умолчанию, это root), и указать его пароль. После того как система сообщит о вводе рабочей станции в домен, она предложит перезагрузиться.

Здесь мы можем пойти по двум направлениям - имеется ввиду, что нашему пользователю можно оставить "обычные права", а можно задать специальные.

Если мы выбираем первый вариант, можно перегрузить систему и при загрузке просто указать имя пользователя и домен, с которого будем загружаться. Или же можем добавить пользователя через Панель управления > Администрирование > Управление компьютером > Локальные пользователи > Пользователи (создаем нового пользователя с указанием того, в каком домене он будет проходит аутентификацию и к какой группе будет принадлежать - например, Администраторы).

После входа пользователя в домен выполняется скрипт входа в домен, в нашем примере, подключаются сетевые диски и происходит синхронизация времени рабочей станции и сервера.



Немного теории


Чтобы понимать, о чем идет речь, следует сказать пару слов о самой технологии. Акроним RAID означает Redundant Array of Inexpensive/Independed Disks, что переводится как "избыточный массив из недорогих/независимых дисков". Заметьте — именно независимых дисков, то есть их должно быть, по крайней мере, два (а для некоторых уровней — три, четыре, a то и больше).

RAID-массив можно организовать при помощи специального контролера, стоимость которого — от 20 у.е за отдельный чип на материнской плате и 200 у.е. за отдельное специализированное устройство.

Но при покупке компьютера не всегда предусматривается создание RAID, поэтому, чтобы немного сэкономить, можно создать такой массив программно — то есть фактически бесплатно. Но за бесплатность придется платить увеличением нагрузки на процессор. К тому же, soft-RAID — по сравнению с железной реализацией — на всех уровнях показывает более низкую производительность. Так что данный метод лучше задействовать в случаях, когда, во-первых, утилита top показывает, что есть еще порох в пороховницах, и, во-вторых, сохранность данных важнее общей производительности.

Упоминались уровни RAID. Действительно, отцы-создатели данной технологии Дэвид Паттерсон, Рэнди Катц и Гарт Гибсон предложили шесть способов организации винчестеров в виртуальный диск, при этом сразу оговорив область применения каждого. Один из этих методов позволяет добиться увеличения скорости, а пять других направлены на повышение общей надежности.

Основой всех способов (кроме RAID-1) является страйпинг — то есть при работе логические блоки RAID-тома (который видится как единое целое, хотя и состоит из нескольких дисков) сопоставляются физическим на различных носителях. RAID-0 (striping) — последовательный поток данных равномерно записывается на различные носители, контроль четности при этом не производится. Обеспечивает самые быстрые операции ввода/вывода — однако является наименее надежным из методов; RAID-1 (mirroring) — полное зеркалирование (дублирование) данных на другой носитель. Дополнительно обеспечивается повышение производительности при операциях чтения; RAID-2 — этот метод уже практически забыт; информация записывается побайтно на несколько винчестеров, головки которых движутся синхронно. Дополнительно на отдельный носитель (носители) записывается избыточная информация для восстановления; RAID-3 — тоже редко используемый метод. Уже хотя бы по причине трудности реализации. Похож на предыдущий, только избыточная информация высчитывается по "исключаемому ИЛИ", а не ECC; RAID-4 — также предусматривает отдельный диск для контроля четности, что является самым узким местом такой системы. Однако при этом способе данные распределяются по секторам, а не по байтам; RAID-5 — напоминает предыдущий метод, но тут избыточные данные равномерно распределены по всем дискам. Таким образом решается проблема "узкого места" — однако при программной реализации такой способ оказывается для процессора наиболее трудоемким.

Но это не всё — существуют также производные методы, в которых пытаются устранить некоторые недостатки родительских: RAID-0+1, RAID-10, RAID-30, есть и RAID-6. Ядро Linux поддерживает еще так называемый linear- (известный еще как append) режим. В этом режиме разделы диска просто как бы плюсуются, суммарный объем равен объему всех разделов, участвующих в формировании тома, и запись осуществляется как на обычный диск. При этом не содержится никакой избыточности и скорость записи/считывания не увеличивается (только объем).



Обратная связь


Буду признателен за любые комментарии, критику и предложения по улучшению. Пожалуйста, присылайте их мне: Greg O'Keefe



Описание графического интерфейса с точки зрения пользователя


В составе бинарного дистрибутива есть 3 стартовых скрипта:

Скрипт Назначение
networkconsole-linux-gtk2.sh Скрипт для запуска Network Console в Linux с использованием GTK2
networkconsole-linux-motif.sh Скрипт для запуска Network Console в Linux с использованием OpenMotif
networkconsole-win32.bat Скрипт для запуска Network Console в Windows

При запуске Network Console необходимо указать параметры подключения к OpenLDAP и Firebird:

Кроме того, существуют еще 2 параметра подключения к OpenLDAP, которые можно изменить только в конфигурационном файле networkconsole.properties:

Главное окно запущенной Network Console состоит из 3-х вкладок:

1. Управление пользователями OpenLDAP (теми, кто может модифицировать дерево LDAP, в том числе и с помощью Network Console) -

2. Управление настройками хостов -

3. Выполнение запросов к базе данных, в которой хранится информация о трафике -

Для первых двух вкладок возможно добавление, удаление и редактирование записей:

Для всех вкладок возможен экспорт списка в XML с XSLT-трансформацией:

Для вкладки "Трафик" возможно использование готовых запросов, реализованных в виде хранимых процедур. Чтобы использовать эту возможность, необходимо на сервере Firebird создать файл procedures.sql со .

Затем на сервере Firebird нужно выполнить команду:

/opt/firebird/bin/isql -i procedures.sql

После этого в файле networkconsole.properties исправить

ui.view.traffic.translate=false

на

ui.view.traffic.translate=true

и перезапустить Network Console.

На вкладке "Трафик" на панели инструментов нажать кнопку "Выбрать" и указать требуемый отчет:

Теперь в поле редактирования sql-запроса появится:

-- Потребление proxy-трафика по хостам
select * from proxy_traffic_by_hosts('11.04.2004','11.07.2004')

Этот запрос можно выполнить обычным образом, нажав кнопку "Обновить".

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