Хүн л хийсэн юм чинь ядаж ойлгож болохоор л юм байж таараа.
Гагцхүү бэрхшээлийг давсан хүн л хөгждөг.

Сануулга

Миний бие энэхүү гарын авлагыг бичиж байгаа нь Юникс төст үйлдлийн систем болон түүний серверүүдийн талаар төгс сайн мэддэг гэсэн үг огт биш юм. Гагцхүү миний чадан ядан ойлгож мэдсэн зүйлс хэн нэгний сурч мэдэх их үйлсэд өчүүхэн ч атугай нэмэр болох боловуу гэсэн санааг агуулсан болно. Энэхүү гарын авлаганд алдаа мадагтай зүйл байвал мэргэн уншигч та залруулан өгч туслана уу.

2008-06-04

Федораг дэсктопд ашиглах нь

Ноорог

Microsoft Office - Openoffice.org - www.openoffice.org
Word - Writer
Exel - Spreadsheet
Yahoo messenger - Pidgin - www.pidgin.im
Microsoft Visio - dia - live.gnome.org/Dia
Dictionary - Stardict

2008-02-02

DNS сервер

НООРОГ
DNS сервер нь дараах 3 төрөл дан дангаараа юмуу хосолсон хэлбэртэй байж болдог.
Master - өөрийн мэдлийн domain бүхий сервер. Ийм сервер нь өөрийн мэдлийн domain-доо бүрэн эрхтэй байх ба тухайн domain-ий талаархи мэдээллийн өөрчлөлтийг энэ сервер дээр хийнэ.
Slave - master серверийнхээ хуулбар маягаар ажилладаг сервер. Ийм сервер нь өөрийн гэсэн domain-тэй байх боловч түүнд оруулах өөрчлөлтийг зөвхөн master сервер дээр хийж, slave сервер нь master серверээс zone-ийн файлыг бүхлээр шууд хуулбарлан авдаг. Ингэж хуулбарлан авах үйлдлийг zone transfer гэнэ.
Cache - өөрийн мэдлийн domain-гүй, зөвхөн хэрэглэгчдийн хүссэн domain нэрийн талаархи мэдээллийг master серверээс нь хуулбарлан авчирч хадгалж байдаг.

Bind
Bind нь Юникс төст системийн хамгийн өргөн ашиглагддаг DNS сервер юм. CentOS системд пакежийн нэр нь bind, Fedora үйлдлийн системд named нэртэйгээр байх боловч суулгасныхаа дараа аль аль нь named нэрээр ажилладаг.

bind серверийг суулгахадаа:
yum install named (Fedora)
yum install bind (CentOS)

bind серверийг дараах коммандаар гараар асааж болно:
service named start (эсвэл /etc/init.d/named start)
Мөн гараар унтраахын тулд:
service named stop (эсвэл /etc/init.d/named stop)
гараар унтрааж асаахын тулд:
service named restart (эсвэл /etc/init.d/named restart)

bind сервер нь суусаныхаа дараа систем асах үед автоматаар асахаар тохируулагдаагүй байдаг ба систем асах үед автоматаар ачаалагдаж байхаар тохируулахын тулд дараах коммандыг ашиглана:
chkconfig named on

Хэрэв яль runlevel-үүдэд асахаар тохируулагдсан байгааг харахыг хүсвэл дараах коммандыг ашиглаж болно:
chkconfig --list named


Тохиргооны файл
bind сервер нь үндсэн тохиргооны файл /etc/named.conf ба zone-ийн файлуудаас бүрдэнэ. үндсэн тохиргооны файлд ерөнхий тохиргоонууд байх ба zone-ийн файлуудад тухайн domain-д бүртгэлтэй host-уудын талаархи мэдээллүүд байрдана. Zonе-ийн файлууд нь дараах 3 төрөл байна:
Root hint файл буюу root серверүүдийн талаархи мэдээллүдийг агуулсан файл нь ихэвчлэн named.ca, db.cache, named.root, root.ca гэсэн нэрнүүдийн аль нэг нэртэй байдаг.
Forward-mapping зонын файл нь тухайн мастер серверийн өөрийн эзэмшил domain-ий domain нэрээс IP хаяг руу хөрвүүлэхэд ашиглагдах мэдээллийг агуулна
Reverse-mapping зонын файл нь IP хаягаас domain нэр руу хөрвүүлэлт хийхэд зориулсан мэдээллийг агуулна

