понедельник, 6 апреля 2009 г.

Настройка кэширующего DNS

Все команды задавал от имени root.

Установка Bind в chroot окружении
Устанавил Bind 9.
server:/# apt-get install bind9
Все установилось без ошибок (проверить можно командой 'server:/# named -v' — должна отобразится версия bind) останавил его.
server:/# /etc/init.d/bind9 stop
Из соображений безопасности запускать буду Bind в chroot среде (“песочнице), а вот как я это делал:
1. Отредактировал файл '/etc/default/bind9', туда добавил строку о среде chroot, которая будет находится у меня в '/var/lib/dns', изменив строку OPTIONS=” -u bind на OPTIONS=”-u bind -t /var/lib/dnsт.е. должно получится что-то типа:
OPTIONS=”-u bind -t /var/lib/dns”
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes
2. Теперь создал все необходимые для работы bind9 директории:
server:/# mkdir -p /var/lib/dns/etc
server:/# mkdir /var/lib/dns/dev
server:/# mkdir -p /var/lib/dns/var/cache/bind
server:/# mkdir -p /var/lib/dns/var/run/bind/run
3. Переместил директорию с конфигурацией bind9 из '/etc' в '/var/lib/dns/etc':
server:/# mv /etc/bind /var/lib/dns/etc
4. Создал символическую ссылку на новую директорию с файлами конфигурации bind на случай если в дальнейшем соберусь обновить пакет, это поможет избежать проблем.
server:/# ln -s /var/lib/dns/etc/bind /etc/bind
5. Создал необходимые устройства и устанавил права на каталоги
server:/# mknod /var/lib/dns/dev/null c 1 3
server:/# mknod /var/lib/dns/dev/random c 1 8
server:/# chmod 666 /var/lib/dns/dev/null /var/lib/dns/dev/random
server:/# chown -R bind:bind /var/lib/dns/var/*
server:/# chown -R bind:bind /var/lib/dns/etc/bind
    ***В дистрибутиве Etch надо изменить стартовый скрипт демона sysklogd для того что бы сообщения bind попадали в syslog для этого надо отредактировать файл '/etc/default/sysklogd' , изменив там строку SYSLOGD=”” на SYSLOGD=”-u syslog -a /var/lib/dns/dev/log”. Иногда sysklogd ругается на опцию «-u»,тогда надо SYSLOGD=”-a /var/lib/dns/dev/log. И перезапуск службы:
server:/# /etc/init.d/sysklogd restart
*** В дистрибутиве Lenny я не нашел стартовый скрипт демона sysklogd, однако сообщения bind попадали в syslog, возможно из-за символической ссылки.