named.conf -ийн тохиргоо:
options {} - ерөнхий тохиргоо
zone “zonename” {} - зоныг тодорхойлно
directory - зонын файлуудын байршил
allow-query {} - зөвшөөрөгдсөн хэрэглэгчдийг тодорхойлох
allow-transfer {} - зонын дамжуулалт хийж болох серверүүдийн хаягуудыг тодорхойлно
listen-on {} - ямар хаягаар сонсохыг тодорхойлно
forwarders {} - authoritative бус domain-уудыг асуух серверүүдийн хаяг

cache dns серверийн үндсэн тохиргооны файл
options {
directory "/var/named";
forwarders { 202.70.32.10; 202.131.224.2; };
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

master dns серверийн үндсэн тохиргооны файл
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "mnfedora.org" {
type master;
file "mnfedora.org";
allow-transfer {none;};
};
zone "16.172.in-addr.arpa" {
type master;
file "172.16.rev";
allow-transfer {none;};
};

slave cache dns серверийн үндсэн тохиргооны файл
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "mnfedora.org" {
type slave;
file "mnfedora.org";
masters { 172.16.12.1; };
};
zone "16.172.in-addr.arpa" {
type slave;
file "172.16.rev";
masters { 172.16.12.1; };
};

Zone file
Зонын файл нь тухайн домэйний талаархи мэдээллийг агуулна. Энэхүү файл нь resource record гэх бичлэгүүээс бүрдэнэ.
Resource record-ууд

SOA - зонын файлын бичлэгүүдийн эхлэлийг заана
NS - тухайн domain-ий DNS серверийг заана
A - тухайн хостын domain нэрийг IP хаягтай холбосон бичлэг. forward зонын файлд ашиглагдана
PTR - тухайн хостын domain IP хаягийг domain нэртэй холбосон бичлэг. reverse зонын файлд ашиглагдана
MX - тухайн domain-ий email серверийг заана
CNAME - олон нэртэй хостын өөр нэг нэрийг заана

@ IN SOA name-server e-mail {serial-number refresh Retry Expiry Minimum-TTL}
Refresh- хэдий хугацааны дараа бичлэгүүд өөрчлөгдсөн эсэхийг шалгахыг заана
Retry- refresh хийх нь битээгүй үед хэдий хугацааны дараа дахин оролдохыг заана
Expiry- slave DNS хэдий хугацааны дараа master-аас бичлэгээ шинэчлэхийг заана
Min-ttl – cache-д хир удаан байхыг заана

[name] IN type data

name- domain-ий обектын нэр. Хэрэв нэр хоосон байвал өмнө нь хамгийн сүүлд тодорхойлогдсон нэрийг авна
IN-
type- Resource record type
data-

Forward-mapping zone file
$TTL 86400
; Addresses and other host information.
@ IN SOA crab.wrotethebook.com. jan.crab.wrotethebook.com. (
2001061401 ;
21600 ;
1800 ;
604800 );
IN NS ns1.mnfedora.org.
IN NS ns2.mnfedora.org.
IN NS ns3.mnfedora.org.
IN MX 10 email.mnfedora.org.
localhost IN A 127.0.0.1
ns1 IN A 172.16.1.1
host1 IN CNAME localhost
host2 IN A 172.16.1.2
server IN CNAME host2.mnfedora.org.

wtb-gw IN A 10.104.0.19


Reverse zone file
$TTL 86400
; Address to hostname mappings.
@ IN SOA crab.wrotethebook.com. jan.crab.wrotethebook.com. (
2001061401 ; Serial
21600 ; Refresh
1800 ; Retry
604800 ) ; Expire
IN NS crab.wrotethebook.com.
IN NS ora.wrotethebook.com.
IN NS bigserver.isp.com.
1.12 IN PTR crab.wrotethebook.com.
2.12 IN PTR rodent.wrotethebook.com.
3.12 IN PTR horseshoe.wrotethebook.com.
4.12 IN PTR jerboas.wrotethebook.com.
2.1 IN PTR ra.wrotethebook.com.
6 IN NS linuxuser.articles.wrotethebook.com.
IN NS horseshoe.wrotethebook.com.

DNS client
search
domain
nameserver

DHCP сервер

НООРОГ
DHCP нь Dynamic Host Configuration Protocol гэсэн үгний товчлол бөгөөд IP протокол ашигладаг сүлжээний хэрэглэгчдэд янз бүрийн тохиргоог серверээс тараахад хэрэглэнэ. Энэ зорилгоор ашиглаж буй серверийг DHCP сервер гэх ба зарим тохириолдолд тохиргооны сервер (configuration server) гэж нэрлэдэг.
DHCP серверийг практикт голлон IP хаяг тараахад ашигладаг.
Ерөнхийдөө IP хаягийг компьютерт manual, automatic, dynamic гэсэн гурван аргаар оноон өгч болох бөгөөд, manual гэдэг нь ямар нэгэн сервер ашиглахгүй гараар IP хаягийг оноохыг хэлнэ.
Dynamic гэдэг нь серверт хадгалагдаж буй хаягуудаас аль сул байгааг нь автоматаар оноохыг хэлнэ. Үүнийг хэрэглэсэний үр дүнд хэрэгчдийн IP хаяг өөрчилөгдөж болно.
Automatic гэдэг нь тухайн компьютерт зөвхөн заагдсан IP хаягийг оноодог. Иймээс тухайн компьютерийн хаяг өрчилөгддөггүй, үргэлж нэг IP хаягтай байдаг бөгөөд үүнийг зарим нэгэн онцгой хэрэглэгч болон серверүүдэд ашиглахад тохиромжтой.



Зураг 1

DHCP сервер нь сүлжээнд ажиллахдаа UDP протокол 67, 68 дугаар портуудыг ашиглана (Зураг 1-т үзүүлэв). Хэрэглэгч DHCP серверийг олох хүлэлтийг broadcast хаягаар илгээнэ. Энэ хүсэлтийг сервер хүлээн аваад IP хаягийн сангаасаа сул байгаа хаягийг хэрэглэгчид санал болгоно. Үүнийг хэрэглэгч хүлээн аваад өөртөө тавьж шалгаад уг IP хаягийг авах хүсэлтээ broadcast хаягаар илгээнэ. Үүнийг зөвшөөрсөн хариуг серверээс илгээсэнээр хаяг авах процесс дуусна.

Fedora болон CentOS үйлдлийн систем дэх DHCP сервер нь dhcpd нэртэй пакеж байна. Үүнийг дараах коммандаар суулнаж болно:
[root@fedora ~]# yum install dhcpd

DHCP серверийн тохиргооны файл нь /etc/dhcpd.conf файл байх ба тараасан хаягуудын талаархи мэдээллээ /var/lib/dhcp/dhcpd.lease файлд хадгалдаг.
dhcpd.conf тохиргооны файлд голлон хэрэглэгддэг бичлэгүүдийг доор үзүүлэв:
  • ddns-update-style динамик DNS ашиглах эсэхийг болон ашиглах бол шинэчилэх төрлийг заана.
  • ignore client-updates
  • group {[parameters] [options]} Parameter болон option-ы багцлана
  • subnet address mask netmask { [parameters] [options] } Өгөдсөн хаяг, маск бүхий дэд сүлжээний parameter болон option-ийг тодорхойлно.
  • host hostname {[parameters] [options] } Тухайн хостын parameter болон option-ийг тодорхойлно.
    • Parameters- dhcp server болон dhcp protocol-ийн ажиллагааг удирдах
  • range [dynamic-bootp] low-address [high-address] ; Динамикаар тараах хаягийн хязгаарыг заана. Subnet statement-тэй хамт хэрэглэгдэнэ. Range нь тодорхойлогдсон subnet-д хамаарагддаг байх ёстой. Subnet statement нь range parameter-ийг агуулаагүй бол тухайн subnet-ийн хэрэглэгчдэд хаяг тараахгүй.
  • default-lease-time seconds; Тухайн хаягийг хир удаан хэрэглэж болохыг заана.
  • max-lease-time seconds; Хаягийг хир удаан хадгалахыг заана.
  • hardware type address;
  • fixed-address address[, address... ] ;
Options
  • option subnet-mask mask; Subnet mask-ийг тодорхойлно. Хэрэв үүнийг тодорхойлоогүй бол subnet statement-ийнхийг авна
  • option routers address[, address...] ; Router-ийн хаяг
  • option domain-name-servers address[, address...] ; DNS server-ийн хаяг
  • option domain-name domain; Домэин нэр
  • option broadcast-address address; Broadcast хаяг
DHCP хэрэглэгчийн торигоо:
DHCP client
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=yes

DHCP серверийн тохиргооны жишээ:
default-lease-time 86400;
max-lease-time 604800;
option subnet-mask 255.255.255.0;
option domain-name-servers 172.16.12.1, 172.16.3.5;
subnet 172.16.3.0 netmask 255.255.255.0 {
option routers 172.16.3.25;
option broadcast-address 172.16.3.255;
range 172.16.3.50 172.16.3.250; }
subnet 172.16.12.0 netmask 255.255.255.0 {
option routers 172.16.12.1;
option broadcast-address 172.16.12.255;
range 172.16.12.64 172.16.12.192;
range 172.16.12.200 172.16.12.250; }
group {

host client1 {
hardware ethernet 00:80:c7:aa:a8:04;
fixed-address 172.16.3.4; }
host client2 {
hardware ethernet 08:80:20:01:59:c3;
fixed-address 172.16.12.2; }
host client3 {
hardware ethernet 00:00:c0:a1:5e:10; f
ixed-address 172.16.3.16; }
}

Networking

Сүлжээний картны тохиргоо
Fedora, CentOS, RedHat үйлдлийн системүүд нь ethernet сүлжээний картаа eth0, eth1, eth2 гэх мэт нэрлэдэг ба олон интерфэс картуудаа дугаарлан уг дугаараар нь ялгаж таньдаг.
Сүлжээний картны тохиргоогоо харахдаа ifconfig коммандыг ашиглана:

[root@linux ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:06:25:09:6A:B5
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47379 errors:0 dropped:0 overruns:0 frame:0
TX packets:107900 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4676853 (4.4 Mb) TX bytes:43209032 (41.2 Mb)
Interrupt:11 Memory:c887a000-c887b000

lo Link encap:Local Loopback
inet addr: 127.0.0.1 Mask: 255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:787 errors:0 dropped:0 overruns:0 frame:0
TX packets:787 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:82644 (80.7 Kb) TX bytes:82644 (80.7 Kb)

Мөн ifconfig коммандыг сүлжээний картыг тохируулахад ашиглаж болдог бөгөөд дараах бичлэгийн ерөнхий хэлбэртэй байна:
ifconfig interface-name [parameter1] [parameter2] ... [parameterN]
Голлон ашигалгддаг parameter-үүд нь:
address Тухайн интерфэйсийн хаягийг тохирхойлно
netmask Тухайн интерфэйсийн маскыг тодорхойлно
broadcast Broadcast хаягийг тодорхойлно
media интерфэйсийн төрлийг тодорхойлно
up интерфэсийг идвэхжүүлнэ
down интерфэйсийг идвэхгүй болгоно

Жишээлбэл:
[root@fedora ~]# ifconfig eth0 address 192.168.1.100 netmask 255.255.255.128 broadcast 192.168.1.127 media 10baseT up

Энэ комманд нь eth0 интерфэйст 192.168.1.100 гэсэн хаяг, 255.255.255.128 гэсэн маск оноогоод, broadcast хайг нь 192.168.1.127, интерфэйс нь 10mbps хурдтай Ethernet сүлжээ болохыг зааж өгч интерфэйсийг идвэхжүүлж байна.

Сүлжээний картны тохиргооны файл нь /etc/sysconfig/network-scripts директор дотор байрлах ба ifcfg-interfacename гэсэн хэлбэртэй нэр бүхий файлууд байна. Жишээлбэл: eth0 интерфэйсийн тохиргооны файл нь ifcfg-eth0 гэсэн нэртэй байна. Одоо сүлжээний картны тохиргооны файлын бүтцийг авч үзье. Энэ нь анхны тохиргоогоороо дараах хэлбэртэй байдаг:

[root@fedora ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

DEVICE бичлэг нь сүлжээний картны нэрийг заана. Энэхүү бичлэгт заасан энр нь сүлжээний картны тохиргооны файлын нэрнээс үл хамаарна.
BOOTPROTO бичлэг нь тухайн сүлжээний карт сүлжээний тохиргооны сервер (DHCP) ашиглах эсэхийг заах ба ашиглах тохиолдолд ямар протокол хэрэглэхийг илэрхийлнэ. dhcp бол түхиргооны сервер ашиглана, static бол ашиглахгүй.
ONBOOT бичлэг нь линукс систем асах үед тухайн сүлжээний карт идвэхжих эсэхийг заана. NO бол идвэхжихгүй, YES бол идвэхжинэ.
Эдгээр 3 бичлэг нь сүлжээний тохиргооны файл бүрт заавал байх ёстой бөгөөд бусад бичлэгүүд нь таны тухайн үеийн шаардлагаас хамааран байж эсвэл байхгүй байж болно.

HWADDR бичлэг нь сүлжээний картны МАС хаягийг заана.
IPADDR бичлэг нь сүлжээний картны IP хаягийг заана.
NETMASK бичлэг нь сүлжээний маскийг заана.

Жишээлбэл:
DEVICE=eth1
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0D:61:67:D0:B2

Энэ нь eth1 сүлжээний карт 192.168.1.1 хаяг, 255.255.255.0 масктайгаар линукс систем асах үед идэвхжинэ.

интерфэйсийг идвэхжүүлэх болон идвэхгүй болгоход ifconfig-оос гадна ifup (идэвхжүүлэх) болон ifdown (идэвхигүй болгох) коммандыг хэрэглэж болно. Жишээлбэл:
[root@linux ~]# ifdown eth1
энэ нь eth1 сүлжээний картыг идэвхигүй болгож байна.
[root@linux ~]# ifup eth1
энэ нь eth1 сүлжээний картыг идэвхижүүлж байна.


Чиглүүлэлт (Routing)
Линукс системийн чиглүүлэлтийг iproute гэдэг программ зохуцуулж байдаг. Ихэнх тохиолдолд iproute программыг суулгах шаардлагаүй өөрөө анхнаасаа суусан байдаг. routing table-ийг одоогийн байдлыг харахад route коммандыг ашиглана:
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.21.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.0.21.1 0.0.0.0 UG 0 0 0 eth0

routing table-ийг өөрчилөх мөн route коммандыг ашиглана.
Линукс системийн default gateway-г 192.168.2.1 болгон солъё гэвэл:
[root@linux ~]# route add default gw 192.168.2.1
Линукс системийг 192.168.10.0 сүлжээ руу холбогдохын тулд 192.168.2.10 gateway руу холбогдоно гэж заахын тулд:
route add 192.168.10.0 netmask 255.255.255.0 gw 192.168.2.10

route коммандыг ашиглан чиглүүлэлтийг тохилуулсаны дараа линукс системийг унтраагаад асаах үед чиглүүлэлтийн тохиргооны өөрчлөлт алга болсон байна. иймээс үүнийг линукс систем асах үед автоматаар ачаалагддаг болгох 2 арга байдаг.
1. rc.local файлд бичих
/etc/rc.local файлд байгаа бичлэгүүд нь shell script юмуу системийн комманд байх бөгөөд үүнийг систем бүрэн асаж гүйцсэн (бүх сервисүүдээ асааж дуусан)-ий дараа ажиллуулдаг. Тэгэхээр энэ файл дотор route коммандаа ашиглан өмнө үзүүлсэн шиг чиглүүлэлтийг зааж өгч болно.
2. туайн интерфэйс бүрт зориулсан чиглүүлэлтийн файл үүсгэх

2008-01-19

RPM пакеж

CentOS болон Fedora үйлдлийн систем нь rpm төрлийн пакежийг ашигладаг.
rpm пакежийн нэр нь дараах бүтэцтэй байна.

packagename-a.b.c-x.y.z.arch.rpm

  • packagename - пакежийн нэр
  • a.b.c – програмыг хөгжүүлэгчээс тодорхойлж өгсөн хувилбарын дугаар
  • х.y - build number (release number). Энэ нь хөгжүүлэгчээс тодорхойлж өгсөн хувилбарын дугаар биш бөгөөд эх кодыг rpm пакеж болгон хөрвүүлсэн хөрвүүлэлтийн дугаар юм. Анхны тохиргоо өөрчилөгдөх,
  • z - үйлдлийн систем юмуу repository-ийн нэр
  • arch – architecture
  • i386 - intel 386 болон түүнээс хойшхи CPU-тэй ажиллах боломжтой
  • sparc64 - sparc төрлийн процессортой ажиллах боломжтой
  • Noarch - процессорын архитектур харгалзахгүй ажиллана
Жишээлбэл: bobo-3.0.4-1.27.fc8.i586.rpm
bobo нэртэй пакежийн 3.0.4 дэх хувилбар(build number нь 1.27), fedora үйлдлийн системийн 8 дахь хувилбарт зориулагдсан, Intel 586 болон түүнээс хойшхи процессоруудад ажиллана

rpm пакежийг rpm гэсэн нэртэй пакеж менежерийн тусламжтайгаар удирдана. rpm пакеж менежерийг rpm коммандаар ажиллуулна. rpm коммандын ерөнхий бичлэг нь дараах хэлбэртэй байна:
rpm [operation][options] [package-files]
operation

-i package-ийг суулгах. систем ижил нэртэй package-ийг агуулаагүй байх ёстой
-U Шинэ package-ийг суулгах юмуу байгаа суусан байгаа package-ийг шинэчлэх
-F хэрэв package-ийн хуучин хувилбар суусан байгаа тохиолдолд шинэчлэх
-q суусан байгаа package-аас тодорхой мэдээллүүдийг хайна.
-V суусан package өөрчилөгдсөн эсэхийг шалгана.
-e суусан package-ийг устганa

Options
--hash (-h)
-v
--nodeps
--test
--all (-a)
--file (-f)
--requires (-R)
--list (-l)

Жишээлбэл: unrar нэртэй пакеж суусан байгаа эсэхийг шалгая:
[root@localhost Desktop]# rpm -qa unrar
unrar-3.6.8-1.lvn5.rpm
[root@localhost Desktop]#

unrar-3.6.8-1.lvn5.rpm пакежийг устгая:
[root@localhost Desktop]# rpm -e unrar-3.6.8-1.lvn5
[root@localhost Desktop]#

unrar-3.6.8-1.fc5.i386.rpm пакежийг суулгая:
[root@localhost Desktop]# rpm -ivh unrar-3.6.8-1.fc5.i386.rpm
warning: unrar-3.6.8-1.fc5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b
Preparing... ########################################### [100%]
1:unrar ########################################### [100%]
[root@localhost Desktop]#

Ийнхүү дээрхи байдлаар пакежийг суулгаж болох боловч энэ нь нэлээд их гар ажиллагаа шаардахаас гадна урьдчилан суулгасан байх шаардлагатай пакежуудыг олж суулгах гэх мэт хүндрэлтэй асуудлууд үүсдэг. Иймээс үүнийг хялбарчилах yum программыг ашиглах нь илүү үр дүнтэй байдаг.
yum гэдэг нь Yellow dog Updater, Modified гэсэн үгний товчлол юм. Энэхүү программ нь rpm пакеж ашигладаг системүүдэд зориулсан автомат пакеж шиэчилэгч, суулгагч, устгагч юм. yum программыг yum коммандаар ажиллуулна. yum коммандыг дараах хэлбэрээр бичнэ.

yum command package
  • command - ямар үйлдэл хийхийг заана.
  • install - суулгах
  • update - шинэчилэх
  • remove - устгах
  • info - товч тайлбар мэдээлэлийг харах
  • list - пакежийн жагсаалтыг харуулна
  • search - пакежийн жагсаалт болон товч тайлбараас хайх
  • package – пакежийн нэр
Жишээлбэл:

unrar нэртэй пакежийг суулгая:
[root@localhost ~]# yum install unrar

суусан байгаа пакежуудыг шинэчилье:
[root@localhost ~]# yum update

unrar пакежийг усгая:
[root@localhost ~]# yum remove unrar

unrar пакежийн талаахи мэдээллийг харъя:
[root@localhost ~]# yum info unrar

un гэсэн үгээр эхлэсэн пакежуудын жагсаалтыг харъя:
[root@localhost ~]# yum list un*

2007-11-10

Федора үйлдлийн системийг шинэчилэх

Тухай:
Аливаа үйлдлийн системийн шинэ хувилбар гарахад хүмүүс ихэнх тохиолдолд шинээр суулгадаг. Харин үүний оронд сүлжээнээс буюу интернэтээс үйлдлийн системийнхээ хуучин хувилбарыг шинэ хувилбар руу шилжүүлэх хялбар аргын тухай энд өгүүлэх ба жишээ болгон Федора үйлдлийн системийн 7-р хувилбарыг 8-р хувилбар болгон шинэчилэхийг авч үзнэ.


Шинэчилэх:
Дараах 4 алхмыг гүйцэтгэсэнээр та Федорагийн шинэ хувилбартай болно:

1. Эхлээд бүх пакежуудаа шинэчилж, yum утилитийн санг цэвэрлэсэн байх шаардлагатай. Үүний тулд дараах коммандуудыг өгнө:

# yum update -y
# yum clean all
Ингэсэнээр үйлдлийн системийг шинэчилэх явцад ямар нэгэн санамсаргүй алдаа гарахаас сэргийлнэ.

2. Үүний дараа Федора үйлдлийн системийн аль хувилбар болохыг илэрхийлэх гол бакеж болох release пакежуудыг rpm утилитийн тусламжтайгаар дараах байдлаар шинэчилнэ:
# rpm -Uvh http://mirror.anl.gov/pub/fedora/linux/releases/8/Fedora/i386/os/Packages/fedora-release-8-3.noarch.rpm
rpm -Uvh http://mirror.anl.gov/pub/fedora/linux/releases/8/Fedora/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm
3. Одоо үйлдлийн системээ шинэчилэх гол ажилдаа орно. Үүний тулд дараах коммандыг өгнө:
# yum update -y
энэ шинэчилэх ажиллагаа нь таны интернэтийн хурнаас хамаарч нэлээд удаан үргэлжилж болно. Таны интернэтийн хурд хэдий чинээ их байна төдий чинээ энэ процесс богино хугацаанд үргэлжилэх болно. Би өөрийн үйлдлийн системээ шинэчилэхэд ойлролцоогоор 650 - 1200 MB пакет сүлжээнээс татаж суулгадаг.
4. Шинэчилэх процесс дууссаны дараа компьютераа унтраагаад асаахад та Федора 8 үйлдлийн системтэй болсон байх болно.

Дутагдалтай талууд:
Интернэтийн хурднаас нэлээд их хамааралтай.
Давуу талууд:
Үйлдлийн системээ шинэчилэж байх үед та өөрийн хүссэн зүйлээ хийж байх боломжтой.

Firewall

Ноорог
Тухай:
Линукс үйлдлийн системийн firewall буюу галтханны үүргийг ихэнх тохиолдолд iptables гэдэг программ гүйцэтгэдэг.
iptables нь өөр руу нь орж байгаа, өөрөөс нь гарч байгаа, өөрөөр нь дамжин өнгөрч байгаа пакетуудтай хэрхэн ажиллах талаархи дүрмүүдийн цогцийг агуулсан хүснэгтүүд(table)-ээс бүрдэх ба тэдгээр хүснэгтүүд нь дүрмүүдийн цогц буюу дарааллуудаас бүрдэнэ. Дараалал нь дүрмүүдийг ажуулна. iptables нь filter, nat, mangle гэсэн 3 хүснэгтэй. Энд mangle хүснэгтийн талаар өгүүлэхгүй.
filter хүснэгт нь пакетад шүүлт хийх үүрэгтэй бөгөөд INPUT, OUTPUT, FORWARD гэсэн 3 дарааллаас бүрдэнэ. INPUT дараалал нь тухайн линукс систем руу орж ирж байгаа пакетанд, OUTPUT дараалал нь тухайн линукс системээс гарч байгаа пакетанд, FORWARD дараалал нь тухайн линукс системээр дамжин өнгөрч байгаа пакетуудад шүүлт хийх үүрэгтэй.
nat хүснэгт нь пакетийн хаяганд хөрвүүлэлт хийх үүрэгтэй бөөгөөд PREROUTING, POSTROUTING, OUTPUT гэсэн 3 дарааллаас бүрдэнэ. PREROUTING дараалал нь чиглүүлэлт хийхээс өмнө destination хаягийг солих, POSTROUTING дараалал нь чиглүүлэлт хийгдсэний дараа source хаягийг солих, OUTPUT дараалал нь өөрөөсөө гарч байгаа патанд хаягийн хөрвүүлэлт хийх үүрэгтэй.
Дараах зурагт пакетийн урсгалд iptables галтханны chain-үүдийн үйчлэх дарааллыг харуулав.



Суулгах:
iptables-ийг бараг ихэнх тохиолдолд анхнаасаа таны үйлдлийн системтэй хамт суусан байдаг. Иймээс үүнийг нэмж суулгах шаардлагагүй. Гэхдээ шаардлагатай тохиолдолд
# yum install iptables
коммандаар суулгаж болно.

Тохиргооны файл:
iptables-ийн тохиргооны файлыг /etc/sysconfig/iptables гэж ойлгож болох боловч ихэнх тохиололд үүнийг засварлахыг зөвлөмж болгодоггүй. Харин үүний оронд iptables гэсэн комманд ашигланыг зөвлөдөг.
iptables комманд:
iptables коммандыг бичлэгийг ерөнхийдөө
iptables command [option ... option] jump
гэсэн хэлбэртэй байдаг.
command
-A - chain-ий сүүлд дүрмийг нэмнэ.
Жишээлбэл: INPUT chain-ий дүрмүүдийн төгсгөлд бүх пакетийг хориглох дүрмийг нэмэхийн тулд дараах коммандыг бичнэ
iptables -A INPUT -j DROP

-I - chain-ийн өгөгдсөн байрлалт дүрмийг нэмнэ.
Жишээлбэл: INPUT chain-ий дүрмүүдийн 5-р мөрөнд бүх пакетийг хориглох дүрмийг нэмэхийн тулд дараах коммандыг бичнэ
iptables -I INPUT 5 -j DROP
хэрэв дүрмийн нэмэх байрлалыг тусгайдан зааж өгөөгүй бол chain дэх дүрмүүдийн эхэнд нэмднэ
-D - chain-ээс өгөгдсөн дүрмйг хасна.
Жишээлбэл: INPUT chain-ээс бүх пакетийг хориглох дүрмийг устгахын тулд дараах коммандыг бичнэ
iptables -D INPUT -j DROP
-F -өгөдсөн chain дэх бүр дүрмийг устгана
Жишээлбэл: filter table-ийн INPUT chain дэх дүрмүүдийг устгахын тулд дараах коммандыг бичнэ.
iptables -F INPUT
-L - өгөгдсөн chain дэх дүрмүүдийг харуулна
Жишээлбэл: filter table-ийн INPUT chain дэх дүрмүүдийг харахын тулд дараах коммандыг бичнэ
iptables -L INPUT
-P - default дүрмийг тодорхойлно
Жишээлбэл: filter table-ийн INPUT chain-ий default дүрмийг холигдох гэж тодорхойлохын тулд дараах коммандыг бичнэ
iptables -P INPUT DROP

option
-t - table-ийг тодорхойлно
-j - үйлдлийг тодорхойлно
-p - протоколыг тодорхойлно
--sport - тухайн протоколын source портыг тодорхойлно
--dport - тухайн протоколын destination портыг тодорхойлно
-s - source хаягийг тодорхойлно
-d - destination хаягийг тодорхойлно
-i - пакет орж ирэх интерфэйсийг тодорхойлно
-o - пакет гарах интерфэйсийг тодорхойлно

Жишээ:
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
eth0 интерфэйсээр орж ирсэн уг компьютер руу чиглэсэн вэб хандалтуудыг зөвшөөрнө.

iptables -I OUTPUT -p tcp --sport 5000 -o eth0 -j DROP
тухайн компьютераас 5000 гэсэн эх портноос tcp протоколоор хандаж буй хандалтыг хориглоно.

iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
тухайн компьютераар дамжин өнгөрч буй 10.1.1.0 255.255.255.0 сүлжээс ирсэн пакежуудын эх хаягийг eth0 интерфэйсийнхээ хаягаар сольно

Зөвлөмж:
Fedora, CentOS үйлдлийн системүүд анхны тохиргоогоороо filter хүснэгтийн INPUT зориулсан дүрмүүдийг агуулж байдаг ба уг дүрмүүдийг хэвээр хадгалаж байхыг зөвлөж байна.

2007-11-08

Вэб сервер

Ноорог
Суулгах:
Хэрэв та анх үйлдлийн системээ суулгахдаа вэб серверээ суулгаагүй бол дараах коммандаар суулгах шаардлагатай.
# yum install httpd
Үүний httpd гэдэг нь apache вэб серверийн үндсэн хэсгийнх нь нэр.

Тохиргооны файл:
Тохиргооны файл нь /etc/httpd/conf/httpd.conf боловч анхан шатны түүхий тохиргооны хувьд энэ нь тийм ч чухал зүйл биш. Анх сурч байгаа бол та үйлдлийн системийнхээ анхны тохиргоог шууд ашигласан нь дээр.

Вэбээ байрлуулах:
Анхны тохиргоогоороо вэб хуудас байрладаг үндсэн директор нь /var/www/ юм. Энэ директор дотор бас хэд хэдэн директор байдаг ба үүний html нэртэй директор дотор өөрийн статик вэб хуудсаа хуулах хэрэгтэй.

Вэб серверээ ажиллуулах:
# /etc/init.d/httpd start

Вэбээ шалгах:
Браузер дээрээ http://youripaddress гэж бичээд Enter Товч дарна. Үүний youripaddress гэсэн нь таны веб сервер ажиллуулах гэж байгаа серверийг IP хаяг байна.

 

blogger templates 3 columns | Tech Blog