Настройка Bind
1. Cоздал отдельный файл конфигураций для моих зон ( в данном случае у меня будет одна зона описывающая виртуальный домен .ex):
server:/# touch /var/lib/named/etc/bind/myzones.conf
server:/# chown bind:bind /var/lib/named/etc/bind/myzones.conf
2. Редактирую файл конфигурации моей зоны .ex (имя моего домена) он должен выглядеть примерно так:
zone "ex." {
type master;
file "/etc/bind/db.ex";
};
В данном случае я специально создал «несуществующую зону», т.к. настраивал Bind в роли кэширующего DNS с возможностью обработки локальных имен/адресов моих локальных сетей.
3. Создал файл и назначил права доступа прямой зоны для локальных сетей.
server:/# touch /var/lib/dns/etc/bind/db.ex
server:/# chown bind:bind /var/lib/dns/etc/bind/db.ex
Отредактировал файл:
$TTL 86400 ; 1 day
@ IN SOA server root.server (
2009032601 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
@ IN NS server

server A 192.168.0.1 ; адрес сервера для 1-й сети
server A 192.165.15.1 ; адрес сервера для 2-й сети
Внимание: в конце файла обязательно должна быть пустая строка!!!
4. Создал файл и назначил права доступа обратной зоны для локальных сетей.
server:/# touch /var/lib/dns/etc/bind/local.rev
server:/# chown bind:bind /var/lib/dns/etc/bind/local.rev
Отредактировал файл:
$TTL 604800
@ IN SOA server.ex. root.server.ex. (
2009032601 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ; negative cache TTL
)
@ IN NS server.ex.
1.0.168 IN PTR server.ex.
1.15.165 IN PTR server.ex.

Внимание: в конце файла обязательно должна быть пустая строка!!!
5. Отредактировал файл '/var/lib/dns/etc/named.conf.options' до такого вида:
options {
directory "/var/cache/bind";

version "SecurityDNS v.USSR";
allow-recursion { "net"; };
allow-query { any; };
//auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
# отключил поддержку IPv6
};
6. Отредактировал файл '/var/lib/named/etc/named.conf'.
В начале файла, до включения файла с опциями (named.conf.options), создал список acl для указания, что будет обслуживать мой сервер Bind, указав свои подсети, обратную петлю, адрес сетевой карты, смотрящей в интернет, и оба DNS провайдера:
acl "net" {
192.168.0.0/24;
192.165.15.0/24;
127.0.0.1;
212.98.185.103;
212.98.160.50;
212.98.160.65;
};
Для возможности работы и передачи зоны с подписью TSIG включил rndc.key и указал, кто сможет управлять моим сервером и по какому порту:
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys {rndc-key;};
};
В конце файла добавил настройки обратной зоны для локальных сетей:
zone "192.in-addr.arpa" {
type master;
file "/etc/bind/local.rev";
};
Ну и последним (последняя команда) подключил прямые зоны:
include "/etc/bind/myzones.conf";
7. Подведя итоги пункта 6, получил файл named.conf следующего вида:
acl "net" {
192.168.0.0/24;
192.165.15.0/24;
127.0.0.1;
212.98.185.103;
212.98.160.50;
212.98.160.65;
};

include "/etc/bind/named.conf.options";

include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys {rndc-key;};
};

zone "." {
type hint;
file "/etc/bind/db.root";
};

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

zone "192.in-addr.arpa" {
type master;
file "/etc/bind/local.rev";
};

include "/etc/bind/myzones.conf";
С учетом моих настроек у меня оказались не задействованы следующие файлы 'db.empty', 'zones.rfc1918' и 'named.conf.local' естественно я их удалил.
8. Поправил следующие файлы:
/etc/resolv.conf — добавил в начале файла следующие строки (вписал свой домен):
search server.ex
nameserver 127.0.0.1
/etc/hosts.conf добавил в начале файла следующую строку:
order hosts, bind
/etc/hosts — вписал строки после строки '127.0.0.1 localhost':
192.168.0.1 server.ex server
192.165.15.1 server.ex server
9. Добавил в свой фаервол следующие правила:
# DNS rndc сервер на Lo разрешаю. (обход connection refused)
/sbin/iptables -A OUTPUT -p tcp -m tcp -o lo --dport 953 --sport 1024:6553 -j ACCEPT
# разрешаю доступ DNS-серверу наружу
/sbin/iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
10. Запустил Bind.
server:/# /etc/init.d/bind9 start
server:/# rndc reload
11. Проверил работоспособность под Debian:
serverd:/etc/init.d# nslookup
> set q=any
> localhost
Server: 127.0.0.1
Address: 127.0.0.1#53

localhost
origin = localhost
mail addr = root.localhost
serial = 2
refresh = 604800
retry = 86400
expire = 2419200
minimum = 604800
localhost nameserver = localhost.
Name: localhost
Address: 127.0.0.1
localhost has AAAA address ::1
> 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53

1.0.0.127.in-addr.arpa name = localhost.
> google.ru
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
google.ru mail exchanger = 10 smtp2.google.com.
google.ru mail exchanger = 10 smtp3.google.com.
google.ru mail exchanger = 10 smtp4.google.com.
google.ru mail exchanger = 10 smtp1.google.com.
Name: google.ru
Address: 72.14.221.104
Name: google.ru
Address: 74.125.77.104
Name: google.ru
Address: 216.239.59.104
google.ru
origin = ns1.google.com
mail addr = dns-admin.google.com
serial = 2009033100
refresh = 21600
retry = 3600
expire = 1209600
minimum = 300
google.ru nameserver = ns3.google.com.
google.ru nameserver = ns1.google.com.
google.ru nameserver = ns4.google.com.
google.ru nameserver = ns2.google.com.

Authoritative answers can be found from:
google.ru nameserver = ns1.google.com.
google.ru nameserver = ns3.google.com.
google.ru nameserver = ns2.google.com.
google.ru nameserver = ns4.google.com.
ns2.google.com internet address = 216.239.34.10
ns3.google.com internet address = 216.239.36.10
ns4.google.com internet address = 216.239.38.10
serverd:/etc/init.d# dig @server.ex google.com

; <<>> DiG 9.5.1-P1 <<>> @server.ex google.com
; (2 servers found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28297
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.com. IN A

;; ANSWER SECTION:
google.com. 300 IN A 74.125.67.100
google.com. 300 IN A 209.85.171.100
google.com. 300 IN A 74.125.45.100

;; AUTHORITY SECTION:
google.com. 345600 IN NS ns1.google.com.
google.com. 345600 IN NS ns3.google.com.
google.com. 345600 IN NS ns4.google.com.
google.com. 345600 IN NS ns2.google.com.

;; ADDITIONAL SECTION:
ns1.google.com. 172741 IN A 216.239.32.10
ns2.google.com. 172740 IN A 216.239.34.10
ns3.google.com. 172740 IN A 216.239.36.10
ns4.google.com. 172740 IN A 216.239.38.10

;; Query time: 107 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Mon Jan 1 00:39:58 2001
;; MSG SIZE rcvd: 212

serverd:/etc/init.d# dig @server.ex google.com

; <<>> DiG 9.5.1-P1 <<>> @server.ex google.com
; (2 servers found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27974
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.com. IN A

;; ANSWER SECTION:
google.com. 273 IN A 74.125.45.100
google.com. 273 IN A 74.125.67.100
google.com. 273 IN A 209.85.171.100

;; AUTHORITY SECTION:
google.com. 345573 IN NS ns1.google.com.
google.com. 345573 IN NS ns4.google.com.
google.com. 345573 IN NS ns3.google.com.
google.com. 345573 IN NS ns2.google.com.

;; ADDITIONAL SECTION:
ns1.google.com. 172714 IN A 216.239.32.10
ns2.google.com. 172713 IN A 216.239.34.10
ns3.google.com. 172713 IN A 216.239.36.10
ns4.google.com. 172713 IN A 216.239.38.10

;; Query time: 2 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Mon Jan 1 00:40:25 2001
;; MSG SIZE rcvd: 212
И на машине входящей в сеть под управлением
Windows XP:
Microsoft Windows XP [Версия 5.1.2600]

(С) Корпорация Майкрософт, 1985-2001.
C:\Documents and Settings\Администратор>nslookup
Default Server: server.ex
Address: 192.168.0.1
> set q=any
> server.ex
Server: server.ex
Address: 192.168.0.1

server.ex internet address = 192.165.15.1
server.ex internet address = 192.168.0.1
ex nameserver = server.ex

пятница, 27 марта 2009 г.

Создание локального репозитория с установычных дисков




Выдали мне на работе новый компьютер, а вот ДВД-привода в нем нет, ну для установки ОС'и админ дал на день привод. Пришлось из установочных дисков Debian'а создать на винчестере репозиторий с которого можно было бы спокойно устанавливать и удалять пакеты Debian'а без участия привода.
Все команды выполнялись от прав пользователя root!
В первую очередь я создал ISO-образы всех 3-х установочных дисков на винчестере. Создание образов осуществляется командой 'dd if=/dev/cdrom of=/mnt/dvd1.iso'. Т.е. Взять данные с ДВД-привода (/dev/cdrom) и сохранить их в папку (/mnt) под именем dvd1.iso.
Таким образом у меня были созданы 3-и образа с именами dvd1.iso, dvd2so, dvd3.iso соответственно.
Далее необходимо примаунтить (подключить) созданные образы. Для этого создаем соответствующие записи в файле '/etc/fstab' следующего содержания:

/mnt/dvd1.iso /mnt/setup/1 iso9660 loop 0 0
/mnt/dvd2.iso /mnt/setup/2 iso9660 loop 0 0
/mnt/dvd3.iso /mnt/setup/3 iso9660 loop 0 0

т.е. запись обозначает — взять образ из папки mnt с именем dvd1.iso стандарта iso9660 и подключить через петлевое устройство (виртуальный привод) loop к папке /mnt/setup/1 ну и т.д. Затем набрать команды 'umount -a' и 'mount -a' для применения изменений и примаунчивания дисков.

Затем нам нужно прописать пути репозитория для apt-get откуда брать для установки пакеты, для чего в файл '/etc/apt/sources.list' дописываем:

deb file:///mnt/setup/1/ stable contrib main
deb file:///mnt/setup/2/ stable contrib main
deb file:///mnt/setup/3/ stable contrib main

Затем необходимо дать команду 'apt-get update' для того чтобы apt-get перечитал заголовки пакетов.

понедельник, 2 марта 2009 г.

Настройка сетевого соединения для сетей со статическими адресами





Встала необходимость настройки сетевого соединения под Debian'ом для возможности выхода в домашнюю сеть и Интернет. Как я настраивал приведено ниже. Настройки приводимые здесь относятся только к сетям в которых используются статические IP-адреса, а не DHCP.
Все команды в статье идут от прав root'а.
Для начала проверил все свои сетевые интерфейсы командой 'ifconfig' и получил следующее сообщение на экране:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:227287379 errors:0 dropped:0 overruns:0 frame:0
TX packets:227287379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1750794110 (1.6 GiB) TX bytes:1750794110 (1.6 GiB)

Как оказалось из сетевых интерфейсов у меня подключено и работает только «внутренняя петля» (замыкание на себя), т.е. присутствует IP-адрес по которому компьютер может осуществлять сетевое подключение сам на себя.
Соответственно мне пришлось задействовать свой сетевой интерфейс командой 'ifconfig eth0 up' (соответственно отключить сетевой интерфейс можно командой 'ifconfig eth0 down'). После чего команда 'ifconfig' вывела следующие данные:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:227287379 errors:0 dropped:0 overruns:0 frame:0
TX packets:227287379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1750794110 (1.6 GiB) TX bytes:1750794110 (1.6 GiB)

eth0 Link encap:Ethernet HWaddr 00:80:AD:76:45:97
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:5 Base address:0xc000

Вот теперь приступил к настройке сетевого интерфейса, т.е. отредактировал файл 'etc/network/interfaces' для чего пришлось в него добавить следующие строчки:

auto eth0
iface eth0 inet static
address 192.168.1.3 - мой IP-адрес в сети
netmask 255.255.255.0 - маска моей домашней сети
network 192.168.1.0 - принадлежность к классу сети
broadcast 192.168.1.255 - адрес для передачи широковещательных пакетов
hostname dethroner - сетевое имя моего компьютера
gateway 192.168.1.1 - шлюз моего сервера/модема

Далее прописываем в файле 'etc/resolv.conf' адрес\адреса DNS-серверов в виде:

nameserver 192.168.1.1 - адрес 1-ого DNS-сервера
nameserver 82.209.240.241 -адрес 2-ого DNS-сервера

У меня этот файл не был обнаружен. Пришлось установить дополнительный пакет 'apt-get install resolvconf'. Ну и вписать адрес как описано выше.
Вот и вся настройка сетевого подключения. Сетевые настройки вступят в силу после перезагрузки компьютера, либо их можно задействовать командой '/etc/init.d/networking restart'.

четверг, 29 мая 2008 г.

Восстанавливаем загрузчик Lilo



В общем у меня стоит на ПК 2-е ОСи Debian и Windows XP первая для изучения и работы, вторая для игр. Вот как-то стала 2-я работать плохо: игры тормозят, вылетают, система падает неизвестно из-за чего и т.д. Короче взял и переставил её, а она естественно затерла MBR, и при запуске стала грузиться в ед. числе. Пришлось восстанавливать первоначальный загрузчик, т.е. Lilo.
Собственно вот как я его восстанавливал:
- поставил установочный диск Debian в привод и запустил установку;
- после того когда режим установки дошел до разметки дискового пространства, зашел глянул номер раздела винчестера где у меня стоял Debian (это оказался hdb5) и переключился на другую консоль (комбинация клавиш альт+ф2);
- в консоли ввел команду 'mkdir /mnt/1' которая создала папку с названием 1 размещенную в разделе mnt;
- затем к созданной папке примаунтил диск где у меня была усnановлена система Debian – ‘mount /dev/hdb5 /mnt/1’;
- после этого командой 'chroot /mnt/1/' сделал папки папку 1 – корневым каталогом;
- далее ввел команду 'lilo' – которая восстановила загрузчик Lilo в MBR со старым конфигом.
После перезагрузки я увидел приветствие Lilo с запросом ввода какую ОСь грузить.

понедельник, 31 марта 2008 г.

Компиляция MPlayer



MPlayer — это медиаплеер с открытым исходным кодом, относящийся к свободному программному обеспечению.
В общем будем его ставить сегодня….
Для начала скачиваем его «сырцы», кодеки и скины (исходные коды, придется его компилировать самим) тут
Далее разархивируем кодеки в папку «/usr/lib/codecs» если ее нет то создаем и скидываем туда кодеки «Windows_essential….» и «essential…»
После этого закидываем «сырцы» проигрывателя в папку «/usr/src».
Потом устанавливаем библиотеки, компиляторы и т.д., т.е. делаем «apt-get install binutils gcc make freetype1-tools libjpeg62-dev libpng12-dev libogg-dev libverdis-dev toollame zlib-bin libgtk2.0-dev” может понадобиться еще и «ncurses-dev».
После установки всего вышеперечисленного переходим в каталог «сырцов» и даем команду «./configure --enable-gui», начнется сборка конфигуратора.
Затем команда «make» по конфигуратору скомпилирует программу. И в конце «make install» - собственно установка программы.
Затем в папку «/usr/locale/share/mplayer/skins» или в «$HOME/.mplayer/skins» распаковываем понравившийся скин, и переименовываем его папку как «default».
После этого запускаем программу «gmplayer». После этого спокойно смотрим фильмы.

четверг, 28 февраля 2008 г.

Установка Debian на ПК с Windows.



Это руководство, надеюсь, поможет тому кто захочет поставить Debian помимо установленной Оси, например Windows.
Для этого нужно под Debian отрезать место на винчестере. Например с помощью Acronis PartitionExpert, и т.д. позволяющей от свободного места на винчестере отрезать место для новых дисков: под систему подкачки ака swap (размер оперативки); под основную систему примерно 3 Gb будет достаточно (если будем ставить Х ака графическая оболочка) отформатировать под ext3.
Дальше согласно руководству по установке.
Поставили систему. И, если установка шла из-под Windows или он просто был в наличии до установки, то он невиден (типа его нет и грузится только Linux). Это конечно если ставили загрузчик Lilo, Grub по идее сам находит ОСи при установки и выкидывает меню выбора какую ОСь грузить. Сейчас будем заставлять Lilo тоже выбросить список ОСей, чтобы при включении ПК можно было выбрать чего грузить Linux или Windows.
Для этого придется открыть файл конфигурации Lilo, который находится по адресу: /etc/lilo.conf.
После открытия для редактирования lilo.conf снимаем комментарии (просто удаляем символ "#" перед следующими строчками):
Prompt
timeout = 100 (здесь значение может отличаться - это время сколько загрузчик будет ждать от пользователя выбора ОСи а по его завершении загрузит ОСь по-умолчанию).
После редактирования, из командной строки даем команду для внесения изменений в загрузочный сектор "lilo".
Вот и все, можно перезагрузиться, после чего увидим стандартное приглашение lilo с вариантами загрузки. По умолчанию будет загружаться Linux,. После проверки можно сделать, что бы Windows загружалось по умолчанию заменив в /etc/lilo.conf строку "default=Linux" на "default=Windows" и снова дав команду на обновление!
В общем таким образом у нас стоит несколько ОСей. Но вот беда музыка лежит на дисках Windows, а их невидно в Debian'е, значит задача понятна. Подключить (замаунтить) диск(и) Windows к Linux.
Подключение осуществляется командой "mount", а отключение "umount". Более подробно о командах можно узнать набрав команду " man mount". Сразу хочу оговорится, что команда "man" - команда справки (что-то наподобии F1 в Windows) (т.е. man и далее что интересует).
Так допустим для подключения диска нужно дать команду "mount -t vfat /dev/hda1 /mnt" команда таким образом подключит основной раздел диска С: к папке mnt, => зайдя в папку mnt мы увидим содержимое диска C: правда если это диск на файловой системе FAT...).
Для того чтобы монтирование происходило автоматически во время запуска Linux'а существует конфигурационный файл /etc/fstab. Пример куска моего файла:
"/dev/hda1 /mnt/d vfat iocharset=koi8-r,codepage=866,rw,umask=000,showexec,quiet 0 0"
"/dev/hda5 /mnt/e ntfs dmask=0,fmask=0111,nls=koi8-r,ro 0 0 "
в первой строке происходит подключение в папку /mnt/d диска C: (fat...) Windows c соблюдением языковых настроек (не будет проблем с отображением русского языка).
во второй строке происходит подключение в папку /mnt/e диска D: (ntfs) Windows c соблюдением языковых настроек (не будет проблем с отображением русского языка) в режиме чтения, с правом доступа всех пользователей.
В Linux'е винчестеры обзываются как hda, hdb и т.п. А разбивка винчестера на диски как hda1,hda2 и т.д. Но обращаю внимание что hda1-hda4 это основные диски, а начиная с hda5,... - логические.
Если диски не IDE а SATA, тогда надо писать вместо hd… sd
Столкнулся с ситуацией, на компьютере русская локаль, но на примаунченных дисках русские названия выглядят в виде вопросиков.
Оказалось, что локаль работала на utf8, а не на koi8-r. Заменив в настройках fstab значение koi8-r на utf8 проблема была решена.
Так что нужно быть внимательным, чтобы потом не плясать вокруг компа с шаманским бубном.

вторник, 26 февраля 2008 г.

Установка графической среды.



X Window System часто называют X11 или просто X, неформально «иксы».

Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. Нынешняя (по состоянию на июнь 2006 г.) версия протокола — X11 — появилась в сентябре 1987 г. Проект X возглавляет фонд X.Org Foundation. Референсная (или образцовая) реализация (reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий.

X Window System — оконная система, которая обеспечивает стандартные инструменты и протоколы для построения графических интерфейсов пользователя. Почти все современные операционные системы поддерживают X Window System, но в основном она закрепилась в UNIX-подобных системах в качестве стандарта «де-факто».

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

Ставлю иксы ‘apt-get install x-window-system x-window-system-core’. Система затребует много места на винчестере и кучу зависимых пакетов, просто соглашаюсь на установку. В процессе установки система задаст некоторые вопросы типа какое разрешение экрана необходимо, какой формат бумаги, раскладка клавиатуры и т.д. Отвечаю на вопросы. Система устанавливает иксы. Установленные иксы можно проверить на работоспособность набрав команду 'startx'.

Экран должен поморгать черным и должна вылезти серая сетка с крестиком (курсором). Если это произошло, значит иксы завелись.

Если нет, как у меня и было, тогда лезем в лог находящийся в каталоге /var/log, и ищем там что-то типа XFree86.0.log или Xorg.0.log и пытаемся разобраться в чем дело.

Лог ругался на драйвер видеокарты. У меня GF4 Ti 4200. Поэтому пришлось лезть в настройки, т.е. под правами рута идти в подкаталог /etc/X11 и искать там файл XF86Config или xorg.conf. У меня был последний, поэтому пришлось его редактировать (заменил Driver "vesa" на Driver "nv"):

Section "Device"

Identifier "Generic Video Card"

Driver "vesa"

.....

Проблема была решена.

После установки "Иксов" я обычно ставлю GDM.

GNOME Display Manager или GDM — графический дисплейный менеджер для X Window System. Эта программа регистрирует пользователей в операционной системе, предлагая им ввести их логин и пароль. GDM также позволяет выбирать графическую среду (сеанс) и локаль (набор языковых и региональных настроек). Экран приветствия GDM может иметь разный вид в зависимости от применённой к нему темы.

GDM является частью рабочей среды GNOME и распространяется свободно на условиях GNU General Public License.

Чтобы его установить нужно дать команду "apt-get install gdm". А чтобы его запустить - "/etc/init.d/gdm start", после первого запуска он будет загружаться автоматически.

Теперь можно установить какую-нить графическую среду. Я обычно пользуюсь Gnome. Я ставлю только саму среду и некоторый набор программ, для этого я набираю "apt-get install gnome-core". Новичкам проще будет поставить ВСЮ среду сразу, для чего набираем команду "apt-get install gnome". Может кто-то захочет попробовать др. графическую среду (KDE, IceWMи т.д.) , можно установить и ее\их тоже. А потом просто из-под GDM выбирать и пользоваться\смотреть. Со временем станет ясно что вам надо или наоборот не надо.

понедельник, 25 февраля 2008 г.

Установка Debian.



Установка начинается с загрузки строки выбора режима установки.

Пишу install и жму ENTER, появляется меню выбора языка общения при установке.

Выбираю русский. Появляется меню выбора страны проживания.

Выбираю мою страну проживания (Беларусь). Появляется меню выбора раскладки клавиатуры.

Выбираю русскую. Установка пытается настроить сетевое подключение. У меня сеть не подключена, о чем мне и сообщается.

После чего предлагает несколько вариантов ее настройки.

Выбираю Пропустить пока настройку сети. Далее предлагается ввести название компьютера.

Оставляю По-умолчанию. Далее предлагается разметить дисковое пространство.

Выбираю Вручную.

Выбираю, какой винчестер буду размечать (у меня он один). Поэтому выбираю его.

Выбираю Да.

Выбираю свободное место. После чего всплывает меню операций над выбранным местом.

Выбираю Создать новый раздел.

Выбираю 0,2 Гб (размер оперативной памяти) это будет диск подкачки. Спросит о присвоении разделу типа.

Выбираю Первичный. Спрашивает куда его разместить на винчестере.

Выбираю Конец. Появляется меню выбора раздела.

Выбираю Использовать как: раздел подкачки.

Выбираю Настройка раздела закончена. Оставшееся свободное место оставляю для файловой системы.

Выбираю Настройка раздела закончена. Вот что получилось:

Выбираю Закончить разметку и записать изменения на диск. Спрашивает подтверждения.

Конечно Да, я же для этого разметку и делал. На этом разметка закончена.

Далее начинается настройка учетных записей.

Просит ввести пароль root (администратора). Ввожу. Просит повторить.

Повторяю пароль. Далее настраивает учетную запись пользователя.

Заполняю. Спрашивает название учетной записи в системе.

Ввожу. Спрашивает пароль.

Ввожу. Спрашивает подтверждение. Ввожу. Далее предлагает использовать Интернет для установки\обновления пакетов.

Т.к. сети у меня нет, выбираю Нет.

Сообщает что я не могу обновить безопасность (естественно сети-то нет). Предлагает участвовать в опросе.

Выбираю Нет. Спрашивает о вариантах установки.

Выбираю Стандартная система. Начинается установка. Спрашивает о клавишах переключения между раскладками клавиатуры.

Выбираю привычную для меня. Предлагает назначить кнопку временного переключения раскладки клавиатуры.

Я этим не пользуюсь. Поэтому выбираю Нет временного переключения. Идет настройка пакетов. После чего спрашивает куда установить загрузчик системы.

Я предпочитаю загрузчик Lilo, поэтому выбираю Вернуться. Попадаю в главное меню.

Выбираю Установка системного загрузчика LILO на жесткий диск. Спрашивает куда его разместить.

Выбираю /dev/sda2: в новый раздел Debian. (Делаю это для того, чтобы в случае чего можно было безболезненно восстановить загрузчик Lilo ).

Установка завершена. Диск отмонтирован (извлечен). Предлагает перегрузиться в систему.

Вынимаю диск и выбираю Продолжить. После перезагрузки система просит ввести логин и пароль.

Ввожу root и пароль администратора. Попадаю в систему.

После запуска установленной базовой системы получаем что-то похожее на DOS, т.е. консоль (подобие командной строки). И не зная команд в этом трудно ориентироваться. Поэтому предлагаю установить Midnight Commander(mc), подобие Norton Commander под DOS. Ставлю Midnight Commander, для чего набираю ‘apt-get install mc' (естественно без кавычек). После установки даю команду 'mc'.

Обращаю внимание новичков на то, что это стандартная система (или лучше назвать базовая). В дальнейшем я опишу как в базовую систему поставить графическую оболочку.