You are on page 1of 305

LPI Sertifikasyon Kitab

NDEKLER
Donanm Tanma ve Yaplandrma.................................1
Donanm...............................................................................................2
ekirdek Modlleri...........................................................................4
sysfs Dosya Sistemi...........................................................................6
Udev Dosya Sistemi..........................................................................6
HAL ve D-Bus......................................................................................7
Sistem Al....................................................................8
Al Kayd Ykleyici (Boot Loader)............................................9
Grub.......................................................................................................11
Al Gnl....................................................................................13
alma Seviyeleri............................................................14
Init...........................................................................................................15
SysV Init.................................................................................................15
Upstart..................................................................................................19
Paket Ynetimi.................................................................21
Paket Ynetimi....................................................................................22
Pardus Paket Ynetimi....................................................................22
Paket sorgulama................................................................................24
Paket Kurma........................................................................................26
Paket Silme..........................................................................................26
Paket Gncelleme.............................................................................28
Red Hat Paket Ynetimi...................................................................28
RPM.........................................................................................................28
rpm2cpio..............................................................................................30
Yum Yaplandrma.............................................................................31
yumdownloader................................................................................33
Yum........................................................................................................34
Kaynak Kodundan Paket Derleme..............................................39
Ktphaneler......................................................................................40
LD Ykleyici..........................................................................................41

i
LPI Sertifikasyon Kitab

GNU ve UNIX Komutlar..................................................43


Kabuk.....................................................................................................44
Yardm Alma........................................................................................45
Komut Gemii...................................................................................45
Komut Satr........................................................................................46
evre Deikenleri............................................................................48
Program altrma...........................................................................50
k Ynlendirme............................................................................52
Ardk Komutlar - Pipe....................................................................54
Bal Komutlar....................................................................................54
Temel Komutlar..................................................................................55
ls..............................................................................................................55
pwd.........................................................................................................56
cd.............................................................................................................57
cp.............................................................................................................58
find..........................................................................................................58
mkdir......................................................................................................60
mv...........................................................................................................61
rm............................................................................................................61
rmdir......................................................................................................62
touch......................................................................................................62
cat...........................................................................................................63
wc............................................................................................................64
head.......................................................................................................65
tail...........................................................................................................65
more.......................................................................................................66
less..........................................................................................................67
nl..............................................................................................................67

ii
LPI Sertifikasyon Kitab

cut...........................................................................................................67
tr..............................................................................................................68
expand, unexpand............................................................................69
fmt..........................................................................................................70
pr.............................................................................................................70
od............................................................................................................70
paste.......................................................................................................72
join..........................................................................................................73
split.........................................................................................................75
sed..........................................................................................................76
awk.........................................................................................................79
sort..........................................................................................................81
uniq........................................................................................................81
Dosya smi rntleri......................................................................82
file...........................................................................................................83
tee...........................................................................................................83
xargs.......................................................................................................84
Disk Blmlendirmesi.....................................................86
Blmlendirme..................................................................................87
MBR........................................................................................................87
GPT GUID Disk Blmlendirme Tablosu................................87
Oluturulabilecek Disk Blmleri................................................88
Al Ykleyicisi..................................................................................89
fdisk ile Disk Blmleme.................................................................91
Dosya Sistemi Oluturma...............................................................92
Swap Alan Oluturma.....................................................................92
Dosya Sistemi Bakm.......................................................................93
fsck..........................................................................................................95
Fstab Parametreleri...........................................................................99

iii
LPI Sertifikasyon Kitab

Kota yaplandrmas..........................................................................99
Sembolik ve Hard Balantlar........................................................100
Dosya Arama.......................................................................................101
which komutu....................................................................................101
locate komutu....................................................................................102
whereis komutu.................................................................................102
Linux Yetkilendirme Modeli............................................103
Yetkiler...................................................................................................104
chown....................................................................................................106
chgrp......................................................................................................107
zel zinler(t ve s bitleri)..................................................................107
Linux Dizin Yaps.............................................................108
Hiyerari................................................................................................109
/bin.........................................................................................................110
/boot......................................................................................................110
/dev........................................................................................................110
/etc..........................................................................................................110
/home....................................................................................................111
/lib...........................................................................................................111
/lost+found..........................................................................................111
/media...................................................................................................111
/mnt........................................................................................................111
/opt.........................................................................................................112
/proc.......................................................................................................112
/root.......................................................................................................112
/sbin.......................................................................................................112
/usr..........................................................................................................113
/var..........................................................................................................113
/tmp.......................................................................................................113
Ariv ve Yedekleme..........................................................114
tar............................................................................................................115

iv
LPI Sertifikasyon Kitab

cpio.........................................................................................................116
dd............................................................................................................117
gzip, gunzip, zcat, bzip2..................................................................119
alan Sreler...............................................................120
Sreler.................................................................................................121
ps , pstree.............................................................................................121
top...........................................................................................................122
htop........................................................................................................123
free..........................................................................................................124
uptime...................................................................................................125
screen....................................................................................................125
nohup....................................................................................................128
& bg fg jobs..........................................................................................128
nice, renice...........................................................................................129
Sre Oluturma ve Sonlandrma................................................131
Sinyaller.................................................................................................132
Kill, killall...............................................................................................133
Pkill, pgrep...........................................................................................133
Dosya Dzenleyiciler.......................................................135
Nano.......................................................................................................136
Vi Dosya Dzenleyici........................................................................138
Genel......................................................................................................138
Dosya amak iin...............................................................................138
Dosyadan kmak.............................................................................139
alma Modlar.................................................................................139
Basit Vi Komutlar...............................................................................140
Kesme ve Yaptrma Komutlar....................................................140
Arama....................................................................................................141
Gelitiricilere zel..............................................................................142
BASH Betik Yazma...........................................................144
Kabuk Ortam......................................................................................145

v
LPI Sertifikasyon Kitab

Kabuk Deikenleri...........................................................................147
Alias Tanmlama.................................................................................149
Fonksiyon Tanmlama......................................................................149
Bash Kabuk Programlama..............................................................150
Parametreler........................................................................................151
Okuma Yazma.....................................................................................152
artl fadeler.......................................................................................153
Case-Esac Yaps.................................................................................157
Dng Kurmak...................................................................................158
for done...........................................................................................158
while done.....................................................................................159
until done.......................................................................................160
SQL ile Veri Ynetimi.......................................................161
SQL Veritabanlar...............................................................................162
Insert......................................................................................................163
Update...................................................................................................163
Select.....................................................................................................164
Inner Join..............................................................................................165
Delete....................................................................................................166
Order By................................................................................................166
Group By...............................................................................................168
X Grafik Sunucu...............................................................169
X Window Sunucu.............................................................................170
Xorg.conf..............................................................................................171
xwininfo................................................................................................174
xdpyinfo................................................................................................175
X Windowu Balatma......................................................................175
X Gvenlik............................................................................................176
Xhost ve DISPLAY..............................................................................176
Grafik Giri Yneticisi........................................................................178
Sistem Ynetimi...............................................................179
Kullanclar...........................................................................................180
usermod...............................................................................................182
Grup ynetimi....................................................................................182

vi
LPI Sertifikasyon Kitab

Kullanc Silme....................................................................................183
Kullanc Girilerini Kstlama.........................................................183
su ve sudo komutu...........................................................................184
Cron Grevleri....................................................................................185
Crontabn Yklenmesi.....................................................................187
Kullanclar iin Crontab Snrlamas...........................................188
at komutu.............................................................................................188
Yerelletirme ve Saat Dilmi Ayarlar............................................188
Temel Sistem Hizmetleri.................................................194
Sistem Saati.........................................................................................195
Date komutu.......................................................................................195
Hwlock komutu..................................................................................196
Zaman Dilimi Yaplandrmas........................................................197
NTP Yaplandrmas...........................................................................199
Sistem Gnlkleri..............................................................................201
Syslog servisi.......................................................................................201
Logger Komutu..................................................................................203
Gnlk Dosyalarnn Dndrlmesi...........................................204
E-posta Ynetimi................................................................................206
Temel E-posta Sunucu Ayarlar.....................................................207
E-posta stemcileri.............................................................................207
Yazc Sistemi.......................................................................................208
lpr Komutu...........................................................................................209
lpq Komutu..........................................................................................209
lprm/cancel.........................................................................................209
cupsenable/cupsdisable.................................................................209
A Ynetimi......................................................................210
Adresleme............................................................................................211
zel IPler................................................................................................. 211
Protokoller...........................................................................................213
TCP Protokol.....................................................................................213
UDP Protokol....................................................................................214
ICMP Protokol..................................................................................214
Port Numaralar..................................................................................215

vii
LPI Sertifikasyon Kitab

A Arayzleri.......................................................................................216
ethtool, mii-tool.................................................................................217
A Yaplandrmas..............................................................................219
ip komutu.............................................................................................222
IPv6.........................................................................................................225
Host DNS Yaplandrmas................................................................226
host Komutu......................................................................................227
dig Komutu.........................................................................................228
A Sorunlarn zme......................................................................229
ping Komutu......................................................................................229
traceroute Komutu..........................................................................231
netstat...................................................................................................232
netcat Komutu....................................................................................233
Gvenlik...........................................................................237
Dosya Sistemi Gvenlii.................................................................238
Glge Parola Sistemi........................................................................240
Parola Gvenlii.................................................................................240
Usermod...............................................................................................241
Kullanc Eriimini Kapatma...........................................................242
Chage.....................................................................................................242
/etc/login.defs....................................................................................243
Passwd...................................................................................................247
Ulimit ve limit.conf............................................................................247
su.............................................................................................................248
sudo ve sudoers.................................................................................249
lsof..........................................................................................................251
nmap......................................................................................................253
Tcp Wrapper........................................................................................256
/etc/hosts.{allow,deny}....................................................................258
GPG ile ifreleme ve Saysal mza................................................260
SSH Hizmeti.........................................................................................261
SSH Sunucu Yaplandrmas...........................................................262
Parolasz SSH eriimi.........................................................................263
SCP ile Dosya Transferi.....................................................................264

viii
LPI Sertifikasyon Kitab

Donanm Tanma ve Yaplandrma


Konu:
Adaylar Pardus altnda alan bilgisayar donanmn tanma,
tantma ve yaplandrma

Hedefler:
PCI veri yoluna takl donanmlar bulmak
USB aygtlar hakknda bilgi almak
Sabit disklerin isimlendirilmesini renmek
ekirdek modllerini yklemek, kaldrmak
Donanmla ilgili soyut ekirdek arayzleri
Anahtar Kelimeler:
USB, lsusb, PCI, lspci, /sys, /proc, /dev, modprobe, lsmod, lspci,
lsusb, sysfs, udev, hald, dbus

1
LPI Sertifikasyon Kitab

Donanm
Linux, navigasyon cihazndan TV kutusuna, akll tahtaya; tabletten sper bilgisayar-
lara, a ynlendiricilere kadar ok sayda mimari ve platformu desteklemektedir. En
ok kullanlan platform Intel x86 ilemcili IBM PC ve benzerleridir.

PC donanmlar yllar ierisinde pek ok deiiklik geirmitir. 90l yllar ve ncesinde


ISA veri yolu kullanlrken artk ISA veri yollu PC retilmemekte, yerini PCI veri yolu
almtr. PCI, ilemci, bellek ve aygtlar arasnda yksek hzda veri transferi yaparken
donanmlarn daha kolay tanmlanmasn salayan bir ID sistemine sahiptir. Bu saye-
de aygt tr, reticisi ve modeli kolaylkla bulunabilir.

lcpci komutu, PCI veri yoluna bal aygtlarn listesini almak iin kullanlr. Datm-
larn kurulum programlar bu verileri kullanarak doru aygt srclerini ykleyebil-
mektedir.

$ lspci -v
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX -
82443BX/ZX/DX Host bridge (rev 01)
Subsystem: VMware Virtual Machine Chipset
Flags: bus master, medium devsel, latency 0
Kernel driver in use: agpgart-intel

00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX -


82443BX/ZX/DX AGP bridge (rev 01) (prog-if 00 [Normal
decode])
Flags: bus master, 66MHz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-
latency=64

00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4


ISA (rev 08)
Subsystem: VMware Virtual Machine Chipset
Flags: bus master, medium devsel, latency 0

Eski PS/2 klavye ve fare, seri porttan bal modemler ve paralel porttan taklan yaz-
clar iin ortak olarak USB balant arayz gelitirilmitir. USB, hotplug olarak canl
sisteme balanmay ve balanty kesmeyi destekler.

2
LPI Sertifikasyon Kitab

Bir USB cihaz sisteme balandnda 1-127 arasnda bir numara atanr. Bal USB ci-
hazlarn listesini almak iin:

$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate
Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate
Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0781:5567 SanDisk Corp. Cruzer Blade

Sistemde ne kadar USB aygt tanml olduunu grmek iin:

# find /dev/bus/
/dev/bus/
/dev/bus/usb
/dev/bus/usb/002
/dev/bus/usb/002/006
/dev/bus/usb/002/005
/dev/bus/usb/002/004

Belirli bir aygt iin detayl bilgi almak iin:

# lsusb -D /dev/bus/usb/002/005
Device: ID 0951:1643 Kingston Technology DataTraveler G3 4GB
Couldnt open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 00951 Kingston Technology
idProduct 01643 DataTraveler G3 4GB
[...]

3
LPI Sertifikasyon Kitab

Daha fazla detay iin v seenei kullanlabilir.

Linux iin nemli donanm bileenlerinden biri de disklerdir. IDE (P-ATA), SATA ve
SCSI olarak deiik balant arayzleri gelitirilmitir.

IDE disk, silindir, sektr ve okuma/yazma kafasndan bamsz yazlan sral bloklar
eklinde kullanlr. 40 veya 80 pinlik paralel veri yolu ierir. SATA ise 7 hattan ibaret
seri haberleme kullanr. SATA diskler hotplug kullanlabildiinden RAID-5 ve RAID
1 gibi yaplandrmalar iin elverilidir. Ayrca 2.5 ve 3.5 iin ayn balant kablosunu
kullanr. Dier nemli zellii ise daha hzl olmasdr.

Linux, P-ATA diskleri /dev/hdX eklinde isimlendirir. lk kablo zerindekiler hda, hdb
ve ikinci kablo zerindekiler hdc, hdd eklinde isimlendirilir. Bunlar da kendi iinde
primary veya mantksal blmler ierebilir. Primary blmler 1-4 arasnda bir numara
alrken, mantksal blmler 5-63 arasnda bir numara alr. rnein: /dev/hda1, /dev/
hdc5...

SATA diskler ise SCSI diskler gibi isimlendirilmektedir.

SCSI, disk ve teyp src gibi cihazlar iin uzun yllardan beri kullanlan bir tekno-
lojidir. Bugnlerde SCSI yerine daha hzl olan SAS (Serial Attached SCSI) daha ok
tercih edilmekte. SAS, teknoloji olarak SATAya ok benzemekte ve bu nedenle ayn
backplanei kullanabilmektedirler.

IDE ve SATA daha uygun maliyeti nedeniyle masast bilgisayarlarda tercih edilirken
SCSI ve SATA daha kararl ve performansl olmas nedeniyle sunucu bilgisayarlarda
kullanlmaktadr.

Linux altnda, SCSI balantlar hakkndaki bilgiler /proc/scsi dizini altndadr.

SCSI diskler /dev altnda sda, sdb, sdX eklinde isimlendirilirken CD-ROM src /
dev/st0, teyp src /dev/sg0 eklinde isimlendirilir.

ekirdek Modlleri
Linux iletim sistemi ok geni evre cihaz destei sunmaktadr. evre cihazlar, bil-
gisayarlar tamamlayan ilemci ve bellek gibi ana donanmlarn dnda kalan pek
ok donanm ifade etmek iin kullanlr. Ses kart, ekran kart, USB arayzler, seri ve

4
LPI Sertifikasyon Kitab

paralel port, sabit diskler, RAID kartlar, ethernet kartlar... gibi pek ok donanm ve bu
donanmlar reten pek ok retici marka desteklenmektedir.

evre deikenlerini kullanabilmek iin srclerinin yklenmesi gerekmektedir. Li-


nux, yklenebilir ekirdek modllerine sahiptir. Bu sayede alan ekirdek boyutu
kk tutulurken donanmlara ait srcler istendiinde ekleniyor, gerek kalmad-
nda kaldrlabiliyor.

Yklenebilir ekirdek modlleri /lib/modules yer alr gerektiinde aadaki komut


ile yklenir:

# modprobe modlad

Modprobe, yklenmek istenen modln ihtiya duyduu yklenmemi dier


modlleri de ykler. Birbirine ihtiya duyan modlleri tespit etmek iin depmod
komutu kullanlr. Bu komut /lib/modules altnda modules.dep dosyasn oluturarak
ilikili modllerin veritabann kartr.

Modller yalnzca donanmlar iin kullanlmaz. Programclar iin kolaylk saladn-


dan a protokollerinin uyarlanmasndan, ekirdek tabanl bir ifreleme algoritmasna
kadar pek ok destek modller ile salanabilmektedir.

u an ykl modlleri grmek iin:

$ lsmod
Module Size Used by
iptable_filter 12536 0
ip_tables 22042 1 iptable_filter
x_tables 19118 2 ip_tables,iptable_filter
mperf 12453 0
[...]

Modlleri silmek iin:

# modprobe r modlad

5
LPI Sertifikasyon Kitab

sysfs Dosya Sistemi


sysfs dosya sistemi, sisteme bal cihaz ve veri yollarn kullanc ortamnda eriilebilir
bir dosya sistemi olarak sunar.

Linux 2.4 srmde ekirdek ve sistem yaplandrmalarna ulamann tek yolu


/proc dosya sistemi idi. Zamanla bu dosya sistemi, fazlaca dosya ve klasr nedeniy-
le karmak bir hal almtr. Bu nedenle 2.6 srm ile birlikte ekirdek programclar
/proc altnda yalnzca alan srelere (process) ait bilgileri tutup ekirdee ait
dier bilgileri /sys altndaki sysfs dosya sistemine tamtr.

# ls -l /sys/devices/
toplam 0
drwxr-xr-x 3 root root 0 Kas 9 16:54 breakpoint
drwxr-xr-x 3 root root 0 Kas 9 16:54 cpu
drwxr-xr-x 6 root root 0 Kas 9 16:54 LNXSYSTM:00
drwxr-xr-x 45 root root 0 Kas 9 16:54 pci0000:00
drwxr-xr-x 10 root root 0 Kas 9 16:54 platform
drwxr-xr-x 17 root root 0 Kas 9 16:54 pnp0
drwxr-xr-x 3 root root 0 Kas 9 16:54 software
drwxr-xr-x 7 root root 0 Kas 9 16:54 system
drwxr-xr-x 3 root root 0 Kas 9 16:54 tracepoint
drwxr-xr-x 15 root root 0 Kas 9 16:54 virtual

Udev Dosya Sistemi


Linuxun eski srmlerinde olas tm aygtlar /dev klasr altnda statik olarak olu-
turmakta idi. Ancak modler yapnn gelmesi ile birlikte bu yaklam da deitirilmi-
tir. Bir aygt yalnzca yklendiinde ona ait kullanc ortamnda bir dosya oluturul-
malyd. Udev (userpace dev) bu amala gelitirilmi dosya sistemidir. Beraberinde
namedev isimli aygtlar adlandrmak iin kullanlan ktphane ve ekirdekte olan
aygt hareketlerini dinleyerek gerekli eylemi gerekletiren udevd isimli servis de gel-
mektedir.

6
LPI Sertifikasyon Kitab

ekirdek tarafndan retilen olay mesajlar (bir USB cihazn taklmas veya kartlmas
gibi) kullanc ortamnda rastgele srada ular. Udevd servisi, hotplug olaylarn sra-
ya sokulmasn da salar. Udevd servisi balamadan nce olan olaylara ait mesajlar,
udevd baladktan sonra ekirdek tarafndan gnderilir. Sistem balamadan taklan
cihazlar coldplug, sistem alrken taklan cihazlar hotplug olarak adlandrlr.

HAL ve D-Bus
HAL (Hardware Abstraction Layer), ekirdekte aygtlarla ilgili olan bir olayn kullanc
ortamndaki bir yazlmla ilikilendirilebilmesi iin gelitirilmitir. rnein bir dijital
kamera takldnda yeni fotoraflarn otomatik indirilmesi gibi.

Programlar bilgilendirmek iin HAL, sreler aras haberleme (IPC) teknii ile olu-
turulan D-Bus kullanr. Programlar D-Bus zerinden donanm olaylarn dinler ve bil-
gi alrlar. Ayn olay iin birden fazla programa bilgi verilebilir.

7
LPI Sertifikasyon Kitab

Sistem Al
Konu:
Donanmn alndan kontroln ekirdee ve ordan kullancya
geene kadar geen sreci anlama

Hedefler:
PC ve iletim sistemi aln anlamak
Al parametrelerini ihtiyaca gre zelletirebilmeyi ren-
mek
Ala dair gnlk dosyasn okuyabilmek
Anahtar Kelimeler:
MBR, Grub, /var/log/messages, dmesg, BIOS, bootloader, kernel,
init, syslog, initrd

8
LPI Sertifikasyon Kitab

Al Kayd Ykleyici (Boot Loader)


Bilgisayarnz atnz zaman ilemci bildii bir adresten kod altrr. IBM uyum-
lu bir PC iin bu adres, anakart zerindeki flash bellee yazlm BIOS (Basic Input/
Output System)tur. BIOS, bilgisayarn CPU, bellek, disk gibi temel donanmlar arar
ve test eder. Daha sonra BIOS yaplandrmasnda belirtilen sra ile iletim sisteminin
yklenecei CD-ROM veya sabit disk gibi ortam tespit eder.

letim sistemi olmadan iletim sistemini yklemek zor bir ilemdir. O nedenle ykle-
me birka admdan olumaktadr. nk iletim sistemi henz ortada olmad iin
dosya sistemi, disk ynetimi, istenen her kodun altrlmas sz konusu deildir.
Yklemenin her admnda kazanlan bir yetenek ile daha fazlas yaplr ve bir sonraki
adma geilir.

BIOSun tespit ettii ve iletim sistemini yklemeye balayacak zel kod ieren yk-
leme medyasnn ilk 512 bytelk ksm boot sector veya MBR (Master Boot Recor)
olarak adlandrlr. Henz ortada iletim sistemi olmad ve dosya sistemi tannmad-
iin diskin herhangi bir yerindeki iletim sistemini bulmak imkanszdr. O nedenle
disklerin ilk 512 byte sabittir ve ykleme ileminin balad noktadr. MBR boyutu
kk olduu iin, burada ykleme iini balatacak ve grevi ykleme iini yapacak
asl programa devredecek kk bir uygulama bulunmaktadr.

Intel, BIOS yapsnn yerini alacak EFI standardn gelitirmitir.


OS Loader
EFI, iletim sistemi ile donanm arasnda bir arayz sunar. Bu ara-
yzn BIOSa gre avantajlar vardr:
EFI Byk disklerden boot imkan
CPU bamsz mimari
CPU bamsz srcler
Firmware
A balants imkan sunan esnek OS ncesi ortam
Modler yap
Hardware
Daha fazla adreslenebilir bellek
MBRye alternatif GUID Partion Table ile esnek blmlendir-
me yaps
Linuxn GPT tabanl diskleri okuyabilmesi iin ekirdekte CONFIG_EFI_PARTITION
aktif olmaldr.

9
LPI Sertifikasyon Kitab

Linux altnda yaygn olarak kullanlan iki al kayd ykleyicisi vardr: LILO (Linux
Loader) ve GRUB (Grand Unified Boot Loader). Al kayd ykleyicileri temel ola-
rak ekirdein yerini bulur ve balatr. Bunun yannda al yneticisi olarak alr
ve birden fazla ekirdek ykleyip onlar arasnda seim yaplmasn da salar. GRUB,
LILOnun baz dezavantajl noktalarn kapatan daha profesyonel bir zm olarak
daha ok tercih edilmektedir.
Powe-up / Reset

System startup BIOS / BootMonitor

Stage 1 bootloader Master Boot Record

Stage 1 bootloader LILO, GRUB, etc.

Kemel Linux

Init User-space

Operation

ekirdek, sktrlm olarak (bzip veya gzip) saklandndan altrlabilir deildir.


ekirdein banda minumum donanm yaplandrmasn yapacak ve takip eden s-
ktrlm ekirdei bellee aacak kod paras bulunmaktadr.

ekirdein yklenmesi esnasnda GRUB tarafndan bellee yklenmi ilk kk dosya


sistemi olacak initrd kopyalanr ve balanr (mount). Initrd, ekirdein al esnasn-
da baka bir diske ihtiya duymadan kullanaca bellekte yerlemi kk dosya sis-
temidir. Daha sonra gerek dosya sistemine ulaana kadar buray kullanr. Yklenen
ekirdek modler yapy destekler. Initrd dosya sisteminde, iletim sisteminin al
iin gerekli modlleri iermektedir. Bu modller yklendikten sonra ki bunlarn iin-
de asl kullanlacak diskin srcs de vardr- asl dosya sistemine eriilir ve kk dosya
sistemi olarak asl disk balanr.

Asl disk balandktan sonra artk disk zerindeki program ve betiklere ulalabilmek-
tedir. Bu aamada Linux, kullanc ortamnn (user space) ilk alan sreci olacak initi
altrr. Init, /etc/inittab yaplandrmasna gre al betiklerini altrarak ayarlan-
m alma seviyesinden iletim sisteminin dier bileenlerini altrarak kullanc
giri ekranna kadar gelir. Bu aamadan sonra kontrol kullancya devredilir.

10
LPI Sertifikasyon Kitab

Grub
Grub, ekirdekten bamsz oklu nykleme yapabilen kk bir iletim sistemidir.
Dosya sistemlerini tanmlar, al yapacak ekirdek imajlarn ykler ve ykleme i-
lemini ynetecek komut satr sunar. Birden fazla iletim sistemi ve birden fazla disk
arasnda seim yapmay salad gibi kullancdan ald parametreleri ekirdee
geer.

GRUB kendisini bellee aadaki admlarda ykler:


1. Adm veya Birincil nykleyici: BIOS tarafndan MBRden okunarak yklenir. 512
bytedan kktr. Adm 1.5 veya Adm 2 al kaydn ykleme yeteneine sahip-
tir.
Adm 1.5 n kayt ykleme birincil nykleyici tarafndan bellee gerektiinde
yklenir. Baz donanmlar (LBA mod harddiskte /boot blmnn 1024den yu-
karda bir silindirde yer almas gibi) ykleme yapabilmek iin bu ara adma ihtiya
duyar.
Adm 2 veya kincil nykleyici bellee yklenir. Bu adm GRUB mensn gste-
rir ve komut satr ortamn sunar. letim sistemi veya ekirdek seilebilir, ekirde-
e zel parametreler gnderilebilir.
kincil nykleyici, /boot/sysroot ile birlikte seilen ekirdei bellee ykler ve
kontrol bu ekirdee devreder.

GRUB, ext2 dosya sistemlere ulaabilir. Bu sayede LILOda olduu gibi /boot/grub/
grub.conf ta yaplan deiiklikler iin her defasnda MBRye ykleme yapmaya gerek
yok. nk ykleme esnasnda bu dosyaya kendisi ulaarak yaplandrmay okuya-
bilmektedir. GRUB yalnzca /boot un bulunduu disk blm deiirse yklemeye
ihtiya duyar.

# /sbin/grub-install /dev/hda

GRUB komut satr yklemeyle ilgili birok komutu kullanma sunar. Bunlardan bir
ksm aada verilmitir:

boot
letim sistemini ykler.

11
LPI Sertifikasyon Kitab

displaymem
BIOStan alnan bilgilere gre mevcut bellek kullanm gsterilir.
initrd /initrd-2.6.4.img
Kullancnn balang iin ram disk belirtmesini salar.
install <stage-1> <install-disk> <stage-2> p <config-file>
GRUBu MBRye ykler.
Stage-1: Birincil nykleyicinin bulunduu yer. rnek: (hd0,0)/grub/stage1

kernel /vmlinuz-2.6.4.img ro root=/dev/VolGroup00/LogVol00


letim sistemi iin yklenecek ekirdei belirler. Buradan ekirdee parametre
gnderilebilir. (rnekteki ro gibi)
help all komutu kullanlarak tm komut ve parametreler hakknda bilgi alnabilir.
Bir iletim sisteminin GRUB mensnde grnmesi iin /boot/grub/grub.conf
yaplandrma dosyasnda olmas gerekmektedir. Aada hem Linux hem de MS Win-
dows iletim sistemlerinden al yapabilecek rnek bir yaplandrma dosyas yer
almaktadr:

default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Pardus (2.6.4)
root (hd0,0)
kernel /boot/vmlinuz-2.6.4 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.4.img

# section to load Windows


title Windows
rootnoverify (hd0,0)
chainloader +1

Ekranda GRUB mens grntnde a tuuna basarak ekirdek parametreleri d-


zenlenebilir. rnein aya basldnda gelen ekranda boluk brakp alma zaman
yazlarak al esnasnda alma zaman deitirilebilir:

grub append> ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3

12
LPI Sertifikasyon Kitab

e harfine basarak altan nce komut dzenlenebilir. rnein al diski deimi-


se root komutuyla bunun gruba bildirilmesi gerektiinde. Dzenlemeler sadece o
al iin geerlidir, kalc deildir.
c harfine basarak Bash benzeri bir komut satr alnr.

Al Gnl
Al sorunlarnn zm, aratrma imkanlar snrl olduundan baz durumlarda
zor olabilmektedir. Linux sistemler alrken ekirdek ekrana bir takm mesajlar basar.
Bazen bu mesajlar, alta kullanlan bir grafiin arkasnda kalmaktadr. ESC tuuna
basarak bu grafik kaldrlp alttaki mesajlar grlebilir.
ekirdek lolar alta zel bir tampon alana yazlr ve daha sonra dmesg komutu
ile grntlenir. Sistem gnln tutan syslogd hizmeti devreye girdikten sonra ise
bu lolar syslogd zerinden gnlk dosyalarna yazlr. Balang mesajlar da dahil,
bu gnlkler /var/log/syslog dosyasnda bulunur.

# tail /var/log/syslog
Dec 14 22:43:29 pardus postfix/local[9759]: 513CA17FAC1:
to=<root@pardus>, orig_to=<root>, relay=local, delay=0.62,
delays=0.32/0.27/0/0.03, dsn=2.0.0, status=sent (delivered
to command: procmail -a $EXTENSION)
Dec 14 22:43:29 pardus postfix/qmgr[3296]: 513CA17FAC1:
removed
Dec 14 22:45:01 pardus /USR/SBiN/CRON[9817]: (root) CMD
(command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Dec 14 22:45:32 pardus dbus[2423]: [system] Activating
service name=org.freedesktop.PackageKit (using
servicehelper)
Dec 14 22:45:32 pardus AptDaemon: INFO: Initializing
daemon
Dec 14 22:45:32 pardus AptDaemon.PackageKit: INFO:
Initializing PackageKit compat layer
Dec 14 22:45:32 pardus dbus[2423]: [system] Successfully
activated service org.freedesktop.PackageKit
Dec 14 22:50:32 pardus AptDaemon: INFO: Quitting due to
inactivity
Dec 14 22:50:32 pardus AptDaemon: INFO: Quitting was
requested
Dec 14 22:55:01 pardus /USR/SBiN/CRON[9854]: (root) CMD
(command -v debian-sa1 > /dev/null && debian-sa1 1 1)

13
LPI Sertifikasyon Kitab

alma Seviyeleri
Konu:
Kontroln ekirdekten kullancya gemesi ve farkl alma sevi-
yeleri iin kullanc ortamnn hazrlanmas

Hedefler:
Init programn anlamak
alma seviyesini belirleyebilmek
Bilgisayar kapatmak, yeniden balatmak
Al betiklerini anlamak
Anahtar Kelimeler:
/etc/inittab, shutdown, init, telinit, /etc/init.d

14
LPI Sertifikasyon Kitab

Init
ekirdek aln tamamlayp kullanc ortamna gei yaptnda alan ilk program
/sbin/init olup PID numaras daima 1dir. Bu sre teorik olarak hibir zaman lmez
ve btn dier srelerin anasdr. init sreci lse de ekirdek almaya devam eder.

ekirdein baka bir init program altrmas iin al esnasnda parametre geil-
mesi gerekir. init=/sbin/sysinit

SysV Init
Linux datmlarn pek ou UNIX SysV init yapsn kullanr. Bu yapda alma seviye-
leri vardr (run levels) ve her bir alma seviyesini hazr edecek betikler vardr. Byle-
ce farkl farkl alma ortamlar elde edilir. rnein sunucu sistemler genelde grafik
arayzn olmad bir seviyeden alrken, disk bakm yapacak bir sistem yneticisi
diske yazmann en alt dzeyde olduu bir seviyeden al yapar.

alma seviyeleri 0-6 aras bir rakam olmak zere 7 tanedir.

0 Halt
1 Tek kullancl minimal al, bakm veya kurtarma modu
2, 3, 4, 5 ok kullancl al. 3 text konsol, 5 grafik arayz.
6 Reboot

Sistem /etc/inittab dosyasnda belirtilen initdefault deeriyle alr. alma seviye-


sini deitirmek iin bu deerin deitirilmesi gerekmektedir. Pardus iin ntanml
deeri 2dir.

# Level to run in
id:2:initdefault:

# Boot-time system configuration/initialization script.


si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.


~:S:wait:/sbin/sulogin

15
LPI Sertifikasyon Kitab

# /etc/init.d executes the S and K scripts upon change


# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6

# What to do at the 3 finger salute.


ca::ctrlaltdel:/sbin/shutdown -t1 -h now

# Runlevel 2,3: getty on virtual consoles


# Runlevel 3: getty on terminal (ttyS0) and modem (ttyS1)
1:23:respawn:/sbin/getty tty1 VC linux
2:23:respawn:/sbin/getty tty2 VC linux
3:23:respawn:/sbin/getty tty3 VC linux
4:23:respawn:/sbin/getty tty4 VC linux
S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
S1:3:respawn:/sbin/mgetty -x0 -D ttyS1

16
LPI Sertifikasyon Kitab

inittab dosyasnda geen baz kelimelerin anlamlar:

respawn: Sonlandnda otomatik olarak yeniden balatlan program.


wait: Bir kere alr ve init bitmesi iin beklemede olur.
initdefault: ntanml alma seviyesi.
ctrlaltdel: Ctrl+Alt+Del tu kombinasyonuna basldnda ne yaplacak.
Al esnasnda e harfine basarak komut dzenlemesi yaparak alma seviyesi gei-
ci olarak deitirilebilir. ekirdek seilerek komutun sonuna alma seviyesi rakamla
yazlr ve sistem alr. rnein alma seviyesini 3 yapmak iin:

kernel/boot/vmlinuz-2.6.30root=/dev/sda2ro3

alma seviyesine ait btn betikler /etc/init.d altnda yer alr. Her bir alma sevi-
yesi iin /etc/rcX.d eklinde bir dizin olup o seviyede altrlacak yada durdurulacak
betiklere ait sembolinkler linkeri ierir. Yani /etc/init.d altndaki btn betikler al-
trlmaz, sadece ilgili alma seviyesinden linklenmi betikler alr. alma seviyesi
dizinleri unlardr:

rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d

rc2.d ierii aadaki gibidir:

$ ls /etc/rc2.d/
README S19binfmt-support S21acpid
S21loadcpufreq S21ssh S22postfix
S25bootlogs
S01decnet S19dnet-progs S21acpi-support
S21mysql S21sysstat S23openvpn
S25samba
S01motd S19preload S21atd
S21ntp S21xinetd S24cups
S26winbind
S01nvidia-kernel S19rsyslog S21cron
S21quotarpc S22avahi-daemon S24gdm3
S27plymouth
S16rpcbind S19sudo S21dbus

17
LPI Sertifikasyon Kitab

S21radvd S22bluetooth S24pulseaudio


S27rc.local
S17nfs-common S19syslog-ng S21iodined
S21rsync S22cpufrequtils S24saned
S27rmnologin
S19acpi-fakekey S20apache2 S21irqbalance S21speech-
dispatcher S22network-manager S24scanbuttond S27stop-
readahead-fedora S89cron

Sembolik link isimleri S (Start) veya K (Kill) ile balar. S ile balayanlar bir servisi bala-
trken K ile balayanlar sonlandrr. S ile balayanlarda betie start, K ile balayanlar-
da stop parametresi gnderilir. Rakamlar (01-99), bir sralama olumas iindir. Baz
servislerin dierlerinden once balamas gerekebilir. Bu durumda daha kk rakam
verilir.

rnein:

S20exim4 -> ../init.d/exim4


S20fam -> ../init.d/fam
S20hylafax -> ../init.d/hylafax
S20inetd -> ../init.d/inetd
S20mailman -> ../init.d/mailman
S20makedev -> ../init.d/makedev
S20pcmcia -> ../init.d/pcmcia
S20samba -> ../init.d/samba
S20ssh -> ../init.d/ssh

Bir nceki ve imdiki alma seviyesini grmek iin:

# runlevel
N 2

18
LPI Sertifikasyon Kitab

alma seviyesini bir seferliine deitirmek iin init veya telinit komutu kullanla-
bilir:

# telinit 3

Sistemi kapatmak (halt) veya yeniden balatmak (reboot) iin telinit kullanlabilir. An-
cak daha gvenli yok olarak shutdown komutu kullanlabilir. halt ve reboot komut-
lar da ayn ilevi grrler. Bu iki komut da nihayetinde shutdownu farkl paramet-
relerde aran ksaltmalardr. Ayn ekilde poweroff komutu da yine shutdownu
kullanan farkl bir ksaltmadr.

# shutdown [-t sec] [-arkhncfFHP] sre [uyar mesaj]

sre parametresi olarak now denirse ilem hemen gerekletirilir. stenirse ileri bir
zaman verilebilir. Genel kullanma ak sunucularda system kapamalar planldr ve
nceden duyurulur.
Aada farkl shutdown kullanmlar grlmektedir.

# shutdown -h now

# shutdown -r now

#shutdown -h 16:30

#shutdown -r +10

Son kullanmdaki +10, u andan itibaren 10 dakika sonra reboot et demektir.

Btn komutlar verebilmek iin sisteme root olarak giri yapmak gerekmektedir.
Bilgisayar kapatmann dier yolu da, sisteme hi giri yapmadan Ctrl+Alt+Del tu
kombinasyonuna baslarak yaplr. Bunun iin sistemin klavyesine fiziksel olarak eri-
mek gerekmektedir.

Upstart
SysV init modelinde sral ve senkron bir yap vardr. Balang betiklerinin belli bir
srada ve yalnzca kullancnn alma seviyesi deitirmesi durumunda almasna
karn Upstart, asenkron ve olay (event) bazldr. SysV init modelindeki betikler yerine
19
LPI Sertifikasyon Kitab

burada grevler (Jobs) vardr. Ubuntu tarafndan desteklenen Upstart uyumluluk iin
SysV betikleri desteklemektedir.

Upstart, arkaplanda srekli alacak hizmetler ile geici sreyle alan grevleri bir-
birinden ayrmaktadr. Upstartn en nemli fark SysV init betiklerinde olduu gibi
karmak ve uzun ablonlu betiklere ihtiya duymamasdr. Aada rnek bir betik
grlmektedir:

description ornek servis


start on filesystem
stop on runlevel [06]

expect fork
respawn

exec servis d9 r

init programn control etmek iin initctl komutu kullanlr:

# initctl list

20
LPI Sertifikasyon Kitab

Paket Ynetimi
Konu:
Pardus ve Red Hat paket ynetim sistemlerini tanmak

Hedefler:
Pardus altnda paket kurmak, kaldrmak ve gncelleyebilmek
Red Hat altnda paket kurmak, kaldrmak ve gncelleyebilmek
Kaynak kodundan program kurmak
Anahtar Kelimeler:
apt-get, dpkg, yum, rpm, rpm2cpio, ldconfig, LD_LIBRARY_PATH

21
LPI Sertifikasyon Kitab

Paket Ynetimi
Linux altnda paket ynetimi pakete ait tm operasyonlar(kurma, gncelleme ve
kaldrma) kapsar. Bir uygulama kurulumu iki trl yaplabilmektedir.
1. Hazr paketlerden kurulum yapmak.
2. Ak kod uygulamay kaynak kodundan derleyerek kurmak.
Paketten kurulum olduka kolay olup tm gereksinimler ve kurulum sonras yaplacak
kinci yntem olan kaynak kodundan derleme baz avantajlar olsada birinciye gre
fazla tercih edilmemektedir. Bir pakedi kaynak kodundan derlerken, derleyici para-
metreleri sistemdeki ilemciye gre deitirilerek uygulamann daha hzl almas
salanabilir. Bazen de hazr paket ihtiya duyduumuz bir parametre ile derlenmedi-
i iin kaynak koddan kurmak gerekebiliyor..Ancak kod derlemek, derleme sonrasn-
da al betiklerini ayarlamak gibi iler yeni balayanlar iin zor olabilir.

Hazr paketten kurma yntemide kullanc paket ve bamllklarnn nasl kurulmas


gerektiini bilmesine gerek kalmadan kolayca kurulum ve gncelleme yapabilir.
Pardus Paket Ynetimi
Pardus paket ynetimi olarak Debian paket yneticisini kullanmaktadr. Debian pa-
ketleri .deb uzants ile ifade edilir. Paketleri ynetmek iin kullanlan komutlar: dpkg,
apt-get apt-cache alien ve aptitude

APT(Advanced Packaging Tool) paketlerin ihtiya duyduu paketleri de belirleyerek


otomatik olarak kuran bir paket ynetim aracdr.
Paketlerin internet zerinde tutulduu yerlere depo(repository) ad verilir. Pardusta
kullanlacak depolar /etc/apt/sources.list dosyasnda tanmlanr.

# cat /etc/apt/sources.list
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
anahavuz wheezy main contrib non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
anahavuz wheezy-proposed-updates main contrib non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
cokluortam wheezy main non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
guvenlik wheezy/updates main contrib non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
ozelhavuz wheezy main non-free

22
LPI Sertifikasyon Kitab

Dpkg komutu RPM datmlarndaki rpm komutuna karlk gelir. Apt-get ve apt-cac-
he komutlar da yum elenii denilebilir. Aptitude metin tabanl arayz ile paket y-
netimi yapmaktadr. Alien komutu ile deb/rpm paket dnm yaplabilmektedir.
Bir yazlm rpm paketi var fakat deb formatnda paketi yoksa alien komutu sayesinde
rpm paketinden debian paketine dnm yaplabilir. Tam tersi olarak deb paketin-
den de rpm paketi yaplabilmektedir.

Grafik arayznde synaptic paket yneticisi sayesinde grsel olarak paket kurulumu
yaplabilir.

Komut satrnda ise menu tabanl aptitude paket yneticisi kullanlabilir.

23
LPI Sertifikasyon Kitab

Sonraki blmlerde kabuk zerinde altrlabilecek komutlar ile paket ynetimi an-
latlacaktr.

Paket sorgulama
dpkg -l veya --list paremetresi ile sistemde kurulu tm paketler listelenir.

# dpkg l

dpkg S parametresi ile bir dosyann hangi paket tarafndan kurulduu renilir.

# dpkg -S /bin/ls
coreutils: /bin/ls

Yukardaki ktya gre /bin/ls dosyas coreutils isimli paket ile birlikte gelmektedir.
dpkg L komutu ile bir paketin kurduu tm dosya ve komutlar listelenir.

# dpkg -L vim
/.
/usr
/usr/bin
/usr/bin/vim.basic
/usr/share
/usr/share/doc

24
LPI Sertifikasyon Kitab

/usr/share/bug
/usr/share/bug/vim
/usr/share/bug/vim/script
/usr/share/bug/vim/presubj
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/vim
/usr/share/doc/vim

Bir paketin ihtiya duyduu tm baml paketleri listelemek iin apt-cache depends
komutu kullanlr.

# apt-cache depends vim


vim
Depends: vim-common
Depends: vim-runtime
Depends: libacl1
Depends: libc6
Depends: libgpm2
Depends: libselinux1
Depends: libtinfo5
Suggests: <ctags>
exuberant-ctags:i386
exuberant-ctags
Suggests: vim-doc
Suggests: vim-scripts
Conflicts: vim:i386

apt-cache search komutu ile tanml paket depolarnda bulunan paket listesinde ara-
mas yaplabilir. Aadaki rnekte iinde vim geen tm paketler listelenmitir.

# apt-cache search vim


apvlv - PDF viewer with Vim-like behaviour
bicyclerepair - A refactoring tool for python
cernlib-base - CERNLIB data analysis suite - common files
vim-migemo - VIM plugin for C/Migemo
...

25
LPI Sertifikasyon Kitab

Paket Kurma
Pardus paket depolar /etc/apt/sources.list dosyasnda tanmlanr.

# cat /etc/apt/sources.list
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
anahavuz wheezy main contrib non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
anahavuz wheezy-proposed-updates main contrib non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
cokluortam wheezy main non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
guvenlik wheezy/updates main contrib non-free
deb [arch=amd64,i386] ftp://depo.pardus.org.tr/kurumsal/
ozelhavuz wheezy main non-free

apt-get install parametresi veya dpkg --install ile Aadaki komutlarla paket kuru-
labilir.
apt-get install paketad
dpkg i paketad.deb veya dpkg install paketad.deb

# apt-get install zsh


Reading package lists... Done
Building dependency tree
Reading state information... Done
..

Paket Silme
dpkg r veya apt-get remove komutu ile yaplandrma dosyalar hari tm dosyalar
silinir. Her eyi silmek iin de apt-get purge parametresi kullanlr.

# apt-get remove zsh


Reading package lists... Done
Building dependency tree
Reading state information... Done

26
LPI Sertifikasyon Kitab

The following packages were automatically installed and


are no longer required:
libdbi1 libevtlog0 libmongo-client0 libnet1 libsyslog-
ng-3.3.5
Use apt-get autoremove to remove them.
The following packages will be REMOVED:
zsh*
0 upgraded, 0 newly installed, 1 to remove and 40 not
upgraded.
After this operation, 11,7 MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 184455 files and directories
currently installed.)
Removing zsh ...
Processing triggers for menu ...
Processing triggers for man-db ...
# apt-get purge zsh
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and
are no longer required:
libdbi1 libevtlog0 libmongo-client0 libnet1 libsyslog-
ng-3.3.5
Use apt-get autoremove to remove them.
The following packages will be REMOVED:
zsh*
0 upgraded, 0 newly installed, 1 to remove and 40 not
upgraded.
After this operation, 0 B of additional disk space will be
used.
Do you want to continue [Y/n]? y
(Reading database ... 183293 files and directories
currently installed.)
Removing zsh ...
Purging configuration files for zsh ...
Processing triggers for menu ...

27
LPI Sertifikasyon Kitab

Paket Gncelleme
apt-get update komutu ile gerek manada bir paket gncellemesi yaplmaz. Sadece
paketin indeks dosyalar ve kaynaklar gncellenir. apt-get upgrade ile de yeni s-
rmler kurulur.

# apt-get update
Get:1 ftp://depo.pardus.org.tr wheezy Release.gpg [1.672 B]
Get:2 http://download.opensuse.org ./ Release.gpg [189 B]
Get:3 ftp://depo.pardus.org.tr wheezy-proposed-updates
Release.gpg [836 B]
Hit http://download.opensuse.org ./ Release
Hit ftp://depo.pardus.org.tr wheezy Release.gpg
..

Red Hat Paket Ynetimi


Pardus, Red Hat paket ynetim sistemlerinin hibirini kullanmaz ancak Red Hat ve
klonu iletim sistemlerinin yaygn kullanlmas Pardus sistemlere destek veren m-
hendislerin bu popler paket ynetim sistemini de bilmesini gerekli klmaktadr.

RPM
RPM, Red Hatin klasik paket ynetim aracdr. Paket kurmak, kaldrmak ve gncelle-
mek iin kullanlr.
Temel rpm komutlar aadaki tabloda yer almaktadr.

lem Ksa Parametre Uzun Parametre


Gncelleme/Kurma -U --upgrade
Kurma -i --install
Silme -e --erase
Sorgulama -q --query
Dorulama -V --verify
mza Kontrol K --checksig
Tazelem,sadece kurulu ise
-F --freshen
gncelle
Veritabann ilkle Yok --initdb
Veritabann tekrar olutur Yok --rebuilddb

28
LPI Sertifikasyon Kitab

# rpm -ivh xsnow-1.41-1.i386.rpm


xsnow ##################################################

Paket zaten kurulu ise aadaki gibi bir hata mesaj alnr:

# rpm -ivh xsnow-1.41-1.i386.rpm


package xsnow-1.41-1 is already installed

Bu durumda paketin nce silinmesi gerekir. Paket silmek iin:

# rpm -e xsnow
error: removing these packages would break dependencies:
/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1

Bir pakete ait yazlmlar bir baka paket tarafndan kullanlyorsa rpm dorudan silin-
mesine izin vermez. ncelikle silinecek pakete ihtiya duyan paketin silinmesi gere-
kir. Eer ne yaptmzdan eminsek rpmi aadaki gibi --force ile zorlayabiliriz:

# rpm -ivh --force xsnow-1.41-1.i386.rpm


xsnow ##################################################

Mevcut paketin yeni srm km ise aadaki komut ile mevcut paket gncellenir:

# rpm -Uvh xsnow-1.42-1.i386.rpm


xsnow ##################################################

Eer paket kurulu deilse, gncelleme anlamndaki -U, ykleme anlamndaki -i gibi
alr.

Bir paketin kurulu olup olmadn sorgulamak iin:

# rpm -q xsnow
xsnow-1.41-1

29
LPI Sertifikasyon Kitab

Paket ierisinden kan dosyalar listelemek iin:

# rpm -ql xsnow


/etc/X11/applnk/Games/xsnow.desktop
/usr/X11R6/bin/xsnow

Kurulu tm paketleri grmek iin:

# rpm -qa | less


filesystem-2.4.0-1.el5.centos
termcap-5.5-1.20060701.1
glibc-2.5-12
glib2-2.12.3-2.fc6
...

-V parametresi ile orijinal kurulumdan sonra paketin dosyalarnda deiiklik var m


diye kontrol edilebilir. Sisteme bir saldrgan girdiinde hangi programlar vs deitir-
diini anlamada olduka faydal olmaktadr.

rpm2cpio
RPM olarak paketlenmi bir dosyay cpio ariv formatna evirir. Genel olarak RPM
paketten istenen bir dosyay kartmak iin kullanlr.

# rpm2cpio logrotate-1.0-1.i386.rpm > blah.cpio


# file blah.cpio
blah.cpio: ASCII cpio archive (SVR4 with CRC)

rpm2cpio, tpk cpio gibi Stdouta yazdndan ktnn bir dosyaya ynlendirilmesi
gerekmektedir.

30
LPI Sertifikasyon Kitab

Dier yntem:

# cat logrotate-1.0-1.i386.rpm | rpm2cpio > blah.cpio

Bu aamadan sonra cpio zerindeki tm ilemler yaplabilir.

Paket ieriini grntlemek iin:

# rpm2cpio logrotate-1.0-1.i386.rpm | cpio -t


usr/man/man8/logrotate.8
usr/sbin/logrotate
14 blocks

Paketin ierisinden bir dosya kartmak iin:

# rpm2cpio logrotate-1.0-1.i386.rpm |cpio -ivd


usr/man/man8/logrotate.8
usr/man/man8/logrotate.8
14 blocks

Yum Yaplandrma
Yum yaplandrma dosyas /etc/yum.conf dosyasdr. ntanml dosya aadaki gi-
bidir:

[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=2

31
LPI Sertifikasyon Kitab

cachedir:
Yumun nbellek ve dosya veritabann tutaca dizin
keepcache:
1 veya 0 olabilir.
logfile:
Yumun gnlklerini yazaca dosya
exactarch:
1 veya 0 olabilir. Yalnzca bilgisayar mimarisine (i386, i686, x64 gibi) ait
paketleri ykleme karar
gpgcheck:
1 veya 0 olabilir. Paketin saysal imzasn kontrol etme karar

Yum depo alanlar yum.confta [repository] blm alarak tanmlanabilir. Ancak


genelde /etc/yum.repos.d dizini altndaki .repo dosyalarnda tanmlanr. /etc/yum.
conf altnda aadaki gibi bildirimle depo tanmlarnn (.repo dosyalar) olduu dizin
belirtilir.
reposdir=/etc/yum.repos.d/
Depo blmleri en az aadaki iki deeri iermelidir:

[repository]
name=repository_name
baseurl=repository_url

name:
Depo ad

baseurl:
Deponun tam yolu
Baseurl aadaki biimdedir:

baseurl=http://path/to/repo/rel/$releasever/server/$basearch/os/

Depoyu etkin veya devre d yapmak iin enabled tanm yaplr. 1 veya 0 olur. 1 ol-
mas durumunda paket yklemelerinde kaynak olarak kullanlacaktr.

enabled=1
32
LPI Sertifikasyon Kitab

rnek:

[red-hat-enterprise-linux-sfs]
name = Red Hat Enterprise Linux Scalable FS
baseurl = https://cdn.redhat.com/content/dist/
rhel/entitlement-6/releases/$releasever/$basearch/
scalablefilesystem/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem

Yum yaplandrmalarnda kullanabileceiniz deikenler vardr:


$releasever
Srm numaras
$arch
Mimari

yumdownloader
Yum-utils paketi gelen bu programck ihtiya duyulan rpm paketi indirmek iin kul-
lanlr. Normalde Yum gncel olan paketi indirmez. Ancak bu pakete ihtiyacnz varsa
yumdownloader kullanabilirsiniz.
Yum dosyay indirmiyor:
$ yum --downloadonly install openssh-server
Loading downloadonly plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Nothing to do

Yumdownloader her durumda indiriyor:

$ yumdownloader openssh-server
openssh-server-4.3p2-19.f 100% |=========================|
252 kB 00:01

33
LPI Sertifikasyon Kitab

Kaynak kod paketini indirmek iin:

$ yumdownloader --source zsh


...
Enabling fedora-source repository
fedora-source/metalink | 1.7 kB 00:00
zsh-4.3.10-5.fc13.src.rpm | 2.6 MB 00:30

Yum
Yum, Red Hatin paket yneticisi olup paketler hakknda sorgular yaplmasna, pa-
ketlerin depolardan ekilmesine, yklenmeleri ve kaldrlmalarna ve btn sistemin
gncellenmesine imkan tanr.
Yum ayn zamanda paket bamllklarn otomatik tespit ederek kaldrlan yada yk-
lenen paketin ihtiya duyduu dier paketleri de ykler.

Yum, kendi paket deponuzu kurmanz da salar.


Yumu kullanmak iin super kullanc olmanz gerekmektedir.

Gncel Paket Sorgulama


Sisteminizdeki hangi paketin gncellemesini ktn renmek iin:

34
LPI Sertifikasyon Kitab

Paket Gncelleme
Tek bir paketi gncellemek iin:

Paket Arama
Btn RPM paketlerinin isminde, tanmnda ve zet bilgisinde anahtar kelime kulla-
nlarak arama yaplabilir. Birden fazla anahtar kelime belirtilebilir.

Arama, hangi paketi kuracanzdan emin olmadnz ancak neyle ilgili olduunu
tahmin ettiinizde kullanlabilirsiniz.

35
LPI Sertifikasyon Kitab

Paket Listeleme
Paket veya paket gruplar hakknda bilgi almak iin list kullanlr. Arama yaparken ifa-
deler kullanlabilir.
Arama, hangi paketi kuracanzdan emin olmadnz ancak neyle ilgili olduunu
tahmin ettiinizde kullanlabilirsiniz.

$ yum list kernel


Installed Packages
kernel.x86_64 2.6.18-238.12.1.el5 installed
Available Packages
kernel.x86_64 2.6.18-371.1.2.el5 updates

yum list all


Btn ykl veya kullanma hazr paketleri listeler
yum list installed
Sadece yklenmi paketleri gsterir
yum grouplist
Paket gruplarn listeler
yum repolist
Depo IDsi, ismi ve sunulan paket saysn listeler

Paket Bilgisi
Bir veya daha fazla paket hakknda bilgi almak iin info kullanlr.

36
LPI Sertifikasyon Kitab

Paket Kurmak
Bir veya daha fazla paketi kurmak iin install kullanlr.

~]# yum install sqlite2.i586


~]# yum install audacious-plugins-\

Paket adn bilmiyorsanz yklemek istediiniz programn tam yolunu vererek de ku-
rulum yapabilirsiniz.

~]# yum install /usr/sbin/named

Paket Gruplar
Ayn amaca ynelik paketler ayn Grup IDsi altnda gruplanmlardr. Bylece tek ko-
mutla birbiriyle ilgili btn paketler kurulabilir.

Btn gruplarn listesini kartmak iin:

~]# yum grouplist v

Bir paket grubunu yklemek iin:

~]# yum groupinstall kde-desktop

Ayn ii yapan install komutu:

~]# yum install @kde-desktop

37
LPI Sertifikasyon Kitab

Gemi Hareketler
history parametresi yum ile yaplan hareketleri grmenizi salar.

En son hareketleri listelemek iin:

# yum history list

Btn hareketleri grmek iin:

# yum history list all

Verilen aralktaki hareketleri grmek iin:

# yum history list start_id..end_id

Yeni bir gemi balatmak iin:

# yum history new

ID: Tek bir hareketi tanmlayan tamsay deer


Login user: Hareketi balatan kullanc
Actions: Hangi hareket yapld
Altered: Hareketin ka paketi etkiledii

38
LPI Sertifikasyon Kitab

Kaynak Kodundan Paket Derleme


Linux altnda programlar derlemek iin gcc kullanlr. Programlar insanlarn anlaya-
ca dille yazldndan makinann (programlar yorumlayan ilemcidir) anlayaca
dile evrilmesi lazm. Bu ii derleyiciler yapar ve bu ileme program derleme denir.

Kurulacak bir programn ncelikle indirilmesi gerekir. Programlar genelde gelitirici-


lerin web sayfalarndan veya SourceForge ve Freshmeat gibi programlara ev sahiplii
yapan genel amal yerlerden elde edilebilir.

http://www.sourceforge.net
http://www.freshmeat.net

Programlar, datmnn daha kolay yaplabilmesi iin kodlar birletirilmi ve sktrl-


m olarak gelirler. Tar komutu birletirmek, gzip komutu ise sktrmak iin kullanlr.
Programcnn bu komutlarla birletirip datt paketin ters ilemlerle almas gere-
kir. .tar.gz uzantl bi kaynak kod aadaki gibi alr:

# tar -zxf qsheff-II-2.1-r3.tar.gz

Program amadan nce iinde ne var grmek isteyebilirsiniz:

# tar -ztf qsheff-II-2.1-r3.tar.gz | less


qsheff-II-2.1-r3/README
qsheff-II-2.1-r3/src/exec.h
qsheff-II-2.1-r3/src/qsheff-config.h.in
qsheff-II-2.1-r3/src/main.c

tar komutuna verilen z parametresi gzip ile sktrlm dosyay amak iindir. x ise
tar ile birletirilmi dosyay paralamak iindir. Baz programlar gzip yerine daha ok
sktrma salayan bzip2 ile sktrlr. Byle bir dosyay amak iin z yerine j kulla-
nlr:

# tar -jxf qsheff-II-2.1-r3.tar.bz2

39
LPI Sertifikasyon Kitab

GNU autotools ile oluturulmu yazlmlar aadaki srayla kurulur:

# ./configure
# make
# make install

Bunlara make config veya make test gibi ilave kontroller de eklendii oluyor. Ancak
genel kurulm bu ekildedir. Configure betii genel ve her programa zel olmak zere
parametreler alabilir. rnein --prefix parametresi genel bir parametre olup prog-
ramn nereye kurulacan gsterir. Parametreler hakknda bilgi almak iin kaynak
kodun olduu dizinde aadaki komutu verin:

# ./configure help
Installation directories:
--prefix=PREFIX install architecture-independent
files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent
files in EPREFIX
[PREFIX]
Optional Features:
--enable-debug Enable debug messages
--disable-local-users Disable the filters for
local users
--enable-syslog Enable syslog messages
--enable-backup Enable backup

make program derler, make install ise dosya sistemine yerletirir.

Ktphaneler
Linux programlar ya dinamik yada statik derlenirler. Statik olarak derlenen program-
lar, her ne fonksiyona ihtiya duyarsalar kendi ierisinde onu barndrrlar. Yani tam
ve bamsz olarak alabilecek ekildedirler. Dinamik olarak derlenen programlar,
almas iin harici ktphanelere ihtiya duyarlar. Ktphaneler, programclarn sk
kullanlan fonksiyonlar topladklar kodlardr.
40
LPI Sertifikasyon Kitab

ldd komutu bir programn statik mi yoksa dinamik mi olduunu; dinamikse hangi
ktphanelere ihtiya duyduunu belirler.

# ldd /bin/ln
linux-vdso.so.1 (0x00007fffae5ff000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
(0x00007f52a6ccb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f52a7096000)

LD Ykleyici
Dinamik derlenmi programlar baz fonksiyonlar harici ktphanelerden kullanr;
kendi iinde bulundurmaz. Dinamik bir program altrldnda ihtya duyduu k-
tphaneleri ykleyen programa dinamik ykleyici denir. Bu program ld-linux prog-
ramdr:

# ls -l /lib/ld-linux.so.2

lrwxrwxrwx 1 root root 25 Au 29 15:16 /lib/ld-linux.so.2


-> i386-linux-gnu/ld-2.17.so

Dinamik ykleyici ktphaneleri bulmak iin iki dosyay kullanr: /etc/ld.so.conf ve /


etc/ld.so.cache dosyalar.

# cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

Yukardaki dosyada sistem arayaca paylaml ktphane dizinlerinin listesinin /


etc/ld.so.conf.d dizininde .conf ile biten dosyalarda tutulduu ifade edilmektedir. Di-
zinin ierii u ekilde dosyalardan olumaktadr.

# ls /etc/ld.so.conf.d
i486-linux-gnu.conf libc.conf x86_64-linux-gnu.conf zz_
i386-biarch-compat.conf

41
LPI Sertifikasyon Kitab

# cat /etc/ld.so.conf.d/x86_64-linux-gnu.conf

# Multiarch support

/lib/x86_64-linux-gnu

/usr/lib/x86_64-linux-gnu

Bu dosyann ierisine ktphaneler iin baklmas gerekli dizinler yazlr.

Linux ld.so.conf dosyas ve dizinlerinedeil, onun derlenmi hali olan ld.so.cachee


bakar. ld.so.conf dosyalarnda bir deiiklik yapldnda her zaman aadaki komut-
la cache dosyas oluturulmaldr:

# ldconfig

Dinamik ykleyicinin grd tm ktphaneler aadaki komutla grntlenebilir:

# ldconfig -p
1292 kitaplk, `/etc/ld.so.cache arabelleinde bulundu
libzvbi.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/
libzvbi.so.0
libzvbi-chains.so.0 (libc6,x86-64) => /usr/lib/x86_64-
linux-gnu/libzvbi-chains.so.0
libzbar.so.0 (libc6,x86-64) => /usr/lib/libzbar.so.0
libz.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libz.so.1
.....

Eer dinamik ykleyicinin ncelikle istenen bir dizindeki ktphaneleri kontrol


etmesi istenirse LD_LIBRARY_PATH evre deikeni kullanlabilir.

# export LD_LIBRARY_PATH=/usr/lib/dizin1:/usr/local/lib/
dizin2

42
LPI Sertifikasyon Kitab

GNU ve UNIX Komutlar

Konu:
Kabuk, komut satr ve temel Linux komutlar

Hedefler:
Kabuk hakknda bilgi sahibi olmak
evre deikenlerini grntlemek, atamak, kullanmak
Komut satrnda alabilmek
Komut altrmak, komutlar birbirine balamak
Temel Linux komutlarn tanmak
Anahtar Kelimeler:
Bash, export, env, echo, cd, pwd, ls, sed, awk, xargs, tr, find, cat, wc

43
LPI Sertifikasyon Kitab

Kabuk
Kullanclarn iletim sistemi ile etkileebilecei iki ana ortam mevcuttur. Bunlardan
birisi grafik masast, dieri de komut satrdr. Komut satrn sunan ve komutlar
yorumlayp altran kabuk programdr.

En yaygn kullanlan kabuk program Bash olmakla birlikte ksh, csh, zsh gibi farkl
kabuklar da bulunmaktadr.

Sistemde kullanlabilecek tm kabuklar /etc/shells dosyasnda tanmlanmaktadr.

Sisteme giri yaparken her kullanc iin tanml bir kabuk alr. Kabuk program kul-
lancya bir komut satr (prompt da denir) sunar ve komut girmesi iin bekler. Bash
bu komutu yorumlayp gerekli programlar altrr ve sonlanmalarn bekler. lem-
ler bittikten sonra kontrol yeniden kabua geer ve kabuk yeniden komut girii iin
bekler. Kabuktan k yaplana kadar bu dng devam eder.

Kullanlan kabuu grntlemek iin aadaki komut kullanlr.

$ echo $SHELL
/bin/bash

Kabuu deitirmek iin chsh komutu kullanlabilr:

$ chsh -s /bin/sh
Changing shell for user1.
Password:
Shell changed.

Yeni kabuun aktif hale gemesi iin sistemden kp yeniden giri yapmak gerekir.
Eer kullanlan kabuk yalnzca mevcut oturum iin deitirilmek istenirse dorudan
kabuk altrlr:

$ bash
user1@pardus $

Bu durumda sisteme bir sonraki girite yine eski kabuk alacaktr.

44
LPI Sertifikasyon Kitab

Yardm Alma
Linux, konsol altnda text tabanl yardm alnabilecek man (manual) olarak bilinen bir
sistem sunmaktadr. Programlar, biimlendirilmi manual yardm dosyalar ile birlikte
datlmaktadr. man komutu bu sayfalar biimli bir ekilde okumaya ve kullancya
gstermeye yarar. rnein aadaki man komutuyla mann kendisi hakknda yar-
dm alnabilir:

$ man man

Man sayfas okunurken ok tular kullanlarak aa ve yukar ilerlenebilir. / iaretine


basldnda yardm sayfas iinde arama yaplabilir. Bir sonraki arama sonucu iin n,
bir ekran aa kaydrmak iin SPACE, bir ekran yukar kmak iin b ve yardm sayfa-
sndan kmak iin q tuuna baslr.

Ayn konu ad iki farkl anlam ierebildiinden (komut olan read ile system ars
olan read gibi) yardm sayfalar aadaki gibi blmlendirilmitir:

Blm No Aklama
1 Komutlar (sistem yneticileri iin)
2 ekirdek sistem arlar (ekirdek programclar iin)
3 Ktphane fonksiyonlar (kullanc ortam programclar iin)
4 Aygt dosyalar
5 Dosya biimleri
6 Oyunlar
7 Dier
8 Sistem ynetim komutlar (root kullancs iin)
9 ekirdek rutinleri

Komut Gemii
Kullancnn verdii komutlar ev dizini altndaki .bash_history dosyasnda tutulur.
history komutu bu dosyay grntler. Yakn bir zamanda kullandnz uzunca bir
komutu bu ekilde tekrar geri arabilirsiniz.

45
LPI Sertifikasyon Kitab

Daha once verilmi bir komutu geri getirmenin en kolay tuu yukar ve aa ok tu-
uyla komutlar zerinde dolamaktr. Dier bir yntem ise Ctrl-R ile geriye doru
komutlar zerinde arama yapmaktr. Komutla alakal birka harf yaznca ilgili btn
gemi komutlar bulacaktr. Birden fazla alternative sonu ktnda tekrar tekrar
Ctrl-R yaplarak istenen komut bulunana kadar dolalabilir.

history komutu grep ile birlikte kullanlarak da aranlan komut bulunabilir.

$ history | grep mysqladmin

Komut Satr
Kabuk programn kullancya sunduu iki komut satr vardr: Esas komut satr, yar-
dmc komut satr. Bunlar PS1 ve PS2 deikenlerinde tutulur.

[user1@pardus ~]$ echo $PS1


[\u@\h \W]\$
[user1@pardus ~]$ echo $PS2
>
[user1@pardus ~]$

\u kullanc (user), \h host, \W ise alma dizini anlamndadr. Byle bir prompt user1
kullancsnda $ ile biterken root kullancsnda # ile biter.
$ ve # komut girii iin beklenildiini gsteren simgelerdir. Yetkili kullanc sisteme
giri yapm ise #, normal kullanc giri yapm ise $ grecektir.

Yardmc prompt tamamlanmam komut satrlar iin kar. rnein:

$ ls | \
> grep conf*
httpd.conf

\ simgesi komut satrnn bitmediini ve bir alt satrdan devam ettiini gsterir. Ge-
nelde bir satra smayacak kadar uzun olan komutlar iin veya komutlarn gzel g-
rnmesi iin kullanlr. Bu durumda bir sonraki satrda yardmc prompt (>) karak
komutun devam ettiini ve hala girdi yaplmas gerektiini bildirir.

46
LPI Sertifikasyon Kitab

$ echo Pardusun sayfasi


>

Yukardaki komutta yardmc prompt kmasnn nedeni tek trnak () iaretinin ko-
rumasz kullanmdr. Kabuk trnak atnza kanaat getirdiinden trna kapatana
kadar sizden komut girdisi isteyecektir. Komutun devam etmesi gerektiini gster-
mek iin yardmc prompt sunmutur. Trnak burada ayra olarak kullanlmtr. Ayra
olarak kullanlan trnan \ katakteri ile korunmas gerekir:

$ echo Pardus\un sayfasi


Pardusun sayfasi

Eer trnak am iseniz bu durumda korumaya gerek yoktur. nk \ karakteri olma-


d srece kabuk trnaklar bu ekilde yorumlar.

$ echo Kullanicilar:
> user1 user8 user15
Kullanicilar:
user1 user8 user15

Komut satrndan girilen komut eer zel anlam olan fonksiyonlardan biri deilse
diskte bulunarak altrlr. rnein:

$ ls
dosya.txt sirala.sh

Eer komutun zel anlam var ise Bash tarafndan yorumlanarak gerei bash tarafn-
dan yerine getirilir. Aadaki ifadeler Bash iin zel anlamldr. Bunlar zel anlaml
olup kabuu yetenekli klan zel fonksiyonlar sunar. rnein for ve while ile dng
kurulabilir. if-then-else-fi yaps ile arta bal ilem yaplabilir.

! case do done elif else esac fi for function if in select


then until while { } time [[ ]]

47
LPI Sertifikasyon Kitab

evre Deikenleri
evre deikenleri, programlama dillerindeki deikenler (variable) gibi belirli bilgi-
leri tayan zel stringlerdir. Uygulamalar, bu evre deikenlerinin deerlerine gre
davranlarn deitirebilir.

evre deikenlerine, deiken adnn bana $ eklenerek ulalr.

env komutu ile o anda tanml tm evre deikenleri listelenir.

root@pardus:~# env
TERM=xterm
SHELL=/bin/bash
XDG_SESSION_IE=9076065b0c479abada74f8f6524155ec-
1386782093.179827-446063787
SSH_CLIENT=10.41.255.17 55148 22
SSH_TTY=/dev/pts/0
USER=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin
PWD=/root
LANG=tr_TR.UTF8
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=10.41.255.17 55148 172.16.45.219 22
DISPLAY=localhost:10.0
_=/usr/bin/env

48
LPI Sertifikasyon Kitab

Bir deiken sadece iinde bulunulan kabuk iinde kullanlacaksa u ekilde tanm-
lanr:

$VAR1=15
$ echo $VAR1
15

Eer deiken global olacaksa alan alt srelerde de bu deerin geerli olmas iste-
niyorsa export komutu kullanlr.

$ export VAR1=15

Bir betikten baka bir betik arldnda yeni bir kabuk ortamna girilir. Baka kulla-
nclarn iinde bulunduu kabuklarn her biri de ayr bir ortam saylr.

Tanml olan bir evre deikenini silmek iin ise unset komutu kullanlr. Bu komut
parametre olarak deiken adn banda $ iareti olmadan- alr.

$ echo $A
5
$ unset A
$ echo $A

Sk kullanlan baz evre deikenleri aadaki gibidir:

PATH: Verilen komutlarn hangi dizinlerde aranacan belirler. Bu deikende kolon


ayrac : ile ayrlm birden fazla dizin yolu tanmlanabilir.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

49
LPI Sertifikasyon Kitab

HOME: Kulancnn ev dizinini gsterir.

$ echo $HOME
/home/user1

SHELL: Kullancnn kabuunun tam yolunu gsterir.

$ echo $SHELL
/bin/bash

LANG: Sisteminde tanml dil ayarlarn gsterir.

$ echo $LANG
tr_TR.UTF8

EDITOR: Aksi belirtilmedike dosya ilemlerinde kullanlacak ntanml dosya dzen-


leyiciyi belirler. rnein crontab e ile zamanlanm grevler alrken bu deikene
baklr.

PS1: Kullancnn birincil komut satrn ekillendirir.

PS2: Kullancnn ikincil komut satrn ekillendirir.

Program altrma
Linux altnda bir program, komutu veya betii altrabilmek iin programa ait dos-
yann altrma yetkisinin olmas gerekmektedir. Yetkiler ls -l komutuyla grlebilir.

$ ls -l /bin/cat
-rwxr-xr-x 1 root root 51856 Oca 26 2013 /bin/cat

Bir komut eer alma yolunda(PATH) ise herhangi bir dizinden altrlabilir. PATH
kabukta komut tam yol verilmeden yazldnda komutun sra ile hangi dizinlerde
aranacan belirleyen zel bir evre deikenidir. Sistem komutlar alma PATHine
yerletirildii iin tam yolunu vermeden altrlabilir. Ancak kendi programlarmz
veya betikler genelde standart sistem PATHinde olmad iin tam yolu verilerek a-
ltrlmal.
50
LPI Sertifikasyon Kitab

$ ls

ls komutu sistemin alma yolunda olduundan her yerden altrlabilmektedir.

$ /home/ahmet/scripts/script2.sh
$ ./script2.sh

Yukardaki kullanmlardan ilkinde altrlacak betiin tam yolu verilmitir. Tam yolu
verilmezse sistem tarafndan betiin bulunmas mmkn deildir. kinci kullanmda
ise altrlmak istenen betik bulunulan dizindedir. . sembol bulunulan dizini sim-
gelemektedir.

$ ../script2.sh

Yukardaki kullanmda ise .. ile bir st dizin simgelenmektedir. Siz bir alt dizinde yer
alyor ve bir st dizindeki betii altrmak istiyorsanz bu ekilde kullanlabilir.

Sistem yalnzca standart yerlerdeki programlardan haberdardr. Sistemin standart


PATHini grmek iin:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Bu komutun cevap olarak dnd dizinlerdeki btn altrlabilir programlar sis-


temin herhangi bir yerinden balatlabilir.

Eer bir dosya veya dizine erimek iin dosya/dizin ad / ksmndan balayarak yaz-
lrsa buna tam yol denir. Bunun dndaki tm dosya yollarna( . .. ./ vb) greceli yol
ad verilir.

51
LPI Sertifikasyon Kitab

k Ynlendirme
Bashgelimi bir kabuk program olup pek ok ileri kolaylatrc zellikler sunmak-
tadr. Bash kabuk altnda bir komutun ktlar bir dosyaya ynlendirilebilir. Bu sayede
komut ktlar kalc olarak diske yazlp daha sonra zerlerinde allabilir.
Linuxde 3 adet ntanml dosya tanmlaycs (file descriptor) vardr:

Standart Girdi (stdin) : alan programn dosya vb kaynaklar amadan veri oku-
mak iin kullanaca kayna belirtir. n tanml olarak stdin klavyeden veri alr.
Stdin dosya numaras 0dr.
Standart kt (stdout) : alan programn ktlarn gnderecei hedefi belirtir.
n tanml olarak kt terminale baslr. Stdout dosya tanmlama numaras 1dir.
Standart Hata (stderr) : alan programn hata ktlarn gnderecei hedefi be-
lirtir. n tanml olarak hata terminale baslr. Hata dosya tanmlama numaras 2dir.

Stdin ynlendirmesi < karakteri ile yaplr.

$ sort < /etc/passwd

Stdout ynlendirilmesi > veya >> karakteri ile yaplr.

$ echo 2048 > /proc/sys/fs/file-max

Stderr ynlendirmesi iin stdoutdan farkl olarak 2 nolu standart hata numaras be-
lirtilerek 2> eklinde yaplr.

$ touch dosya.txt 2> /tmp/err.log

Hem STDOUT hem de STDERRyi ayn dosyaya ynlendirmek iin:

$ cat dosya.txt > /tmp/err.log 2>&1

52
LPI Sertifikasyon Kitab

rnekler:

$ ps -U ahmet > procs.txt


$ cat procs.txt
PID TTY TIME CMD
14481 ? 00:00:00 sshd
14482 pts/1 00:00:00 bash
14565 pts/1 00:00:00 ps

Ps komutu alan sreleri gsterir. Bu komutun kts grld gibi ekrana deil
procs.txt dosyasna yazlmtr.

$ echo Dosya sonu >> procs.txt


$ cat procs.txt
PID TTY TIME CMD
14481 ? 00:00:00 sshd
14482 pts/1 00:00:00 bash
14565 pts/1 00:00:00 ps
Dosya sonu

Yukarda > yerine >> karakterleri kullanlmtr. Bu karakter mevcut dosyann sonuna
ekleme yapar. Dosyann eski ierii silinmez, onun hemen ardndan eklenir. Tek >
karakteri ise daha nceki ierii temizler ve dosyann ierisinde yalnzca son alan
komutun kts yer alr.
> /dev/null 2>&1 : Stdoutu /dev/nulla ynlendirir. Stderryi de stdouta ynlendi-
rir. Stdout /dev/nulla ynlendirildii iin stderr ve stdout /dev/nulla ynlendirilir.

2>&1 > /dev/null: Stderr, stdouta ynlendirilir. Sonra sadece stdout /dev/nulla
ynlendirilir.

1>&2 > /dev/null: stdout, stderrye ynlendirilir. Sonra stdout /dev/nulla ynlendi-
rilir. Stderra dokunulmaz.

53
LPI Sertifikasyon Kitab

Ardk Komutlar - Pipe


Bash altnda bir komutun kts bir dosyaya ynlendirilebildii gibi bir baka komuta
gnderilebilir. Pipe denen bu ilem u biimdedir:

# komut1 | komut2 | komut3 ...

Burada komut2 ve komut3 n girdileri standart giriten alan programlar olmas ge-
rekir. rnein grep komutu giriten verilen metin ierisinde istenen kelimeleri arar
ve bulursa ekrana yazar.
Yalnzca ls komutu verildiinde kt u ekilde:

$ ls
a.txt beni.oku procs.txt program sirala.sh surecler.
txt yedek.tar.gz

| ile beraber ls ve grep birletirildiinde:

$ ls | grep s
procs.txt
sirala.sh
surecler.txt

ls komutunun kts ekrana baslmad fakat grep komutuna gnderildi. grep komu-
tu ise kendine gelen ierikte s harfini arad ve bulduunu ekrana bast.

Bu komutlar srayla altrlr. Yani nce ls altrlr, sonra kts grepe verilerek grep
altrlr.

Bal Komutlar
Birbirine bal iki komut && karakterleri kullanlarak altrlr. rnein make komu-
tu baarl olursa make install komutu altrlacaksa:

# make && make install

eklinde iki komut balanr. Eer make ilemi hata verirse make install yaplmaz.

54
LPI Sertifikasyon Kitab

Temel Komutlar
Linux altnda kullanlabilecek yzlerce komut ve yardmc ara vardr. Aada bunlar-
dan Linuxu ynetmek iin gerekli olanlar anlatlmtr.

ls
Dizin ieriini (dosya ve alt dizinleri) listeler.
ls komutunun pek ok parametresi vardr. Yardm sayfalar (man ls) kullanlarak de-
tayl bilgi alnabilir.
-a
. ile balayan dosyalar da listeler.
-A
. (iinde olunan dizin) ve .. (bir st dizin) hari tm dosyalar listeler.
-F
Dosyalar birbirinden ayrt etmek iin dizinlerin sonuna (/), altrlabilir
dosyalarn sonuna (*), sembolik linklerin sonuna (@), soket dosyalarn so-
nuna (=) ve FIFO dosyalarn sonuna (|) ekler.

# ls -F
dosya.txt* sirala.sh*

-R
Alt dizinleri de zyinelemeli olarak gsterir.
-S
sim sralamasndan nce boyut sralamas (en byk dosya nce) yapar.
-i
l ile birlikte her bir dosya iin seri numaras olarak kullanlabilecek inode
numarasn gsterir.
-l
Detayl biimde dosyalar listeler.
-p
Dizin olan dosyalarn sonuna / karakteri ekler.

# ls -p
dizin1/ dosya.txt sirala.sh

-n
-l ile kullanldnda kullanc ad yerine kullanc IDsi grntlenir.
-r
Ters srada listeler.

55
LPI Sertifikasyon Kitab

# ls -l
toplam 8
drwxr-xr-x 2 root root 4096 Ara 13 20:56 dizin1
-rwxr-xr-x 1 root root 18 Ara 11 19:19 dosya.txt
-rwxr-xr-- 1 root root 0 Ara 11 20:10 sirala.sh

Detayl gsterimde sol bata dosya trn belirten bir karakter yer alr. Bu karakter-
lerin anlamlar yledir:

b Blok dosya.
c Karakter dosya.
d Dizin.
l Sembolik balant.
s Soket haberleme dosyas.
p FIFO, pipe.
- Normal dosya.

pwd
inde bulunulan dizinin yolunu verir. Baz kabuklarda bu komut dahili komut olarak
da bulunmaktadr.

-L
allan dizini Mantksal(logical) olarak gsterir.
-P
Btn sembolik balantlar zerek fiziksel alma dizinini gster.

# pwd
/root/test

# ln -s / /home/user1/temp /tmp
# cd /tmp/temp
# ls
# pwd -L
/tmp/temp
# pwd -P
/home/user1/temp

56
LPI Sertifikasyon Kitab

cd
Komut satrnda dizinler arasndaki geiler cd komutuyla yaplr.

$ cd /
$ pwd
/

cd komutu dizin deitirmek iin kullanlr. Bu komut sayesinde komut satrnda iken
dosya sisteminde dolaabiliriz. Parametre olarak hedef yolu alr.

Aadaki yollar mutlak yollardr:

/etc
/etc/X11
/sbin
/usr/local/sbin

Mutlak yollar / simgesi ile balar. Bu ekilde balamayan yollar ise greceli (relative)
yollardr.

$ cd /usr
$ cd local/bin
$ pwd
/usr/local/bin

kinci cd komutu greceli bir yol iin verilmitir. Greceli yollar kkten itibaren deil,
bulunulan dizinden itibaren ileme konur.
Yollar, bir st dizin anlamnda .. ierebilir.

$ pwd
/usr/local/bin
$ cd ..
$ pwd
/usr/local
$ cd ../local/bin
$ pwd
/usr/local/bin

57
LPI Sertifikasyon Kitab

cd komutu parametre verilmeden altrldnda kullancnn ev dizinine gider. ~


ifadesinden sonra kullanc ad verildiinde kullancnn ev dizinine gider.

# cd ~ahmet
# pwd
/home/ahmet

cp
Dosya ve dizin kopyalar. Bir dosyay baka bir dosya olarak kopyalayaca gibi birka
dosyay bir dizine de kopyalayabilir.
-i
Eer hedef dosya mevcut ise kullancy uyarr. Eer kullanc y tuuna basar-
sa kopyalama gerekletirilir. n tuuna basarsa kopyalama iptal edilir.
-f
Eer hedef dosya mevcut ise kullancy uyarmadan zerine yazar.
-p
Dosya zelliklerini korur. Korunan dosya zellikleri: deitirilme zaman, eri-
im zaman, dosya bayraklar, dosya eriim modu, kullanc IDsi ve grup IDsi.
-r
Dizini alt dizinlerle birlikte kopyalar.
-v
Ekrana ne yaptna dair bilgi basar.

$ cp -pv *.txt arsiv/


`11-01-2013.txt -> `arsiv/11-01-2013.txt
`11-02-2013.txt -> `arsiv/11-02-2013.txt
`ozet.txt -> `arsiv/ozet.txt
$ cp pr dizin1 dizin2

find
Dosya ve dizin aramak iin kullanlr.

Kullanm:

# find dizin seenekler

Dizin ad belirtilmezse bulunulan dizin ifade edilir.

58
LPI Sertifikasyon Kitab

Seenekler:
-name isim: Aranlacak dosyann ismi.
-iname isim: Aranlacak dosya ismi byk/kk harf duyarsz
-type tip: Aranan dosyann tipini belirler. Tip aadaki deerlerden biri olabilir.
f: Normal Dosya
d: Dizin
b: Blok dosyas
c: Karakter dosyas
l: Sembolik balant

-cnewer dosya: Verilen tarihten daha sonra deitirilen dosyalar.


-amin n: n dakika nce eriilen dosyalar.
-cmin n: Dosya durumu n dakika nce deienler.
-atime n: n*24 saat nce eriimi dosyalar.
-mtime n: n gn iinde ilem gren dosyalar.
-ctime n: n gn iinde deitirilen dosyalar.

Rakam olarak verilen parametrelerde:


+n n den byk
-n nden kk
n tam olarak n kadar

-print: Bulunan dosyalarn ekranda grntlenmesini salar.


-exec: kan arama sonular zerinde komut altrmay salar. {} \; parametrenin
bittiini ifade eder.

rnekler:
Tm disk zerinde httpd.conf dosyasn aramak iin:

# find / -name httpd.conf

59
LPI Sertifikasyon Kitab

/usr/local altnda iinde http geen dosyalar bulmak iin:

# find /usr/local -name *http*

/tmp dizinde son eriim tarihi 30 gnden fazla olan dosyalar grntlemek iin.

# find /tmp atime +30d


/tmp/install.XErPCgBn/cap_mkdb
/tmp/install.XErPCgBn/cat
/tmp/install.XErPCgBn/chflags

/tmp dizinde 60 gnden fazla sredir deitirilmeyen dosyalar silmek iin:

# find /tmp -type f -ctime +60 -exec rm {} \;

Arama ileminin derinliini kstlamak iin maxdepth parametresi kullanlr. Verilen


pozitif tamsay kadar alt klasrlerde de arama yapar.

# find / -maxdepth 3 -name passwd


./usr/bin/passwd
./etc/pam.d/passwd
./etc/passwd

mkdir
Dizin oluturmak iin kullanlr.
-p
Oluturulacak dizinin st dizinleri yoksa onlar da oluturur.

$ mkdir arsiv
$ mkdir p 2013/02/17/18/00

60
LPI Sertifikasyon Kitab

mv
Bir dosyay veya dizini baka bir dosya veya dizin olarak tar. Veya birka dosya veya
dizini baka bir dizine tar.

-i
Hedef dosya varsa kullancya sorar. Eer kullanc y veya Y tuuna basarsa
zerine yazar. n veya N tuuna basarsa yazmaktan vazgeer.
--reply={yes,no,query}
Etkileimli durumda sorulara otomatik olarak belirtilen cevap verilir.
-f
Hedef dosya var ise kullancya sormadan zerine yazar.
-u
Yalnzca kaynak dosya hedef dosyadan daha yeni ise veya hedef dosya eri-
elemez ise ta.

$ mv kaynak hedef

rm
Dosya veya dizin siler.
-f
Silerken sormaz, varolmayan bir dosya iin bilgi vermez.
-i
Silmeden nce sorar.
-R -r
Dizinlerin ve alt dizinlerin ieriklerini ardarda siler.
-v
Yaplan ilem hakknda daha ayrntl bilgi verir.

$ rm f beni.oku
$ rm fr dizin1
$ rm -v ciro.txt
removed `ciro.txt

61
LPI Sertifikasyon Kitab

rmdir
Bo dizin silmek iin kullanlr. Dizin iinde dosya varsa bu komut dizini silmez. Bunun
yerine rm fr komutu verilmelidir.

$ rmdir mydir

-p parametresi i ie dizinleri srasyla siler.

$ rmdir p a/b/c

Yukardaki komut u ilemi yapar:


rmdir a/b/c, rmdir a/b, rmdir a

touch
Eer belirtilen dosya mevcut ise dosya eriim ve deitirilme zamanlarn gnceller.
Eer belirtilen dosya mevcut deilse dosyay oluturur.

-a
Eriim zamann gnceller.
-c
Dosya mevcut deilse dosyay oluturma.
-m
Deitirilme zamann deitir.
-t
Eriim ve deitirilme zamann belirtildii ekilde deitir: [ [ C C ] Y Y ]
MMDDhhmm[.ss]

CC Yln ilk iki hanesi


YY Yln son iki hanesi
MM Yln ay. 1den 12ye.
DD Ayn gnleri. 1den 31e.
hh Gnn saati. 0dan 23e.
mm Saatin dakikalar. 0dan 59a.
SS Dakikann saniyeleri. 0dan 59a.
62
LPI Sertifikasyon Kitab

$ ls -l sirala.sh
-rw-r--r-- 1 ahmet ahmet 44 Ara 10 20:12 sirala.sh
$ touch sirala.sh
$ ls -l sirala.sh
-rwxr-xr-- 1 root root 44 Ara 11 20:10 sirala.sh

18 Ocak 2008 12:05:09 tarihli bir dosya oluturmak iin:

$ touch -t 200801181205.09 deneme


$ ls -al deneme
-rw-r--r-- 1 ahmet ahmet 44 Oca 18 2008 deneme

cat
Dosyalar birletirmek ve standart ktya basmak iin kullanlr.

$ cat 1.txt
Ben 1.dosyayim

$ cat 2.txt
Ben 2.dosyayim

$ cat 1.txt 2.txt


Ben 1.dosyayim
Ben 2.dosyayim

Dosyalar komut satrnda belirtildii srada okunur. Eer dosya olarak eksi (-) karakteri
kullanlrsa standart giriten okur (yani klavyeden yazmanz bekler). Eer dosya ola-
rak UNIX domain soket verilmi ise sokete balanr ve EOF(Dosya sonu, End Of File)
grene kadar soketten okur.

-b parametresi bo olmayan satrlar n parametresi ise tm satrlar numaralandrr.

63
LPI Sertifikasyon Kitab

$ cat -b beni.oku
1 Ben bir dosyayim.
2 Bende toplam 3 satir vardir.
3 Iste bu da son satir.

$ cat -n beni.oku
1 Ben bir dosyayim.
2 Bende toplam 3 satir vardir.
3
4 Iste bu da son satir.

wc
Kelime, satr, karakter ve byte sayar. Girdiyi standart giriten veya parametre olarak
verilen dosyadan alr.
-c
Karakter saysn verir.
-l
Satr saysn verir.
-m
Karakter saysn verir.
-w
Kelime saysn sayar.

$ cat beni.oku
Ben bir dosyayim.
Bende toplam 3 satir vardir.

Iste bu da son satir.


$ cat beni.oku | wc l
4
$ wc w beni.oku
13
$ cat beni.oku | wc -c
7

64
LPI Sertifikasyon Kitab

head
Verilen dosyann ilk satrlarn grntler. n ile ilk ka satrn grntlenmesi gerek-
tii belirtilir. Eer satr says verilmez ise n tanml olarak ilk 10 satr gsterir.

$ head n 2 beni.oku
Ben bir dosyayim.
Bende toplam 3 satir vardir.

-c ile dosya bandan ka byte okuyaca belirtilebilir.

$ head -c 3 beni.oku
Ben

Eer birden fazla dosya verilirse verili srasna gre dosyalarn ilk satrlar gsterilir ve
her dosyann satrlarnn bana ==> XXX <== biiminde ayra koyar.

$ head -n 1 1.txt beni.oku


==> 1.txt <==
Ben 1.dosyayim
==> beni.oku <==
Ben bir dosyayim.

tail
Dosyann son ksmlarn gsterir. c ile byte says, -n ile satr says verilebilir. Eer
dosya verilmez ise standart giriten okur.

$ cat beni.oku
Ben sevimli bir dosyayim.
Bende toplam 3 satir vardir.
Iste bu da son satir.

$ tail -c 7 beni.oku
satir.
$ tail -n 1 beni.oku
Iste bu da son satir.

65
LPI Sertifikasyon Kitab

Eer f parametresi verilirse tail komutu EOF (dosya sonu) karakterini okuyunca dur-
maz. Yeni veriler iin bekler ve veri hazr olur olmaz okuyup ekrana basar. Genellikle
srekli akan bir log dosyasn grntlemek iin kullanlr:

# tail f /var/log/messages

-r parametresi kty ters srada basar.

$ tail -r beni.oku
Iste bu da son satir.

Bende toplam 3 satir vardir.


Ben sevimli bir dosyayim.

more
Dosyann ieriini sayfa sayfa grmek iin kullanlr. Eer dosya uzunluu bir sayfa-
dan fazla ise ekrana sadece bir sayfalk ksmn gsterir. Enter tuu ile bir satr ilerlenir,
boluk(space) tuu ile de bir sayfa ilerlenir.

# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
..
--Baka--(73%)

66
LPI Sertifikasyon Kitab

less
more komutunun daha gelimiidir. More komutu ile geriye doru gidelemezken
less ile gidilebilmektedir.

$ less /etc/passwd

nl
Satr balarna satr numarasn ekler.

$ cat a.txt
linux
101
pardus
business
academy
linux
101

$ nl a.txt
1 linux
2 101
3 pardus
4 business
5 academy
6 linux
7 101

cut
Standart giriten okuduu satrlar iindeki istenen stunlar gsterir. Stun seme
ilemi bir ayraca gre yaplabilecei gibi sabit boyda da yaplabilir.

-c
Karakter olarak seilecek stunlar belirler.
-d
Ayra belirlemek iin kullanlr.

67
LPI Sertifikasyon Kitab

-f
Ayra gre stunlara ayrldnda grntlenmek istenen stunlar seer.
Aada /etc/password dosyasnn bir ksm grlmektedir. Grld gibi bilgiler
: karakteri ile birbirinden ayrlm. d ile ayra olarak : belirtildiinde soldan saa
kullanc ismi 1. stun, parola 2.stun, UID 3. stun, GID 4.stun, aklama 5.stun, ev
dizini 6.stun ve kabuk 7.stun olarak yerleir. rnein kullanc ad ve kabuk bilgi-
lerini ekrana yazmak iin:

$ cat /etc/passwd
....
sshd:x:117:65534::/var/run/sshd:/usr/sbin/nologin
postfix:x:118:123::/var/spool/postfix:/bin/false
ahmet:x:1001:1001::/data/ahmet:/bin/sh
pardus:x:1004:1006::/home/pardus:/bin/sh

$ cut -d : -f1,7 /etc/passwd


....
sshd:/usr/sbin/nologin
postfix:/bin/false
ahmet:/bin/sh
pardus:/bin/sh

tr
Tekrar eden karakterleri deitirmek, silmek veya sktrmak iin kullanlr. STDINden
okur, STDOUTa yazar.

$ tr [seenek] SET1 [SET2]

Hem SET1, hem de SET2 belirtilmise SET1deki her bir karakter karlk gelen SET2de-
ki karakterle deitirilir. rnekler:

$ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
pardus
1. Kk harfleri byk harflerle deitirmek:
PARDUS

68
LPI Sertifikasyon Kitab

Ayn i u ekilde de yaplabilir:

$ tr a-z A-Z
pardus
PARDUS

2. Ssl parantezleri normal parantezlere dntrme:

$ tr {} () < giridosyas > kdosyas

3. Boluklar TAB karakterine dntrme:

$ tr [:space:] \t
Pardus Linux
Pardus Linux

4. Tekrar eden karakterleri s ile sktrma:


Birden fazla boluu tek bolua indirme:

$ echo GNU Linux | tr -s [:space:]


GNU Linux

5. Belirtilen karakterleri d ile slime:

$ echo 1 GNU 2 Pardus 3 Linux | tr -d [:digit:]


GNU Pardus Linux

expand, unexpand
Bu komut, giri metnindeki sekmeleri(TAB) boluklarla deitirir.

$ expand dosya.txt > cikti.txt

unexpand tersine olarak boluk karakterlerini sekmelere dntrr.

$ unexpand out

69
LPI Sertifikasyon Kitab

fmt
Paragraf metnini yeniden biimlendirir.
Bir satrda n tanml olarak en fazla 75 karakter olacak ekilde biimlendirme yapar.

$ fmt myfile.txt

-w: Satr genilii

$ fmt w 80 myfile.txt

-s: Uzun satrlar bler fakat ksalar uzunlara eklemez.

$ fmt s myfile.txt

-u: Boluklar tekdze olsun. Kelimeler aras tek, cmleler aras iki boluk.

$ fmt u myfile.txt

pr
Bask iin kty biimlendirir, sayfalandrr. Satr veya stn saysn dzenleyen, ke-
nar boluklarn ayarlayan, satrlar numaralandran, sayfa bal ekleyen seeneklere
sahiptir.

kty ift bolukla biimlendirme:

$ pr d myfile.txt

Kenar boluu 5, satr boyu 65 olan sayfalar halinde kt retmek iin:

$ pr -o 5 --width=65 myfile.txt | more

od
cat veya dier komutlarla bir girdi grntlendiinde baz zamanlar kta anlamsz
karakterler ve hizalama bozulmalar grr. Bunun sebebi okunabilir bir anlam olma-
yan kontrol karakterleridir. Bunlarn ne olduu cat benzeri komutlarla anlalmaz. Bu
karakterlerin ne olduunu grmek iin od (Octal Dump) komutu kullanlr.

70
LPI Sertifikasyon Kitab

Od komutu ntanml olarak octal gsterime gre kt retir. A parametresi kullan-


larak kt say sistemi o (octal, 8 tabannda), d (decimal, 10luk tabanda), x (hexade-
cimal, 16lk tabanda) belirtilebilinir. Od normal almasnda satr balarna girdinin
kanc bytenda olduunu gsteren offset koyar. n ile offset gsterimi iptal edilir.
t ile kt biimlendirilebilir.

$ od text2
0000000 004471 066160 066565 031412 061011 067141 067141 005141
0000020 030061 060411 070160 062554 000012
0000031

Aadaki ktda offset bulunmaktadr ve kontrol karakterleri ters bl (\) gsterimi


ile yazlmtr.

$ od -A d -t c text2
0000000 9 \t p l u m \n 3 \t b a n a n a \n
0000016 1 0 \t a p p l e \n
0000025

Aadaki rnekte offset olmad gibi t ile baz kontrol karakterlerin yerine zel
isimleri ktya konulmutur. (nl: new line, ht: horizontal tab gibi.)

$ od -A n -t a text2
9 ht p l u m nl 3 ht b a n a n a nl
1 0 ht a p p l e nl

kt geniliini (offset) snrlandrmak iin w kullanlr.

$ od -w1 -c -Ad input


0000000 1
0000001 \n
0000002 2
0000003 \n
0000004 3
0000005 \n
0000006 4
0000007 \n
0000008 5
0000009 \n

71
LPI Sertifikasyon Kitab

paste
ki dosyay satr satr veya stun stun birletirmek iin kullanlr.

$ cat 1.txt
GNU
Linux
Debian
Mint
Ubuntu

Hibir parametre verilmezse paste komutu cat komutu gibi davranr.

$ paste 1.txt
GNU
Linux
Debian
Mint
Ubuntu

Btn satrlar bir dosyada birletirmek iin:

$ paste -d: -s 1.txt


GNU:Linux:Debian:Mint:Ubuntu

Birletirmeyi bir ayrala yapmak iin:

$ paste -d: -s 1.txt


GNU:Linux:Debian:Mint:Ubuntu

stunlu bir ktda birletirmek iin:

$ paste - - - < 1.txt


GNU Linux Debian
Mint Ubuntu
$ paste - - -d: < 1.txt
GNU:Linux
Debian:Mint
Ubuntu:

72
LPI Sertifikasyon Kitab

ki dosyay karlkl (stun stuna) birletirmek iin:

$ cat 2.txt
1 A
2 B
3 C
4 D

$ paste 1.txt 2.txt


GNU 1 A
Linux 2 B
Debian 3 C
Mint 4 D

ki dosyay satr satr birletirmek iin \n ayrac kullanlr:

$ paste -d\n 1.txt 2.txt


GNU
1 A
Linux
2 B
Debian
3 C
Mint
4 D
Ubuntu

join
Paste gibi iki dosyay birletirmekle birlikte biraz daha ileri bir komut olan join, iki
dosyadaki stunlar eletirerek birletirir. Hi bir parametre verilmediinde aada-
ki gibi bir sonu ortaya kar:

$ cat A.txt
1 A
2 B
3 C

73
LPI Sertifikasyon Kitab

$ cat B.txt
1 Ali
2 Yusuf
3 Selim
$ join A.txt B.txt
1 A Ali
2 B Yusuf
3 C Selim

Alan seme
Dosyalardaki ortak alanlar kullanlarak birleme yaplabilir.

Aadaki rnekte 1.dosyann 1.stunu ile 2.dosyann 1.stunu rtecek ekilde


dosyalar birletirilir.

$ cat 1.txt
06 ANKARA 1
21 DIYARBAKIR 2
34 ISTANBUL 3
61 TRABZON 4

$ cat 2.txt
06 CANKAYA
21 KULP
34 USKUDAR
61 AKCAABAT

$ join -1 1 -2 1 1.txt 2.txt


06 ANKARA 1 CANKAYA
21 DIYARBAKIR 2 KULP
34 ISTANBUL 3 USKUDAR
61 TRABZON 4 AKCAABAT

Grld gibi plaka numaralar ortak alan olarak kullanlarak illerle ileler eletiril-
mi oldu.

74
LPI Sertifikasyon Kitab

Ayra Belirtme
Yukardaki rneklerde alanlar (dier deyile stunlar) birbirinden boluk ile ayrlm-
tr. Boluk ve TAB ntanml ayra olduundan join komutu stunlar bu ikisinden
hangisi varsa ona gre ayrr ve numaralandrr. Eer stunlar baka bir ayrala ayrl-
msa (virgl, noktal virgl, iki nokta st ste gibi) t parametresi kullanlarak ayra
belirtilebilir.

$ join -t, -1 3 -2 1 A.txt B.txt


1,Ali,A,A
2,Yusuf,B,B
3,Selim,C,C

Harf Duyarll
Birletirme iin eletirme yaplrken normalde kk harf ile byk harf elemez.
rnein bir dosyadaki A ile dierindeki a karakteri elemez. Byk-kk harf du-
yarlln iptal etmek iin i parametresi kullanlr.

kt Biimlendirme
join normalde dosyalardaki sraya gre satrlar ve stunlar sralar. Sadece sralama
kriteri olan ortak stunu baa alr. Alanlar istenilen srada ktya yazmak iin o pa-
rametresi kullanlr.

Aadaki rnekte 1.dosyann 1.stunu ve 2.dosyann 1.stunu srasyla kt oluur.

$ join -o 1.1 2.1 -1 2 -2 2 A.txt B.txt


Ali 1
Yusuf 2
Selim 3

split
split komutu dosyay iki veya daha fazla paraya blmek iin kullanlr.
-l parametresi ile satr saysna gre b parametresi ile byte miktarna gre paralanr.

75
LPI Sertifikasyon Kitab

$ split split.zip

$ ls
split.zip xab xad xaf xah xaj xal xan

$ wc -l *
40947 split.zip
1000 xaa
1000 xab
1000 xac

Grld gibi ntanml olarak 1000 satrl dosyalara bler. l parametresi ile b-
lnm dosyalarn satr says deitirilebilir. Veya b parametresi ile dosya boyutu
verilebilir.

$ split -l 3 a.txt dosya

$ ls dosya*
dosyaaa dosyaab dosyaac
$ cat dosyaaa
linux
101
Pardus
$ cat dosyaab
business
academy
Linux
$ cat dosyaac
101

sed
Metin ve stringler zerinde ilem yapan bir programdr. Genel olarak programlarn
ktlarn dzenlemek veya pek ok dosyay otomatik olarak dzenlemek iin kulla-
nlr. Metin zerinden tek geite istenen kriterlere uygun deiiklikleri yapabildiin-
den olduka etkin ve hzl bir aratr.

76
LPI Sertifikasyon Kitab

$ sed [seenekler] dosya []

Deitirme
eski dosyasndaki gun metnini bulup gece ile deitirir, sonucu yeni dosyasna yazar:

$ sed s/gun/gece/ <eski >yeni


$ echo iyi gunler | sed s/gun/gece/g
iyi geceler

Sed komutunun 4 paras var:


s deitirme(substitute) komutu
/../../ Ayralar
gun Aranacak dzenli ifade
gece Uygulanacak, yerletirilecek ifade

ntanml olarak her satrdaki ilk bulduunu deitirir.

$ cat numbers.txt
bir iki uc, bir iki uc
dort uc iki bir
bir yuz

$ sed s/bir/BIR/ < numbers.txt


BIR iki uc, BIR iki uc
dort uc iki BIR
BIR yuz

Global deitirme iin:

$ sed s/bir/BIR/g < numbers.txt

Bu durumda ilk grdn deil btn bulduklarn deitirir.

77
LPI Sertifikasyon Kitab

Birden ok eleme olsa da bunlardan setiimiz bir tanesi iin ilem yapabiliriz. \(
ve \) ile patternleri belirleyebilir, \1 ve \2 eklinde eleen patterni seip kullanabili-
riz. Bu durumda sadece seilenler ekrana baslacaktr, dier ktlar silinecektir.

$ sed s/\([a-zA-Z]*\) \([a-zA-Z]*\) /\1 / <eski > yeni

Veya ifadenin sonunda /2 eklinde de kullanlabilir:

$ sed s/[a-zA-Z]* //2 <eski >yeni

\2 ve /2 kartrlmamal. lki ifade iinde, ikincisi ise ifade sonundaki kullanm eklidir.

Ayra (delimiter) ed, more ve vida olduu gibi slash (/) dr. Bir dosya yolu verilirken
yolun ierdii slashler korunmal:

$ sed s/\/usr\/local\/bin/\/common\/bin/ <eski >yeni

Ayra olarak _ , : , | gibi semboller kullanlabilir.

Bulunan bir rntnn sana soluna bireyler eklemek iin:

$ sed s/abc/(abc)/ <eski >yeni

Burda deitirmek istediimiz ey tam belli. Deilse:

$ sed s/[a-z]*/(&)/ <eski >yeni

lk ksmda bulunacak pattern var, & ise bulunan her ne ise onu gsterir. Bu simgeyi
birden fazla kullanabiliriz:

$ echo 123 abc | sed s/[0-9]*/& &/


123 123 abc

123 eletii iin iki kere tekrar edildi, abc iin herhangi birey yaplmad.

78
LPI Sertifikasyon Kitab

rnekler:
foo veya bar desenlerini ieren satrlar silmek iin:

$ cat del.txt
satir 1
satir 2 foo 56
satir 3
satir 4 bar 34

$ sed -r /foo|bar/ d del.txt


satir 1
satir 3

Satr bandaki bolukar (SPACE ve Tab) silmek iin:

$ cat space.txt
satir 1
satir 4
satir 3

$ sed s/^[ \t]*// space.txt


satir 1
satir 4
satir 3

Sed komutu i parametresiyle deiiklikleri tandart ktya yazmak yerine dosya ie-
risinde gerekletirilir. Yukardaki deiiklikler ekran ktsnda olmakla birlikte orjinal
dosyada olmamtr.

awk
Awk, gl bir desen arama aracdr. Sed gibi benzerlerinden ayran zellik ise mate-
matik ilemler, artl ifadeler, deikenler ve dosya G/ ilemleri gibi script dillerinde
olan temel ilevlere sahip olmasdr. Genelde yaplandrma dosyalarn okumak veya
komut ktlarn ilemek iin kullanlr. Dosyalarla ilem yapmak iin f parametresi
kullanlr. arlma ekli:

79
LPI Sertifikasyon Kitab

$ awk f awk_script dosya


$ awk desen {aksiyon} dosya

Eer desen belirtilmezse btn satrlar eleir. Sonda verilen dosya parametresi yeri-
ne metin akm zerinde de ilem yapabilir.

Belirtilen dosyadaki 2 ve 3 numaral stunu ekrana basmak iin (stunlar $2 ve $3 ile


belirtildi):

$ awk < dosya { print $2, $3 }

Bash ile biten satrlar gstermek iin:

$ awk < dosya { print $2, $3 }

Awk n tanml olarak boluk ve Taba gre stunlara ayrr. Bunu deitirmek iin F
parametresi kullanlr.

Bash ile biten satrlardaki birinci kolonu (kullanc ad) gsterir. Komuttaki $1, birinci
kolonu gsteriyor. /etc/passwd dosyasnda stunlar : ile ayrldndan ayra olarak F
ile tanmlanmtr.

$ awk < /etc/passwd -F: { print $6 }root


mysql
cyrus
asterisk
spamfilter
user1

awk ile matematik ilemler yaplabilir. Aadaki rnek Fahrenheitten Celsiusa scak-
lk evrimi yapar:

$ awk { print ($1-32)*(5/9) }

80
LPI Sertifikasyon Kitab

sort
sort komutu dosyadaki satrlar sralamak iin kullanlr.
-n: saysal(numeric) sralama yapar.
-f: Byk/kk harf ayrm olmadan sralar.
-r: sralama sonucunu tersler listeler.

$ cat a.txt
Linux
101
pardus
business
academy
$ sort a.txt
101
Academy
business
Linux
pardus
$ sort -n a.txt
Academy
business
Linux
pardus
101

uniq
uniq komutu birden fazla olan ayn satrlar tek satra drmek iin kullanlr. Genel-
likle sort komutu ile sralama yapldktan sonra ayn ifte kaytlar silmek iin kullanlr.

$ sort a.txt
101
101
academy
business
Linux
Linux
pardus

81
LPI Sertifikasyon Kitab

$ sort a.txt |uniq


101
Academy
business
Linux
pardus

Dosya smi rntleri


Linux altnda dosya isimleri aka yazlabildii gibi belirli kurala uyan dosyalarn ta-
mamn ifade etmek zere rntler de kullanlabilir.

? Herhangi bir tek karakteri gsterir.


hd?, hda, hdb, hdc, hdd gibi hd ile balayp devamn tek karakter olan btn
dosya isimleriyle eleir.

* Hi veya herhangi saydaki karakteri gsterir.


*1.jpg, dosyaad 1 olan veya 1 ile biten tm jpg uzantl dosyalarla eleir.

[ ] Aralk gsterir.
a[1-9], a1, a2a9 isimleriyle eleir.
a[6,8], a6 ve a8 isimleriyle eleir.

{ } Virglle ayrlm seenekleri gsterir.


{*.doc,*.pdf } .doc ve .pdf dosyalar gsterir.

\ zel karakterleri korumak iin kullanlr.

$ ls *.jpg # Uzants jpg olan tm dosyalar


$ ls ?.jpg # Dosya ad tek karakter olan jpg dosyalar
$ rm [A-Z]*.pdf # Byk harfle balayan pdf dosyalar
ls report*2013[1-5]

82
LPI Sertifikasyon Kitab

file
Dosya trn belirlemek iin kullanlr. /usr/share/file/magic dosyasndaki dosya tr-
lerinin imzas olan sihirli numaralar kullanr.

$ file test.tar.gz
test.tar.gz: gzip compressed data, deflated,
last modified: Sun Sep 16 13:34:51 2001, os: Unix

$ file -z test.tar.gz
test.tar.gz: GNU tar archive (gzip compressed data, deflated,
last modified: Sun Sep 16 13:34:51 2001, os: Unix)

tee
Komut ktsn hem dosyaya hem de Stdouta yazar.
-a: Dosyann sonuna ekleme yapar, mevcut dosyay sfrlamaz.
Aadaki komut dizisinde lsin kts hem dosyaya hem de Stdouta yazlr.

$ ls | tee file.txt

Stdouta yazd iin Stdinden okuyan herhangi bir komuta da kty gnderebilir.
Aadaki komut dizisinde kt hem dosyaya yazlr hem de sort komutuna girdi ola-
rak geilir.

$ ls | tee file.txt | sort

kt birden fazla dosyaya yazlabilir:

$ ls | tee file1.txt file2.txt

83
LPI Sertifikasyon Kitab

xargs
Bir komutu parametrelerini standart girdiden(stdin) alp baka komutlara geebi-
lecek ekilde altrr. Bylece bir defada ileyebilecei parametreden daha fazlas
komuta aktarlabilir. Genelde ls veya find komutu tarafndan retilmi uzun dosya
listesini, bu dosyalarn herbirinde tek tek ilem yapacak bir baka komuta parametre
olarak gemek iin kullanlr.
rnek: Bir patterni btn dosyalarda aramakta iin:

# find /etc | xargs grep pattern

Xargsn en uygun kullanm yerlerinden birisi de bir dizindeki belli dosyalar silmektir.
Bunlar tek satrda rm komutuna parametre olarak verilemediinden xargsa ihtiya
vardr:

$ ls *.tmp | xargs rm

-n: altrlacak komuta eklenecek parametre says


rnein diff komutu iki dosyay karlatrr. Mevcut dizindeki dosyalar ikier ikier
gruplar halinde karlatrmak iin:

$ ls | xargs n2 diff

$ echo 1 2 3 4 | xargs -n 2
1 2
3 4

xargs mevcut komutun parametrelerini tamamlamak iin de kullanlabilir:

$ cat 1.txt
GNU
Linux
Debian
Mint
Ubuntu

$ cat 1.txt | xargs -n2


GNU Linux
Debian Mint
Ubuntu

84
LPI Sertifikasyon Kitab

Bir dizindeki tm dosyalar baka bir dizine tek tek tamak iin:

$ ls olddir | xargs -i mv olddir/{ } newdir/{ }

-i: { } bulunan her yere Stdinden okunan deeri (rnekte ls ktsndaki dosya
ismi) yazar.

$ find . -maxdepth 1 -type d -print | xargs -I {} echo Directory: {}

Normalde Bash kabukta ters tek trnak ile komut altrlabilir. Ancak bu ok karmak
olabilmektedir. xargs komutu ters tek trnak ihtiyacn ortadan kaldrd gibi daha
fazlasn sunar.

85
LPI Sertifikasyon Kitab

Disk Blmlendirmesi
Konu:
Sabit diskin blmlendirilmesi ve kullanma hazr hale getirilmesi
ve bakm

Hedefler:
Amaca uygun disk blmlendirmesini yapabilmek
Al ykleyicisini yaplandrmak ve yklemek
Disk sorunlarn zmek
Kullanc kotalarn aktif etme
Disk blmlerini bir dizine balama
Anahtar Kelimeler:
MBR, fdisk, GRUB, LILO, mkfs, tune2fs, fsck, mount, /etc/fstab, qu-
otaon, which, locate, whereis

86
LPI Sertifikasyon Kitab

Blmlendirme
Sabit diskler birden fazla blmlere ayrlarak her bir blm ayr bir iletim sistemine
veya bir iletim sisteminin ayr bir dizinine tahsis edilebilir. Disk blmlendirmenin
amalar:
letim sisteminin temel bileenleri ile kullanclara veya kuruma ait bilgilerin
ayrlmas. rnein kullanc ev dizinleri, irketin veri taban vs Bu sayede
iletim sisteminde yaplacak gncelleme gibi ilemler kullanc verisini
etkilemeyecektir.
Farkl karakteristikteki kullanmlar ayrmak iin. rnein /var dizini srekli ya-
zlan log dosyalarn ierirken, veritabanlar arlkl olarak sorgu iin kullanlr.
Bunlar iin ayr blmlendirme yaplarak ayr biimlendirilebilir, gereksinime
uygun iyiletirmeler yaplabilir.
Ynetim kolayl. rnein /boot blm ayr tutarak iletim sisteminin al
problemlerini ynetmek daha kolay hale getirilir. rnein a zerinden pay-
latrlacak bir dosya sunucusunun dosyalar ieren blm ayr bir blm
yaplabilir.

MBR
Linux Intel tabanl donanmlarda Microsoft Windows letim sisteminin kulland
ayn MBR(Master Book Record) tablosunu kullanr. Bu disk blmlendirmesi en faz-
la 4 adet birincil(primary) disk blmlendirmesine(partititon) izin verir. Bu emay
geniletmek iin geniletilmi(extended) ad verilen zel bir birincil disk blmlen-
dirmesi oluturulmaldr. Geniletilmi blmlendirme ile mantksal disk blmleri
oluturulabilmektedir. IDE disklerde Linux en fazla 63 adet kullanlabilir disk blm-
lendirmesine izin verirken bu limit SCSI disklerde en fazla 15 adet olmaktadr.

GPT GUID Disk Blmlendirme Tablosu


MBRden al yapan BIOSda baz kstlamalar var. Gnzde disk boyutlar gittike
bymektedir. MBRde kullanlan 32 bit LBA adresleme 2TB zerini adresleyememek-
tedir. Bu yzden 64 bit LBA destei olan GPT kullanm nem kazanmaktadr. MBR
formatndaki disk blmlerini grmek ve ynetmek iin fdisk komutu ile kullanlr-
ken, GPTde parted komutu kullanlmaktadr.

Linux kurulumu iin minimum 3 adet disk blmlendirmesi tavsiye edilmektedir.


Bunlardan birincisi /boot blmdr. Bu blm linux ekirdeininin bulunduu disk
blmdr. Ortalama olarak 200-300MB disk alan ayrlmas yeterlidir.

87
LPI Sertifikasyon Kitab

kincisi ise geici bellek olarak kullanlan swap alandr. Bu alan eskiden bellek mik-
tarna gre ayarlanrken gnmzde donanmlarn ok fazla bellei olduu bellek
ile orantl bir ekilde boyut vermeye gerek yoktur. Makinede altrlacak servislere
gre bu deer deiebilir fakat asla fiziksel bellek miktar kadar yer ayrmaya gerek
yoktur. nk bir sistem eer swap alann kullanmaya balamsa orada ciddi bir
performans sorunu var demektir. Ya sorunu karan uygulama tespit edilerek gerekli
dzeltmeler yaplmal ya da ilave RAM takviyesi yaplmaldr.

nc blm ise / (root) dosya sistemidir. Bu disk blmlendirmesi tm iletim sis-


temine ve kullanclara ait dosyalar tutmaktadr. Bu blm oluturulmadan iletim
sistemi kurulum aamasna geilemez.

Oluturulabilecek Disk Blmleri


Dosyalar saklamak iin tek bir / blm bazen yetersiz kalmaktadr. Gvenlik, veri
yedekleme vb gibi sebeplerden dolay yukardaki bahsedilen disk blmne ila-
veten aadaki gibi disk blmlendirmesi yaplabilir. En yaygn kullanlan disk b-
lmlendirmeleri ve amalar u ekildedir:

/home Kullanclarn n tanml ev dizinidir. Eer Linuxe giri yapacak veri
saklayacak ok fazla ev kullancs varsa /home dizininin ayr bir disk blm
olmas tavsiye edilir. Bu sayede kullanclarn yanllkla veya bilerek / bl-
mn doldurmalar engellenmi olur. Ayrca ana Pardus srm geilerinde /
blmn yeniden formatlamak gerekirse /home blm formatlanmadan
gei yaplabilir. Bu sayede kullanclarn dosyalarnn yedeinin alnmasna
gerek kalmaz.

/tmp geici dosyalar dizini. Bu dizine tm kullanclar yazabilmektedir. Ayr-
ca bu dizin saldrganlar tarafndan sunuculardaki gvenlik an kullanarak
sisteme program yklemeyip altrmak iin kullanlr. Bu disk blm ayr
yaplarak disk blm baznda baz gvenlik nlemleri alnabilir ayrca kulla-
nclarn / blmn doldurmasn engellemek iin ayr bir disk blm ola-
rak yaplandrlabilir.

/var gnlk,e-posta ve veri dizini. Bu dizinde ok fazla verinin yazld bir
disk blmdr. n tanml olarak gnlkler, veritaban dosyalar,e-posta
kuyruu bu dizinde tutulmaktadr.

/opt nc parti yazlmlarn kurulduu dizindir. Bu blm kullanan ok
byk yazlmlar yoksa ayr bir blm yaplmasna gerek yoktur.

88
LPI Sertifikasyon Kitab

Al Ykleyicisi
Eski Linux datmlarnda n tanml olarak LILO geliyordu. Gnmzde yerini GRUB
al ykleyicisine brakt. GRUB(GRand Unified Bootloader) yklenicisinin yaplan-
drmas /boot/grub/grub.cfg dosyasnda tanmldr. Fakat bunun dorudan dzen-
lenmesi tavsiye edilmez. /etc/default/grub dosyasnda gerekli dzenlemeler yapl-
dktan sonra update-grub komutu ile /boot/grub/grub.cfg dosyas gncellenir.
Fakat orijinal GRUB dosyas /boot/grub/menu.lst dosyasdr. Redhat vb baz datm-
larda aklda kalc olmas iin /boot/grub/grub.conf dosyasn /boot/grub/menu.lst
dosyasna balant olarak tanmlamtr.

/etc/default/grub dosyasnda menu ayarlar hakknda tanmlamalar bulunur. Bu dos-


yann ierii genel olarak aadaki gibidir.

# more /etc/default/grub

# If you change this file, run update-grub afterwards to

update

# /boot/grub/grub.cfg.

# For full documentation of the options in this file, see:

# info -f grub -n Simple configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=7
GRUB_HIDDEN_TIMEOUT=0
GRUB_DISTRIBUTOR=Pardus

#GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo


Debian`
GRUB_CMDLINE_LINUX_DEFAULT=
GRUB_CMDLINE_LINUX=modprobe.blacklist=floppy splash quiet
--

Bu yaplandrma GRUB ile gelen standart yaplandrma olmayp Debian tabanl da-
tmlara zel bir yapdr.

89
LPI Sertifikasyon Kitab

/etc/grup.d dizininde ise men oluturma betikleri bulunur.

# ls /etc/grub.d/
00_header 05_debian_theme 10_linux 20_linux_xen 30_os-
prober 40_custom 41_custom README

# grub.conf/menu.lst

# Global Options:

#
default=0
timeout=15
splashimage=/grub/bootimage.xpm.gz

# Kernel Image Options:

#
title Fedora (2.6.25)
root (hd0,0)
kernel /vmlinuz-2.6.25 ro root=/dev/hda5 mem=2048M
initrd /initrd-2.6.25
title Debian (2.6.26-experimental)
root (hd0,0)
kernel (hd0,0)/bzImage-2.6.26-experimental ro root=/dev/
hda6

Grub dosyasndaki temel parametreler unlardr:

(hd0,0) ifadesi yklenecek ekirdein hangi diskin hangi blmnde olduunu ifade
eder.

90
LPI Sertifikasyon Kitab

fdisk ile Disk Blmleme


Fdisk komut satrndan interatkif olarak disk yaplandrmas yapmaya yarayan bir
programdr. Bu komut ile DOS sitilinde bir disk blmledirmesi yaplmaktadr. Disk
blmlendirmesi yaplrken her bir disk blm iin bir disk blm kodu tanmlan-
dr. Linuxde yaygn olarak kullanlan disk blm kodu unlardr.

83 Linux dosya sistemi(ext2,ext3,ext4)


82 swap
8e fiziksel hacim
5 geniletilmi disk alan

fdisk l parameresi ile disk zerindeki disk blmlemleri listelenebilir.

root@pardus:~# fdisk -l /dev/sda


GNU Fdisk 1.2.4
Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public
License.

This program is distributed in the hope that it will be useful,


but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

Disk /dev/sda: 32 GB, 32210196480 bytes


255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System


/dev/sda1 1 192 1542208 83 Linux
/dev/sda2 193 3916 29904997 83 Linux
root@pardus:~#

91
LPI Sertifikasyon Kitab

Dosya Sistemi Oluturma


Dosya sistemi oluturmak iin mkfs komutu kullanlr. n tanml olarak mkfs komutu
ext2 linux dosya sistemi formatnda disk blmn formatlar. Fakat t parametresi
ile dier dosya sistemleri de oluturulabilir. rnein /dev/sdb1 disk blmnde MS-
DOS formatnda disk blm oluturmak iin aadaki komut kullanlr.

# mkfs t msdos /dev/sdb1

Aslnda mkfs komutu farkl komutlar iin bir arac komut durumundadr. Kendisi
herhangi bir dosya sistemi oluturmaz. Verilen parametreye gre ilgili dosya sistemi
oluturma komutunu altrr. Yukardaki rnekteki t msdos parametresinden dola-
y aslnda mkdosfs komutunu altrr. t parametresi verilmediinde ext2 dosya sis-
temini ise mke2fs komutunu altrarak oluturur. Mkfs yerine dorudan ilgili dosya
sistemine ait komutu da altrabilirsiiz. Bu komutlardan bazlar:

mke2fs mkfs.bfs mkdosfs mkfs.cramfs mkfs.ext3


mkfs.ext4dev mkfs.minix mkfs.ufs mkfs.xfs mkfs.btrfs
mkfs.ext2 mkfs.ext4 mkfs.jfs mkfs.msdos
mkfs.vfat

ext3 dosya sistemi ext2 dosya sisteminin journaling(gnlkleme) zellii eklenmi


srmdr. Aadaki komut ile de ext3 dosya sistemi oluturulabilir.

mkfs t ext3, mkfs.ext3 ve mke2fs -j

rnein /dev/sdb2 disk blmnde ext3 formatnda disk blm oluturmak


iin aadaki komut kullanlr.

# mke2fs -j /dev/sdb2

Swap Alan Oluturma


Bir disk alan veya dosya zerinde swap disk blm oluturmak iin mkswap komu-
tu kullanlr. Swap iin ayrlan disk alan yetersiz kald durumda dosya sisteminde
oluturulacak bir dosyay swap alan olarakta kullanabilirsiniz. Oluturulan swap dos-
yasn swapon komutu ile aktif hale getirebilirsiniz.

92
LPI Sertifikasyon Kitab

rnein 512 MB swap dosyas oluturup etkinletirmek iin aadaki komutlar ve-
rilir.

# dd if=/dev/zero of=/swapdosyasi bs=1024 count=524288


# mkswap /swapdosyasi
# chown root:root /swapdosyasi
# chmod 0600 /swapdosyasi
# swapon /swapdosyasi

swapon s komutu ile dosya tabanl swap dosyalar listelenebilir.

Dosya Sistemi Bakm


Dosya sistemini oluturduktan sonra sistem yneticisi tarafndan baz bakmlarn
yaplmas gerekebilir. Bu bakm ve dosya sistemindeki baz parametre deiiklikleri
tune2fs komutu ile yaplabilmektedir.

Tune2fs komutu ext2,ext3 ve ext4 dosya sistemlerine kullanlabilmektedir. Tunefs ile


yaplabilecek baz deiiklikler:

ext2 dosya sistemine journaling(gnlkleme) destei ekleyerek ext3 dosya siste-


mine gei yapma

# tune2fs j /dev/sda1

fsck ileminin yaplmas iin gemesi gereken zaman aral veya mount saysn
belirler (-c ve i parametreleri)
Mevcut dosya sistemi hakknda bilgiler verir. (-l parametresi)

root@pardus:~# tune2fs -l /dev/sda2


tune2fs 1.42.5 (29-Jul-2012)
Filesystem volume name: <none>
Last mounted on: /
Filesystem UUID: da02cb85-f80b-4283-ab4e-30079b03d14d
Filesystem magic number: 0xEF53

93
LPI Sertifikasyon Kitab

Filesystem revision #: 1 (dynamic)


Filesystem features: has_journal ext_attr resize_inode
dir_index filetype needs_recovery extent flex_bg sparse_super
large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 1872304
Block count: 7478257
Reserved block count: 373912
Free blocks: 5903589
Free inodes: 1671965
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1022
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8176
Inode blocks per group: 511
Flex block group size: 16
Filesystem created: Tue Sep 24 11:56:17 2013
Last mount time: Sat Nov 9 16:54:24 2013
Last write time: Sat Nov 9 16:54:24 2013
Mount count: 4
Maximum mount count: -1
Last checked: Tue Sep 24 11:56:17 2013
Check interval: 0 (<none>)
Lifetime writes: 10 GB

94
LPI Sertifikasyon Kitab

Reserved blocks uid: 0 (user root)


Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 1721463
Default directory hash: half_md4
Directory Hash Seed: a1de246f-76ea-47aa-84dd-79a94915cb6d
Journal backup: inode blocks

tune2fs hem mevcut verileri gsterme hem de dzenleme zelliine sahipken dum-
pe2fs komutu ise tune2fs l ktsnn aynsn vermektedir. Dosya sistemini detayl
incelemek(debug) ve dosya sisteminin durumunu deitirmek iin de debugfs ko-
mutu kullanlr.

fsck
Eer dosya sistemininde elektrik kesintisi vs gibi arzalardan dolay sorunlar oluursa
fsck komutu ile dosya sistemi kurtarlmaya allabilir. Bu komut parametre olarak
disk blm ad veya disk blmnn /etc/fstab dosyasnda belirlenmi balanma
noktasn alr. Fsck komutu ek bir parametre kullanmadan altrldnda bulduu
her bir hatann dzeltmesi iin onay isteyecektir. Bu da byk boyutlu dosya sistem-
lerinde ok zaman alabilmektedir. Tespit edilen tm hatalarn dzeltilmesi iin y
parametresi kullanlmaldr. fsck komutu mutlaka okuma-yazma modunda balan-
mam dosya sisteminde altrlmaldr.Eer okuma ve yazmak iin balanlm bir
dosya sisteminde altrlsa beklenmedik hatalar oluabilir.

rnein /dev/sda2 disk blmnn dosya sistemini dzeltmek iin aadaki komut
verilir.

# fsck y /dev/sda2

95
LPI Sertifikasyon Kitab

Blm Balama (mount) lemleri


mount ilemi MS Windows dnyasndaki fiziksel disk blmlemesinin hangi isme
karlk geldiini tanmlama (C: D: E: vb) ileminin Linux halidir. Linuxde formatla-
nan bir iletim sistemine kullanc ve uygulamalarn eriebilmesi iin ilgili dosya sis-
teminin bir dizin zerinden eriilebilir olmas gerekir. Bu ilemi yapmak iin mount
komutu kullanldr. Bu ilemi sadece root veya root hakk verilen kullanc yapabilir.
All srasnda n tanml olarak hangi disk blmlerinin hangi parametrelerle ba-
lanlmas gerektii /etc/fstab dosyasnda tanmlanmaktadr.

rnek bir fstab dosyas aadaki gibidir.

# cat /etc/fstab

# UNCONFIGURED FSTAB FOR BASE SYSTEM


proc /proc proc defaults 0 0

# /dev/sda1
UUID=6e856a2a-be08-4a1d-85ab-8d345d7a5c65 swap swap sw
0 0

# /dev/sda2
UUID=da02cb85-f80b-4283-ab4e-30079b03d14d / e x t 4
rw,errors=remount-ro 0 1

fstab dosyasnn eski formatnda UUID yerine fiziksel disk blmnn ad yazard(/
dev/sda2 gibi). Hangi UUID deerinin hangi disk blmne ait olduunu renmek
iin blkid komutu kullanlabilir.

# blkid
/dev/sda1: UUID=6e856a2a-be08-4a1d-85ab-8d345d7a5c65 TYPE=swap
/dev/sda2: UUID=da02cb85-f80b-4283-ab4e-30079b03d14d TYPE=ext4

mount komutu parametre kullanlmadan verildiinde o anda sistemde bal olan


dosya sistemlerini gsterir.

96
LPI Sertifikasyon Kitab

# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_
inodes=125513,mode=755)
devpts on /dev/pts type devpts
(rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs
(rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/disk/by-uuid/da02cb85-f80b-4283-ab4e-30079b03d14d
on / type ext4 (rw,relatime,errors=remount-ro,user_
xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs
(rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs
(rw,nosuid,nodev,noexec,relatime,size=513640k)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs
(rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc
(rw,nosuid,nodev,noexec,relatime)

# mount t ext3 /dev/sdb2 /mnt

Yukardaki komut ext3 dosya sistemli /dev/sdb2 disk blmn /mnt dizinine ba-
lar. Bu dosya sistemine ait dosyalara artk /mnt zerinden eriilebilir.
Eer bir dosya sistemi /etc/fstab dosyasnda tanml ise mount ilemi iin herhangi
bir parametre kullanmadan sadece balama noktas veya disk blm ad yazmak
yeterlidir. rnein /etc/fstab dosyasnda /dev/sdb2 disk blm /mnt blmne
balanacak ekilde yaplandrld ise aadaki iki komutta ayn ii yapacaktr.

# mount /dev/sdb2 veya


# mount /mnt

97
LPI Sertifikasyon Kitab

ext2/ext3 ve reiserfs dosya sistemleride dosya sistemi ad yerine kullanlabilen etiket-


leme destei vardr. Bu zellik fstab dosyasnda LABEL olarak tanmlanr. Aadaki
gibi bir komutla da dosya sisteminin tam yolu verilmeden sadece LABEL verilerek
mount ilemi yaplabilir.

# mount LABEL=maildizini /mail

/etc/fstab dosyasndaki tanml tm dosya sistemlerinin mount edilmesi isteniyorsa


mount a parametresi verilmelidir.

CD-ROM iin Linuxde /dev/cdrom aygt kullanlr. CDyi balamak iin de genelde /
media dizini kullanlr.

# mount /dev/cdrom /media

Dosya sistemi kullanlmad durumda umount komutu ile dosyaya eriim kapatlr.

# umount /dev/cdrom

Eer dosya sistemi kullanc veya bir proses tarafndan eriilmekte ise umount komu-
tu dosya sistemi megul diye hata verecektir. Hangi dosyann hangi prosesler tara-
fndan kullanldn lsof komutu ile grebilirsiniz. Bu komut n tanml olarak hangi
dosyann ve port numarasnn hangi prosesler ve kullanclar tarafndan kullanldn
listelemektedir.

root@pardus:~# lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 8,2 4096 2 /
init 1 root rtd DIR 8,2 4096 2 /
init 1 root txt REG 8,2 36992 664455 /sbin/init
init 1 root mem REG 8,2 14664 654765
/lib/x86_64-linux-gnu/libdl-2.17.so
init 1 root mem REG 8,2 1742520 654762
/lib/x86_64-linux-gnu/libc-2.17.so
init 1 root mem REG 8,2 126232 658039
/lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 8,2 261184 658040
/lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 8,2 145160 654759
/lib/x86_64-linux-gnu/ld-2.17.so
init 1

98
LPI Sertifikasyon Kitab

Fstab Parametreleri
/etc/fstab dosyasndaki 4. Ksm seenekleri ifade eder.

# <file system> <dir> <type> <options> <dump> <pass>


/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2

n tanml olarak dosya sistemlerini sadece root kullancs mount veya umount ya-
pabilir. Eer kullanclarnda bu ilemleri yapabilmesi isteniyorsa /etc/fstab dosyasn-
daki seenekler ksmna user parametresi eklenmelidir. rnek:

/dev/sda8 /data ext4 rw,user,exec 0 0

Bu dosyadaki bir dosya sisteminin alta balanp balanmayaca auto ve noauto


parametreleri ile belirlenir.

Kota yaplandrmas
Linux dosya sistemleri iin kota destei vardr. Kota ile kullanc ve gruplarn disk kul-
lanmn kstlayabilirsiniz. Kota yaplandrmas iin zetle aadaki sre uygulanr.

Dosya sisteminin disk kotas destei ile mount edilmesi


Kota veritaban oluturulmas
Kotann aktifletirilmesi
Kullanc ve gruplara kota limitleri tanmlanmas

Dosya sisteminin kota destei ile almas iin /etc/fstab dosyasnda ilgili dosya siste-
minin seenekler ksmna usrquota ve/veya grpquota parametresi ekli olmaldr. Bu
parametre eklendikten sonra ilgili dosya sistemi yeniden mount edilmelidir.

Kota genellikle son kullanclarn yogun kulland dosya sistemlerinde kullanlr.


Buna en iyi rnek /home blmdr. /home dizininde kota uygulamas yapmak iin
bu dizinin bir dosya sisteminin balanma noktas olmaldr.

/etc/fstab dosyasna kota seenekleri eklendikten sonra aadaki quotacheck ko-


mutu ile kota veritaban dosyalar(aquota.user ve aquota.group) oluturulmaldr.

99
LPI Sertifikasyon Kitab

# quotacheck cugm /home

Bu ilemden sonar quotaon komutu ile dosya sisteminde kota aktif edilmi olur.Eer
bu komut aktsnda /home altnda aquota.user.new.tmp dosyas oluturulamad
gibi bir hata alnrsa sebebi SELinux olabilir. Kota yaplandrmas iin SELinux zellii
aktif ise kapatlmas gerekir.

# quotaon /home

Geici olarak kota zelliini iptal etmek iin de quotaoff komutu kullanlr.

# quotaoff /home

Kullanclara kota tanmlamada setquota ve edquota komutlar kullanlr. Edquota


komutu sayesinde interaktif olarak bir editor ile yaplandrma yaplrken setquota ko-
mutu ile parametrelerle kota tanmlamas yaplabilir.

Kota kullanmn raporlamak iinde repquota ve quota komutlar kullanlabilir.

Sembolik ve Hard Balantlar


Dosyalar ve dizinler arasnda link oluturmak iin ln komutu kullanl. Bu komut, oriji-
nal dosya ile ayn yetkilendirmeye sahip yeni bir dosya kayd oluturur.
Link oluturma genelde bulunan dosya sisteminde disk alan yetersiz hale geldiinde
dosyalar baka bir dosya sistemine tadktan sonra eski dosya/dizin yolunu kullanan
kii ve uygulamalarn hala eski yol zerinden erimeleri iin kullanlr.

ki eit balant vardr. Sk (hard) balantlarda yaplan deiikler orijinal dosyay


etkiler. Sembolik (soft) balant sadece orijinal dosyay gsteren bir isimdir. MS Win-
dows sistemlerindeki karl ksa yol oluturmaktr. Sembolik balantnn silinmesi
orijinal dosyay silmez. Orijinal dosya silinirse de sembolik link ilevsiz hale gelecektir.
Sembolik link zerinden dosyaya eriilemez. Sembolik link oluturmak iin s para-
metresi kullanlr. Hi parametre kullanlmadan kullanlrsa hard link oluturulmu
olur.

100
LPI Sertifikasyon Kitab

Kullanm:

# ln seenek mevcut_dosya/dizin olusturulacak_balant


root@pardus:~# ln -s /data/pardus /var/data/pardus
root@pardus:~# ls -al /var/data/
toplam 8
drwxr-xr-x 2 root root 4096 Kas 29 16:30 .
drwxr-xr-x 13 root root 4096 Kas 29 16:30 ..
lrwxrwxrwx 1 root root 12 Kas 29 16:30 pardus -> /data/pardus

Yukardaki komut ile /var/data/pardus dizinine yaplan tm eriimler aslnda /data/


pardus dizinde uygulanacak.

Hard linkte ise orijinal dosya ile link oluturulan dosyann birebir ayns iki farkl dos-
ya oluur. Birisinde yaplan ilem dierine de yansr. Bu durumu disklerde kullanlan
RAID-1 teknolojisine benzetebiliriz. Orijinal dosya silinse bile verilere dier dosya
zerinden eriilebilir. Kat linkteki bu zellik Linux inode yapsndaki dosyaya yaplan
link says zellii ile salanmaktadr. Dosyann biri silindiinde link says deeri bir
azaltlmakta. Dier dosya(lar) silindiinde ise link says sfr olduunda dosya tama-
men silinmektedir. Dolaysyla hard link dosya sistem ile dorudan alakaldr. Farkl
dosya sistemlerinin(disk blmleri) farkl inode yaps olduu iin hard link farkl dos-
ya sistemleri arasnda yaplamaz. Sadece ayn dosya sistemi zerinde yaplabilir.
Farkl dosya sistemleri arasnda link oluturulacaksa sadece sembolik link kullanla-
bilir.

Dosya Arama
Linuxde find ile dosya isminde ve ieriinde arama yaplabilmektedir. Buna ek olarak
bir ka farkl komut ile de arama yaplabilmektedir.

which komutu
$PATH deikeni ierisinde tanml altrlabilir komutlarn tam yolunu gsterir. Sa-
dece komutlar ve shell scriptler iin alr.

# which cut
/bin/cut

101
LPI Sertifikasyon Kitab

locate komutu
find komutu arama yaparken her seferinde belirtilen dizinde tarama yapt iin ok
fazla dosya olan sistemlerde yava alabilir. Daha hzl dosya aramak iin locate ko-
mutu kullanlabilir. Bu komut dosya ad aramalarn direkt dosya sisteminde tarama
yapmak yerine zel bir veritabanndan getirmektedir. Locate komutu aramay /var/
cache/locate/locatedb veritaban dosyasnda yapmaktadr. Bu dosya locate dnda
ayr olarak alan updatedb komutu tarafndan gncellenmektedir. Eer en gncel
dosyalarnda aramaya dahil olmasn istiyorsanz belirli aralklarla updatedb komutu
altrlmaldr. Her gece veritaban dosyasn gncellemek iin Pardus tarafndan
otomatik olarak /etc/cron.daily/locate dosyasndaki cron ii altrlmaktadr. Arama
yapmak iin dosyann ad veya adnn getii kelimeleri yazmak yeterlidir.

root@pardus:/ # locate apache


/etc/apache2
/etc/apache2/apache2.conf
/etc/apache2/conf.d
/etc/apache2/conf.d/charset
/etc/apache2/conf.d/javascript-common.conf
/etc/apache2/conf.d/localized-error-pages
..

whereis komutu
Parametre olarak verilen program, kaynak kodu ve yardm dosyalarnn yerlerini gsterir.

# whereis pwd
pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz

102
LPI Sertifikasyon Kitab

Linux Yetkilendirme Modeli


Konu:
UNIX yetkilendirme modeli

Hedefler:
Yetkilendirme modelini anlamak
Dosyalara eriim gerekli izinlerini tanmlamak
s ve t bitleri
Anahtar Kelimeler:
chmod, chown, chgrp

103
LPI Sertifikasyon Kitab

Yetkiler
Linux yetkilendirme modeli, UNIX ve BSDden alnmtr.

# ls -l /bin/cp
-rwxr-xr-x 1 root root 130128 Oca 26 2013 /bin/cp

ls komutu -l parametresi ile kullanldnda yukardaki gibi dosyalarn yet-


kilerini belirten ayrntl bir kt verir. Satr banda yer alan -rwxr-xr-x bu
dosyaya ait haklar belirtmektedir. Bu haklar ksmdan olumaktadr.

-rwx r-x r-x

lk ksmn hemen banda tek bir simgeyle dosyann tr ifade edilmektedir. Yukar-
daki gibi eer bo ise (yani -) normal dosyadr.

d directory (dizin)
l symbolic link (sembolik ba)
c character special device (karakter aygt)
b block special device (blok aygt)
p fifo
s socket

lk ksm dosya sahibine ait haklar, ikinci ksm ayn gruptaki kullanclara ait haklar,
son ksm ise dier kullanclara ait haklar belirlemektedir.

r okuma izni(4)
w yazma izni(2)
x altrma izni(1)

rnein: 754 modu Dosya sahibi iin 7 (4 + 2 + 1, yani rwx), grubu iin 5 (4 + 1, yani
rx) ve herkes iin 4 (yani r) hakk vermektedir.

Yetkileri deitirmek iin chmod komutu kullanlr.

104
LPI Sertifikasyon Kitab

# ls -al dosya.txt
-rw-r--r-- 1 root root 0 Kas 29 16:34 file
# chmod 755 dosya.txt
# ls -al dosya.txt
-rwxr-xr-x 1 root root 0 Kas 29 16:35 dosya.txt

755 belirtilen grup iin 7, 5, 5 haklarn vermektedir. Her bir yetkinin rakamsal de-
eri vardr. 7, 5 ve 5 bu rakamlarn toplamdr.

r 4
w 2
x 1

Bu rakamlara gre 7 = r + w + x anlamnda, 5 = r + x anlamndadr. Bunun dnda u


user, g group ve o other olacak ekilde de yetki verilebilir:

# chmod g+w dosya.txt

rnekler:
Hi haklar olmayan dosya aadaki gibi grnr:

# ls -al sirala.sh
---------- 1 root root 0 Kas 29 16:37 sirala.sh

Bu dosya iin herkese r:okuma hakk u ekilde verilir:

# chmod +r sirala.sh
# ls -al sirala.sh
-r--r--r-- 1 root root 0 Kas 29 16:37 sirala.sh

105
LPI Sertifikasyon Kitab

Eer yalnzca dosya sahibine (u:user) yazma hakk verilmek istenirse:

# chmod u+w sirala.sh


# ls -al sirala.sh
-rw-r--r-- 1 root root 0 Kas 29 16:37 sirala.sh

Eer gruba (g) ve dierlerine (o) altrma hakk verilecekse aadaki komut kulla-
nlr:

# chmod g+x,o+x sirala.sh


# ls -al sirala.sh
-rw-r-xr-x 1 root root 0 Kas 29 16:37 sirala.sh

Veya tm bu ilemler rakamlarla yaplabilir.

# chmod 754 sirala.sh


# ls -al sirala.sh
-rwxr-xr-- 1 root root 0 Kas 29 16:37 sirala.sh

chown
Dosya sahibi ve grubunu deitirir.
-R
Belirtilen dizinin tm dosyalar ve alt dizinleriyle birlikte sahip ve grup bilgilerini
deitirir.

Aadaki rnekte imdiki sahibi root:wheel olan beni.oku dosyasnn sahibi sim-
sek:admin olarak deitirilmitir.

# ls -l beni.oku
-rw-r--r-- 1 root root 0 Kas 29 16:38 beni.oku
# chown simsek:admin beni.oku
# ls -al beni.oku
-rw-r--r-- 1 simsek admin 0 Kas 29 16:38 beni.oku

106
LPI Sertifikasyon Kitab

chgrp
Sadece dosya ve dizinin grubunu deitirmede kullanr. Chown komutu gibi R pa-
rametresi kullanlabilir. Aadaki rnekte dosyann sahibi users grubu yaplmtr.

# chgrp users beni.oku

zel zinler(t ve s bitleri)


Yukardaki rneklerde dosya eriimlerinin 3bit(---) zerinden tanmland belirtil-
miti. Aslnda genelde 3 bit zerinden yetkilendirilir demek daha doru bir ifadedir.
Fakat gerekte gnlk hayatta ok fazla kullanlmayan 4. Bir bit daha vardr. Drdn-
c bitde t(sticky bit) ve s(suid bit) olmak zere iki ayr vardr.
Sticky bit(t) genelde herkesin yazmasna ak olan /tmp gibi dizinlere uygulanr. Bu
bitin amac herkesin eriimi olan dizinlerde kullanclar tarafndan oluturulan dosya-
larn sadece o kullanc tarafndan silinebilmesini salar. Dizinlere sticky bit hakk ch-
mod 1777 veya chmod +t komutu ile verilir. Dizinin stickey bit haklar olup olmad
dosya haklarnn sonundaki t ifadesi ile anlalr.

# ls -ald /tmp
drwxrwxrwt 11 root root 4096 Kas 29 16:15 /tmp

altrma hakk olmayan dizin veya dosyaya sticky bit hakk verilirse sondaki t yerine
T gsterilir.

Suid bit(s) ise normal kullanclarn bir komutu altrrken sadece o komut iin geici
olarak daha yetkili bir kullanc haklaryla i yapmasn salar. Bu hak chmod 4755
komutu ile verilir.

107
LPI Sertifikasyon Kitab

Linux Dizin Yaps


Konu:
Standart Linux dizin hiyerarisi

Hedefler:
Dosya sisteminin hiyerarik dzenini anlamak
Hangi dizinin hangi amala kullanldn renmek
Anahtar Kelimeler:
/boot, /root, /etc, /usr, /bin, /sbin, /mnt, /lib, /dev, /proc, /tmp, /
var, /home

108
LPI Sertifikasyon Kitab

Hiyerari
Gnmzde yzlerce linux datm bulunmaktadr. Her bir datm kendi dizin ya-
ps hiyerarisi kullanmaya baladnda her bir linux datmna zel dizin yapsn
bilmek gerekiyordu. Bu sorunu amak iin Dosya sistemi hiyerari standart( Filesys-
tem Hierarchy Standard( FHS) belirlendi. Bu standartn amac kurulan yazlmlarn ve
kullanclarn kullanaca dosya ve dizinleri belirlemektir. Bu standartlara gre man
dosyalarnn, programlarn yeri, veri tutan dizinlerin yeri vs hepsi belli bir kurala gre
dzenlenmitir. http://www.pathname.com/fhs/ adresinden en gncel standart in-
celeyebilirsiniz.

Linux sistemlerde dizin hiyerarii genel olarak aadaki ekildeki gibidir.

tmp usr var


home

its scs

ug1 pg1 staff

ee51vn ma51ik

docs pics report.doc

/bin Temel komutlar


/boot n ykleyicinin kulland dosyalar
/dev Aygt dosyalar
/etc Sistem yaplandrma dosyalar
/home Kullanclarn ev dizinleri
/lib Paylalan temel ktphaneler ve ekirdek modlleri
/media karlabilir aygtlar iin balama noktas

109
LPI Sertifikasyon Kitab

/mnt Dosya sistemlerini geici olarak balama noktas


/opt Sonradan eklenen uygulamalar
/proc sistemin genel ve anlk bilgilerini ieren sanal dosya sistemi.
/sbin Temel sistem yneticisi komutlar
/tmp Geici dosyalar
/usr kincil kk, kullanc iin yeni dizilim noktas
/var Deiken veriler, log dosyalar vb.

/bin
/bin dizini sistem yneticileri ve normal sistem kullanclar iin kullanl temel ko-
mutlar barndrr. Kullanc kabuu bash ve ls, cp, rm, cat gibi pek ok temel komutu
iermesi nedeni ile en basit sistem kurulumunda bile oluturulur.

/boot
letim sisteminin almas iin gerekli btn dosyalar bu dizindedir. ekirdekler ve
initrd kalplar bu dizinde yer alr.

# ls /boot/
config-3.2.0-4-amd64 grub initrd.img-3.2.0-4-amd64
System.map-3.2.0-4-amd64 vmlinuz-3.2.0-4-

/dev
Bu dizin zel veya aygt dosyalarnn konumudur. UNIX dnyasndaki herey bir dos-
yadr kuralnn bir gstergesi olarak bilgisayara bal aygtlar, donanmlar /dev altn-
da kendilerine eriimi salayan bir dosyaya sahiptirler.

/etc
Sistemin nemli yaplandrma dosyalar bu dizindedir. Yaplandrma dosyalar alt-
rlamayan fakat okunan ve yorumlanan dosyalardr. Bir programn nasl alacan
belirlerler. Buradaki dosyalar olmadan sistem programlar dzgn almayacaktr.
O nedenle /etc iin sistemin kalbidir diyebiliriz. Her zaman yedeklemede ncelie
sahiptir.

110
LPI Sertifikasyon Kitab

/home
Linux ok kullancl bir iletim sistemi olarak kullanclarn dosyalarn bakalarna
kar koruduu gibi herkese almas iin bir ev (home) dizini sunar. Linuxta stan-
dart olarak kullanc dizinleri /home altnda yer alr. Buraya kullanc istedii dosyalar
yerletirir, programlar kurar veya siler. ok fazla kullanc olan sistemlerde bu dizinin
ayr bir disk blm olmas tavsiye edilmektedir.
Bir kullanc alrken kullanc dizinine baz dosyalar otomatik olarak kopyalanr. Bu
dosyalar /etc/skel altndaki dosyalardr.

/lib
Bu dizin ekirdek modlleri ve sistem ktphanelerini ierir. ekirdek modlleri sis-
temin al iin gerekli olup baz donanmlarn sistem tarafndan tannmasn salar.
Sistem ktphaneleri ise /bin ve /sbin altndaki programlarn almas iin gerekli C
ktphaneleridir.
Ktphane dosyalarnn uzants *.so eklindedir.
ekirdek modlleri ve aygt srcleri /lib/modules/kernel-version dizini altnda-
dr. Linux altnda birden fazla ekirdek olabilecei iin bu ekilde ekirdek srm
ile dizinler ayrlmaktadr. Al zamannda hangi ekirdek seilirse onun dizinindeki
modller yklenir.

/lost+found
Baz zamanlar bilgisayar doru kapanmam olabilir, elektrik kesintisi nedeni ile ani-
den kapanm olabilir. Bu durumda bir sonraki alta iletim sistemi dosya sistemi
kontrol (fsck program ile) yapacaktr. Bu kontrol sonucunda bozulmu veya kaybol-
mu bir ey varsa dzeltip veya bulup bu dizin altna koymaktadr.
Her disk blm kendi lost+found dizinine sahiptir. lost+found dizinindeki dosyalar
eer dzgn ise olmalar gereken dizine geri tanrlar.

/media
Disket, cd-rom, dv-rom, cd/dvd-rw gibi sklp taklabilir dosya sistemleri bu dizine
balanmaktadr.

/mnt
Dosya sistemlerini veya aygtlar balamak iin kullanlan genel balama noktasdr.
Balama ilemi mount komutuyla yaplr:

111
LPI Sertifikasyon Kitab

# mount /dev/hdd /mnt

/opt
letim sisteminin ntanml kurulumu ile gelmeyen tm yazlm ve paketlerin ku-
rulumu iin /opt dizini tahsis edilmitir. rnein, Kylix, StarOffice, WordPErfect vb...

Bu dizin Windows altndaki Program Files dizinine benzetilebilir. Her retici bu dizin
altnda kendi adyla veya programn adyla bir dizin aar ve programlarn bu dizinin
ierisine kurar. /opt/surgate, /opt/endersys veya /opt/ecm gibi.

/proc
/proc sanal bir dosya sistemidir. Linuxun sunduu en gl zelliklerden biri de /
proc dosya sistemidir. Buradaki dosyalar gerek ierik tamaz. alma zamannda
ekirdek tarafndan ierikler gncellenebilir. Sistem bellei, balanm aygtlar, do-
nanm bilgisi, srelerin durumu gibi ekirdee ait bilgileri barndrr. Pek ok sistem
program bilgilerini bu dizinden alrlar:

Yukarda grlecei gibi lsmod komutu /proc/modules dosyasndaki bilgileri yorum-


lar. Bunun gibi lspci komutu da /proc/pci dosyasn okur.

/root
Sistem yneticisinin ev dizinidir. Sistem kullancs root isimli hesaba sahiptir ve bu
hesabn ev dizini /root dizinidir. /home dizini genelde farkl disklerde olduundan
herhangi bir nedenle yetkili kullancnn sisteme eriememe problemi yaamamas
iin ev dizini kke alnmtr.

/sbin
Sistem programlar (system binary) bu dizinde bulunur. Sistem programlarnn nor-
mal programlardan (/bin) fark sistem ynetimine ynelik olmalardr. Byk bir ks-
mn altrmaya normal kullanclar yetkili deildir. altrabildikleri ise sistemden
bilgi almaya ynelik, sistemde deiiklik yapmayan sistem komutlardr.

mkfs disk biimlendirme komutu, lspci, lsmod, service, sysctl, syslogd, grub, fsck,
dump, init, modprobe gibi sistem komutlar bu dizindedir.

112
LPI Sertifikasyon Kitab

/usr
Sistemde en ok yer kaplayan dizin /usr dizinidir. Bu dizin kullanc iin ikinci bir kk
dizin olarak dnlebilir. Nasl ki sistemin /bin, /sbin dizinleri var; /usr/bin ve /usr/
sbin dizinleri de vardr. Sisteme sonradan kullanc tarafndan kurulan programlar /
usr kk kabul ederek dosya sistemine yerleirler. rnein kullanc programlar /usr/
bine, sistem programlar /usr/sbine, yaplandrma dosyalar /usr/etc veya /usr/local/
etcye yerletirilir.

# ls /usr/
bin games include lib lib32 local sbin share src

/var
Genel olarak deiken (variable) veriler/dosyalar bu dizinde tutulur. rnein sistem
gnlkleri, mail kuyruu, gelen mailler, yazc kuyruu, programlarn kilit dosyalar
vs...

# ls /var/
backups cache data lib local lock log mail opt run spool
tmp www

/var ve /usrn ayr blmlerde olmas sistem ynetimini kolaylatrr. nk /usr yal-
nz okunur ekilde balanp korumaya alnabilir. nk /usr altna dosya eklemek
veya ordaki dosyalar deitirmek ok nadiren gerekleir. /var ise her saniye dei-
ebilir. Srekli gelen emailler, srekli gnlk yazan programlar dnlrse ne kadar
youn yazmaya tabi tutulduu daha kolay anlalr.

/tmp
Geici olarak kullanlacak dosyalar bu dizinde oluturulur. Btn programlar ve kulla-
nclar bu dizine yazabilirler. Buradaki dosyalar ne yaptnza emin olmadan silme-
niz tehlikeli olabilir. nk silinen dosyalar o an alan srelerden biri kullanyor
olabilir.

113
LPI Sertifikasyon Kitab

Ariv ve Yedekleme
Konu:
Linux altnda dosya ve dosya sistemi yedekleme

Hedefler:
Dosya yedekleme aralarn tanmak
Dosya sktrmak
Disk imaj almak
Anahtar Kelimeler:
tar, gzip, gunzip, zcat, bzip2, dd, cpio

114
LPI Sertifikasyon Kitab

tar
Btn UNIX iletim sistemleri tar (Tape Archive) ile arivleme yapmay destekler. Tar
aslnda teyp birimlerine arivleme amacyla gelitirilmitir. Teyp niteleri gelien yeni
teknoloji ile birlikte kullanmdan yava yava kalkmaktadr. Fakat tar program halen
daha deiik amalarla dosya sisteminde kullanlabilmektedir.
Tar kendisi veri sktrmas yapmaz. Veri sktrmas iin gzip veya bzip2 biimlerini
kullanabilmektedir.

$ tar -zcvf yedek.tar.gz db.sql mbox


db.sql
mbox

$ ls -lh yedek.tar.gz
-rw-r--r-- 1 ahmet ahmet 176 Ara 13 23:22 yedek.tar.gz

Komuttaki z parametresi gzip sktrmas da yaplmasn sylemektedir. v ekrana


ne yapldna dair bilgi dkleceini gsterir. c parametresi ariv oluturma iin, x
parametresi ise ariv amak iin kullanlr. Bzip2 biiminde sktrma yapmak iin z
yerine j kullanmak gerekir.

f parametresi ile arivleme sonucu oluacak veya mevcut ariv dosyann adn belirt-
mek iindir. Dsya ismini bu parametreden hemen sonra belirtmek gerekir.

Gzip ile sktrlm ariv alrken yine z parametresi kullanlmaldr. Bzip iin ise ayn
ekilde j parametresi kullanlr:

$ tar -zxvf yedek.tar.gz


db.sql
mbox

rnein Gzip ile sktrlm dosyay Bzip2 ile amaya alrsanz aadaki gibi hata
alrsnz:

$ tar -jxvf yedek.tar.gz


bzip2: (stdin) is not a bzip2 file.
tar: Child returned status 2
tar: Error exit delayed from previous errors

115
LPI Sertifikasyon Kitab

Dizinler arivlenirken aadaki gibi bir bilgi mesaj kar:

tar: Removing leading `/ from member names

Bu mesaj, arivde en bataki kk ifade eden ( / ) simgesinin kaldrlacan sylemek-


tedir. Yani Bu ariv aldnda rnei /etcye deil bulunulan dizindeki etc/ ye alr.
Bylece alan sistemin zerine yazlmas engellenmi olur. Sistem yneticisi kendisi
ihtiya grd yere alan dizini kopyalayabilir.

t parametresi ariv ieriini gsterir. v ile kullanlrsa daha fazla detay


verir:

$ tar -ztvf yedek.tar.gz


-rw-r--r-- simsek/wheel 125116416 2008-11-05 16:18:30 db.sql
-rw------- simsek/wheel 2771 2008-11-05 16:18:48 mbox

Bzip2 ok daha fazla sktrma imkan salayan bir biimdir.

cpio
Dosyalar arive kopyalamak, arivdeki dosyalar kartmak iin kullanlr. Arivlene-
cek dosyalarn listesini STDINden alr ve arivi STDOUTa yazar. Bu nedenle dosya
listesinin oluturulmas ve kn ynlendirilmesi gerekmektedir.

$ ls | cpio -ov > directory.cpio

-o seenei ariv oluturmak, -v seenei ise yaplan ilemler hakknda bilgi vermek
iin kullanlr.

Bir dizini alt klasrleriyle tamamen yedeklemek iin dosya isimleri find komutuyla
oluturulabilir.

$ find . -print -depth | cpio -ov > tree.cpio

Arivi amak iin:

$ cpio -idv < tree.cpio

116
LPI Sertifikasyon Kitab

-I seenei arivi amak, -d seenei ise arivin ierdii klasrleri oluturmak iin kul-
lanlr. Normalde cpio klasrleri oluturmaz.

Cpionun bir kullanm ekli de bir dizini digger bir dizine kopyalamasdr.

$ find . -depth -print0 | cpio --null -pvd new-dir

cpio komutu kullanlarak tar ariv oluturulabilir. F seenei ile ktnn yazlaca
ariv dosyasnn ismi, -H ile ariv biimi belirtilir.

$ ls | cpio -ov -H tar -F arsiv.tar

Tar arivi amak iin:

$ cpio -idv -F ornek.tar

Tar arivin iindeki dosyalar grntlemek iin:

$ cpio -it -F ornek.tar

Dier baz seenekler:

-L: Sembolik link yerine, linkin gsterdii dosya arivlenir.


-m: Ariv alrken dosyalarn son deitirilme zamann korumak iin.

dd
ntanml olarak Stdinden Stdouta belirtilen blok boyutlarnda dosya kopyalar. Ge-
nel kullanm aadaki gibidir:

# dd if=girdi of=cikti bs=blok-boyutu count=blok-says

117
LPI Sertifikasyon Kitab

if: Input File, girdi


of: Output File, kt
count: bs ile boyutlar belirtilen bloklardan ka adet kopyalanaca
bs: Bir blogun boyutu (ntanml: 512 byte)

dd komutu genel olarak disk imaj almak iin yedekleme amalaryla kullanlr. Aa-
daki komutla sda diski sdb diskine dump edilmektedir.

# dd if=/dev/sda of=/dev/sdb

Bir diskin imajn alp dosya olarak saklamak iin:

# dd if=/dev/hda of=haddisk.img

Alnm imaj herhangi bir diske (rnekte hdb) dump etmek iin:

# dd if=hdadisk.img of=/dev/hdb

Bir disk tamamen dump edilebildii gibi iindeki bir disk blm yalnz bana dump
edilebilir.

# dd if=/dev/hda1 of=hda1.img

Bir CDden ISO dosyas oluturulabilir:

# dd if=/dev/cdrom of=pardus.iso bs=2048

MBRnin yedeini almak iin:

dd if=/dev/hdx of=/path/to/image count=1 bs=512

MBR ilk 512 byte olduundan 512 bytelk tek bir blok kopyalanmaldr.

118
LPI Sertifikasyon Kitab

gzip, gunzip, zcat, bzip2


Verilen dosyay Lempel-Ziv (LZ77) kodlamasn kullanarak sktrr ve dosya boyutu-
nu kltr. Sktrlan dosyann uzants otomatik olarak .gz yaplr. ntanml olarak
orjinal dosya ismini ve dosya deitirilme zamann muhafaza eder.

$ gzip test.c

Sktrlma sonucunda skmam dosya dnr, yani skmam hali diskten silinir.
c parametresiyle kt STDOUTa yazlr ve orjinal dosya muhafaza edilir. Ariv dosya-
snn saklanmas iin STDOUTun bir dosyaya ynlendirilmesi gerekmektedir.

$ gzip -c archive.txt > arsiv.txt.gz

Gzip ile sktrlm dosya, gzip d veya gunzip veya zcat ile alr.

$ gunzip test.c.gz

Gunzip komutu, gzip, zip, compress ve pack sktrma biimlerini otomatik olarak
tanyarak aar. Gunzip c parametresiyle kty STDOUTa yazar. Zcat komutu Gunzip
c ile ayn ilevi grr.

Sktrma ilemini bir dosyaya deil de alt klasrleriyle birlikte bir dizine yapmak iin
r seenei kullanlr.

$ gzip -r directory

Bzip2 daha iyi sktrma yapabilen Burrows-Wheeler metin sktrma algoritmasn


kullanan bir sktrma komutudur. Kullanm gzip ile ayndr. Sadece dosya uzants
bz2 eklinde oluturulur.

$ bzip2 -c readme.txt > readme.txt.bz2

119
LPI Sertifikasyon Kitab

alan Sreler
Konu:
Sre balatma ve alan sreleri ynetme

Hedefler:
Sreleri balatma ve sonlandrma
Sreleri grntleme ve izleme
Srelere sinyal gnderme
E zamanl sanal terminaller ama
Arkaplanda yrtlen grevler
Srelerde ncelik
Anahtar Kelimeler:
ps, pstree, top, htop, free, uptime, screen, nohup, bg, fg, jobs, &,
nice, renice, kill, killall, pkill, pgrep

120
LPI Sertifikasyon Kitab

Sreler
Sre (process) genel tanmla alan bir programdr. Sreler, komut satrndan al-
trlan ksa sreli komut olabilecei gibi iletim sisteminin ak olduu sre boyunca
alan bir a servisi de olabilir.

Kullanclarn sreleri ynetebilmesi iin her srece ait bir PID numaras vardr. S-
rele ilgili yaplacak ilemler bu PID numaras zerinden gerekletirilir. Linux altnda
alan ilk sre init olup PID numaras her zaman 1dir. Init ilk sre olduu iin kulla-
nc tarafndan balatlan dier srelerin aksine ekirdek tarafndan balatlr.

Baz sreler e zamanl alan alt threadlere sahip olabilir. Threadler ayn PID al-
tndadr, kendilerina ait bir PID numaras olmaz. rnein Mozilla Firefoxta bir thread
DNS sorgularn zerken dier thread sunucuyla konuur.

ps , pstree
alan kendine ait sreleri grntlemek iin temel olarak ps komutu kullanlr.

$ ps
PID TTY TIME CMD
6082 pts/0 00:00:00 bash
6190 pts/0 00:00:00 ps

Sistemdeki tm sreleri grntlemek iin:

a: Btn sreler
- u: Belirtilen kullancya ait sreler
- t: Belirtilen terminale ait kullanclar

kt parametreler biimlendirilebilir. rnein aadaki komut aa yapsnda bir


kt retecektir.

121
LPI Sertifikasyon Kitab

$ ps axjf

top
En ok CPU kullanan sreleri gsterir. Ayn zamanda sreleri dzenleyebilecek et-
kileimli bir arayz sunar. Grevleri CPU kullanmna, bellek kullanmna ve alma
sresine gre sralar ve sistem yneticisinin kaynak kullanmn analiz etmesini salar.

-d: Deerlerin gncellenme araln belirlemek iin


-p PID: Yalnzca verilen PID numarasna sahip sreci izlemeye alr

-q: Deerler herhangi bir bekleme olmadan gncellenir


-C: Birden fazla ilemci olan sunucularda tek tek CPU deerini gstermek yerine
toplam CPU deerlerini gsterir
-c: Sadece sre adn deil tam komut satr parametrelerini gsterir
-H: Threadleri gstermek iin

122
LPI Sertifikasyon Kitab

Top ktsnda gsterilen baz alanlarn aklamalar:

lk satr: Sistemin ne kadar sredir ak olduunu gsteren uptime (yukardaki ktda


24 gn) ve son 1, 5 ve 15 dakika ierisindeki CPU ykn gsterir. Uptime komutuyla
ayn sonucu verir.

Mem satr: Toplam bellek, bo bellek ve kullanlan bellek miktar gibi bellekle ilgili
istatistikleri ierir.
PID : Process ID
PPID : Ana srecin PID numaras
User : Srecin sahibi kullanc
PRI : Srecin ncelii
Time : Sre baladndan beri tkettii CPU zaman
%CPU : Tm sreler iinde CPU zamannn % ne kadarn kulland
%MEM : Toplam sreler iinde fiziksel bellei % ne kadar kulland

htop
htop, ncurses tabanl top benzeri alan sreleri gsteren bir uygulamadr.
Htop program sistemle birlikte kurulu olmayabilir. Aadaki ekilde kurulur:

# apt-get install htop

123
LPI Sertifikasyon Kitab

Htop arayz ksmdan olumaktadr:

Balk ksm: lemci, bellek ve Swap kullanm gsteren barlar ve alan sre says,
ilemci yk durumu ve sistemin ne kadar sredir ak olduu gibi bilgileri iermekte-
dir. Bu grnt htop mensnden deitirilebilir.

Gvde ksm: topa benzer olarak srelerin ilemci kullanmna gre listelendii k-
smdr.

Alt ksm: Htop mensn ve ksayollarn gsterir.

free
Kullanlabilir bo veya kullanlm bellek alann grntler. Ayn zamanda swap kul-
lanm hakknda da bilgi verir.

#free
total used free shared buffers
cached
Mem: 1006708 935872 70836 0 148244
346656
-/+ buffers/cache: 440972 565736
Swap: 262140 130084 132056

Mem olarak gsterilen ilk satr fiziksel bellek kullanmn gsterir.


Swap olarak gsterilen nc satrda ise swap kullanm gsterilir.

-b: Gsterim birimi byte yaplr


-m: Gsterim birimi megabyte yaplr
-h: Miktarlar insan okumas iin kolaylatrlr
-t: Drdnc bir satrda toplamlar gsterir
-s: Srekli gncellenen kt retir. Program Ctrl-C ile sonlandrlana kadar kt-
lar ekranda kayar. Parametre ile birlikte gncelleme sresi belirtilir.

# free ms 5

Bu komutun verdii ktlar proc dosya sisteminde /proc/meminfo olarak bulunabilir.

124
LPI Sertifikasyon Kitab

uptime
Sistemin ne kadar sredir altn gsterir. Sistem yneticileri genelde bilgileri d-
nda sistem kapanmas olmu mu olmam m bu komutla kontrol eder.

Bununla birlikte ka kullancnn sistemde olduu, son 1-5-15 dakikalk ilemci yk


gibi ilave bilgiler de verir.

$ uptime
21:54:11 up 13 days, 4:29, 1 user, load average: 0.21, 0.21, 0.12

ktdaki 21:54 mevcut zaman, 13 ise ka gndr sistemin ak olduunu gsterir.

screen
Metin terminal ve emlatrler iin ekran yneticidir. Tek bir pencereden bir fazla
balanty yeni terminal penceresi amaya gerek kalmadan ynetebilir. Screen genel
olarak, zellikle uzak sunucu balants ile yaplan ve uzun zaman alacak ilemlerin,
balantnn kopmas durumunda yarda kesilmesine kar zm olarak kullanlr.

Uzun srecek bir ilemden nce (rnein wget ile dosya indirme) screen komutu ve-
rilerek oturum oaltlr.

$ screen

Balant koptuunda screen ile yaplan ilemler yarda kesilmez. Alan screen pen-
ceresindeki ilem devam ederken Ctrl-a + d tularna baslarak ekran zlr (deta-
ch) ve asl terminale geri dnlr. Bu ekilde birden fazla terminal alarak ilemler
yaplabilir.

zlen terminaller arka planda screen tarafndan sanal olarak iletilmeye devam
edilir. Kullanc sistemden k yaparak baka ilerine devam edebilir.

Sisteme tekrar girildiinde arkaya gnderilen terminallere tekrar eriilebilir. Birden


fazla screen terminal alm ise aadaki komut ile listesi alnr:

125
LPI Sertifikasyon Kitab

$ screen -ls
There are screens on:
19019.pts-1.elastix (Detached)
19079.pts-1.elastix (Detached)
2 Sockets in /var/run/screen/S-user1.

Bu terminallerden birine dnmek iin screen komutuna oturum IDsini parametre


olarak vermek gerekecektir.

$ screen r
$ screen r 19079

Bu ekilde kapatlan terminallere yeniden ulalr (re-attach).

Birden fazla screen terminal amak iin iki yol vardr: 1. Yeni bir screen oluturup z-
mek ve ana terminalden yeni bir screen daha amak. 2. Ctrl-A + c ile i ie screen
oluturmak. Bu durumda bir sonraki terminal iin Ctrl-A + n, bir nceki terminal iin
Ctrl-A + p tular kullanlr.

Screen, yaplan ilemleri loglayabilir. Bunun iin Ctrl-A + H (byk H) tular kullanlr.
Bu komutu kullandnzda aadaki gibi bir mesaj greceksiniz. Bu mesajda logla-
mann yaplaca dosya ad verilmektedir. Bu dosya kullanc ev dizinindedir.

Creating logfile screenlog.0

Loglamay balatmann bir dier yolu da screen komutunu L parametresiyle ar-


maktr. Loglamay durdurmak iin tekrar Ctrl-A + H yaplr.

$ screen -L

O anki terminal grntsn almak iin Ctrl-A + h yaplr. kt yine ev dizininde har-
dcopy.0 eklinde bir dosyada saklanmaktadr.

126
LPI Sertifikasyon Kitab

Screen ile ekran bandan ayrlacanz zaman terminal ekranna hzlca parola ko-
rumas koyabilirsiniz. Bunun iin Ctrl-A + X (byk X) ikilisi kullanlr. Aadaki gibi
parola soran bir ekran kartr. Tekrar parola yazlarak sisteme girilir.

Screen used by <user1>.


Password:

Screen, herhangi bir oturumu tekrar aabilmek iin (re-attach) de giri parolasndan
bamsz parola koyabilir. Bu durumda r ile eski screen terminaline ulamadan nce
parola sorulur.

Bunun iin ncelikle $HOME/.screenrc dosyasnda aadaki gibi parolann ifreli hali
(crypted) olmal:

password crypt_password

Screenin gelimi bir zellii de bir terminali baka bir kullanc ile paylaabilmesidir.
Bylece bir bakas terminal ierisinde yaplanlar izleme ansna sahip olacaktr.

Bunun iin ncelikle screen komutunun SUID bitli olmas gerekmektedir.

# chmod u+s /usr/bin/screen

Screen ekrannda : karakterine basldnda gelen promptta aadaki yazlr:


:multiuser on
:acladd user2 (user2 terminalin paylalaca kullanc)

Dier kullanc (user2) ayn sunucuya balanarak aadaki komutla paylalm ter-
minali alr:

$ screen x user1/

Screen ekrann sonlandrmak iin iki yol bulunmaktadr. Ya Ctrl-A + d (detach) yada
Ctrl-A + K (kill) kullanlr.

127
LPI Sertifikasyon Kitab

nohup
Verilecek komutlar herhangi bir kesintiye uramadan altrmay salar. Btn
sinyalleri devre d brakarak alan srecin sinyallerden etkilenmesini engeller. Ge-
nelde uzak balantlarda uzun srecek komutlarn balant sonlandnda bile arka
planda devam etmesi iin kullanlr. Kullanc sistemden ksa ve terminali kapatsa
bile komut almasna devam edecektir. nk nohup komutu terminalin rettii
ve sreci de sonlandracak sinyalleri engeller.

$nohup komut &

rnein ok uzun srecek bir ilem olan SUID biti set edilmi dosyalarn
bulunmasn nohup ile balatp terminal kapatlabilir. Normalde ekrana
(Stdout) baslacak ktlar nohup.txt dosyasna yazlr. Arka planda ne olduunu
grmek iin bu dosyaya baklabilir.

# nohup find / -xdev -type f -perm +u=s -print &


[1] 19567
nohup: appending output to `nohup.ou

Nohup komutu sadece arka planda sinyallere maruz kalmadan almay engeller.
Screen gibi bir terminal yneticisi deildir.

& bg fg jobs
Bash kabuk altnda alan bir sre yarda kesilebilir, arka plana gnderilebilir, tekrar
nplana alnabilir veya arka planda sonlandrlabilir.

Aadaki gibi uzun srecek bir grev arka plana gnderilebilir. Arka plana gnder-
mek iin komut sonuna & simgesi eklenir.

# find / -ctime -1 > changed-files.txt &

Bir komutu altrp, bir sre izledikten sonra Ctrl-Z ile kesilip bg komutu verilerek de
arka plana gnderilebilir.

128
LPI Sertifikasyon Kitab

$ wget http://www.google.com
[1]+ Stopped wget http://www.google.com
$ bg
[1]+ wget http://www.google.com &

Arkaplana giden bir i sonlandnda konsola aadaki gibi mesaj verilir:

[1]+ Done wget http://www.google.com

Arka plana gnderilmi grevleri grmek iin jobs komutu kullanlr:

# jobs
[1] Running bash script.sh &
[2]- Running sample-soft &
[3]+ Done browser .

Arka plandaki bir ii tekrar n plana almak iin fg komutu kullanlr. Hibir parametre
verilmezse en son arka plana gnderilen komutu n plana alr.

Aadaki komutla 1 numaral arka plan ii ne alnr:

$ fg %1

Arka plandaki bir ii sonlandrmak iin kill komutu kullanlr. Aadaki komut arka
plandaki 2 numaral ii sonlandrr:

$ kill %2

nice, renice
Bir komutu ilemci nceliini deitirmi olarak balatr.

# nice n ncelik komut

129
LPI Sertifikasyon Kitab

ncelik -20 ile 19 arasnda bir tamsaydr. -20 en yksek ncelik demek oluyorken 19
en dk ncelik demektir. Komut verilmez ise mevcut ncelik deerini ekrana basar.
ncelik deeri bir deer belirtilmezse ntanml olarak 10 artrlr.

$ nice
0
$ nice nice
10
$ nice -n 10 nice
10
$ nice nice -n 3 nice
13
$ nice -n 1000000 nice
19

Bir srecin ncelik deerini drmeyi ancak yetkili kullanclar yapabilir:

$ nice -n -1 nice
nice: cannot set niceness: Permission denied
0
$ sudo nice -n -1 nice
-1

alan bir srecin nceliini deitirmek iin renice kullanlr. Parametre olarak al-
an srecin PID numaras verilir.

# renice -n -19 -p 1312

-g: Ayn gruptaki tm sreler


-u: Ayn kullancya ait tm sreler
-p: PID numarasna gre eleen sreler

Aadaki komut grp1 kullanc grubuna ait tm srelerin nceliini 5 yapar.

# renice -n 5 -g grp1
# renice -n 5 -u bala

130
LPI Sertifikasyon Kitab

Sre Oluturma ve Sonlandrma


Sreler iki ekilde oluturulur:

1. atallanma (fork): Ana sre kendi kopyasn kartarak yeni i bu kopyaya yap-
trtlr. lk alan sre olan init kendi kopyasn kartarak yeni ileri bu kopyaya
yaptrr. Bu ekilde bir soyaac ile yeni sreler oluturulur.

2. Yeni sre balatma (exec): exec komutuyla yeni bir sre balatlr. Bu sre ana
srecin yerini alr. Komut satrndan exec ile bir komut altrldnda, komut
bitince tekrar komut satrna dnlmez. nk yeni sre ana srecin yerini al-
mtr, artk ana sre kalmamtr. Buna en gzel rnek komut satrndan exec
komutuyla ssh komutunu altrmaktr. Kar sunuya balant kuran ssh komutu
exec ile altrldndan kendi ana sreci olan kabuun yerini almtr. Kar ta-
raftan exit yaplp ssh sonlandrldnda konsol penceresi kapanr. nk artk
dnlecek bir kabuk yoktur.

Bash kabuu komut altrrken fork + exec yapar. Yani kendisinin bir klonunu kar-
tr ve bu klon exec yaparak yeni sreci balatr. Yeni sre klonun yerini alr. Dolaysyla
komut bittiinde klon kabuk olmayacak ancak klonu kartan esas kabuk hala var
olacak.

Ana sre oluturduu alt srecin sonlanmasn wait(2) veya waitpid(2) sistem a-
rsyla bekler. Eer bir alt sre sonland halde ana sreci tarafndan beklenmiyor
ise o alt sre zombi durumuna geer. Sistem kayna tketmez ancak ok sayda ol-
malar durumunda PID numaralar karmaklaacaktr. Byle bir durumda ana srece
SIGCHLD sinyali gnderilerek alt srecini takip etmesi istenir. Sinyal gndermek iin
kill komutu kullanlr. Eer ana sre halen daha alt srecinin kendisine dnmesini
beklemiyorsa artk ana sre ldrlr. Bu durumda zombi sre sahipsiz (orphan)
sre pozisyonuna geer. Btn srelerin atas olan init sreci belli aralklarla sahip-
siz sreleri sahiplenerek yok eder.
Programlar, programclarn kodlarndaki exit fonksiyonlaryla yada dardan gelecek
kesmelerle (interrupt) sonlanr. Programlar sonlanrken 0-255 aras bir k deeri
ile sonlanrlar. Bu deer programn neden ktn gstermesi asndan nemlidir.
Genel olarak 0 ile kan programlar baaryla grevini tamamlayarak, 1-255 aras bir
rakamla kan programlar ise bir hata ile karlaarak sonlanmtr demektir. Hangi
kodun hangi anlam tad genel olarak programcnn belgelendirmesinde belirtil-
mektedir.
131
LPI Sertifikasyon Kitab

Programlar dardan mdahalelerle kesme (interrupt) yiyerek sonlanabilirler. rne-


in alan harddiskte arza kmas bir kesme olarak ekirdek tarafndan programa
iletilecektir ve program kesmeyi alnca sonlanacaktr.

Sinyaller
Kullanc ortamnda kill komutuyla srelere ellen sinyal gnderilebilir. Sinyallerin her
birinin zel bir anlam olup srecle haberlemeyi salar. rnein bir sre SIGFPE
(Floating Point Error) almsa sfra blmek gibi anlamsz bir ilem yaptn haber
verir.

Sinyaller eer program tarafndan yakalanmazsa genellikle programn aniden son-


lanmasna neden olur. Bu nedenle programclar kendilerine gelen sinyali yakalayp
program dzgn bir ekilde kapatrlar. Sinyali ileyen bu ksma programclkta sinyal
ileyici (signal handler) denir.

Aadaki tabloda sinyallerin bir ksm verilmektedir:

Sinyal Deer Aksiyon Aklama


-------------------------------------------------------------
SIGHUP 1 Term Terminali askya al yada sreci
sonlandr
SIGINT 2 Term Klavyeden gelen kesme
SIGQUIT 3 Core Klavyeden gelen k kesmesi
SIGILL 4 Core Tanmsz CPU ilemi
SIGABRT 6 Core Abort
SIGFPE 8 Core Matematik ilemci hatas
SIGKILL 9 Term Sreci ldr
SIGSEGV 11 Core Geersiz bellek adreslemesi
SIGPIPE 13 Term Okuyucusu olmayan krk pipea
yazma hatas
SIGALRM 14 Term Zamanlama sinyali
SIGTERM 15 Term Sonlandrma sinyali
SIGUSR1 30,10,16 Term Programcnn tanmlad zel
sinyaller
SIGUSR2 31,12,17 Term Programcnn tanmlad zel
sinyaller

132
LPI Sertifikasyon Kitab

Listede tanmlanm aksiyonlar:

Term: Sreci sonlandr


Ign: Sinyali gzard et
Core: Sreci sonlandr ve bellek dump al
Stop: Sreci durdur

Kill, killall
Komut satrndan ellen srelere sinyal gndermek iin kill komutu kullanlr.

Aadaki komut 1120 PID numaral srece 9 numaral (SIGKILL) sinyali gnderir. Do-
laysyla sreci ldrr.

$ kill -9 1120

Linux altnda bir srecin yaplandrma dosyasn yeniden okumas iin normalde s-
recin sonlandrlp yeniden balatlmas gerekmektedir. Sreci sonlandrmadan bunu
yapmann yolu alan srece SIGHUP gndermektir. Bu sinyali alan srec kendini
askya alr ve ayn PID numaras ierisinde almasna en batan balar.

# kill -1 1531
# killall HUP httpd

killall komutu PID numarasna bakmadan ismiyle srece sinyal gndermek iin kul-
lanlr.

Pkill, pgrep
Srecin ad veya sahibi gibi deiik patternler verilerek belirtilen srece sinyal gn-
dermek iin pkill kullanlr.

Aadaki komut user4 kullancsnn sahip olduu tm sreleri sonlandrr.

# pkill STOP u user4

Aadaki komut ise adnda http geen btn sreleri sonlandrr.

# pkill http

133
LPI Sertifikasyon Kitab

Verilen kritere hangi srelerin uyduunu grmek iin pgrep komutu kullanlr. By-
lece verilen komuttan etkilenecek srelerin istenen sreler olduundan emin olu-
nur.

rnek:

# pgrep u user4
6081
6082

# pkill u user4

veya

# pgrep http
3077
3531
3532
3533
3534
# pkill http

134
LPI Sertifikasyon Kitab

Dosya Dzenleyiciler
Konu:
Linux altnda dosya dzenleme

Hedefler:
nano
vi
Gelitiricilere zel vi kullanm
Anahtar Kelimeler:
nano, vi

135
LPI Sertifikasyon Kitab

Nano
Nano, Piconun kullanc dostu kabiliyetlerini sunacak ancak daha basit ve kk bir
dosya dzenleyicisi olmas amacyla gelitirilmitir.

Aadaki gibi arlr:

$ nano /var/www/index.html

nano komutuyla beraber var olan bir dosya ad verilirse o dosyay aar. Olmayan bir
dosya ad verilirse o isimde dosya oluturulur. Hibir isim verilmezse yeni ve bo bir
dosya aar ve kaydederken ismini sorar.

Nano iinde ilemlerin ou ksayollarla yaplmaktadr. Bu ksayollarn nemli olanlar


nano ekrannn altnda gzkmektedir. Ancak burada gsterilenden daha fazla ksa-
yol bulunmaktadr. Ctrl-G tu kombinasyonu ile yardm ekranna ulap ksayollarn
tamam hakknda bilgi alnabilir.

136
LPI Sertifikasyon Kitab

Baz ksayollarn aklamalar:

Ctrl-O: Dosyay kaydetmek iin kullanlr. Kaydedilecek dosya ismini sorar. Grafik d-
zenleyicilerde kullanlan Save As benzeri bir ilevi var.
Ctrl-R: Baka bir dosyann ieriini mevcut dosyann iine aktarr. e alnacak dosya-
nn yolunu sorar.
Ctrl-C: O an yaplan ilemi kesmek iin kullanlr.
Ctrl-X: Dosyadan kmak iin kullanlr. Eer dosya ierii deitirilmise ieriin kay-
dedilip edilmeyeceini soracaktr.
Ctrl-A: Satr bana gider (Home tuu).
Ctrl-E: Satr sonuna gider (End tuu).
Ctrl-V: Aa doru sayfa sayfa gider.
Ctrl-Y: Yukar doru sayfa sayfa gider.
Ctrl-Space: Kelime kelime dosya iinde ilerler.

137
LPI Sertifikasyon Kitab

Vi Dosya Dzenleyici
Genel
Vi editr tm UNIX ve Linux datmlaryla birlikte gelen ve yaygn bir kullanc kit-
lesi olan bir metin editrdr. Komut satrndan almaktadr ve dosya oluturmak,
var olan dosyada deiik yapmak iin kullanlr.

Vi ierisinde alan vardr:

: ile balayan Ex komutlarnn verildii satr alan. (:q :wq :x gibi)

Yaz alannda ESC ile geilen ve karakterlerin zel fonksiyon icra ettii komut modu.

Yaz alan, karakterlere basnca istenilen metnin yazld alan.

Komut modunda editre sadece komutlar gnderilir. Verilen komutlar ekranda yaz
olarak gzkmez. Bu komutlar satr, kelime silme, dosyada aa,yukar, saa, sola
hareket etme, dosyada kelime arama vs amal verilebilir.

Yaz modunda ise baslan her karakter ekrana veri olarak yazlr. Yaz modundan ko-
mut moduna gemek iin ESC tuu kullanlr. Fakat komut modunda iken bir baka
komut altrmak iin ESC tuuna basmaya gerek yoktur.

Genel kullanm biimi aadaki gibidir.

# vi [parametreler] dosyaad

Dosya amak iin

# vi dosyaad

Bu komutla istediiniz isimde bir dosya vi ile alm olur. Bu komut ayn zamanda sizi,
bu dosyay dzenlemek zere vi dosya dzenleyicisinin iine sokar. Verdiiniz dosya
diskte yoksa ve yeni oluturulacak aadaki gibi bir bilgilendirme ile karlarsnz:

138
LPI Sertifikasyon Kitab

# vi deneme
~
~
~
deneme: new file: line 1

Buradaki ~ ifadesi bo satrlar ifade eder. Satrlara yaz yazldkta bu ifade kaybolur.
En altta da dosyann adnn deneme olduu ve yeni oluturulan bir dosya olduu be-
lirtiliyor. Yukarda belirtildii gibi vi u anda komut modundandr. Bu durumda iken i
tuuna baslarak yazma moduna geilir ve yazlmak istenen metin yazlr.

Dosyadan kmak
ncelikle komut moduna gemek iin ESC tuuna baslr. Komut modunda : (iki nok-
ta st ste) karakterine basarak nasl k yapacanz belirtebilirsiniz:

Kaydederek kmak iin:


:wq!

Kaydetmeden kmak iin:


:q!

alma Modlar
Vi dzenleyicisi iki alma moduna sahiptir. Birincisi, baslan her tuun zel bir ileve
sahip olduu komut modudur. Dieri ise baslan her tuun dosyaya ayn ekilde ya-
zld yazma modudur.

Komut modunun kullanm biimi:

[adet] komut [nereye]


Keli parantez iindekiler seimliktir. ou komut tek karekterden ibarettir.

Adet seenei, o komutun ka kere yerine getirileceini belirtir. rnein x komutu


karakter silmek iindir. 15x komutu verilirse 15 karakter silinir.

Baz komutlar, komutlarn ka satra ve nereye kadar uygulanacan belirtmek zere


ilave bir seenek daha alrlar.

139
LPI Sertifikasyon Kitab

Basit Vi Komutlar
a Ekleme moduna geer. mlein bulunduu pozisyondan itibaren baslan ka-
rakterler dosyaya yazlr.
h mleci bir karakter sola tar.
j mleci bir satr aa alr.
k mleci bir karakter yukar alr.
l mleci bir karakter saa alr.
r mlecin altndaki karakteri baslan karakter ile deitirir.
u En son yaplan deiiklii geri alr (undo). Tekrar baslrsa yaplan deiiklii
yeniden yapar. (redo)
x mlecin altndaki karakteri siler.
Kesme ve Yaptrma Komutlar
Kesmek iin kullanlan komut genelde d komutudur.
d^ mlecin konumundan satr bana kadar siler.
d$ mlecin konumundan satr sonuna kadar siler.
dw mlecin konumundan kelime sonuna kadar siler.
3dd mlecin konumundan itibaren 3 satr siler.
Kesme ve Yaptrma Komutlar
Kesilen verileri yaptrmak iin p veya P komutu kullanlr. P komutu imlecten geriye
yaptrrken, p komutu imlecin nne yaptrr.
Kopyalama iinse aadaki komutlar kullanlr.
y Yakalamak (yank) manasna gelir. Tek bir karakteri kopyalar.
yy mlecin olduu satr kopyalanr. Yine p komutu ile yaptrlr.

rnein
Aadaki dosyann ilk satrn dosyann sonuna kopyalamak iin birinci satrda iken
yy komutu verilir dosyann sonuna :$ ile geilir ve p komutu verilir.

Bu bir deneme metnidir.

Bu bolumde vi editoru anlatilacaktir.


~
Sonu aadaki gibi olacaktr:
Bu bir deneme metnidir.

Bu bolumde vi editoru anlatilacaktir.


Bu bir deneme metnidir.
~

140
LPI Sertifikasyon Kitab

Dosyann en son satrnda iken p yerine P komutu verilseydi sonu aadaki gibi
olacaktr:

Bu bir deneme metnidir.

Bu bir deneme metnidir.


Bu bolumde vi editoru anlatilacaktir.
~

Hata yapldnda yaplan deiiklik u komutu ile geri alnr. Bu komut ile sadece son
komutta yaplan deiiklikler geri alnr. Tekrar u komutu verilirse yaplan deiiklik
tekrar gelir (redo).

Arama
Vi dzenleyici iki eit arama imkan sunar: Kelime arama ve karakter arama.

Kelime arama iin / ve ? Komutlar kullanlr. Bu iki komuttan herhangi birine bast-
nzda aramak istediiniz kelimeyi girmeniz istenecektir. Her ikisi de arama yaparak
bulduu ilk kelimenin zerine konumlanr. Aralarndaki tek fark, / komutu ileri doru
arama yaparken, ? Komutu geri doru arama yapar. N ve n komutlar, bir nceki ko-
mutu ters ynde veya ayn ynde tekraren arama yapmay salar.

Not: Vi iin zel anlam olan karakterleri aramak iin \ iareti ile korumaya almak ge-
rekir.

zel karakterler:
^
Satr ba
.
Tek bir karakterle eleir.
*
Bir nceki karakterden sfr veya daha fazla adet eletirir.
$
Satr sonu

141
LPI Sertifikasyon Kitab

[
fade yazmak iin kullanlr.
<>
Kelimenin ban veya sonunu bulmak iin kullanlrlar.

Harf aramak iin f ve F komutlar kullanlr. Harf arama yalnzca zerinde bulunulan
satrda yaplr. F komutu geri doru ararken, f komutu ileri doru arar.

Metinde geen bir kelimeyi deitirmek iin :%s komutu kullanlr. Komutun kullanm
ekli aadaki gibidir.

:s/eski/yeni Sadece imlecin bulunduu satrdaki eski deeri yeni olarak deitirir.
:%s/eski/yeni/g Tm metin ierisinde deiiklik yapar. g deerinin yanna c deeri de
eklenerek :%s/eski/yeni/gc) deiiklik yaplmadan nce onay alnabilir.
Aslnda buradaki eski ve yeni deerleri birer dzenli ifadedir (regular expression). D-
zenli ifadeler kullanlarak ileri seviye deiiklikler yaplabilir.

rnein aadaki metindeki Pazar ifadesini Pazartesi yapmak iin:

Bu Pazar Pardus toplantisi yapilacaktir.


Pazar gunu gorusmek uzere....
~
:%s/Pazar/Pazartesi/g
Bu Pazartesi Pardus toplantisi yapilacaktir.
Pazartesi gunu gorusmek uzere....
~

Gelitiricilere zel
Vi dzenleyicisi programclara yardmc olacak pek ok zellie sahiptir. Bunlardan
birisi de kod bloklarnn ieri atlmas veya dar ekilmesidir. Bu ekilde kodlarnz
daha okunakl hale getirebilirsiniz.
<<
Satr belirlenen kaydrma genilii kadar sola kaydrr.
>>
Satr belirlenen kaydrma genilii kadar saa kaydrr.
Kaydrma geniliini tanmlamak iin:

142
LPI Sertifikasyon Kitab

:set sw=4

Satrlar aadaki ekilde numaralandrlr:

:set nu

komutu verildiinde ekran aadaki gibi gzkecektir:

1 Bu bir deneme metnidir.


2
3 Bu bolumde TUBITAK yayinlarindan cikan Pardus kitabi
hakkinda bilgi verilecektir.
~
~

Satrlar tekrar numarasz hale getirmek iin de

:set nonu veya :set nonumber

komutu verilir.

Vi dzenleyicisinin gelitiriciler iin sunduu zelliklerden biri de unutulan parantez-


leri kontrole imkan tanmasdr. % komutu, zerinde durduu saa doru olan ama
parantezi iin uygun bir sola doru kapatma parantezi bulup zerinde konumlanr.

143
LPI Sertifikasyon Kitab

BASH Betik Yazma


Konu:
Bash kabuk programlar (betik) yazmak

Hedefler:
Bash al yaplandrma dosyalar
Kabuk programlarn genel yaps
Kabuk programlar altrma
Global ve yerel evre deikenleri
Fonksiyonlar
artl ifadeler
Dosya ve deiken test etme
Dngler
Anahtar Kelimeler:
source, set, unset, /etc/profile, .bashrc, echo, read, alias, if, case, while, for, until

144
LPI Sertifikasyon Kitab

Kabuk Ortam
Bash ilk baladnda eer varsa /etc/profile dosyasn okur. Daha sonra kullanc
ev dizinindeki ~/.bash_profile, ~/.bash_login ve ~/.profile dosyalar
okunur. Bu dosyalarla kullanclar kendi ortamlarn zelletirebilir.

Profile dosyalar evre deikenlerinin ayarlanmas iin, rc dosyalar ise alias ve fonk-
siyon tanmlar iin kullanlr.

Bashden k yaplrken eer varsa ~/.bash_logout altrlr.

/etc/profile dosyasnda yaplan ayarlar:


ntanml komut altrma yolu (PATH)
Prompt ayarlar (PS1, PS2)
ntanml kullanc snrlandrmalar (ulimit)
Baka yazlmlarn da profile tanm yapabilmeleri iin /etc/profile.d dizini tanmlan-
mtr. Bylece yklenen programlar kendi profile tanmlarn sistemin genel profile
dosyasn etkilemeden bu dizine koyabilirler.

# ls -l /etc/profile.d/
toplam 4
-rw-r--r-- 1 root root 660 Haz 17 2012 bash_completion.sh

Kabuk altnda bir komut verildiinde kabuk nce kendi klonunu oluturur ve komutu
bu klon altrr. Bylece klon kabuk istei yerine getirirken kabuun kendisi yeni
istekleri almaya devam edebilir. Bu alma eklinde alt kabuklarn alma ortamn-
da yapt deiiklikler ana kabuu etkilemeyecektir. Alt kabuk sonlanr sonlanmaz
ortamlar da silinecektir. Eer bir betiin mevcut kabuk ortamnda altrlmas iste-
niyorsa nokta (.) veya source komutu kullanlr.

$ . script.sh [parametre]
$ source script.sh [parametre]

Bu ekilde balatlan bir betik mevcut kabuk iinde altrr ve betiin oluturduu
deikenler, betik sonlandktan sonra da kullanlabilir.

145
LPI Sertifikasyon Kitab

rnein bir kullanc kendi ~/.profile dosyasnda deikenler tanmlayp bunlar y-


rrle koymas iin mevcut kabuk altnda altrmas gerekir. Yeni bir kabuk altnda
altrrsa deikenler geerli olamayacaktr.

$ source ~/.profile

Kabuun balama ekline gre farkl dosyalar kullanlr: Interaktif ve giri kabuklar,
interaktif ve giri olmayan kabuklar, interaktif olmayan kabuklar.

Interaktif ve giri kabuu: Baarl bir giri ileminden sonra balatlan kabuk. Termi-
nalden veya uzaktan sisteme giri, su komutuyla giri. Bu durumda /etc/profile ve
~/.bash_profile okunur.

Interaktif ve giri olmayan kabuk: Komut satrndan kabuk balatlarak (kabuk iinde
bash komutunu vererek) veya su komutunu olmadan altrarak balayan ka-
buktur. Grafik arayzden balatlan xterm konsole programlar da bu snfa girer.
Buna alt kabuk da denilebilir. Byle bir kabuk ana kabuun ortamn kopyalar ve
~/.bashrc dosyasn altrr.

Interaktif olmayan bir kabuk, betik altran kabuktur. Bu durumda kullancdan giri
beklenmez.

Bir kabuun interaktif olup olmadn anlamann iki yolu vardr:

$- zel deeri kontrol edilir, i parametresini ieriyorsa interaktif kabuktur.


$PS1 prompt deikeni atanm ise interaktif kabuktur.

Bash yaplandrma dosyalar en ok evre deikeni tanmlama ve alias tanmlama


iin kullanlr.

146
LPI Sertifikasyon Kitab

Kabuk Deikenleri
Kabuk deikenleri anahtar-deer ikilisi eklindeki deikenlerdir. Tanml btn de-
ikenlerin listesi iin:

# set
BASH=/bin/bash
BASH_VERSION=3.2.25(1)-release
COLORS=/etc/DIR_COLORS
COLUMNS=125
[...]

Deikenler yolla atanr:

1. Ana kabuktan miras gelen deikenler


2. /etc/profile, .bash_profile, .bashrc gibi balang dosyalaryla atanan deikenler
3. Kullanc tarafndan elle komut satrndan tanmlanan deikenler

Deikenleri gstermek iin:

$ echo $VAR
$ echo $PS1
[\u@\h \W]\$

Aada bir deiken tanmlanmakta ve sonra baka bir kabua geilip bu deiken
deeri gsterilmekte ancak alt kabukta deiken deeri grlmemitir.

$ FILE=/tmp/x.out
$ echo $FILE
/tmp/x.out
$ bash
$ echo $FILE

147
LPI Sertifikasyon Kitab

Tanmlanan deikenler kendi kabuklar iin geerlidir. Baka bir kabua gei yapl-
dnda global olmayan deikenler geerli olmazlar. Global olacak evre deiken-
leri export ile tanmlanr.

$ export FILE=/tmp/x.out
$ bash
$ echo $FILE
/tmp/x.out

Tanml deikeni silmek iin unset komutu kullanlr:

$ unset FILE

evre deikenlerini grntlemek iin env komutu kullanlabilir:

# env
HOSTNAME=beta.pardus.org.tr
SHELL=/bin/bash
HISTSIZE=1000
USER=root
MAIL=/var/spool/mail/root

Bir komut altrlrken evre deikeni tanmlanabilir. rnein crontab dzenlen-


mek istendiinde EDITOR deikeninde tanml dzenleyici ile dosyay aar. Normal-
de EDITOR olarak vi dosya dzenleyicisi tanmldr. Crontab nano dzenleyicisi ile
amak iin EDITOR deikeni komut satrndan atanabilir:

# EDITOR=nano crontab -e

Normalde evre deikenler alt srelere de geer. Belli bir deikenin alt srece ge-
mesini engellemek iin:

$ env u SSH_AGENT_PID ssh user1@pardus

148
LPI Sertifikasyon Kitab

Btn evre deikenlerini temizleyerek alt sreci balatmak iin:

$ env i command

Alias Tanmlama
Alias, bir komutun yerini alacak ksayoldur. Genel olarak .bashrc dosyasnda tanmla-
nrlar. Aadaki gibi tanmlanr:

$ alias ll=ls -l
$ ll
toplam 0
-rw-r--r-- 1 simsek simsek 0 Ara 15 18:32 config.sh
-rw-r--r-- 1 simsek simsek 0 Ara 15 18:32 dosyalar.txt

Uzun uzun ls l yerine artk sadece ll komutu kullanlabilir.

Bir alias silmek iin unalias komutu kullanlr:

$ unalias ll
$ ll
-bash: ll: command not found

Fonksiyon Tanmlama
Fonksiyonlar belirli grevleri yapan betik program paralardr.

myecho () {
echo > $1
}

Bu fonksiyon tanmlandktan sonra daha sonra betik iinden u ekilde arlr:

myecho hello world

149
LPI Sertifikasyon Kitab

Fonksiyon arlrken verilen parametreler $1 (1.parametre), $2 eklinde fonksiyon


iinde kullanlabilir.

Bash Kabuk Programlama


Sistem yneticileri ve iletmecileri srekli olarak yaptklar ileri kabuk program ha-
line getirerek hem zamandan tasarruf ederler, hemde ilerini kolaylatrrlar. Kabuk
programlar, tekrar tekrar yaplan ilerin bir dosyaya sral olarak yazlmasyla olutu-
rulurlar.

Betikler C programlardaki gibi derlemeli deil yorumlamaldr. Betik dosyas satr satr
kabuk program tarafndan yorumlanr.

Aada ok basit bir betik grlmektedir. Bu betii bir dosya dzenleyici ile yazp
merhaba.sh diye kaydedin.

#!/bin/bash

echo Merhaba dnya.


echo Bu benim ilk betiim.
exit 0

# chmod +x merhaba.sh
# ./merhaba.sh
Merhaba dnya.
Bu benim ilk betiim.

Betik dosyasnn .sh eklinde bir uzants olma zorunluluu yoktur. Programn doru
olmas ve dosyann alabilir olmas yeterlidir. Ancak dier dosyalardan ayrt etmek
iin .sh uzants vermek yararl olacaktr.

lk satrda yer alan #! /bin/bash bu betii yorumlayacak programn tam yoludur. rnek
bash betii olduu iin bash in yolu yazld. Eer bu bir perl betik olsayd oraya #!/
usr/bin/perl yazmak gerekecekti.

Zorunluluk olmamakla birlikte, btn betiklerin bir k deeri ile exit yapmas tav-
siye edilir. Programlarn hangi durumda kt bu k deerlerine bakarak anlalr.

150
LPI Sertifikasyon Kitab

En son komutun k deerini elde etmek iin:

$ echo $?
1

Betik dosyalarnda aklama yapmak iin # iareti kullanlr. Satrdaki # iaretinden


sonras kabuk tarafndan yorumlanmaz. Aadaki betikte ilk satr ve ikinci satrdaki
#iareti ve sonras sistem yneticisinin kendi iin dt bir aklama olup kabuk
tarafndan yorumlanmadan geilir.

# Print filename
echo $filename # filename in /etc/

Parametreler
Komut satrndan altrlacak betiin ardna parametreler eklenerek betiin davra-
n deitirilebilir.

$ komut param1 param2 param3

Betik ierisinde betie gnderilen parametrelerin alnmas ve yorumlanmas gerekir.


Bu ekilde parametrelere gre betik i yapar. Komut satrndan gnderilen paramet-
releri almak iin $0, $1... $N eklinde zel deikenler kullanlr.

$ cat param.sh
#!/bin/bash

echo parametre 0: $0
echo parametre 1: $1
echo parametre 2: $2

echo Toplam parametre sayisi: $#


echo Parametre listesi: $@

$ ./param.sh bir iki


parametre 0: ./param.sh
parametre 1: bir
parametre 2: iki
Toplam parametre sayisi: 2
Parametre listesi: bir iki

151
LPI Sertifikasyon Kitab

lk parametre $0 her zaman programn kendi ismini verir.


Dier parametreler $1 $2 $3 ... $10... eklindedir.

Programa gnderilen parametre says zel olarak $# deikeninde tutulur.


Parametre listesi topluca $@ zel deikeninde tutulur.

Okuma Yazma
Programlarda olduu gibi betiklerde de asl ama kullanc girdilerini alp elde edilen
sonular ekrana basmaktr.

Betik alyorken kullancdan girdi istemek iin read kullanlr.

echo n Adinizi girin:


read name

Kabuk read satrna geldiinde kullancdan bir girdi bekler. Kullanc girdi yapp EN-
TERa bastnda bu girdi name deikenine aktarlr.
Read komutunun dier parametreleri:

-t 10: Girdi iin en fazla 10 sn beklenecek


-n 8: 8 karakter girdi alnacak

Ekrana metin veya deiken deerlerini basmak iin echo kullanlr.

echo $name

Echo normalde satr satr ekrana basar. Yani her echo dan sonra bir sonraki satra de-
vam eder. Ayn satrda devam etmesi iin n parametresi kullanlr.

$ cat inout.sh
#!/bin/bash

echo -n Adinizi girin:


read name
echo Adiniz: $name
$ ./inout.sh
Adinizi girin: Ali
Adiniz: Ali

152
LPI Sertifikasyon Kitab

Echo e seenei ile zel karakterleri basabilir:

\0NNN: NNN referans numarali ASCII karakter (man 7 ascii)


\\ Backslash
\a Alert (Bip sesi)
\b Backspace
\n Newline
\r Carriage return
\t Tab

artl fadeler
Bir ilemi yapp yapmayacana karar vermek iin artl ifadeler kullanlr. artl ifade-
ler u ekilde bina edilir:

if [ artl ifade ]
then
fade doru olduunda alacak ksm
command 1
command 2
...
else
command 3
command 4
...
fi

Veya basite u ekilde de kullanlabilir:

if [ artl ifade ]; then


fade doru olduunda alacak ksm
command 1
command 2
fi

153
LPI Sertifikasyon Kitab

rnek 1:

echo Testing \0\


if [ 0 ] # zero
then
echo 0 is true.
else # Or else ...
echo 0 is false.
fi # 0 is true.

rnek 2:

echo Testing \1\


if [ 1 ] # one
then
echo 1 is true.
else
echo 1 is false.
fi # 1 is true.

rnek 3:

# cat sartli.sh
#!/bin/bash
SAYAC=6
LIMIT=5
if [ $SAYAC -lt $LIMIT ]; then
echo Sayac limitten kk
else
echo Sayac limitten kk deil
fi
exit 0
# ./sartli.sh
Sayac limitten kk deil

154
LPI Sertifikasyon Kitab

Sayac=6 ve Limit=5 olduundan saya limitten kk deildir. Buradaki artlarn an-


lamlar yledir:

-lt
Less than: Daha kk ise.
-gt
Great than. Daha byk ise.

=
Eit ise.

Stringler ve deikenler aadaki gibi kyaslanr:

if [ $distri = Pardus ] then


...
else
...
fi

Birden fazla artl durumlar iin aadaki gibi if-elif yaps kullanlr:

if [ condition1 ]
then
command1
command2
command3
elif [ condition2 ]
then
command4
command5
else
default-command
fi

155
LPI Sertifikasyon Kitab

Kyaslamak iin test artlar kullanlabilir. Pek ok test art vardr. Bazlar:

[-b file]
Dosya var ve blok dosya ise.
[-c file]
Dosya var ve karakter dosya ise.
[-d path]
Belirtilen path var ve dizin ise.
[-e file]
Eer dosya var ise.
[-f file]
Eer dosya var ve normal dosya ise.
[-z string]
String boyu 0 ise.
[-x file]
Dosya var ve altrlabilir ise.
[string]
String bo deil ise.
[s1 = s2]
s1 ve s2 stringleri birbirinin ayn ise.
[s1!= s2]
s1 ve s2 stringleri birbirinin ayn deil ise.
[s1 < s2]
Karakter sralamasna gre s1, s2den nce geliyor ise.
[s1 > s2]
Karakter sralamasna gre s1, s2den sonra geliyorsa.
[n1 -eq n2]
n1 ve n2 tamsaylar eit ise.
[n1 -ne n2]
n1 ve n2 tamsaylar farkl ise.
[n1 -gt n2]
n1, n2den byk ise.
[n1 -ge n2]
n1, n2den byk veya eit ise.
[n1 -lt n2]
n1, n2den kk ise.
[n1 -le n2]
N1, n2den kk veya eit ise.

156
LPI Sertifikasyon Kitab

rnek:

file=/etc/passwd

if [[ -e $file ]]
then
echo Password file exists.
fi

! simgesi ifadenin deili alnabilir.


-a ile iki ifade AND ilemine tabi tutulabilir.
-o ile iki ifade OR ilemine tabi tutulabilir.

Case-Esac Yaps
artl ifadeler iin daha anlalr ve okunakl bir yap sunar. Belirtilen deikenin de-
erine gre bloklardan biri altrlr. Aada Linux altndaki pekok start/stop beti-
inin kulland case yaps rnei grlmektedir.

case $1 in
start)
start
;;

stop)
stop
;;

restart)
stop
start
;;
*)
echo $Usage: $0 {start|stop|restart}
exit 1
esac

En sondaki * artnn olduu blok yukardaki hi bir art salanmazsa altrlacak


bloktur.
157
LPI Sertifikasyon Kitab

Dng Kurmak
Gelimi programlama dillerinde kullanlan dngleri Bash ierisinde de kullanma
imkan vardr. Bu sayede bir algoritma ercevesinde yzlerce admdan oluan bir he-
sab tek bir dng ile yapabiliriz.

Bash ierisinde tane dng ifadesi vardr: for, while ve until.

for done
Programlama dillerindeki for dngsnden farkl olarak seri halindeki kelimeler ze-
rinde hareket eder.

# cat for.sh
#!/bin/bash

for i in $( ls ); do
echo File: $i
done

exit 0

# ./for.sh
File: secret.txt
File: sartli.sh
File: zZZ.txt

For ifadesi, ls komutunun rettii kelime katar zerinde kelime kelime hareket ede-
rek dng yapmtr. Bu nedenle dosya says kadar dng altrlmtr.

Dng for ile balayp done ile biter. Kabuk, done zel kelimesini grdnde keli-
me katarndan bir sonraki kelimeyi alarak dngye yeniden girer. Bu ilem katardaki
kelimeler bitene kadar devam eder.

158
LPI Sertifikasyon Kitab

while done
artl dng salar. While szc ile belirtilen art salandka dng devam eder.

# cat while.sh
#!/bin/bash

COUNTER=0
LIMIT=5

while [ $COUNTER -lt $LIMIT ]; do


echo Sayac: $COUNTER
let COUNTER=COUNTER+1
done

exit 0

# ./while.sh
Sayac: 0
Sayac: 1
Sayac: 2
Sayac: 3
Sayac: 4

Buradaki art [ $COUNTER -lt $LIMIT ] dr; yani birer birer artan saya LIMITden (bu-
rada limit 5) kk olduka dn.

Dng while ile balayp done ile biter. Kabuk done szcn grdnde belirti-
len artn hala geerli olup olmadna bakar. Eer geerli ise yeniden dngye girer.
Aksi halde dngden kp devam eder.

Not: let komutu COUNTER deerini her defasnda 1 arttrmak iin kullanlmtr.

159
LPI Sertifikasyon Kitab

until done
Olumsuz artl dng kurmak iin kullanlr. Yani belirtilen art geerli olmadka
dngye girer:

# cat until.sh

#!/bin/bash

COUNTER=10
LIMIT=5

until [ $COUNTER -lt $LIMIT ]; do


echo Sayac: $COUNTER
let COUNTER=$COUNTER-1
done

exit 0

# ./until.sh
Sayac: 10
Sayac: 9
Sayac: 8
Sayac: 7
Sayac: 6
Sayac: 5

Belirtilen art sayacn limitten kk olmas artdr. Until dngs olduu iin ka-
buk bunu saya limitten kk olmad srece dn eklinde yorumlayacaktr. While
olsa idi saya limitten kk olduu srece dn yorumunu yapacakt.

Saya 10dan balayp let ile birer birer azaltlmaktadr. Limit ise 5dir. Dolaysyla 5den
kk olmadka dnecektir. 5den kk olduu an dng kesilecektir. Komutun
ktsndan da anlalaca zere drde kadar dngye girecektir. Saya 4 olduunda
dngden kacaktr.

160
LPI Sertifikasyon Kitab

SQL ile Veri Ynetimi


Konu:
SQL dili

Hedefler:
Veritaban ve tablo emas
Temel SQL ifadeleri
Anahtar Kelimeler:
Insert, Update, Select, Inner Join, Delete, Order By, Group by

161
LPI Sertifikasyon Kitab

SQL Veritabanlar
SQL (Structured Query Language), ilikisel veritaban sunucularnda verilerin ynetil-
mesi iin gelitirilmi amaca zel programlama dilidir. En temel amac, veri sorgula-
mak ve veri yazmaktr.

Linux dnyasnda kullanlan pek ok ak kaynak kodlu ve ticari veritaban sunucusu


bulunmaktadr. Bunlardan en ok kullanlanlar:

SQLite
PostgreSQL
MySQL
Btn veritaban sunucular standart bir SQL dili kullanarak veri zerinde alrlar.

SQL dili belli amalar olan SQL ifadelerinden olumaktadr.

Veritaban zerinde almak iin veritabannn oluturulmu ve veritaban emasnn


tanmlanm olmas gerekmektedir. Veritaban birden fazla tablodan oluur. rnein
bir okul veritaban iin renciler tablosu, retmenler tablosu, demirba tablosu
gibi farkl alanlar ieren (rnein renciler iin renci numaras gerekirken ret-
menler iin TC Kimlik Numaras veya kdemi gerekli) tablolar tanmlanabilir.

Veritaban emas, hangi verilerin ne trde ve ne boyutta saklanacan belirler. Aa-


da rnek bir ema bulunmaktadr:

mysql> DESCRIBE pet;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+

162
LPI Sertifikasyon Kitab

Field, saklanacak verinin alan ad


Type, saklanacak verinin tr ve boyutu
Null, verinin bo olup olamayaca
Key, bu alann anahtar olup olmad

Insert
Var olan bir veritaban tablosuna veri eklemek iin kullanlr. Hangi alana hangi dee-
rin yazlaca belirtilir.

INSERT INTO tbl_name () VALUES();


INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

Burada tbl_name tablonun ad, tablodaki col1 alan yada stunu iin 15 deeri, col2
alan iin ise col1*2 deeri yazlr.
Aadaki rnekte ise ayn tabloya 3 satr eklenmektedir:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

Aadaki INSERT yaps hata verecektir. nk stun says ile girilecek veri says
uyumuyor. Tabloda yer alan stundan fazla deer girilmek istenmektedir.

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3,4,5,6,7,8,9);

Update
Veritabanndaki belirli kriterlere uyan satr veya satrlardaki verileri gncellemek iin
kullanlr.

Aadaki rnekte col1 stunundaki deerler mevcut col1 deerlerinin bir fazlas ola-
rak gncellenir.

UPDATE t1 SET col1 = col1 + 1;

Ayn anda iki alan gncellenebilir. Aada col1 ve col2 birlikte gncelleniyor.

UPDATE t1 SET col1 = col1 + 1, col2 = col1;

163
LPI Sertifikasyon Kitab

Belli kriterleri salayan satrlar gncellemek iin aadaki genel yap kullanlr:

UPDATE table_name SET column1=value, column2=value2,...


WHERE some_column=some_value

rnein aadaki sorguda CustomerName yalnzca belirtilen irket olan satrlardaki


ContactName ve City alanlar gncellenir.

UPDATE Customers
SET ContactName=Ali Al, City=Istanbul
WHERE CustomerName=Computer Co;

Select
Veritaban tablosundan veri satrlarn ekmek iin kullanlr.

Btn alanlaryla btn satrlar ekmek:

SELECT * FROM employee;

Belirli alanlaryla btn satrlar ekmek:

SELECT name, salary FROM employee;

artl veri ekmek:

Aadaki rnekte sadece maalar 6000den fazla olan satrlar ekilir.

SELECT * FROM employee WHERE salary > 6000;

Aadaki rnekte blm Finance olan alanlar ekilir.

SELECT * FROM employee WHERE dept = Finance;

164
LPI Sertifikasyon Kitab

Bir ksm benzeyen artla veri ekmek:

Aadaki rnekte alan ismi JOHN ile balayan satrlar ekilecektir.

SELECT * FROM employee WHERE name LIKE JOHN%;

Aadaki rnek ise ad SMITH ile biten satrlar eker:

SELECT * FROM employee WHERE name LIKE %SMITH;

Mantksal ilem sonucuna gre veri ekmek:

Aadaki rnekte blm Finance olup maa 6000 veya st olanlar ekilir.

SELECT * FROM employee WHERE dept = Finance AND salary >=


6000;

Inner Join
yi tasarlanm bir veritaban gereksiz ve ift kayt tutulmasna engel olmaldr. O ne-
denle bir veri baka bir tabloda varsa, ihtiya duyulsa bile dier bir tabloda da tutul-
maz.

rnein bir tabloda (ismi articles olsun) sadece yaz ve yazya ait kategori IDsi olsun.
Dier tabloda (ismi cats olsun) ise kategori IDlerine karlk gelen kategori ismi olsun.

Bu senaryoda articles tablosundaki yazlar ekrana basarken kategori IDsini deil de


kategori adn basmak istersek cats tablosundan faydalanmamz gerekecek, ite bu
ilem INNER JOIN ilemidir.

SELECT articles.article, cats.name FROM articles INNER JOIN


cats ON articles.catid=cats.catid;

Bu rnekte articles tablosundan yazy, cats tablosundan ise kategori ismini alyoruz.
Kategori ismi olarak articlesda belirtilen kategori ID ile catsde belirtilen kategori IDsi
ayn olan deer seilir.

165
LPI Sertifikasyon Kitab

Delete
Veritaban tablosundan veri satr silmek iin kullanlr. Dier yaplarda olduu gibi
WHERE artyla kullanlabilir.

DELETE FROM table_name [WHERE Clause]

DELETE FROM somelog WHERE user = jill


DELETE FROM tutorials_tbl WHERE tutorial_id=3

Delete yaps WHERE olmadan genel olarak kullanlmaz. nk WHERE olmadan yaz-
lacak bir delete ifadesi tablodaki btn satrlarn silinmesine neden olur.

Order By
ekilen verileri sralamak iin Order By kullanlr ve bir sralama kriteri verilir.

Aadaki rnekte doum tarihine gre kkten bye sralama yaplmtr.

mysql> SELECT name, birth FROM pet ORDER BY birth;


+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Bowser | 1989-08-31 |
| Fang | 1990-08-27 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Puffball | 1999-03-30 |
+----------+------------+

166
LPI Sertifikasyon Kitab

Bykten ke sralamak iin DESC kullanlr:

mysql> SELECT name, birth FROM pet ORDER BY birth DESC;


+----------+------------+
| name | birth |
+----------+------------+
| Puffball | 1999-03-30 |
| Slim | 1996-04-29 |
| Claws | 1994-03-17 |
| Fluffy | 1993-02-04 |
| Fang | 1990-08-27 |
| Bowser | 1989-08-31 |
| Buffy | 1989-05-13 |
+----------+------------+

ki stuna gre sralama yaplabilir:

mysql> SELECT name, species, birth FROM pet


-> ORDER BY species, birth DESC;
+----------+---------+------------+
| name | species | birth |
+----------+---------+------------+
| Chirpy | bird | 1998-09-11 |
| Fluffy | cat | 1993-02-04 |
| Fang | dog | 1990-08-27 |
| Bowser | dog | 1989-08-31 |
| Buffy | dog | 1989-05-13 |
| Puffball | hamster | 1999-03-30 |
| Slim | snake | 1996-04-29 |
+----------+---------+------------+

167
LPI Sertifikasyon Kitab

Group By
Verileri belli bir alana gre gruplamak iin kullanlr. Sonular grup adna gsterilir.

SELECT status FROM orders GROUP BY status

Orders tablosunda yzlerce satr vardr ve her satrn bir statusu vardr. Ancak bu SE-
LECT cmlesi statuse gre grupland iin her bir status eidi iin tek satr gsterilir.
rnein kt u ekilde olur:

Cancelled
In Progress
On Hold
Resolved
Shipped

Aslnda tm bu statuslerden onlarca satrda var. Grup yapld iin her tr status iin
tek bir satr yazlmtr.

168
LPI Sertifikasyon Kitab

X Grafik Sunucu
Konu:
X grafik sunucu mimarisi

Hedefler:
X istemci/sunucu mimarisi
X grafik kart ve monitor yaplandrma
xorg.conf
X sunucuyu balatma ve grafik al
Giri yneticileri
Anahtar Kelimeler:
X, xinit, startx, /etc/X11/xorg.conf, xhost, DISPLAY, xwininfo, xdp-
yinfo, xdm, gdm, kdm

169
LPI Sertifikasyon Kitab

X Window Sunucu
MS Windows iletim sisteminden farkl olarak Linux altnda grafik ortam iletim sis-
teminin ana paras olmayp herhangi bir uygulama gibi ayrca bir bileendir. letim
sistemi grafik ortama ihtiya duymadan tm fonksiyonlaryla i grebilmektedir. Bu
mimari sayesinde bilgisayar kaynaklarn en ok tketen ksm olan grafik arayz bir
ihtiya olmaktan km, ayrca grafik ortamda kacak bir sorun iletim sisteminin
almasn etkilemeyecektir.
Linux altnda yaygn olarak kullanlan grafik ortam X Windowdur. X Window, ekran
kartn kontrol etmenin yan sra ierisinde uzak bilgisayarlara grafik ucu vermek iin
gelitirilmi a protokolleri de ieren gelimi bir sistemdir. Sunucu-istemci mimari
ile farkl bir iletim sistemindeki ayn protokol kullanan X istemcilerine de hizmet
verebilir.

X Window sistemi 1984te MIT niversitesi tarafndan gelitirilmi olup haklar 1993te
X Consontiuma, 1997de Open Groupa gemi, bu el deitirmeler nedeniyle proje
yavalamtr. 1992de itibaren faaliyet gsteren Xfree86 projesi (http://www.xfree86.
org) X kodlarn iyiletirmi, pek ok grafik kart destei eklemi, OpenGL grafik hz-
landrma gibi gelimi zellikleri eklemitir. Uzunca sre Linux lerin n tanml X su-
nucusu olarak kullanlmtr. XFree86 projesi de bir sre sonra yavalad ve 2004te
lisans deiiklikleri nedeniyle bir grup gelitirici tarafndan X.Org Foundation kuru-
larak kaynak kod atallanmtr. Mevcut Linux datmlar XFree86dan X.orga gei
yapmtr.

X Window, olduka esnek modler bir yapda tasarlanmtr. rnein fontlar bilgisa-
yarn kendi diskinden yklenebilecei gibi uzak sistemden de yklenebilir. Bu sayede
bir font sunucusu kurarak btn organizasyona bu fontlar sunulabilir.

X Window iinde pencere yneticisi (window manager) denen bileen mutlaka al-
mas gerekmektedir. Pencere yneticisi, uygulamalarn grafik ekrana yerleimi, sanal
masastleri, pencere kltme bytme, yeni pencerelerin almas ve yerletirilme-
si gibi masastnn organizasyonunu yapar. Modler yap sayesinde gelitiriciler X
Window zerinde alacak kendi pencere yneticilerini yazmtr. Pek ok pencere
yneticisi gelitirilmi olup kullanclar kendi beenilerine gre istedii pencere y-
neticisini kullanabilir. rnek: Window Maker, Enlightenment, Sawfish, Blackbox

X Window modllerinden birisi de giri yneticisidir (display manager). Linuxte gra-


fik arayze iki ekilde ulalabilir.

170
LPI Sertifikasyon Kitab

1. Eer al seviyesi grafik arayzden alacak ekilde ayarlanmsa (init 5) iletim sis-
temi aldktan sonra init program grafik alla ilgili betikleri altrarak dorudan
grafik arayz aar.

2. Kullancnn nce text konsola girip oradan X Windowu balatmas.

Eer init dorudan grafik arayze geerse text konsolda yaplan kullanc ad ve paro-
la sorma ileminin grafik arayzde yaplmas gerekecektir. Giri yneticileri bu ilemi
yapmak iindir. Xdm, Kdm ve Gdm gibi farkl farkl giri yneticileri bulunmaktadr.

X Window modllerinden bir dieri grafik arayzdeki widget denilen butonlar, kay-
drma ubuklar, mesaj kutucuklar gibi grafik elerdir. QT ve GTK gibi farkl widget
ktphaneleri bulunmaktadr.

Xorg.conf
X yaplandrma dosyas /etc/X11/xorg.conf dosyasdr. Bu dosya Section anahtar ke-
limesiyle balayp EndSection anahtar kelimesiyle biten blmlerden olumaktadr.

Section SectionName
SectionEntry
...
EndSection

Sfrdan X yaplandrmas zaman alabilir. Bu nedenle datmlar kendi yaplandrma


aralarn gelitirmilerdir. Red Hat altnda system-config-display, SUSE altnda sax2,
Ubuntu altnda displayconfig-gtk kullanlabilir. Genelde kurulum srasnda bu ara-
lar altrlarak grafik ortam hazrlanr. Bunun yan sra XOrg kendisi configure pa-
rametresi ile system donanmn otomatik tespit eder ve ablon xorg.conf dosyasn
root ev dizinine yazar. Daha sonra bu dosya istee gre dzenlenebilir.
Xorg.conf dosyasnda yer alan baz nemli blmler:

Files
Sunucu tarafndan gereken dosyalarn yolunu belirtmek iin kullanlr.

FontPath /usr/X11R6/lib/X11/fonts/misc/
FontPath /usr/X11R6/lib/X11/fonts/75dpi/
FontPath /usr/X11R6/lib/X11/fonts/100dpi/

171
LPI Sertifikasyon Kitab

ServerFlags
Sunucunun davranlarn etkileyen bayraklar belirler.

Option DontZoom boolean


Option StandbyTime time

Module
Hangi dinamik modllerin ykleneceini (Load) veya yklenmeyeceini (Disable)
belirler.

Load modulename
Disable modulename

InputDevice
Klavye fare gibi girdi aygtlarn tanmlamak iin kullanlr.

Section InputDevice
Identifier name
Driver inputdriver
options
...
EndSection

Device
Grafik kart tanmlamak iin kullanlr. En az bir tane tanmlanmas gerekmektedir.

Section Device
Identifier name
Driver driver
entries
...
EndSection

172
LPI Sertifikasyon Kitab

ServerLayout
Genel yaplandrmann olduu ksmdr. Identifier ve Screen mecburidir.

Section ServerLayout
Identifier 1600x1200
Screen Screen0 0 0
InputDevice Mouse0 CorePointer
InputDevice Keyboard0 CoreKeyboard
EndSection

Monitor
Monitrlerin tanm bu blmde yaplr.

Section Monitor
Identifier name
entries
...
EndSection

Screen
En az bir tane olmas gereken ekran yaplandrma blmdr. Birden fazla olabilir
olabilir.

Section Screen
Identifier name
Device devid
Monitor monid
entries
...
SubSection Display
entries
...
EndSubSection
...
EndSection

173
LPI Sertifikasyon Kitab

Section Screen
Identifier Screen0
Device S3 Savage/MX
Monitor Monitor0
DefaultDepth 16

Subsection Display
Depth 16
Modes 1600x1200 1280x1024 1024x768
EndSubsection
EndSection

xwininfo
X pencereleri hakknda bilgi verir. Hibir parametre verilmezse stats varsaylr.

$ xwininfo
Absolute upper-left X: 2
Absolute upper-left Y: 85
Relative upper-left X: 0
Relative upper-left Y: 25
Width: 579
Height: 316
Depth: 8
Visual: 0x1e
Visual Class: PseudoColor
Border width: 0
Class: InputOutput
Colormap: 0x27 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +2+85 -699+85 -699-623 +2-623
-geometry 80x24+0+58

174
LPI Sertifikasyon Kitab

xdpyinfo
X sunucu hakknda bilgi gsterir. Sunucunun yeteneklerini anlamak, ntanml de-
erleri grmek ve ekran trlerini listelemek gibi amalarla kullanlr. rnein X sunu-
cunun znrln kontrol etmek iin:

$ xdpyinfo | grep resolution


resolution: 111x111 dots per inch

Bu znrlk monitrnz iin uygun deilse uygun olan ekilde X balatlr:

$ startx -- -dpi 100 -depth 16

X Windowu Balatma
X pencere sunucusu komut satrndan altrlabildii gibi bilgisayar al grafik ola-
rak yaplabilir.

Grafik al iin /etc/inittab ierisinde al alma seviyesinin 5 yaplmas gerek-


mektedir.

id:5:initdefault:

Komut satrndan basite aadaki komutla altrlr:

$ startx

startx komutu aslnda xinit komutunu altran bir betiktir. Xinit, pencere yneticisi
olmadan bo bir grafik ekran aar. Kullanc ev dizininde .xinitrc dosyas varsa bunun
ieriini altrarak masastn donatr. Eer bu dosya yoksa u komutu altrarak
ilk alta bir terminal yerletirir:

xterm -geometry +1+1 -n login -display :0

175
LPI Sertifikasyon Kitab

Aadaki rnek .xinitrc dosyas baz X istemci uygulamalarn ve tm pencere yne-


ticisini altrr:

xrdb -load $HOME/.Xresources


xsetroot -solid gray &
xbiff -geometry -430+5 &
oclock -geometry 75x75-0-0 &
xload -geometry -80-0 &
xterm -geometry +0+60 -ls &
xterm -geometry +0-100 &
xconsole -geometry -0+0 -fn 5x7 &
exec twm

X Gvenlik
X sunucu a zerinden hizmet verebilen gelimi bir grafik sunucudur. A zerinden
almann getirdii iki gvenlik sorunu vardr:

1. Yetkisiz eriimlerle veri alnmas


2. ifresiz X trafiinin grlmesi

X haberlemesi ifresiz olmaktadr. Bu nedenle X trafiin VPN zerinden tanmas


veya SSH zerinden tnellenmesi gerekmektedir.

X sunucuya uzaktan balant yaplmayacaksa internet soketini dinlemeyecek ekilde


yaplandrlmas ve UNIX domain soketlerin kullanlmas gerekmektedir. UNIX doma-
in soketlere yalnzca sunucu zerinden ulalabilir.

Xhost ve DISPLAY
X sunucuya eriim yapacak veya yapmas engellenecek hostlar veya kullanclar ta-
nmlamak iin kullanlr. Herhangi bir parametresiz verildiinde mevcut eriim kont-
rol listesini gsterir:

$ xhost
access control enabled, only authorized clients can connect
SI:localuser:user
SI:localuser:gdm
SI:localuser:root

176
LPI Sertifikasyon Kitab

Belirli bir hosta X zerinden eriim izni vermek iin:

$ xhost +foo.example.com

Belirli bir hostun eriim yetkisini kaldrmak iin:

$ xhost -foo.example.com

Eriimi herkese amak iin host belirtilmez:

$ xhost +
access control disabled, clients can connect from any host
$ xhost
access control disabled, clients can connect from any host
INET:platon

xhost komutu btn hostlara eriimi kapatr ancak daha nce verilmi yetkileri iptal
etmez. Daha nce verilmi yetkiler, tek tek host adlar yazlarak iptal edilebilir.
X Sunucu ok gelimi a protokolleri ierir. Uzak bir bilgisayarda altrlan bir X
istemci uygulama baka bilgisayarn fiziksel ekrannda gsterilebilir. Bir X istemci a-
ltrldnda hangi ekrann kullanlacana DISPLAY evre deikenine bakarak karar
verilir. DISPLAY yerel veya uzak bir monitr olabilir.

$ export DISPLAY=remote.example.com

Bu tanmdan sonra rnein xterm veya xclock gibi bir X istemci program altrlrsa
grnt kendi bilgisayarnzn monitrnde deil remote.example.com isimli bilgi-
sayarn monitrnde gzkr. Bunun gerekleebilmesi iin uzak bilgisayarda X su-
nucu almas ve balanacak bilgisayara eriim izni verilmesi gerekmektedir.

$ xhost +me.example.com
$ xclock

177
LPI Sertifikasyon Kitab

Grafik Giri Yneticisi


X Display Manager, kullanc ad ve parola sorarak grafik bilgisayar zerinden veya
uzaktan oturum amay salayan yazlmdr. Text konsoldaki login programnn
grafik benzeridir. X sunucu kendisi istemci pozisyonunda giri yneticisine balanr.
Aralarnda 177. Portu kullanan XDMCP protokoln kullanrlar.

Xin modler yaps sayesinde grafik giri yneticileri de ayr bir modldr ve baka-
larnn da benzer modl gelitirmesini salamaktadr. X ile birlikte ntanml olarak
Xdm giri yneticisi gelmektedir. Bununla birlikte Linux dnyasnda yaygn olarak
Gdm (Gnome Display Manager) ve KDM (Kde Display Manager) kullanlmaktadr.

XDM, X11R3 srmyle gelitirilen X sunucuyla gelen grafik giri yneticisidir. Yap-
landrma dosyalar /etc/X11/xdm altndadr.

GDM, Gnome masast projesi iin tamamen sfrdan yazlm bir grafik giri yneti-
cisidir. Yaplandrma dosyalar /etc/gdm altndadr.

KDM, KDE masast projesi iin tamamen sfrdan yazlm bir grafik giri yneticisi-
dir. Yaplandrma dosyas /usr/share/kde.X altnda kdmrc dosyasdr.

ntanml giri yneticisi Debianda /etc/X11/default-display-manager dosyasnda


tanmldr.

178
LPI Sertifikasyon Kitab

Sistem Ynetimi
Konu:
Linux sistem ynetimi

Hedefler:
Kullanc ynetimi
Grev zamanlama
Trke yerelletirme ayarlar
Zaman ayarlar
Anahtar Kelimeler:
useradd, userdel, /etc/skel, cron, crontab, at, locale, tzselect

179
LPI Sertifikasyon Kitab

Kullanclar
Linux sisteme giri yapabilmeniz iin bir kullanc adnz olmas gerekir. n tanml
olarak sadece root kullancs gelmektedir. Tm yetkilendirmeler kullanc ad veya
kullanc grubu zerinden yaplmaktadr.

Eklenen kullanclarn kayd /etc/passwd ve /etc/shadow dosyalarnda tutulmakta-


dr. /etc/passwd dosyas kullancnn ifrelenmi parolas ve parola ilgili tanmlamalar
dnda kalan tm tanmlamalar tutmaktadr. Parola ve parola kullanm sresi, de-
itirme sresi gibi tanmlar ise /etc/shadow dosyasnda tutulmaktadr. /etc/passwd
dosyasn kullanclar okuyabiliyorken /etc/shadow dosyasna sadece root kullancs
eriebilmektedir.

rnek bir shadow dosyasnn ierii aadaki gibidir.

root:$6$cFNz8/e8$z9cQK3sUC0OPVWw6nu/
QGV1cnKpBJj20ESD2RnWRNWylvLQW5q.
kmeAHrrOfAPLB33JpoqpEQTkFiovqDbFe50:15972:0:99999:7:::
daemon:*:15788:0:99999:7:::
bin:*:15788:0:99999:7:::

/etc/shadow dosyasnda : karakteri ayra karakteri olarak kullanlr. Dosyadaki de-


erler srayla u anlama gelir.

Kullanc ad
ifrelenmi parola
Parolann en son deiim tarihi
Asgari parola deitirme periyodu
En uzun parola geerlilik sresi
Parolann son kullanma tarihi
Parolann etkisizletirilmesinden sonraki toplam gn says
rnek bir /etc/passwd dosyas aadaki gibidir.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync

180
LPI Sertifikasyon Kitab

Dosyadaki alanlarn aklamas


Kullanc ad
x karakteri. Eskiden parolann kendisi tanmlanrd, artk parola /etc/shadow dos-
yasnda tanmlanyor.
Kullanc numaras(ID)
Grup numaras(GID)
Kullanc aklamas
Ev dizini
Kabuk yolu
Kullanc gruplar ise /etc/group dosyasnda tutulmaktadr.
rnek bir grup dosyas ierii:

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:

Dosyadaki alanlarn aklamas


Sisteme kullanc eklemek iin grafik arayz aralar kullanlabilecei gibi kabukta
useradd komutu kullanlabilir. Bu komut root kullancs tarafndan altrlr. Para-
metre olarak sadece kullanc ad verilirse ayn kullanc adna ait bir grup da olutu-
rulup kullanc grubu olarak bu grup tanmlanacaktr. Komutun genel parametreleri
unlardr.
-m kullanc ev dizinini olutur
-d kullanc ev dizini yolu
-s kullanc kabuu
-g kullanc grubu
-c Aklama
rnekler:

# useradd ismail
# useradd s /bin/csh m -d /home/ismail g admin ismail

181
LPI Sertifikasyon Kitab

Belirtilmeyen parametrelerle ilgili n tanml deerler /etc/login.defs dosyasndan


alnr.

Kullanc tanmlandktan sonra parola atamas yaplmaldr. Parola tanmlamak iin ise
passwd komutu kullanlr.

# passwd ismail

Kullanc oluturulduktan sonra aadaki komutlarla kullanc ayarlarnda deiiklik


yaplabilir.

usermod
Bu komut ile kullanc ilave gruplara eklenebilir , mevcut kullanc ad baka bir kulla-
nc ile deitirilebilir, kullanc hesab kilitlenebilir veya hesap kilidi kaldrlabilir.

ahmet kullancsnn hesabn kilitlemek iin L parametresi kullanlr.

# usermod L ahmet

Pardus kullancsn admin ve apache grubuna eklemek iin aadaki komut kulla-
nlr.

# usermod G admin, apache pardus

Grup Ynetimi
Grup eklemek iin groupadd, silmek iin de groupdel komutu kullanlr. Groupadd
komutu otomatik olarak sradan bir Grup numaras(GID) atar. Farkl bir GID vermek
iin g parametresi kullanlr.

# groupadd sistemci

Kullancnn kullanc ve grup numarasn renmek iin id komutu kullanlr.

# id pardus
uid=1004(pardus) gid=1006(pardus) gruplar=1006(pardus),
1003(admin),1007(apache)

182
LPI Sertifikasyon Kitab

Parola mr sresi yaplandrmas

/etc/shadow dosyasnda ifrelenmi parolaya ek olarak parolann ne kadar sre sonra


deitirileceini bilgisi tutulmaktadr. Bu sreyi deitirmek iin change komutu kul-
lanlr. Bu komut parolann son deitirme tarihinden deitirilmesi gerekecek gne
kadar olan geen srenin gn cinsinden miktarn deitirir. Bu bilgi sistem tarafn-
dan kullancnn ne zaman parolasn deitirmek gerektiini bulmakta kullanlr.

-M parametresi ile azami gn says belirtilir. m ile de parola deiiklii iin geecek
asgari sre belirtilir.

Bu deerleri sistem genelinde tanmlamak iin /etc/login.defs dosyasndaki PASS_


MAX_DAYS ve PASS_MIN_DAYS deerleri kullanlr.

Kullanc Silme
Kullancy silmek iin userdel komutu kullanlr. Bu komut sadece kullanc ad verile-
rek kullanldnda kullancnn /etc/passwd /etc/shadow dosyalarndan kaydn siler.

# userdel ahmet

Yukardaki komut altrldnda ev dizini silinmez. Kullancy ev dizinindeki dosya-


larla birlikte tamamen silmek iin r parametresi kullanlr.

# userdel r ahmet

Kullanc Girilerini Kstlama


Root dndaki kullanclarn geici olarak sisteme giriini engellemek iin /etc/no-
login dosyas oluturmak yeterlidir. Kullanc giri yapmaya altnda bu dosya-
daki yazan metin ekrana yazlacak kullancnn giriine izin verilmeyecektir. Eer tek
bir kullancnn giri yapmas engellenmek isteniyorsa usermode L veya passwd l
komutu ile kullanc hesab kilitlenebilir. Veya kabuu /sbin/nologin yaplabilir. FTP
yapabilsin, fakat ssh yapamasn isteniyorsa da kullanc kabuunun /bin/false olarak
deitirilmesi gerekir.

Kullanc taslak dosyalar


183
LPI Sertifikasyon Kitab

Her yeni kullanc aldnda kullanc ev dizinine otomatik olarak baz dosyalar kop-
yalamak iin /etc/skel dizini kullanlr.

# ls -al /etc/skel/
toplam 40
drwxr-xr-x 5 root root 4096 Kas 9 16:48 .
drwxr-xr-x 153 root root 12288 Ara 4 14:00 ..
-rw-r--r-- 1 root root 220 Ara 30 2012 .bash_logout
-rw-r--r-- 1 root root 3206 Eki 10 2012 .bashrc
drwxr-xr-x 3 root root 4096 Mar 24 2013 .config
drwxr-xr-x 4 root root 4096 Mar 24 2013 .mozilla
-rw-r--r-- 1 root root 675 Ara 30 2012 .profile
drwxr-xr-x 4 root root 4096 Mar 24 2013 .thunderbird
root@pardus:~#

Bu dizine alacak her bir yeni dosya yeni kullanclarn ev dizinine kullanc haklar ile
kopyalanacaktr.

su ve sudo komutu
su komutu mevcut kabukta iken kmadan baka bir kullanc haklar ile kabuk amak
iin kullanlr. Gei yaplmak istenen kullanc ise genelde root kullancsdr. Bu ko-
mutun en yaygn parametresi dir. Bu parametre kabuk geiinde yeni kullancnn
evre deikenleri ile gei yaplmasn salar.

$ su -
Parola:

Parola ksmna hedef (burada root) kullancsnn parolas girilmelidir. Bu durumda


root haklarna sahip olmak isteyen herkesin root parolasn bilmesi gerekecekir. Root
parolasnn birden fazla kii tarafndan bilinmesi gvenlik zaafiyeti oluturaca iin
su komutuna alternatif olarak sudo komutu gelitirilmitir.

Sudo komutunun su komutundan en nemli fark kullancya verilen yetkileri yine


kullanc kendi parolasn girerek kullanabilmektedir. Bu sayede kullanclarn root
parolasn bilmesine gerek kalmadan root gibi ilemler yapabilmektedir. /etc/sudo-
ers dosyasnda izin verilen komutlar altrmak iin ilgili komutun bana sudo ko-
mutunu eklemek yeterli olacaktr.
184
LPI Sertifikasyon Kitab

Cron Grevleri
Cron sistemi UNIX dnyasndaki zamanlaycnn addr. Zamanlanan i olup olmad
crond servisi tarafndan dakikada bir kontrol edilir. Vakti geldiinde belirtilen komut-
lar iletilir. Sistem genelinde olduu gibi her bir kullanc da izin verilmise- kendi
zamanlaycsn tanmlayabilir. Sistem geneline ait iler /etc/crontab dosyasnda ta-
nmlanr.

# cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you dont have to run the `crontab
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command


17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-
parts -- report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-
parts -- report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-
parts -- report /etc/cron.monthly )

# ile balayan satrlar aklama satrdr cron tarafndan yorumlanmaz.

SHELL, PATH ve HOME evre deikenleridir, tanml olmaldrlar. Eer SHELL tanml
olmazsa geerli olan sh kabuu kullanlacaktr. PATH deikeni tanmlanmazsa ge-
erli bir path deeri kullanlmaz, btn dosya yollar mutlak olarak verilir. HOME de-
ikeni tanml deilse cron, kendisini altran kullancnn ev dizinini kullanr.

185
LPI Sertifikasyon Kitab

Dosyada da grlecei gibi crontab satrnn hangi formatta olaca u ekilde ta-
nmlanyor:

minute Dakika. 0-59 aras bir deer alr.


hour Saat. 0-23 arasnda bir deer alr.
mday Ayn gn. 0-31 aras bir deer alr.
month Ay. 1-12 aras bir deer alr.
wday Haftann gn. 0 ile 7 aras deer alr. 0 ile 7 Pazar gndr.

Yukardaki deerlerin yerine * sembol konulursa geerli btn deerler iin altr
anlamna gelir. Her bir stun iin 2-6 gibi aralk belirtilebildii gibi, 1, 5, 7 gibi birden
fazla deer de belirtilebilir. Periyodik yaplacak iler iin 0-59/15, */5 gibi kullanmlar
da geerlidir. Kullanc ksm, komutun hangi sistem kullancs yetkileriyle altrla-
can belirler. Bunlar daha iyi anlayabilmek iin aadaki rneklere baknz.

# Her gn gece 02:18 de yedekle.sh altr


18 2 * * * root /root/scripts/yedekle.sh

# Haftann 1. gn saat 5te her 10 dakikada bir altrr


0-59/10 5 * * 1 root /usr/local/bin/gonder

# Her 5 dakikada bir altrr


*/5 * * * * root /usr/libexec/atrun

/etc/crontab dosyasnda Pardusun kendisiyle ilgili gnlk, haftalk ve aylk iler aa-
daki satrlarla tanmlanmtr.

17 * * * * root cd / && run-parts --report /etc/cron.hourly


25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-
parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-
parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-
parts --report /etc/cron.monthly )

186
LPI Sertifikasyon Kitab

Gnlk yaplan iler /etc/cron.daily/ dizininde, haftalklar /etc/periodic/weekly, ay-


lklar /etc/periodic/monthly dizininde tanmlanmtr. Linux, vakti geldiinde bu di-
zinlerdeki tm dosyalar isim srasna gre altrr. Dizinlerin ierii aadaki gibidir.
Balarndaki say deerleri ise ncelik srasn ayarlamak iin tanmlanmtr.

# ls /etc/cron.daily/
apache2 apt aptitude apt-show-versions bsdmainutils dpkg
locate logrotate man-db ntp passwd quota samba sysstat

# ls /etc/cron.weekly/
apt-xapian-index man-db

# ls /etc/cron.monthly/
readahead-monthly

Crontabn Yklenmesi
Bir nceki blmde anlatlan iler /etc/crontab dosyasnda tanmlanarak yaplmt.
stenirse her bir kullanc kendi ilerini crontab komutunu kullanarak tanmlayabilir.
Crontab komutuna l parametresi verildiinde var olan iler listelenir.

# crontab l
# Her gn gece 02:18 de yedekle.sh altr
18 2 * * * /root/scripts/yedekle.sh > /dev/null 2>&1

# Her 5 dakikada bir altrr


*/5 * * * * /usr/libexec/atrun > /dev/null 2>&1

-e parametresi ile cron ileri dzenlenebilir. Bu parametre ile altrldnda geerli


metin dzenleyici n tanml olarak vi editr- ile birlikte bu kullancya ait btn
iler alr. stenilen deiiklikler veya eklemeler yaptktan sonra kaydedip kldn-
da, otomatik olarak yeni iler yklenmi olacaktr. ntanml olarak cron ilemi ya-
pldktan sonra komutlarn kts ilgili kullancya e-posta olarak gnderilecektir. Her
crontab altnda e-posta gelmesini engellemek iin komutlarn sonuna > /dev/
null 2>&1 ibaresi eklenir.

187
LPI Sertifikasyon Kitab

Crontab komutu altrlarak oluturulan ilerde /etc/crontab dosyasndakinden


farkl olarak iin altrlaca kullancy tanmlamaya gerek yoktur. Bu deer tanm-
lanmad iin crond servisi bu ileri n tanml olarak crontabn sahibi kullanc hak-
laryla altrlacaktr. root kullancs isterse baka kullanclarn crontablarna mda-
hale edebilir. Bunun iin e parametresinden sonra u parametresi ile aadaki gibi
crontabnda deiiklik yaplacak kullancnn ad verilir.

# crontab e u pardus

Kullanclara ait cron tanmlar /var/spool/cron/crontabs dizini altnda saklanr.

# ls /var/spool/cron/crontabs/
pardus root

Kullanclar iin Crontab Snrlamas


n tanml olarak Pardusta tm kullanclar kendi crontab dosyalarn oluturabilirler.
Bunu engellemek iin /etc/cron.allow veya /etc/cron.deny dosyalar kullanlabilir. /
etc/cron.allow dosyas her satrnda bir kullanc olacak ekilde oluturulursa sade-
ce bu kullanclarn crontab oluturulmasna izin verilir. Bu kullanclar dnda kimse
crontab oluturamaz. /etc/cron.deny oluturulursa bu dosyada tanml kullanclar
dndaki tm kullanclarn crontab oluturmasna izin verilir. Her iki dosyada mevcut
ise ncelik /etc/cron.allow dosyasna aittir.

at komutu
Crontab servisine tanmlanan komut belirlenen zaman aralklarnda tekrar tekrar a-
ltrlr. Eer bir i ileri bir zaman diliminde sadece bir kere altrlmak isteniyorsa
cron yerine at komutu kullanlmaldr. At komutu ile tanmlam ileri listelemek iin
atq komutu kullanlrken, tanml bir ii silmek iin atrm komutu kullanlr. Crontabda
olduu gibi kullanclarn bu servisi kullanmalarn engellemek iin /etc/at.deny, izin
vermek iin /etc/at.allow dosyalar kullanlr.

Yerelletirme ve Saat Dilmi Ayarlar


Kabukta kullanlan dili belirlemek iin LANG deikeni kullanlr. Mevcut tanmllari
grenmek iin locale komutu kullanlr.

188
LPI Sertifikasyon Kitab

# locale
LANG=tr_TR.UTF8
LANGUAGE=
LC_CTYPE=tr_TR.UTF8
LC_NUMERIC=tr_TR.UTF8
LC_TIME=tr_TR.UTF8
LC_COLLATE=tr_TR.UTF8
LC_MONETARY=tr_TR.UTF8
LC_MESSAGES=tr_TR.UTF8
LC_PAPER=tr_TR.UTF8
LC_NAME=tr_TR.UTF8
LC_ADDRESS=tr_TR.UTF8
LC_TELEPHONE=tr_TR.UTF8
LC_MEASUREMENT=tr_TR.UTF8
LC_IDENTIFICATION=tr_TR.UTF8
LC_ALL=

Bu deerlere gre sistem saati, hata mesajlar vb bilgilerin hangi dil de gsterilecei
belirlenir. Sistemde tanmlanabilecek tm locale deerlerini listelemek iin a para-
metresi kullanlr.

# locale -a
aa_DJ
aa_DJ.utf8
aa_ER
aa_ER@saaho
aa_ET
...

189
LPI Sertifikasyon Kitab

rnek olarak date komutunun farkl dil ayarlarndaki ktlar aadaki gibidir.

root@pardus:~ # date
Pr Ara 5 11:56:32 EET 2013
root@pardus:~ # LANG=en_US.UTf8 date
Thu Dec 5 11:56:45 EET 2013

iconv komutu ile bir karakter kodlamasnda oluturulmu dosyay baka bir karakter
kodlamasna evirebilirsiniz. f ile kaynak karakter kodlamas t ile de hedef karakter
kodlamas tanmlanr.

# iconv f iso-8859-9 t UTF-8 turkce.txt > turkce-utf8.txt

Linux saat dilimi bilgisini renmek iin /etc/localtime dosyasna bakar.

# ls -al /etc/localtime
-rw-r--r-- 1 root root 2721 Kas 9 16:47 /etc/localtime

Bu dosya bir saat dilimi dosyas olabilir veya /usr/share/zoneinfo dizini altnda tanml
bir saat dilimi dosyasna link olabilir.

# ls -al /etc/localtime
lrwxrwxrwx 1 root root 35 Ara 5 12:11 /etc/localtime ->
/usr/share/zoneinfo/Europe/Istanbul

Bu dosya dnda Pardus ve baz Linux datmlar /etc/timezone dosyasnda metin


olarak zaman dilimi dosyasn tutarlar.

# cat /etc/timezone
Europe/Istanbul

Tanmlanabilecek saat dilimi dosyalarnn hepsi /usr/share/zoneinfo altnda listelen-


mitir. rnein Avrupa blgesi iin tanmlanabilecek dosya adlar aadaki gibidir.

190
LPI Sertifikasyon Kitab

# ls /usr/share/zoneinfo/Europe/
Amsterdam Berlin Busingen Guernsey
Kaliningrad Luxembourg Monaco Podgorica San_Marino
Stockholm Vaduz Warsaw
Andorra Bratislava Chisinau Helsinki Kiev
Madrid Moscow Prague Sarajevo Tallinn
Vatican Zagreb
Athens Brussels Copenhagen Isle_of_Man Lisbon
Malta Nicosia Riga Simferopol Tirane
Vienna Zaporozhye
Belfast Bucharest Dublin Istanbul Ljubljana
Mariehamn Oslo Rome Skopje Tiraspol Vilnius
Zurich
Belgrade Budapest Gibraltar Jersey London
Minsk Paris Samara Sofia Uzhgorod Volgograd

root@pardus:~#

Saat dilimini Helsinki yapmak istenirse ilgili dosya /usr/share/zoneinfo/Europe/Euro-


pe/Helsinki olacak, saat dilimi tanm ise Europe/Helsinki olacaktr.
Elle yaplandrmaya ek olarak tzselect, tzsetup ve tzconfig(yeni adyla dpkg-reconfi-
gure tzdata) gibi aralarla da saat dilimi renilip ayarlanabilir.

root@pardus:~# tzselect
Please identify a location so that time zone rules can be
set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix
TZ format.

191
LPI Sertifikasyon Kitab

#? 8
Please select a country.
1) Aaland Islands 18) Greece 35) Norway
2) Albania 19) Guernsey 36) Poland
3) Andorra 20) Hungary 37) Portugal
4) Austria 21) Ireland 38) Romania
5) Belarus 22) Isle of Man 39) Russia
6) Belgium 23) Italy 40) San Marino
7) Bosnia & Herzegovina 24) Jersey 41) Serbia
8) Britain (UK) 25) Latvia 42) Slovakia
9) Bulgaria 26) Liechtenstein 43) Slovenia
10) Croatia 27) Lithuania 44) Spain
11) Czech Republic 28) Luxembourg 45) Sweden
12) Denmark 29) Macedonia 46) Switzerland
13) Estonia 30) Malta 47) Turkey
14) Finland 31) Moldova 48) Ukraine
15) France 32) Monaco 49) Vatican City
16) Germany 33) Montenegro
17) Gibraltar 34) Netherlands

#? 47
The following information has been given:
Turkey
Therefore TZ=Europe/Istanbul will be used.
Local time is now: Thu Dec 5 12:14:02 EET 2013.
Universal Time is now: Thu Dec 5 10:14:02 UTC 2013.
Is the above information OK?
1) Yes
2) No
Please enter 1 for Yes, or 2 for No.
#? 1

You can make this change permanent for yourself by


appending the line
TZ=Europe/Istanbul; export TZ
to the file .profile in your home directory; then log out
and log in again.

192
LPI Sertifikasyon Kitab

Here is that TZ value again, this time on standard output


so that you
can use the /usr/bin/tzselect command in shell scripts:
Europe/Istanbul

Kabukta TZ deikeni ile de aadaki gibi saat dilimi(time zone) bilgisi tanmlana-
bilir.

# export TZ=Europe/Istanbul

193
LPI Sertifikasyon Kitab

Temel Sistem Hizmetleri


Konu:
Linux sistemin salkl almas iin gerekli temel hizmetler

Hedefler:
Sistem tarihi ve saatinin ayarlanmas
Donanm saatinin ayarlanmas
NTP sunucusu kullanm
Saat dilimi(timezone) ayar
Sistem ve ekirdek loglama hizmeti
Mail gnderim hizmetleri
Printer sunucu yaplandrmas ve ynetimi
Anahtar Kelimeler:
date, ntpd, ntpdate, hwclock, /etc/localtime, /etc/timezone, /etc/ntp.conf, /
usr/share/zoneinfo, pool.ntp.org, syslog,conf, syslogd, klogd, logger, forward,
mail, mailq, sendmail, qmail, exim, postfix, CUPS, lpr, lprm, lpq

194
LPI Sertifikasyon Kitab

Sistem Saati
X86 tabanl donanmlarda alan Linux iletim sistemi iin donanm saati ve yazlm
saati olmak iki farkl saat tr vardr. Yazlm saati date komutu ile donanm saati de
hwclock komutu ile grlebilir.

root@pardus:~# date
Cts Kas 9 12:52:45 EET 2013
root@pardus:~# hwclock
Cts 09 Kas 2013 12:52:40 EET -0.645602 saniye
root@pardus:~#

Donanm saatinin UTC(Coordinated Universal TimeEgdml Evrensel Zaman) ola-


rak tanmlanmas tavsiye edilmektedir. Donanm saati ve yazlm saati ok gvenilir
olmad iin NTP(Network Time Protocol) kullanlarak saat sorunlar almaktadr.

Date komutu
Bu komut ile sistem saatini grebilir ve deitirebilirsiniz. Ayrca sadece gnn saati,
dakikas, ayn gn gibi deerleri de sorgulayabilirsiniz. Bu tr sorgulamalar genellik-
le betik(script) ierisinde ska kullanlmaktadr.

Hi bir parametre verilmediinde o anki tarih ve saati vermektedir.


# date
Cts Kas 9 13:01:35 EET 2013

Sadece o anki tarihe ait bir deeri ekmek iin ise date +%deiken parametresi
kullanlr. Yaygn olarak kullanlan deikenler unlardr:

%M Dakika (00..59)
%m Ay (01..12)
%k saat ( 0..23)
%l Saat ( 1..12)
%H Saat (00..23)
%I Saat (01..12)
%d Ayn gn(01..31)

195
LPI Sertifikasyon Kitab

rnekler:

root@pardus:~# date
Cts Kas 9 14:20:24 EET 2013
root@pardus:~# date +%M
20
root@pardus:~# date +%m
11
root@pardus:~# date +%H
14
root@pardus:~# date +%I
02
root@pardus:~# date +%d
09

Bu komutumuz ile sistem tarihini deitirmek de mmkn, bunun iin aadaki for-
mat kullanlr.

# date AyGnSaatDakikaYl

rnein tarihi 10 kasm 2014 saat 15:35 yapmak iin

# date 111015352014

# date 1110153520114
Pzt Kas 10 15:35:00 EET 2014

Hwclock komutu
Bu komut ile sistem saatini donanm tarihini gsterdii tarih olarak tanmlayabilir
veya tam tersi tanmlamay yapabilirsiniz.

hwclock s veya --hctosys (hardware clock to system) komutu ile Sistem saatini dona-
nm saatinden almas salanr.
hwclock w veya --systohc komutu donanm saatini sistemin u anki saati olarak
tanmlar.

196
LPI Sertifikasyon Kitab

rnek olarak nce sistem tarihini ileri bir tarih alalm sonrasnda sistem tarihini dona-
nm tarihinden alacak komutu verelim.

root@pardus:~# date 1110153514


Pzt Kas 10 15:35:00 EET 2014
root@pardus:~# date
Pzt Kas 10 15:37:04 EET 2014
root@pardus:~# hwclock --hctosys
root@pardus:~# date
Cts Kas 9 14:41:43 EET 2013
root@pardus:~#

Aadaki iki komut ise BIOS saatini sistem saatini baz alarak yerel saat veya UTCye
gre ayarlar.

root@pardus:~# hwclock --systohc --localtime

root@pardus:~# hwclock --systohc --utc

Zaman Dilimi Yaplandrmas


Tanmlanabilecek tm saat dilimleri /usr/share/zoneinfo dizinde bulunmaktadr.

rnein Europe/Istanbul saat dilimi bilgileri /usr/share/zoneinfo/Europe/Istanbul


dosyasnda tutulmaktadr.
letim sistemi saat dilimi deerini ikili /etc/localtime dosyasnda tutar. Saat dilimi
deitirilecekse kullanlacak saat dilimi dosyas /etc/localtime dosyasn olarak kay-
dedilmelidir.
Buna ek olarak /etc/timezone dosyasnda okunabilir formatta saat diliminin ad yazar.

# cat /etc/timezone
Europe/Istanbul

197
LPI Sertifikasyon Kitab

Saat dilimi Pardusta zaman dilimi tanmlamak iin bir ka yntem vardr. En kolay
dpkg-reconfigure tzdata komutu ile grafiksel olarak yaplandrmak.

# dpkg-reconfigure tzdata

198
LPI Sertifikasyon Kitab

Current default time zone: Europe/Istanbul


Local time is now: Sat Nov 9 14:59:51 EET 2013.
Universal Time is now: Sat Nov 9 12:59:51 UTC 2013.
Elle yaplandrmak iin ise /etc/localtime ve /etc/timezone dosyalar gncellenmelidir.
Saat dilimini Europe/Berlin olarak tanmlamak isterseniz aadaki komutlar verilir.

root@pardus:~# date
Cts Kas 9 15:21:25 EET 2013
root@pardus:~# ln -sf /usr/share/zoneinfo/Europe/Berlin /
etc/localtime
root@pardus:~# echo Europe/Berlin > /etc/timezone
root@pardus:~# date
Cts Kas 9 14:21:49 CET 2013
root@pardus:~#

Yukardaki date komutlarndan da grlecei gibi sistem saati Berline gre ayarlan-
mtr.

NTP Yaplandrmas
Adaki tm bilgisayarlarn ayn saat bilgisine sahip olmas iin NTP(Network Time
Protocol) kullanlmas gerekmektedir. NTP servisini kullanmak iin Linux sistemle-
rinde ntpd isimli bir servis bulunmaktadr. NTP servisinin durumu renmek, servisi
durdurup balatmak iin /etc/init.d/ntp servis dosyas kullanlr veya service ntp ko-
mutu kullanlr.

root@pardus:~# service ntp status


[ ok ] NTP server is running.
root@pardus:~# service ntp status
[ ok ] NTP server is running.
root@pardus:~# /etc/init.d/ntp status
[ ok ] NTP server is running.
root@pardus:~# /etc/init.d/ntp stop
[ ok ] Stopping NTP server: ntpd.
root@pardus:~# service ntp start
[ ok ] Starting NTP server: ntpd.

199
LPI Sertifikasyon Kitab

NTP servisi yaplandrma dosyas /etc/ntp.confdur. Bu dosyada yaplan bir deiikli-


in etkin olmas iin ntp servisinin yeniden balatlmas gerekir.

Hangi ntp sunucusunun kullanlaca /etc/ntp.conf dosyasndaki server parametre-


si ile belirtilir. n tanml olarak Pardusta aadaki sunucular tanmlanmtr.

# pool.ntp.org maps to about 1000 low-stratum NTP servers.


Your server will
# pick a different set every time it starts up. Please
consider joining the
# pool: <http://www.pool.ntp.org/join.html>
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

Elle ntp sunucusundan saati gncellemek iin ise ntpdate komutu kullanlr. Bu ko-
muta parametre olarak kullanlmak istenilen ntp sunucu ad verilir. Fakat bu komutun
almas iin ntp servisinin kapal olmas gerekir.

# service ntp stop


[ ok ] Stopping NTP server: ntpd.
root@pardus:~# ntpdate 0.debian.pool.ntp.org

9 Nov 14:37:46 ntpdate[12215]: adjust time server


62.12.173.12 offset -0.012969 sec
# service ntp start
[ ok ] Starting NTP server: ntpd.

NTP servisi kapal deilse aadaki gibi hata alnacaktr.

# ntpdate 0.debian.pool.ntp.org
9 Nov 14:36:18 ntpdate[11936]: the NTP socket is in use, exiting

Uzak NTP sunuculardan saatin gncellenebilmesi iin gvenlik duvar zerinde ntp
port numarasna (UDP 123) eriim verilmelidir.

200
LPI Sertifikasyon Kitab

Sistem Gnlkleri
Syslog servisi
Linux gnlk ynetimi iin syslogd servisini kullanmaktadr. Gnmzde rsyslogd
servisin ek olarak yeni nesil syslog servisi olan syslog-ng servisi de yaygn olarak kul-
lanlmaktadr. Debian tabanl sistemlerde n tanml syslog sunucusu olarak rsyslogd
gelmektedir.

Rsyslogd servisinin n tanml yaplandrma dosyas /etc/rsyslog.confdur. Daha eski


srmlerde /etc/syslog.conf dosyas bulunmaktadr.
Bu dosyada bulunan aadaki tanmla /etc/rsyslog.d dizininde .conf ile biten tm
dosyalarda yaplandrma dosyas olarak kullanlmaktadr.

# Include all config files in /etc/rsyslog.d/


#
$IncludeConfig /etc/rsyslog.d/*.conf

rnek gnlk tanmlar aadaki gibidir.

# First some standard log files. Log by facility.


#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log

#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err

201
LPI Sertifikasyon Kitab

Yukarda grld gibi dosya iki ana blmden olumaktadr. Soldaki blmde
servis ve artlar(facility) tanmlanmakta, sa tarafta ise gnlklerin nasl ilenecei
tanmlanmaktadr. Sa tarafa eylem (action) blm de denilir. Sol taraf ile sa taraf
birbirinden TAB komutlaryla ayrlmtr.

Sol taraftaki servisler de servis ad.ncelik eklinde iki ksmdan oluur. Bu ncelik
deerleri emerg, alert, crit, err, warning, notice, info ve debug olabilir. Servis ad ise
auth, authpriv, console, cron, daemon, ftp, kern, lpr, mail, mark, news, ntp, security,
syslog, user, uucp, ve local0 dan local7 ye kadar olan herhangi bir deer olabilir. Tm
servisleri veya ncelikleri ifade etmek iin * karakteri kullanlr. Sa taraftaki eylem
ksmnda dosya belirtilirse gnlkler dosyaya yazlr, uzak sunucu , konsol da tanm-
lanabilir.

rnein ilk satrdaki

mail.* -/var/log/mail.log

ifadesi u ekilde yorumlanr. Mail servisine ait tm ncelik deerleri /var/log/mail.


log dosyasna yazlacaktr. Dosya balarndaki - ifadesi kaydn asenkron bir ekilde
yazlacan ifade etmektedir.
Rsyslog ile ilgili herhangi bir yaplandrma deiiklii olduunda rsyslogd servisi ye-
niden balatlmaldr. Aadaki komutlarla servis durumu renilebilir, servis durdu-
rup balatlabilir veya yeniden balatlabilir.

Eer bir gnlk tr, ayrca uzak bir syslog sunucusuna iletilmek istenirse dosya ad
yerine sunucu ad, bana @ iareti konularak belirtilir.

mail.* @172.16.1.10

n tanml olarak syslog sunucular UDP 514 portu kullanlr. Eer sunucu farkl bir
port numaras kullanyorsa :port ile port numaras belirlenir. rnein 5410 nolu port
numarasna gndermek iin:

mail.* @172.16.1.10:5140

202
LPI Sertifikasyon Kitab

root@pardus:/etc# service rsyslog status


[ ok ] rsyslogd is running.
root@pardus:/etc# service rsyslog stop
[ ok ] Stopping enhanced syslogd: rsyslogd.
root@pardus:/etc# service rsyslog start
[ ok ] Starting enhanced syslogd: rsyslogd.
root@pardus:/etc# service rsyslog restart
[ ok ] Stopping enhanced syslogd: rsyslogd.
[ ok ] Starting enhanced syslogd: rsyslogd.
root@pardus:/etc#

/etc/rsyslog.d dizininde ise genelde sonradan kurulan servislere ait yaplandrma


dosyalar olur. Bu sayede ana yaplandrma ile ek servislere ilikin yaplandrlma ay-
rtrlm olur.

# ls /etc/rsyslog.d
postfix.conf

Logger Komutu
Bu komut elle syslog kayd oluturmak iin kullanlr. Genelde yaplandrmann doru
bir ekilde olup olmadn kontrol amacyla kullanlr.

root@pardus:~# logger sunucu tekrar baslatilacak


root@pardus:~# tail /var/log/messages
...
Nov 9 22:33:43 pardus root: sunucu tekrar baslatilacak

Belli bir kayt tr belirtmek iin p parametresi kullanlr.

root@pardus:~# logger -p mail.info eposta geldi


root@pardus:~# tail /var/log/mail.info
Nov 9 22:35:49 pardus root: eposta geldi

203
LPI Sertifikasyon Kitab

Gnlk Dosyalarnn Dndrlmesi


Gnlk dosyalarnn dndrlmesi iin logrotate komutu kullanlr. Bu komut ayrca
dndrlen dosyalar ile ilgili aadaki zelliklere sahiptir.
Sktrma
Belirli bir sayda dnderilen dosyay saklama
Gnlk,haftalk, aylk aralklarla dndrme yapma
Dndrme ileminden sonra gerekiyorsa servisi yeniden balatma
n tanml yaplandrma dosyas /etc/logrotate.conf dosyasdr. Bu dosyadaki aa-
daki ifade ile /etc/logrotate.d dizinindeki dosyalarda yaplandrma dosyalar olarak
ilem grr.

# packages drop log rotation information into this directory


include /etc/logrotate.d

Aada n tanml logrotate.conf dosyasndaki tanmlamalar grebilirsiniz.

# no packages own wtmp, or btmp -- well rotate them here


/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}

Baz logrotate parametreleri:


rotate ifadesi ile tutulacak eski gnlk dosya says belirtilir.
create ile dosyann oluturma modu ve sahibi belirlenir.
missingok parametresi ile de bu dosya yoksa bir hata dnmemesi salanr.
montly parametresi aylk bazla dosyann dnderileceini ifade eder.
Size ile dosyann dnderilmesi iin gerekli boyut belirtilir.
Compress ile dosyann sktrlmas gerektii belirtilir.
204
LPI Sertifikasyon Kitab

rnek bir /etc/logrotate.d dizini ierii aadaki gibidir.

root@pardus:~# ls /etc/logrotate.d
apache2 apt aptitude consolekit cups dpkg pm-utils ppp
preload rsyslog samba speech-dispatcher unattended-
upgrades winbind

Aada grld gibi sktrlan dosyalar

# ls /var/log/
alternatives.log bootstrap.log daemon.log.1 dpkg.log.1
lpr.log messages.3.gz syslog user.log.1
alternatives.log.1 btmp daemon.log.2.gz dpkg.log.2.gz
lpr.log.1 messages.4.gz syslog.1 user.log.2.gz
alternatives.log.2.gz btmp.1 daemon.log.3.gz error
mail.err news syslog.2.gz wtmp
apache2 ConsoleKit daemon.log.4.gz faillog
mail.info ntpstats syslog.3.gz wtmp.1
apt cron.log debug fontconfig.log
mail.log pm-powersave.log syslog.4.gz Xorg.0.log
auth.log cron.log.1 debug.1 fsck
mail.log.1 pm-powersave.log.1 syslog.5.gz
Xorg.0.log.old
auth.log.1 cron.log.2.gz dmesg gdm3
mail.log.2.gz preload.log syslog.6.gz
auth.log.2.gz cron.log.3.gz dmesg.0 hp
mail.warn preload.log.1.gz syslog.7.gz
auth.log.3.gz cron.log.4.gz dmesg.1.gz kern.log
messages pycentral.log sysstat
auth.log.4.gz cups dmesg.2.gz kern.log.1
messages.1 samba unattended-upgrades
boot.log daemon.log dpkg.log lastlog
messages.2.gz speech-dispatcher user.log

205
LPI Sertifikasyon Kitab

E-posta Ynetimi
Bir linux sistem hem e-posta sunucusu hem de e-posta istemcisi olarak hizmet ve-
rebilir. Linux zerinde kullanlabilecek bir ok e-posta sunucusu ve yazlm vardr.
Burada ksaca bu yazlmlar hakknda bilgiler verilecektir.

E-posta Sunucular
Sendmail: Linux zerinde alan en eski e-posta sunucusudur. Sendmail hala yay-
gn olarak kullanlsa da performans,gvenlik sorunlar ve yaplandrmasnn dierler-
ine gre biraz kompleks olmasndan dolay eskisi kadar tercih edilmemektedir. Send-
mail hakknda detayl bilgiyi www.sendmail.org sitesinden edinebilirsiniz. Tm ii tek
bir proses yapmaktadr.

Postfix: Sendmaile alternatif,modler bir dizayn ile gelitirildi. Postfix birden fazla
program kullanarak farkl ileri farkl prosesler ile yapmaktadr. Sendmaile gre daha
kolay bir yaplandrmas vardr. Gnmzde bir ok Linux datmnn n tanml
e-posta sunucusudur. Web sayfas: www.postfix.org

Exim: Sendmail gibi tek bir proses ile tm sreci ynetmektedir. Sendmaile gre
daha kolay bir yaplandrmas vardr. Bir ka Linux datm tarafndan n tanml
e-posta sunucusu olarak kullanlmaktadr. Web sayfas:www.exim.org

Qmail: Gvenlik ve performans amal gelitirilmi bir e-posta sunucusudur.


Yaplandrmas dierlerine gre farkllk gsterir. lk balardaki lisanslama konusun-
dan dolay herhangi bir Linux datm tarafndan n tanml olarak kullanlmamak-
tadr. Fakat performans ve gvenlik a olmamasndan dolay bir ok sistem ynet-
icisi tarafndan tercih edilen bir e-posta sunucusudur. Gayr resmi web sayfas: www.
qmail.org, qmail yazarna ait resmi web sayfas http://cr.yp.to/qmail.html

E-postalar ekmek iin bir IMAP/POP3 sunucusuna ihtiya vardr. Gnmzde yay-
gn olarak Dovecot(www.dovecot.org) sonrasnda ise Cyrus IMAP(http://www.cyrusi-
map.org/) sunucular kullanlmaktadr. Bu sunuculardan farkl olarak uzaktaki e-pos-
talar belirli aralklarla bilgisayara indirip size ait bir SMTP sunucusu kuyruuna veren
fetchmail yazlm vard. Fetchmail bir sunucu yazlm olmayp, uzak sunucu ile yerel
sunucu arasndaki balanty salamaktadr.Fakat gnmzde her geen gn geer-
liliini yitirmektedir.

206
LPI Sertifikasyon Kitab

Temel E-posta Sunucu Ayarlar


E-posta Ynlendirme
Bir kullancya gelen e-postay baka bir adrese ynlendirmek iin hem kullanc sevi-
yesinde hem de sistem seviyesinde tanmlama yaplabilir.

Kullanc seviyesine kullancnn ana dizininde .forward dosyas oluturup buraya


e-postann iletilecei yeni adres yazlr. Bu dosyaya adres yerine bir komut tanmlaya-
rak her e-posta geldiinde bu komutun almas da salanabilir.

Sistem genelinde ise /etc/aliases dosyas kullanlr. Bu dosyann n tanml hali aa-
daki gibidir:

# cat /etc/aliases
# See man 5 aliases for format
postmaster: root

Bu dosyada yaplacak herhangi bir deiikliin etkinlemesi iin newaliases komutu


kullanlr. Bu dosya hem postfix hem de sendmail tarafndan kullanlmaktadr.

E-posta Kuyruk Raporlamas


mailq komutu ile kuyrukta bekleyen e-postalar hakknda ksa bilgi alnabilir.
Komut hi parametre verilmeden altrlabilir.

# mailq
Mail queue is empty

E-posta stemcileri
Linuxde hem komut satrndan hem de grafik arayzden kullanabileceiniz bir ok
e-posta istemcisi vardr. En yaygn grafik tabanl e-posta istemcileri:

Thunderbird (www.mozilla.org/tr/thunderbird)
Evolution (https://projects.gnome.org/evolution/)
Kmail (http://userbase.kde.org/KMail).

207
LPI Sertifikasyon Kitab

Komut satrndan e-posta okumak iin ise mutt, alpine ve mail komutu bulunmak-
tadr.

mail komutu hem e-posta okuyabilir hem de e-posta gnderebilir.

Mail komutu parametre vermeden altrlrsa kullancya ait okunmam e-posta var
m yok mu diye kontrol eder. Aadaki gibi parametrelerle de bir e-posta adresine
bir dosyann ieriini gnderebilir.

# mail s konu admin@pardus.org.tr < /var/tmp/mesaj.txt

-s ile e-posta konusu belirlenir. < ile de belirtilen dosyadaki ierik e-postann gvdesi
olarak kar tarafa iletilir.

Yazc Sistemi
Linux sistemlerde yazc ilemleri CUPS(Comon Unix Printing System) servisi tarafn-
dan ynetilir. Yaplandrmalar /etc/cups dizininde bulunur.

# ls /etc/cups
cupsd.conf cups-files.conf ppd raw.types ssl
subscriptions.conf.O cupsd.conf.default cups-pdf.conf
raw.convs snmp.conf subscriptions.conf

bu servise service cups stop|start|restart komutlar ile ynetilir.


CUPS ncesinde LPD ve LPRng gibi yazc alt sistemleri kullanlyordu. LPD kullanan
birisi lpr, lprm,lpq gibi komutlarna ainadr. CUPS eski servisleri kullanan system y-
neticileri iin bu komutlarn aynsn gelitirmitir.

Ayrca CUPS servisinin web ynetim arayz de bulunmaktadr. n tanml olarak


sadece http://localhost:631 adresinden eriilebilmektedir. Ek izinler iin ve dier ya-
plandrmalar iin /etc/cups/cupsd.conf dosyas dzenlenmelidir.

CUPS servisi /var/spool/cups dizinini kuyruk dizini olarak kullanmaktadr.

208
LPI Sertifikasyon Kitab

Yazc komutlar:

lpr Komutu
Bu komut yazcya i gndermek iin kullanlr. Bu komutu kullanmadan once yazc
ayarlarnn yaplm olmas gerekir. Grafik arayz zerinden kt alnacaksa bu de-
taylar bilmeye gerek yoktur. Arayz lpr komutlarn daha aklayc bir ekilde tanm-
lamaktadr.

En yaygn parametreleri:
-r Bu parametre ile yazma ilemi bittikten sonra dosyann silinmesini salanr.
-h ile banner yazlmas iptal edilir
-# say: Yazmann ka kopya olacan belirtir.
-P hangi yazc kuyruunun kullanlacan belirtir.

rnek:
HPLazer kuyruunda dosya.txt dosyasndan 3 kopya kt almak iin:

# lpr P HPLazer -#3 dosya.txt

lpq Komutu
lpq komutu ile yazc kuyruu istatistikleri grntlenir. P parametresi ile kuyruk ad
belirtilir.

lprm/cancel
lprm ve cancel komutlar ayn ii yapmaktadr.Bu komutlar ile de kuyruktaki bekleyen
iler silinebilir. Parametre olarak i numaras(job id) alr.

Silinecek ie ait i numaras ise yukarda anlatlan lpq veya lpstat komutu ile grn-
tlenebilir.

- parametresi ile kuyruktaki bekleyen tm iler iptal edilir.

cupsenable/cupsdisable
cupsenable ve cupsdisable komutu ile de yazc kapatlp alabilir. Ayrca cpudisable
komutuna c parametresi verilecek yazc kuyruundaki tm iler iptal edilebilir. ptal
mesajn tm kullanclara bildirmek iin ise r parametresi ile mesaj tanmlanabilir.

209
LPI Sertifikasyon Kitab

A Ynetimi
Konu:
Linux a ynetimi

Hedefler:
IP adresleme
Temel protokoller, TCP ve UDP farklar
Temel portlar ve zerlerinde alan hizmetler
A arayzlerinin yaplandrlmas
Ynlendirme
IPv6
Host DNS yaplandrmas ve sorgulama
A sorunlarn zme aralar
Anahtar Kelimeler:
IPv4, IPv6, /etc/services, ftp, telnet, ifconfig, ifup, ifdown, route, /etc/network/
interfaces, ethtool, ip, /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf, host,
dig, ping, traceroute, netstat, netcat

210
LPI Sertifikasyon Kitab

Adresleme
TCP/IP alarnn oluturulmas srasnda yaplmas gereken ilk grev a zerinde bu-
lunan tm noktalara a adreslerinin atanmasdr. IPV4 (32 bit) ve IPV6 (128 bit) olmak
zere iki eit IP adresi vardr.
IP adresleri 4 oktetlik birimler halinde gsterilir. Onluk tabanda IP adresi, drt paraya
ayrlm noktal (194.27.200.20) gsterimle tanmlanr. Noktalar ile ayrlm olan her
bir para 0-255 arasnda deer alabilir. Bu yapya onluk tabanda noktal gsterim
ad verilir.
IP adresleri temel olarak A, B, C olmak zere 3 snfa ayrlr.
A Snf 127 adet a ve her a ierisinde yer alabilecek olan 16,777,214 milyon bil-
gisayar tanmlayabilir.
B Snf 16,383 adet a ve her a ierisinde yer alabilecek olan 65,534 bilgisayar
tanmlayabilir.
C Snf 2,097,151 milyon a ve her a ierisinde yer alabilecek olan 254 bilgisayar
tanmlayabilir.

211
LPI Sertifikasyon Kitab

D snf IPler multicast iin, E snf IPler ise test amal kullanlan zel IPlerdir.

Alar kimi zaman ynetimi kolaylatrmak ve gvenlii artrmak iin kk parala-


ra ayrlabilir. Bu durumda balanty salayan ynlendiricilerin alt a maskesini gz
nnde bulundurmas gerekir.

Alt alarn tanmlanmas durumunda Hedef IP Adres alann alt a maskesi ile &
(and) ([1 &1 = 1], [1 & 0 = 0]) mantksal ilemine sokar. & ileminden sonra elde edi-
len deer a adresi ile ayn deilse ynlendirme ilemi yaplr.

IP snfna gre a maskeleri u ekildedir:

Snf lk 8li ntanml Maske


A 1-126 255.0.0.0
B 128-191 255.255.255.0
C 192-223 255.255.255.0
D 224-239 255.255.255.255
E 240-254 -

IPv6 adresleri bnyesinde IPv4 adreslerini de barndrabilir. Bu nedenle IPV6 adres-


lerinin gsterimi bu ayrm yapmak iinde kullanlabilir. X:X:X:X:X:X:d.d.d.d olarak
verilen gsterimde X deerleri onaltlk say sisteminde saylar d deerleri onluk
tabanda saylar ifade eder.

zel IPler
zel alarda adreslemeyi basitletirmek, internet alaryla akmay nlemek iin
baz IPler rezerve edilmitir. zel IPler internet a geitleri tarafndan ynlendiril-
mez, yalnzca i alarda kullanlrlar. RFC 1918de tanmlanan zel alar:
10.0.0.8/8
172.16.0.0/12
192.168.0.0/16

212
LPI Sertifikasyon Kitab

Protokoller
Protokol iki a bilgisayarnn birbiriyle konuma dilidir. TCP/IP katmanl bir mimari
olup her protokol, gerek pakete bir takm bilgiler ekleyerek sarmalar ve bir sonraki
katmann protokolne iletir. Bu ekilde sarlp sarlp en son fiziksel katmandan (bu
genelde bir ethernet veya fiber kart oluyor) kar tarafa iletilir. Kar tarafta en d-
tan balanarak paket alr. Bir katmanda ynlendirme bilgisi varken, dier katmanda
hangi hizmetin (portun) hedeflendii bilgisi bulunur. Tm bunlarn yannda mesajla-
rn doru gelip gelmediini kontrol eden hata kontrol mekanizmalar ve bu mekaniz-
malara ait ilave alanlar vardr.

Kaynak bilgisayarda bir katmandaki bir protokol tarafndan pakete eklenmi veriyi
ancak hedef bilgisayardaki ayn katmandaki ayn protokol zmleyebilir, anlayabilir.

TCP Protokol
TCP protokol, balant bazl gvenli veri akn salayarak iletim katmanna (trans-
mission layer) ok nemli hizmetler sunar. ou uygulama kendi veri iletiim kontrol
mekanizmasn oluturmaktansa TCP protokolnn salam olduu hizmetleri kul-
lanr. TCP sunduu hata denetimi, veri ak kontrol gibi hizmetler sayesinde ken-
disini kullanan uygulamalara tatmin edici dzeyde gvenlik, hata denetimi ve ak
kontrol salar.

TCP protokolnn en nemli zellikleri unlardr;


Balant noktalar arasnda veri iletiimini salamas
Gvenli veri iletimine olanak tanmas
Balantda olan iki bilgisayar arasnda ak kontrol salamas
oklama (Multiplexing) yntemi ile birden fazla balantya izin vermesi
Sadece balant kurulduktan sonra veri iletimi salamas
Gnderilen mesaj paralar iin ncelik ve gvenlik tanmlamas yaplabilmesi
FTP, SMTP, HTTP, IMAP gibi uygulama katman protokolleri TCP kullanrlar.

213
LPI Sertifikasyon Kitab

UDP Protokol
UDP gvenli olmayan, balantsz veri ak salar. Balantnn almas, kapatlma-
s gibi operasyonlara gerek yoktur. Datagramlarn hedeflerine varmalar farkl olarak
ynlendirilmeleri sebebi deiik zamanlarda olabilir. Bu nedenle UDP protokol kul-
lanlarak gnderilen verilerin ayn sra ile hedeflerine ulamas mmkn olmayabilir.
UDP protokol, TCP protokolnden daha hzl ve daha kolaydr. Buna karn salam-
lk, gvenilirlik gibi kriterler gz nne alnd zaman TCP protokolne nazaran ok
fazla dezavantaj vardr.

UDP protokolnn temel zellikleri unlardr.

UDP protokol datagram tabanldr. Bu nedenle balantnn almas, kapatlmas


gibi operasyonlara gerek yoktur.

UDP toplu yayn (broadcast) grup yayn (multicast) mesajlar iin son derece kulla-
nldr.

Datagramlarn hedeflerine varmalar farkl olarak ynlendirilmeleri sebebi deiik za-


manlarda olabilir. Bu nedenle UDP protokol kullanlarak gnderilen verilerin ayn
sra ile hedeflerine ulamas mmkn olmayabilir.

UDP protokol ierisinde sadece istee bal olarak hata kontrol mekanizmas yr-
tlr.

UDP protokol, TCP protokolnden daha hzl ve daha kolaydr. Buna karn salam-
lk, gvenilirlik gibi kriterler gz nne alnd zaman TCP protokolne nazaran ok
fazla dezavantaj vardr.

DNS ve SNMP uygulama protokolleri UDP zerinde tanrlar.

ICMP Protokol
Internet Protokol, ICMP Protokoln kullanarak ilem gren datagramlarn iletimi
srasnda meydana gelen hatalar, uyar ve kontrol bilgilerini iletir. Bu mesajlar a
yneticileri tarafndan deerlendirilerek a ierisinde meydana gelen aksaklklarn
belirlenmesinde kullanlabilir.

214
LPI Sertifikasyon Kitab

ICMP mesajlar genel olarak u durumlarda retilir.


IP datagramlarn hedeflerine ulaamamas durumunda
A geitlerinin datagramlar hedeflerine ynlendiremeyecek kadar youn olmas du-
rumunda
Datagramlarn hedeflerine ynlendirilebilecei daha ksa bir rota olmas durumunda

Port Numaralar
Ayn hedefte birden fazla servis altrmak iin port numaras kullanlr. IP adresi bir
bilgisayar adreslerken, port numaras o bilgisayardaki alan servisi adresler. IP ad-
resi bir binann kap numaras ise, port numaras kanc kat olduunu veya daireyi
gsterir. Bylece ayn hedefte birden fazla servis varsa bunlar birbirinden ayrt edilir.
rnein ayn bilgisayarda hem mail gnderim (SMTP) hem de web sunma (HTTP)
hizmetleri ayn anda bulunabilir. Mail gnderim iin rnein Thunderbird uygulama-
sn, sunulan web sayfasn grntlemek iin rnein Chrome uygulamas kullanlr.
Her iki uygulamada ayn sunucuya balanacak. Ancak iki uygulamann konuma dili
(protokol) birbirinden farkldr. Thunderbird, 25 numaral porttaki SMTP sunucuya
balanrken Chrome 80 numaral porttaki web sunucuya balanr.
1024den kk port numaralar standarttr ve belli protokollere tahsis edilmitir. Li-
nux altnda standart hizmetlerin listesi /etc/services dosyasnda bulunur.

$ cat /etc/services
[...]
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp
ssh 22/tcp
ssh 22/udp
telnet 23/tcp
smtp 25/tcp
time 37/tcp
time 37/udp
[...]

215
LPI Sertifikasyon Kitab

Baz port ve hizmetler a yneticileri tarafndan sklkla kullanlr:

Protokol Port Hizmet


TCP 20 FTP Veri
TCP 21 FTP Kontrol
TCP 22 SSH
TCP 23 Telnet
TCP 25, 465 SMTP, SSMTP
UDP 53 DNS
TCP 80, 443 HTTP, HTTPS
TCP 110, 945 POP3, POP3S
UDP 139 NetBIOS
TCP 143, 993 IMAP, IMAPS
UDP 161 SNMP

A Arayzleri
Linux altnda a arayzleri /dev altnda sanal bir aygt olarak ynetilir. Fiziksel eriim
trne gre arayzler farkl isimlerle arlr:
lo: loopback
eth: Ethernet kartlar
slip: Seri port modemler
ppp: Noktadan noktaya
isdn: ISDN hat
fddi: Fiber hat
Arayzler srasyla isimlendirilir. rnein bir sunucuda iki adet Ethernet kart varsa
bunlar ana kart zerindeki srasna gre eth0 ve eth1 olarak isimlendirilirler. Numara-
landrma her zaman 0dan balar.

Loopback (lo) arayz makinann kendisine dnen zel bir arayzdr. A testlerini
yapmak iin kullanlr. Bu aygta yaplacak eriimlere yine kendisi cevap verir. Bylece
TCP/IP protokol gerek bir IP olmadan altrlm olur. Baz uygulamalar gerek an-
lamda bu arayz kullanyor olabilir. rnein sunucu stndeki bir kullancya mail
gndermek isteyen mail transfer ajan.
216
LPI Sertifikasyon Kitab

Linux altnda 127.0.0.1/8 zel andaki btn aygtlar loopback aygtna atanm-
tr. Genelde 127.0.0.1 IP adresi kullanlr. Baz Linux d iletim sistemleri sadece
127.0.0.1i kullanyor.

ethtool, mii-tool
Ethtool, kart hzn, portu, auto-negotiation, PCI lokasyonu gibi deerleri sorgulamak
ve deitirmek iin kullanlan a kart yaplandrma aracdr.

Bir a arayzne ait istatistikleri almak iin:

# ethtool S eth0

Bir a arayz hakknda bilgi almak iin:

# ethtool -i em1
driver: e1000e
version: 2.0.0-k
firmware-version: 0.13-3
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes

# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full

217
LPI Sertifikasyon Kitab

Advertised pause frame use: No


Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link

Arayzler zerinde deiiklik yapmak iin s parametresi kullanlr.


--speed number devname
--duplex [half | full] devname
--port value devname
--autoneg [yes | no] devname
--phyad HEX-VALUE devname
--xcvr [internal | external] devname
--wol [pumbgsd] devname

# ethtool s eth0 speed 100 duplex full autoneg off

Fiziksel arayz hakknda bilgi grntleyen dier bir ara da mii-tooldur.

# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok

218
LPI Sertifikasyon Kitab

A Yaplandrmas
A kartlarna IP vermek ve devreye almak iin ifconfig komutu kullanlr. Hibir para-
metre vermeden kullanlrsa mevcut yaplandrmay gsterir.

# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:b2:6d:8a
inet addr:172.16.45.219 Bcast:172.16.47.255 Mask:255.255.248.0
inet6 addr: fe80::250:56ff:feb2:6d8a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7811035 errors:0 dropped:1879 overruns:0 frame:0
TX packets:136191 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:549190868 (523.7 MiB) TX bytes:27303204 (26.0 MiB)

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:996 errors:0 dropped:0 overruns:0 frame:0
TX packets:996 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:149463 (145.9 KiB) TX bytes:149463 (145.9 KiB)

A arayzn aktif etmek ve IP/netmask ikilisini tanmlamak iin u ekilde kullanlr:

# ifconfig eth0 172.16.45.219 netmask 255.255.248.0 up

Aktif edilmi arayz kapatmak iin:

# ifconfig eth0 down

219
LPI Sertifikasyon Kitab

Bilgisayarn IP adresi olmas a zerinde paket alverii yapmasn temin eder. Ancak
baka alara ulaamaz. Bir adaki bilgisayarn kendi anda olmayan bir hedefe ula-
abilmesi iin ynlendirme girilmesi gerekmektedir.

Nereye ynlendirilecei bilinmeyen her paketin ynlendirildii a geidine varsay-


lan a geidi denir ve u ekilde tanmlanr:

# route add default gw 10.0.0.1

Bunun dnda belirli alar veya IPler iin ayn komut kullanlarak ynlendirme yap-
labilir.

Aadaki ynlendirme 10.0.2.X ana giden istekleri eth1 arayzne ynlendirir:

# route add -net 10.0.2.0 netmask 255.255.255.0 eth1

Aadaki rnekte 10.0.2.5 IPli hosta eriimleri eth1 zerinden yapmak zere bir yn-
lendirme yaplyor:

# route add -host 10.0.2.5 eth1

Yazlan btn ynlendirmeler ynlendirme tablosunda tutulur. Bir paket hedefe


doru yola ktnda bu tablo okunarak paketin nasl ynlendirileceine karar verilir.
Herhangi bir ynlendirme bilgisi bulunmayan hedefler iin varsaylan a geidine
ynlendirme yaplr.

Ynlendirme tablosunu grmek iin:

# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0

220
LPI Sertifikasyon Kitab

0.0.0.0 ile belirtilen hedef btn a anlamna gelip varsaylan a geidine ynlendi-
rilir. Dolaysyla yukardaki ynlendirme tablosunda varsaylan a geidi son satrdaki
tanm olup 10.0.0.1dir. netstat rn komutu da ayn kty verir.

Komut satrndan yaplacak yaplandrmalar bilgisayar yeniden balatldnda ge-


ersiz olacaktr. Bilgisayar her aldnda yaplandrmann yeniden yaplabilmesi
iin yaplandrma dosyalar kullanlr. Linux datmlar a arayzn aktif eden al
betiklerine sahiptir. Bu betikler yaplandrma dosyalarn okuyarak komut satrndan
verilen yaplandrma komutlarn her alta altrr.

A arayzlerini kontrol eden ana yaplandrma dosyas /etc/network/interfaces dos-


yasdr.

# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.16.45.219
netmask 21

Bu dosyada her bir a arayz iin bir blok oluturulur ve bu blokta IP adresi, netmask
ve varsaylan a geidi tanmlanr. A maskesi CIDR veya 4 noktal biimde olabilir.

Kalc zel ynlendirmeler eklemek iin ilgili arayz blouna aadaki gibi post-up
(arayz up olduktan sonra) ve pre-down (arayz down olmadan nce) satrlar eklenir:

post-up ip route del -net 10.1.2.0 netmask 255.255.255.0


post-up ip route add -host 10.1.2.51 eth1
pre-down ip route add -net 10.1.2.0 netmask 255.255.255.0
pre-down ip route add -host 10.1.2.51 eth1

221
LPI Sertifikasyon Kitab

A yaplandrmas yaplm bir sistemde a arayzlerini balatmak iin ifup


komutu kullanlr. Bu komut /etc/network/interfaces gibi yaplandrma
dosyalarn okuyarak arayzleri yaplandrr.

# ifup
# ifdown

A hizmetlerini balatmak iin:

# /etc/init.d/networking start

A hizmetlerini yeniden balatmak iin:

# /etc/init.d/networking restart

Gnome grafik ortamda a yaplandrmasn yapmak iin network-admin yaplandr-


ma arac kullanlr.

ip komutu
Linux 2.2 ekirdek srmyle birlikte gelimi fonksiyonlar sunan iproute2 paketi ge-
tirildi. Bu paketin iindeki ana ara ip komutu olup, a balantlarn ve arayzlerini,
ynlendirme tablolarn, ynlendirme politikalarn, ARP tablolarn ve a tnellerini
yaplandrmak iin esneklik sunmaktadr.

ifconfig, route gibi komutlarn yerini artk daha gl ve esnek olan ip komutu almak-
ta, al betikleri bu komutu kullanmaktadr.

ip ile a arayzne IP adresi tanmlamak iin:

# ip addr add 192.168.50.5 dev eth1

222
LPI Sertifikasyon Kitab

Arayzler hakknda bilgi almak iin:

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state
UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfi-
fo_fast state UP qlen 1000
link/ether 00:50:56:b2:6d:8a brd ff:ff:ff:ff:ff:ff
inet 172.16.45.219/21 brd 172.16.47.255 scope global eth0
inet6 fe80::250:56ff:feb2:6d8a/64 scope link
valid_lft forever preferred_lft forever

Arayze ait IP adresini silmek iin:

# ip addr del 192.168.50.5/24 dev eth1

A arayzn aktif etmek iin:

# ip link set eth1 up

A arayzn kapatmak iin:

# ip link set eth1 down

223
LPI Sertifikasyon Kitab

Ynlendirme tablosunu grntlemek iin:

# ip route show

10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.100

169.254.0.0/16 dev eth0 scope link

default via 10.0.0.1 dev eth0

Sabit ynlendirme eklemek iin:

# ip route add 10.0.2.0/24 via 192.168.5.10 dev eth0

Sabit ynlendirmeyi silmek iin:

# ip route del 10.0.2.0/24

Varsaylan a geidini tanmlamak iin:

# ip route add default via 192.168.50.100

Aadaki tabloda net-tools paketinde yer alan komutlara karlk gelen ip komutlar
verilmitir:

net-tools iproute2
ifconfig ip addr
route ip route
arp ip neigh
ipmaddr ip maddr
iptunnel ip tunnel
nameif ifrename
mii-tool ethtool

224
LPI Sertifikasyon Kitab

IPv6
IPv4 protokolnn tasarmndan kaynaklanan sorunlarn almas ve verimliliin sa-
lanmas IPv6 protokolnn tasarmnda grlmtr. IPv6 datagramlar ierisinde ta-
nabilecek verinin IPv6 balna oran IPv4 protokolnde hesaplanandan ok daha
fazladr.
IPv6 128 bitlik adres byklne sahiptir. Bu nedenle 32 bitlik IPv4 yapsna oranla
daha byk miktarlarda adres tanmlanmasna olanak salar.
IPv4 balk alan ierisinde yer alan baz blmler bu protokol ierisinde istee bal
olarak tanmlanarak performans artrlmtr.
Tercih alanlarnda meydana gelen deiim IP datagramlarn daha kolay ynlendiril-
mesini salar.

IPv6 protokolne eklenen baz zellikler sayesinde IPv4 protokolnn tasarmsal


yapsndan kaynaklanan problemlerin nne geilmeye allmtr. IPv6 protoko-
l, veri ak srasnda belirli balantlara ncelik tanmlanmasn salayan belirteler
kullanr ve balantlara daha iyi hizmet sunulmas salayabilir.

Balantlar arasnda doruluun kesinletirilmesi (authentication), verilerin gerek-


ten balant veri dizisi ierisinde yer aldnn tespiti, verilerin gizliliinin salanmas
IPv6 protokol mimarisi ierisinde tanmlanan tedbirlerdir.

Dahili IPSec ile utan uca gvenlik geldi.

Kapsaml multicast destei getirildi.

IPv6 yaplandrmas /etc/network/interfaces dosyasnda yaplr:

#IPV6 static configuration


iface eth0 inet6 static
pre-up modprobe ipv6
address 2607:f0d0:2001:000a:0000:0000:0000:0002
netmask 64
gateway 2607:f0d0:2001:000a:0000:0000:0000:0001
# END IPV6 configuration

225
LPI Sertifikasyon Kitab

Ipv6 ynlendirmeyi kontrol etmek iin:

# ip -6 route show

Ipv6 ping atmak iin:

# ping6 ipv6.google.com

Host DNS Yaplandrmas


ster sunucu olsun ister alma istasyonu veya masast, Linuxun internete veya
komu bilgisayarlara isimleriyle ulaabilmesi iin DNS istemci ayarlarnn yaplmas
gerekir.

Bir bilgisayara ismiyle ulamann en kolay yolu /etc/hosts dosyasnda isim adres e-
lemesi yapmaktr.

# cat /etc/hosts
127.0.0.1 localhost
10.34.1.21 wless21.example.com
172.16.45.2 pardus

Dnyadaki btn bilgisayarlarn isim ve iplerini bu dosyaya yazmak mmkn olma-


dndan hiyerarik bir yap olan DNS sistemi gelitirilmitir. Bu sisteminin bilenleri
u ekildedir:

istasyonu/istemci <---> DNS cache <---> DNS Sunucu

DNS cache, istemcilerin zmleme isteklerine cevap veren, DNS sunuculara sorgu
yapan, yapt sorgular tekrar kullanmak zere saklayan sunuculardr.

Linuxu i istasyonu yada masast olarak kullandmzda DNS zmlemelerini


yapmas iin /etc/resolv.conf iinde DNS cache tanm yapmak gerekir.

226
LPI Sertifikasyon Kitab

# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 4.4.4.4

Birden fazla isim zmleme mekanizmas olduundan (dosyalar, DNS, NIS...) bunla-
rn hangi srayla baklacan belirlemek lazm.

/etc/nsswitch.conf yaplandrma dosyas baz hizmetler iin sralamay belirler. Bilgi-


sayar ismi bulma (hosts mu DNS mi NIS mi), kullanclar bulma (passwd mi LDAP m?)
gibi ilemler iin sralamay belirler.

# cat /etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat

hosts: files mdns4_minimal dns mdns4


networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

host Komutu
DNS sorgular yapan basit bir aratr. simleri IP adresine evirir.

host [-t type] [-4] [-6] {name} [server]

name: IPye evrilecek alan ad.


server: Sorgu yaplacak DNS cache. Belirtilmezse /etc/resolv.confta belirtilen kulla-
nlr.
type: DNS sorgu tr.

227
LPI Sertifikasyon Kitab

$ host www.pardus.org.tr
www.pardus.org.tr is an alias for portal.pardus.org.tr.
portal.pardus.org.tr has address 193.140.100.202

Bir alan adna ait mail sunucuyu bulmak iin

$ host -t mx pardus.org.tr
pardus.org.tr mail is handled by 5 mail.pardus.org.tr.

Bir etki alanna ait yetkili DNS sunucuyu bulmak iin:

$ host -t ns pardus.org.tr
pardus.org.tr name server ns2.ulakbim.gov.tr.
pardus.org.tr name server ns1.ulakbim.gov.tr.

dig Komutu
DNS sorgularn yapmak iin kullanlan nslookupn yerini alm daha kapsaml bir ko-
muttur. Genel biimi:

$ dig @server name type

server: DNS cache sunucu


name: Sorgulanacak alan ad
type: Sorgu tr, ANY, A, MX, SIG gibi.

$dig www.google.com

228
LPI Sertifikasyon Kitab

Dig ile birlikte kullanlan baz seenekler:

+[no]tcp
TCP kullan veya kullanma, normalde DNS sorgular UDP ile
yaplr

+[no]all
Btn grntlme seeneklerini a veya kapat

+time=T
Sorgu iin T snlik bir zaman am

+[no]answer
DNS cevabn grntle veya grntleme

$ dig pardus.org.tr NS +noall +answer

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> pardus.org.tr NS +noall


+answer
;; global options: +cmd
pardus.org.tr. 20909 IN NS ns1.ulakbim.gov.tr.
pardus.org.tr. 20909 IN NS ns2.ulakbim.gov.tr.

A Sorunlarn zme

ping Komutu
Hedef bilgisayara ICMP ECHO_REQUEST gndererek ICMP_ECHO_RESPONSE bek-
ler. Basit bir ICMP haberlemesidir. Ping komutunun amac hedef bilgisayarn ayakta
olup olmadn, paket kayb orann ve cevap sresini tespit etmektir.

229
LPI Sertifikasyon Kitab

Aada ok ge cevap veren (156 ms) bir bilgisayar grlmektedir:

$ ping www.example.com
PING www.example.com (93.184.216.119) 56(84) bytes of data.
64 bytes from 93.184.216.119: icmp_req=1 ttl=47 time=156 ms
64 bytes from 93.184.216.119: icmp_req=2 ttl=47 time=155 ms
64 bytes from 93.184.216.119: icmp_req=3 ttl=47 time=156 ms

--- www.example.com ping statistics ---


3 packets transmitted, 3 received, 0% packet loss, time
10498ms
rtt min/avg/max/mdev = 155.899/156.049/156.244/0.478 ms

5 sn aralklarla ping atmak iin:

$ping -i 5 www.google.com

Belli sayda ICMP istei gndererek sonlandrmak iin (rnekte 2 istek gnderilmekte):

$ ping -c 2 173.194.39.169
PING 173.194.39.169 (173.194.39.169) 56(84) bytes of data.
64 bytes from 173.194.39.169: icmp_req=1 ttl=44 time=84.0 ms
64 bytes from 173.194.39.169: icmp_req=2 ttl=44 time=84.9 ms

--- 173.194.39.169 ping statistics ---


2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 84.026/84.464/84.903/0.526 ms

230
LPI Sertifikasyon Kitab

Sadece ping istatistiklerini grmek iin:

$ ping -c 5 -q 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

--- 127.0.0.1 ping statistics ---


5 packets transmitted, 5 received, 0% packet loss, time 3996ms
rtt min/avg/max/mdev = 0.021/0.029/0.033/0.005 ms

traceroute Komutu
Hedef bilgisayara giderken paketlerin ynlendirme neticesinde hangi geitlerden
geerek ilerlediini grmek iin kullanlr. Bu sayede hedef bilgisayara ulamada bir
sknt varsa skntnn aradaki hangi noktada olduu tespit edilebilir.

Aada komutun verildii bilgisayardan belirtilen hedefe (www.pardus.org.tr) 9


farkl ynlendiriciden geilerek gidilmektedir. Aradaki bir ynlendiricide sorun olursa
komut orda taklp kalacaktr. Bylece sorunlu nokta bulunmu olacak.

# traceroute www.pardus.org.tr -n
traceroute to www.pardus.org.tr (193.140.100.202), 30 hops
max, 60 byte packets
1 172.16.41.1 0.397 ms 0.471 ms 0.519 ms
2 195.214.145.105 3.385 ms 3.390 ms 3.387 ms
3 172.16.0.1 0.987 ms 1.030 ms 1.075 ms
4 85.29.23.97 3.551 ms 3.586 ms 3.583 ms
5 82.222.224.9 4.660 ms 4.661 ms 10.36.1.109 4.761 ms
6 10.36.2.94 9.379 ms 9.249 ms 9.195 ms
7 10.36.1.54 8.407 ms 7.972 ms 7.935 ms
8 85.29.25.10 9.596 ms 8.992 ms 7.992 ms
9 193.140.100.202 7.265 ms 7.169 ms 7.139 ms

Komuttaki n parametresi verilmezse IP adresleri iin DNS zmlemesi yapacaktr.


Bu durumda ktnn gelmesi yavalayacaktr.

231
LPI Sertifikasyon Kitab

Traceroute komutu ynlendirme paketine gre yolunu bulur. Varsaylan a geidi


yerine zel bir arayzden yol bulunmak isteniyorsa i parametresi ile a arayz se-
mek gerekir.

netstat
A balantlarn, ynlendirme tablolarn ve a arayzlerinin istatistiklerini grnt-
ler. Parametreler:

-rn: Ynlendirme tablosunu gsterir

# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0
0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0
0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0
0 eth0

-s: Protokol istatistiklerini gsterir

# netstat -s
Ip:
2374203 total packets received
9728 with invalid addresses
0 forwarded
0 incoming packets discarded
2364474 incoming packets delivered
2196461 requests sent out

232
LPI Sertifikasyon Kitab

Icmp:
5375 ICMP messages received
1487 input ICMP message failed.
ICMP input histogram:
destination unreachable: 2706
timeout in transit: 324
redirects: 48
[...]

-ta: Btn TCP balantlar ve dinlenen portlar gsterir

# netstat -ta

Active Internet connections (servers and established)


Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:imap * LISTEN
tcp 0 0 *:pop3s *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN

-ua: Btn UDP balantlar ve dinlenen portlar gsterir

-ape: TCP, UDP ve UNIX soket balantlar ile bu balantlarn durumlarn gsterir

netcat Komutu
netcat, istemci/sunucu mimarisiyle alan a trafiini analiz etmeye yarayan bir
aratr. A sorunlarn zmek iin kardaki bir porta istemci olarak balanarak su-
nucunun cevaplarn analiz edebilir veya bir sunucu gibi bir portu dinleyip istemci-
lerden gelen istekleri analiz edebilirsiniz. Bylece haberlemeden kaynakl sorunlar
zebilirsiniz.

En temel kullanm telnet gibi bir sunucu portuna balanmaktr.

233
LPI Sertifikasyon Kitab

$ nc -v google.com 80

Connection to google.com 80 port [tcp/http] succeeded!

GET /

HTTP/1.0 302 Found

Location: http://www.google.com.tr/?gws_rd=cr&ei=u12sUu-

72AcXBswbt-IGYBw

Cache-Control: private

Content-Type: text/html; charset=UTF-8

[...]

Belli bir portta soket ap dinlemek iin:

$ nc -l -v 1234
Listening on [0.0.0.0] (family 0, port 1234)

Yetkisiz kullanclar 1024ten byk port numaralarn kullanmal.

Ncnin dinledii porta dardan veya zerinden telnet ile balanp veri gnderelim:

$ telnet localhost 1234


Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is ^].
Mrb server

234
LPI Sertifikasyon Kitab

Nc tarafnda bu mesajlar grlr:

$ nc -l -v 1234
Listening on [0.0.0.0] (family 0, port 1234)
Connection from [127.0.0.1] port 1234 [tcp/*] accepted (fa-
mily 2, sport 36652)
Mrb server

Bir portun ak olup olmadn test etmek iin:

$ nc -vz 127.0.0.1 22
Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!
$ nc -vz 127.0.0.1 23
nc: connect to 127.0.0.1 port 23 (tcp) failed: Connection
refused

Bir port aralndaki port eriilebilirliini test etmek iin:

$ nc -v -w 1 10.0.0.10 -z 20-25
nc: connect to 10.0.0.10 port 20 (tcp) failed: Connection
refused
Connection to 10.0.0.10 21 port [tcp/ftp] succeeded!
Connection to 10.0.0.10 22 port [tcp/ssh] succeeded!
nc: connect to 10.0.0.10 port 23 (tcp) failed: Connection
refused
nc: connect to 10.0.0.10 port 24 (tcp) failed: Connection
refused
nc: connect to 10.0.0.10 port 25 (tcp) failed: Connection
refused

-w parametresi zaman am deeri belirtmek iindir.

235
LPI Sertifikasyon Kitab

Bir servisle karlkl konumak iin:

$ nc -vt 10.0.0.10 21
Connection to 10.0.0.10 21 port [tcp/ftp] succeeded!
220 (vsFTPd 2.0.5)
QUIT
221 Goodbye.

236
LPI Sertifikasyon Kitab

Gvenlik
Konu:
Linux a ynetimi

Hedefler:
Dosya gvenlii
SUID bitli dosyalarn bulunmas
Parola gvenlii ve glge parola sistemi
Kullanc eriimini kapatma
Kaynak kullanmn snrlandrma
Ak dosya ve portlar grntleme
Uzak sunucudaki ak hizmetleri tespit etme
Tcpwrapper ile hizmetlere eriimleri snrlandrmak
Glge parola sistemi
Dosya imzalama ve ifreleme
SSH hizmetinin yaplandrlmas
Anahtar Kelimeler:
find, passwd, pwconv, lsof, nmap, chage, /etc/nologin, sudo,
ulimit, usermod, lsof, nmap, xinetd, /etc/hosts.allow, /etc/hosts.
deny, gpg, ssh, sshd, ssh-keygen, scp

237
LPI Sertifikasyon Kitab

Dosya Sistemi Gvenlii


SUID (Set User ID) Linux altndaki dosyalarn zel bir yetki bitidir. Normalde bir prog-
ram altrldnda alan kullancnn yetkilerini miras alarak alr. Eer SUID bit
verilmi ise bu durumda komut, altrann yetkileriyle deil komut dosyasnn sahi-
binin yetkisiyle altrlr. Bu yetki komutun alma sresince geici olarak kullanc-
ya verilir. Bunun yannda SGID (Set Group ID) biti ayn davran kullanc gruplar iin
yapar.

Byle bir eye neden ihtiya duyulduunu anlamak iin passwd rneini inceleyelim:

Parolalar /etc/passwd dosyasnda kaytldr. Normal bir kullancnn /etc/passwd dos-


yasna yazma yetkisi yoktur. Bu durumda normal bir kullanc kendi yetkileriyle pas-
swd komutunu vererek parolasn deitirmesi mmkn olmayacakt. Ancak passwd
komut dosyasnn etkileri aadaki gibidir:

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 27936 Aug 11 2010 /usr/bin/passwd

Grld gibi komut dosyasnn sahibi root ve yetkiler ierisinde SUID bit de (s)
vardr. SUID bit olduundan dolay passwd komutunu altran herhangi bir komut,
kendi yetkileriyle deil komut dosyasnn sahibi olan root yetkileriyle ilem yapar. Bu
durumda normal bir kullanc /etc/passwdde deiiklik yapacak parola deitirme
ilemini gerekletirebilir.

Bir dosyann SUID bitini set etmek iin:

# chmod u+s command

Kk s olarak grlen SUID bit komutun altrlabilir olduunu (x yetkisine sahip),


byk S olarak grlen SUID bit ise komutun SUIDli ancak alma yetkisine sahip
olmadn gsterir. alma yetkisi vermek iin:

# chmod u+x command

238
LPI Sertifikasyon Kitab

SUID bit yetkisi fazla olduundan yalnzca bilinen programlarda olmal. SUID bitli bir
programdaki ak, saldrgann root yetkileriyle istedii ii yapmasna neden olabilir.

Find komutu kullanlarak sistemdeki SUID/SGID bitli dosyalar tespit edilmeli ve ge-
reksiz olanlar kaldrlmaldr.

# find / -type f \( -perm -04000 -o -perm -02000 \)

Belli dosya sistemleri iin SUID biti veya altrma yetkisini devre d brakmak iin /
etc/fstab kullanlabilir. Ilgili dosya sistemine ait satra zellik olarak nosuid veya no-
exec eklenebilir. Bylece sistem alrken bu dosya sistemi iin SUID bit veya altr-
ma yetkisi verme iptal edilebilir.

Gvenlik iin dier tehlikeli dosyalar ise herkesin yazmasna ak (chmod 777) dosya
ve dizinlerdir. Bu dosyalar saldrganlarn hedefi olabilir ve istedikleri kodlar ykleye-
bilecekleri bir ortam onlara sunabilir. Herkesin yazmasna ak dosyalar tespit etmek
iin:

# find / -perm -2 -type l -ls

Verilen komutta aygt ve sembolik linkler hari tutulmutur.

Tespit edilmesi gereken gvenlik a ortaya kartabilecek dier bir dosya grubu ise
sahibi olmayan dosyalardr.

# find / \( -nouser -o -nogroup \) print

Uzaktan sunuculara giri salayan .rhosts dosyalar da tespit edilmelidir:

# find /home -name .rhosts -print

Bu dosyalarn tespiti silinmesini gerektirmemektedir. ou durumda tehlikeli bu


dosyalarn olmas gerekmektedir. Buradaki ama bunlar tespit ederek bildiimiz bir
ama dnda bu tehlikenin var olup olmadnn tespitidir.

239
LPI Sertifikasyon Kitab

Glge Parola Sistemi


Linuxun ilk zamanlarnda, parolalar dorudan /etc/passwd dosyasnda ifreli ola-
rak tutulmakta idi. Bu dosya herkes tarafndan okunabildiinden gvenlik tehlikesi
oluturmaktayd. Bu nedenle Shadow suite gelitirildi. Shadow suite aadaki orjinal
programlar deitirir:

su, login, passwd, newgrp, chfn, chsh ve id

Suitle birlikte yeni programlar da gelmektedir:

chage, newusers, dpasswd, gpasswd, useradd, userdel, user-


mod, groupadd, groupdel, groupmod, groups, pwck, grpck,
lastlog, pwconv, and pwunconv

Yaplandrma dosyas olarak /etc/login.defs i kullanr.

Shadow parola sisteminde kullanclara ait ifreli parola dndaki bilgiler /etc/pas-
swdte tutulmaya devam ederken ifreli parolalar root dnda kimsenin okuyamaya-
ca /etc/shadow dosyasnda tutulmaktadr. Yetkisiz kullanclar sisteme girilerinde
veya parola deitirdiklerinde bu dosyaya SUID bit sayesinde eriir. SUID bit iin lt-
fen 10.1 blmne baknz.

Normal passwd dosyasn Shadow dosyasna evirmek iin pwconv komutu kullanlr.

Parola Gvenlii
Linux altnda kullanclar root tarafndan useradd komutuyla eklenir. Useradd komu-
tunun nasl davranacan aadakiler belirler:

Komut satrndan verilen parametreler


/etc/login.defs yaplandrma dosyas
/etc/default/useradd yaplandrma dosyas

240
LPI Sertifikasyon Kitab

# useradd -m -d /home/user1 -s /bin/bash -c User 1 -U user1


# passwd user1
Changing password for user user1.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Kullanc hesabnn bir sre sonra kapanmas iin e (expire) parametresi kullanlr.
Biimi:
-e {yyyy-mm-dd}

Kullanc alrken otomatik olarak ev dizinine kopyalanmas gereken yaplandrma


dosyalar /etc/skel ierisindedir. rnein .bashrc dosyas gibi.

Usermod
Linux altnda var olan kullanc bilgilerini ve zelliklerini deitirmek iin usermod
komutu kullanlr. Useradd komutuyla neredeyse ayndr. Tek fark useradd sfrdan
kullanc olutururken usermod mevcut kullanc bilgilerini dzenler:

# usermod [-c comment] [-d home_dir [-m]]


[-e expire_date] [-
f inactive_time]

Kullanc geerlilik sresi tanmlamak iin:

# usermod -e 2010-10-10 user15

Kullancy geici olarak devre d brakmak iin:

# usermod L user18

241
LPI Sertifikasyon Kitab

Bu durumda kullancnn kodlanm /etc/shadow dosyasnda ifresinin bana ! iareti


konularak ifre devre d braklr.

Kullanc Eriimini Kapatma


Baz durumlarda kullanclarn kabua eriimlerini engellemek gerekebilir. rnein
IMAP hizmetinden yararlanan bir kullancnn kabua eriimi olmasna gerek yoktur.
Bu tr kullanclarn kabuu /bin/false veya /sbin/nologin yaplr.

Kabuu /bin/false olan bir kullanc sisteme giri yapar yapmaz kabuk sonlanr ve 1
ile k yapar. /sbin/nologins ise bir hata mesajyla k yapar. Her iki durumda da
kullanc Bashe ulaamaz.

# usermod -s /sbin/nologin user13

$ ssh user13@10.0.0.10
user13@10.0.0.100s password:

Welcome to Pardus

This account is currently not available.


Connection to 10.0.0.10 closed.

Nologins iin hata mesaj /etc/nologin.txt dosyasndan kiiselletirilebilir.

Eer sistemde /etc/nologin dosyas varsa root hari btn kullanclarn eriimleri en-
gellenecek ve kullanclara bu dosyann ierii gsterilecektir. Pam_nologin.so mo-
dlnn aktif olmasn gerektirir.

Chage
Kullanc, parolasn belirli zaman aralklarnda deitirtmek zorunda braklabilir.
Chage komutu ile en son parola deiikliinden ka gn sonra parolann deitiril-
mesi gerektii ayarlanabilir.

242
LPI Sertifikasyon Kitab

Parolann ya durumunu gstermek iin:

$ chage -l user1
Last password change : Sep 26,
2013
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change :
99999
Number of days of warning before password expires : 7

Normal kullanclar yalnzca l parametresini kullanmaya yetkilidir. Dier parametre-


ler iin yetkili kullanc olmak gerekir:

$ chage -d 2013-12-01 user1


chage: Permission denied.

-d parametresi ile parolann en son deitirildii tarih (YYYY-AA-GG biiminde) set


edilebilir.

# chage -d 2012-12-01 user1


# chage -l user1
Last password change : Dec 01, 2012

-E parametresi ile parolann hangi tarihte (YYYY-AA-GG biiminde) geersiz olaca


belirtilir.

# chage -E 2013-12-01 user1

243
LPI Sertifikasyon Kitab

Zaman amna uram kullanc u uyar mesajn alr:

user1@10.0.0.100s password:
Your account has expired; please contact your system
administrator

-W parametresi kullanlarak parola geersiz olmadan belirtilen gn kadar nce uyar


verilmesi salanabilir. ntanml olarak 7 gn nce haber verilir.

/etc/login.defs
Linux shadow parola sisteminin yaplandrma /etc/login.defs dosyasdr. Bu dosyann
olmamas sistemin ilememesine neden olur. Global oturum ama kurallar buradan
tanmlanr.

Btn parolalarn periyodik deitirilmesini zorlamak iin aadaki anahtar


yaplandrma kelimeleri kullanlr:

PASS_MAX_DAYS: Bir parolann geerli olabilecei en fazla gn says. Parola ya bu


deeri geerse deitirilmesi iin kullanc zorlanr. Herhangi bir deer belirtilmemesi
veya -1 olmas bir snrlama olmamas anlamna gelir.

PASS_MIN_DAYS: Bir parolay deitirebilmek iin gemesi gereken en az gn says.


Bundan daha erken parola deitirme istekleri red edilecektir.

PASS_WARN_AGE: Bir parolann sresi dolmadan ka gn nce uyar vermeye balay-


aca.

Bu deer yeni oluturulacak hesaplara etki eder, mevcutlar zerinde herhangi bir
etkisi yoktur.

244
LPI Sertifikasyon Kitab

Passwd
Parola deitirmek iin passwd komutu kullanlr:

$ passwd
Changing password for user user1.
Changing password for user1
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Normal kullanclar kendi parolalarn deitirebilirken yetkili kullanc baka kullan-


clarn da parolalarn deitirebilir.

# passwd user1

Ulimit ve limit.conf
Kabuk ve kabuk tarafndan balatlm srelerin kullanaca sistem kaynaklarn s-
nrlandrmak iin kullanlr. Bashin gml komutlarndandr yani bu komutun gere-
ini Bash kabuk yapar, ayrca ulimit isimli bir komut dosyas yoktur.

# ulimit [-SHacdflmnpstuv [limit]]

ki eit snr vardr:

-H: Hard limit, yalnz yetkili kullanc tarafndan artrlabilir


-S: Soft limit , normal kullanclar tarafndan artrlabilir

Eer snr verilmezse mevcut snr deeri gsterilir. Btn geerli snr deerlerini
gstermek iin:

245
LPI Sertifikasyon Kitab

$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 8192
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 8192
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

Bu snrlandrma deerlerinin hepsi deitirilebilir. rnein srekli fork yaparak yeni


sreler balatlrsa bir sre sonra sistem kaynaklar tkenecek ve sunucu cevap vere-
mez hale gelecektir. Bunu engellemek iin:

# ulimit u 64

-c: Core dosyalarn boyut snr


-f: Oluturulabilecek en byk dosya bykl
-n: En fazla alabilecek dosya says
-t: Kullanlabilecek en fazla ilemci zaman (saniye)

246
LPI Sertifikasyon Kitab

-u: Bir kullancnn oluturabilecei en fazla sre says

/etc/security/limits.conf dosyas kullanlarak snrlandrmalar kalc ve btn kul-


lanclar iin yaplabilir. Pam_limits.so modl tarafndan kullanlr. Snrlandrmalar
her bir oturum iin ayr ayrdr.

Limits.conf dosyasnn biimi u ekildedir:

Kim Tr Kaynak Deer

Kim: Snrlamann uygulanaca kullanc veya gruplar. Gruplar @groupname eklin-


de gsterilir. ntanml snrlama iin * kullanlr.
Tr: Snrlandrmann tr, hard veya soft
Kaynak: Hangi kaynan snrlandrlaca
Deer: Snrn ne olaca

Snrlandrlabilecek baz kaynaklar:

Kaynak Aklama

core Kb olarak core dosya boyutu

fsize Dosya boyutu

nofile Ak dosya says

cpu Dk olarak ilemci zaman

nproc Ak sre says

maxlogins Bir kullanc iin e zamanl oturum says

maxsyslogins Sistemde kullanclar tarafndan alabilecek oturum says

247
LPI Sertifikasyon Kitab

rnekler:

* soft core 0
* hard nofile 512
@student hard nproc 20
@faculty soft nproc 20
@faculty hard nproc 50
ftp hard nproc 0
@student - maxlogins 4
:123 hard cpu 5000
@500: soft cpu 10000
600:700 hard locks 10

PAM modlleri giri ve yetkilendirmeleri dzenleyen gl bir ereve sunmaktadr.

su
Baka bir kullancya gei yapmak iin kullanlr.

Su komutu verildiinde sistem root parolasn sorar. Parola dorulandktan sonra kul-
lanc artk yetkili kullanc (root) olarak ilem yapar. Parametre verilirse herhangi bir
normal kullancya da gei yaplabilir.

BSD gibi UNIX trevi iletim sistemlerinde su komutunu herkes kullanamasn diye
belirli gruba (wheel) su komutu altrma yetkisi tannmtr. Linuxta da bu zellii
kullanabilmek iin /etc/pam.d/su dosyasnda aadaki tanm yaplmaldr:

auth required pam_wheel.so use_uid

Artk bu komutu kullanmasna izin verilecek kullanclar wheel grubuna eklemek ge-
rekir:

# usermod -G wheel <username>

248
LPI Sertifikasyon Kitab

Normal kullanclara, gei yaplacak kullancnn parolas sorulurken yetkili kullanc-


ya parola sorulmaz.

$ su user13
Password:

Bu ekilde kullanmnda sadece kullanc deiir, kullanc ortam deimez. Kullanc


ortamn da deitirmek iin:

$ su - user13

Bu durumda user13 kullancsna sfrdan giri yaplm gibi balang betikleri alt-
rlr ve evre deikenleri ayarlanr.

sudo ve sudoers
Sudo ile gvenilir bir kullanc kendi ifresini girerek istenen bir yetki ile ilem yapa-
bilir.

$ cat /etc/shadow
cat: /etc/shadow: Permission denied
$ sudo cat /etc/shadow
root:$1$RweCoHMa$r9/977cwKrigKplI/Wdnv1:15974:0:99999:7:::
bin:*:15701:0:99999:7:::
daemon:*:15701:0:99999:7:::

Sudo daha esnek bir yap sunar. Sadece /etc/sudoers dosyasnda yer alan kullanclar
yetki kazanr ve bu kullanclar yetkili ilemleri kullanc kabuunda yapar, root ka-
buunda deil. Root kullanm tamamen kaldrlr.

Sudo girileri /var/log/messages ve detaylar /var/log/secure dosyasnda loglanr.

Sudonun dier bir avantaj da kullanc bazl yetki snrlandrmas yaplabiliyor olma-
sdr. Farkl kullanclar farkl komutlar iin yetkilendirilebilir.

249
LPI Sertifikasyon Kitab

Sudo yaplandrma dosyas /etc/sudoers iinde hangi kullanc hangi komutu hangi
IPden ve parola gerekip gerekmedii tanmlar yaplr:

User1 kullancs parola girerek btn komutlar her yerden altrabilir:

user1 ALL=(ALL) ALL

Users grubu yeleri shutdown komutunu localhost (yani sunucunun kendisi) zerin-
den parola girerek verebilir.

%users localhost=/sbin/shutdown -h now

Wheel grubu yeleri parola girmeden heryerden her komutu altrabilir.

%wheel ALL=(ALL) NOPASSWD: ALL

Asterisk kullancs aadaki komutlar parola girmeden her yerden altrabilir:

asterisk ALL = NOPASSWD: /sbin/shutdown


asterisk ALL = NOPASSWD: /usr/bin/yum
asterisk ALL = NOPASSWD: /bin/touch
asterisk ALL = NOPASSWD: /bin/chmod

Sudoers dosyasn daha okunabilir yapmak iin aliaslar tanmlanabilir. Bu sayede bel-
li komut seti, kullanc listesi ve balant noktas tanmlanabilir.

User_Alias OPERATORS = user1, user3, user5


Runas_Alias OP = root, operator
Host_Alias OFNET = 10.1.2.0/255.255.255.0
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm

Host_Alias CUNETS = 128.138.0.0/255.255.0.0


Host_Alias CSNETS = 128.138.243.0, 128.138.204.0/24
Host_Alias SERVERS = master, mail, www, ns

250
LPI Sertifikasyon Kitab

Sudonun genel iki kullanm vardr:

stenen kullanc hesabnn kabuuna su komutuyla giri yaplr ve ondan sonra bu


kabukta o kullancnn yetkileriyle istenen komutlar altrlr.

$ sudo su (Yetkili kullanc kabuuna eriim)


# cat /etc/shadow
$ sudo su user1 (user1in kabuuna eriim)
user1$ cat myfile.txt

Yada kabua giri yapmadan sudo ile komutu altrp kendi kabuuna dnmek:

$ sudo cat /etc/shadow

Tabi bu ikincisi iin sudo yapacak kullancya sudoers iinde bu komut iin yetki ve-
rilmi olmas gerekir.

lsof
Ak dosyalar grntlemek iin kullanlr.

# lsof
COMMAND PID USER FD TYPE DEVICE SIZE NODE
NAME
init 1 root cwd DI 253,0 4096 2 /
init 1 root rtd DIR 253,0 4096 2 /
init 1 root txt REG 253,0 43496 451683
/sbin/init
init 1 root mem REG 253,0 23360 999947
/lib64/libdl-2.5.so

Her bir ak dosya iin bir satr gsterir.

TYPE stunu ak dosyann cinsini belirtir.


251
LPI Sertifikasyon Kitab

REG: Normal dosya


DIR: Dizin
FIFO: FIFO hat
CHR: Karakter aygt

Bildiimiz bir dosyay hangi sre kullanyor bulmak iin:

# lsof /var/log/messages
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
syslogd 2302 root 1w REG 253,0 37826 70887
/var/log/messages

Yukardaki komutun anlam u: /var/log/messages dosyasn syslogd hizmeti amtr.


Belirtilen bir dizin altndaki ak dosyalar grntlemek iin:

# lsof +D /var/log/

Belli bir patternle balayan bir komutun at dosyalar bulmak iin:

# lsof -c httpd

Belli bir kullanc tarafndan alm dosyalar listelemek iin:

# lsof -u simsek

Belirli bir PID numarasna ait ak dosyalar grntlemek iin:

# lsof -p 15653

252
LPI Sertifikasyon Kitab

Linux altnda hereyin bir dosya olduunu ve a balantlarnn da buna dahil oldu-
unu unutmayn. A balantlarn tespit etmek iin:

# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
portmap 2336 rpc 3u IPv4 7001 UDP *:sunrpc
rpc.statd 2376 rpcuser 3u IPv4 7173 UDP *:859
rpc.statd 2376 rpcuser 6u IPv4 7159 UDP *:856
sshd 2616 root 3u IPv4 8968 TCP *:ssh
(LISTEN)
xinetd 2634 root 5u IPv4 9036 UDP *:tftp
ntpd 2650 ntp 16u IPv4 9052 UDP *:ntp
mysqld 2743 mysql 10u IPv4 9212 TCP *:mysql
(LISTEN)

Belli bir port numarasn kullanan sreleri tespit etmek iin:

# lsof -i :25

nmap
lsof komutu yerel makina zerinde hangi hizmetlerin ve portlarn ak olduunu gs-
terirken nmap, uzak sunucular tarayarak ak port ve hizmetleri tespit eder.

-O: Sunucu OS bilgisini iste


-p: Port numaras veya aral belirtmek iin
-V: Porttaki hizmetin srm bilgisini al
-F: Yalnzca Nmapin tand portlar tara
-v: Detay bas

Aadaki satrda yaplandrlmam basit bir nmap komutu vardr.

253
LPI Sertifikasyon Kitab

$ nmap www.microsoft.com
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-
12-07 13:10 EET
Interesting ports on 65.55.57.27:
Not shown: 1678 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap finished: 1 IP address (1 host up) scanned in 156.078 se-


conds

OS ve Srm bilgisi (-A) verecek daha hzl (-T4) alacak bir komut:

$ nmap -A -T4 -F www.microsoft.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-


12-07 13:09 EET
Interesting ports on 65.55.57.27:
Not shown: 1237 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS webserver 8.0
443/tcp open ssl/http Microsoft IIS webserver 8.0
Service Info: OS: Windows

Nmap finished: 1 IP address (1 host up) scanned in 68.656 se-


conds

ktda grld gibi sunucu zerinde 80 ve 443 nolu portlar ak ve bu portlarda


Microso ft IIS web sunucu yazlmnn 8.0 srm almaktadr.

254
LPI Sertifikasyon Kitab

Port tarama teknikleri:

-sS: SYN taramas, yarm balantl tarama da denir. Sadece SYN gnderilerek cevap
alnr, TCP balant kurulmaz
-sT: TCP balant taramas
-sU: UDP balant taramas, DNS gibi UDP hizmetler iin
-sA: TCP ACK taramas
-sO: IP protokol taramas

NMAP ktsnn biimlendirilmesi:


-oN filename: Verilen dosyaya normal biimde yazar
-oX filename: Verilen dosyaya XML olarak yazar.

Baz taramalarn yaplmas iin root yetkisi gerekir.

$ nmap -sU 10.0.0.10


You requested a scan type which requires root privileges.
Sorry dude.

QUITTING!
$ sudo su -
# nmap -sU 10.0.0.10

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-


12-07 13:29 EET
Interesting ports on hq.srv.endersys.com (10.0.0.10):
Not shown: 1475 closed ports
PORT STATE SERVICE
53/udp open|filtered domain
67/udp open|filtered dhcps
69/udp open|filtered tftp
111/udp open|filtered rpcbind
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm

255
LPI Sertifikasyon Kitab

514/udp open|filtered syslog


765/udp open|filtered webster
797/udp open|filtered unknown
970/udp open|filtered unknown
973/udp open|filtered unknown
2049/udp open|filtered nfs
MAC Address: 00:1A:64:71:92:7C (Unknown)

Nmap finished: 1 IP address (1 host up) scanned in 1499.014


seconds

Tcp Wrapper
Linux, aa dahil olup bir istemci olarak a hizmetlerinden yararlanabildii gibi uygun
yaplandrma ile kendisi de pek ok a hizmeti sunabilmektedir. rnein telnet, ftp,
ssh, talk vs...

Linux altnda btn a isteklerini kabul eden ve ilgili uygulamaya aktaran super-dae-
mon veya TCP wrapper olarak isimlendirilen yada servislerin servisi diyebileceimiz
bir servis bulunmaktadr.

TCP Wrapper, btn hizmetleri tek bir merkezden ynetmeyi salar. Btn hizmetler
TCP Wrapper yaplandrma dosyas ile aktif edilirken /etc/hosts.{allow,deny} dosyalar
ile de eriim denetlenir.

Baz a hizmetleri (http gibi) inetd dnda kendi balarna alabilirler. Bu durumda
bu hizmet alt portu kendisi dinlemektedir. Bu tr sunuculara standalone sunucu
denmektedir. Bir uygulama istenildiinde stand-alone veya TCP wrapper ile alacak
ekilde yaplandrlabilir.

Hangi hizmetin hangi portta alaca /etc/services dosyasnda belirtilmitir. rne-


in http iin TCP port 80, smtp mail iin TCP port 25 kullanlmaktadr.

256
LPI Sertifikasyon Kitab

# service-name port/protocol [aliases ...] [# comment]


ftp 21/tcp
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
telnet 23/tcp

Inetd eskiden beri kullanlan bir TCP wrapper uygulamasdr.

Inetd yaplandrma dosyas /etc/inetd.conf dosyasdr. Aada ftp ve telnet servisinin


yaplandrmas bulunmaktadr. En son stun servisi verilecek ilgili komutu ve para-
metrelerini iermektedir.

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a


telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Inetd eski, yava ve gvenlik zaafiyetine neden olan bir tasarma sahiptir. Bunun yeri-
ne alternatif olarak xinetd gelitirilmitir. Xinetdnin sunduklar:

Eriim kontrol (kendi iinde tcpwrapper vardr)


Gelimi loglama (balant zaman, baarsz istekler...)
Baka bir bilgisayardan hizmet ynlendirme
Ipv6 destei
Tek bir yaplandrma dosyas yerine her bir hizmet iin gelimi bir yaplandrma
dosyas

/etc/xinetd.conf yaplandrma dosyas xinetd nin kontrolndeki tm hizmetleri et-


kiler.

257
LPI Sertifikasyon Kitab

defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d

cps (connection per second): Snde 25 balant sonrasnda 30 sn bekleme.

En sondaki /etc/xinetd.d dizininde hizmetlere ait yaplandrmalar yer alr.

service telnet

{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/telnetd
log_on_failure += USERID
disable = yes
}

disable satr hizmetin aktif olup olmayacan belirler.

/etc/hosts.{allow,deny}
TCP Wrapper bir eriime izin verip vermeyeceine karar vermek iin hosts.allow ve
hosts.deny dosyalarna bakar.
ncelikle hosts.allow dosyasna bakar. Satr satr bu dosyay okuyarak mevcut ba-
lant iin giri izni arar. Bulursa balanty kabul eder. Bulamazsa hosts.deny dosyasn
okur ve bir yasaklama kural olup olmadna bakar. Varsa balanty reddeder yoksa
balanty kabul eder.
258
LPI Sertifikasyon Kitab

Dolaysyla bir balantnn kabul edilmesi iin ya allow kural olmal yada hakknda bir
deny kural olmamal.

lk nce hosts.allow dosyas okunduundan bir balanty kabul eden bir allow kural
ve reddeden bir deny kural ayn anda varsa balant kabul edilir.

Bir balant iin herhangi bir kural yoksa o balant kabul edilir.

TCP Wrapper nbellek tutmadndan hosts.allow ve hosts.deny dosyalarna yazla-


cak birey hizmeti yeniden balatmaya gerek olmakszn annda geerli olacaktr.
Her iki dosyann kural biimi ayn olup u ekildedir:

<daemon list>: <client list> [: <option>: <option>: ...]

rnein aadaki kural vsftpd servisine example.com domaininden yaplan (host1.


example.com gibi alt hostlar da kapsar) istekleri ifade eder. Bu kural hosts.allowa
yazmanz eriim izni anlamna gelirken hosts.deny dosyasna yazmanz eriimi red
anlamna gelir. Yani kural biimi ayn, kuraln anlam ise iinde bulunduu dosyaya
gredir.

vsftpd : .example.com

Aadaki satrn hosts.deny dosyasnda olmas hosts.allow da olmayan btn eriim


isteklerini red edecektir.

259
LPI Sertifikasyon Kitab

ALL: ALL

Gvenli bir kullanm iin hosts.denyda hereyi red edip sadece gerekenleri hosts.al-
low ile amak tavsiye edilir.

Baz terimler:

ALL: Herey

LOCAL: inde nokta (.) olmayan btn domainler (localhost, mail, test gibi)

Aadaki yaplandrma ile 192.168.X.X IPlerinin tamam kast edilmektedir.

ALL : 192.168.

Hosts.allowa yazlacak aadaki kural ile telnet hizmetine, yalnzca belirtilen dosya-

da yazlan hostlar eriebilecektir:

in.telnetd : /etc/telnet.hosts

GPG ile ifreleme ve Saysal mza


Gpg, ifreleme ve saysal imza atmak iin kullanlan bir aratr.

Bir dosyay ifrelemek iin:

$ gpg -c secret.txt
Enter passphrase:
Repeat passphrase:

Bu ilemin sonucunda secret.txt.gpg ifreli dosyas oluturulmutur.

260
LPI Sertifikasyon Kitab

ifreli dosyay amak iin:

$ gpg -o output.txt secret.txt.gpg


gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected

Geri alan dosyann orjinal dosya ile ayn olduunu kontrol edin:

$ ls -l secret.txt output.txt
-rw-r--r-- 1 simsek wheel 461672 Dec 7 16:05 output.txt
-rwxr-xr-x 1 simsek wheel 461672 Dec 7 16:04 secret.txt
$ diff secret.txt output.txt
$

SSH Hizmeti
Linux makineye uzaktan balanmak iin gerekli bir servistir. Ayrca ssh isimli program
sayesinde uzaktaki sshd servisi ak makinelere balanlabilir.

Ssh istemcisinin yaplandrma dosyas /etc/ssh/ssh_config iken sshd servisinin yap-


landrmas /etc/ssh/sshd_config dosyasnda yaplr.

Pardus zerinden uzak makineye ssh ile balanmak iin aadaki gibi bir komut a-
ltrlr.

ssh kullancad@IPadresi veya ssh l kullancad IPadresi

# ssh ahmet@172.16.1.10
# ssh l ahmet 172.16.1.10

261
LPI Sertifikasyon Kitab

SSH Sunucu Yaplandrmas


/etc/ssh/sshd_config dosyasndaki baz kritik parametreler unlardr:

Protocol 2

n tanml olarak SSHD protokolnn 2. Srm kullanlr. 1. Srm gvenlik asn-


dan riskli olduu iin kullanlmamaldr.

PermitRootLogin yes

n tanml olarak root kullancsnn ssh ile sisteme balanmasna izin verilir. Bu baz
gvenlik risklerini getirdii iin bu parametrenin deerini no yaplmas tavsiye edilir.
Root ile ilem yapmak isteyen kullanclarn standart bir kullanc ile ssh balants
yaptktan sonra su veya sudo ile root ilemleri yapmas daha uygundur.

Yaplan deiiklerin etkin olmas iin sshd servisi yeniden balatlmaldr.

# service sshd restart

262
LPI Sertifikasyon Kitab

Parolasz SSH eriimi


Kar sunucuya parolasz olarak ssh zerinden erimek veya login parolasndan farkl
bir parola ile erimek iin RSA anahtar oluturma yntemi kullanlr. Kullanc anahtar
oluturmak iin ssh-keygen komutunu kullanabilir.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/data/ahmet/.ssh/id_rsa):
Created directory /data/ahmet/.ssh.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /data/ahmet/.ssh/id_rsa.
Your public key has been saved in /data/ahmet/.ssh/id_rsa.pub.
The key fingerprint is:
a7:50:1a:c1:c2:5e:b3:94:cd:0e:72:38:35:7f:f6:6c ahmet@pardus
The keys randomart image is:
+--[ RSA 2048]----+
| . +++ |
| * O+o |
| . B.=o o |
| . .+.o o |
| o S . E |
| . o . |
| . |
| |
| |
+-----------------+

Yukardaki Enter passphrase ksmnda eer bir parola girerseniz kar sunucuya sa-
dece bu makineden artk bu parola ile giri yapabilirsiniz. Bu ksm bo geerseniz
parolasz girebileceksiniz.

263
LPI Sertifikasyon Kitab

Bu komut ev dizininizde .ssh/id_rsa.pub dosyasn oluturur.

$ ls -al .ssh/
toplam 16
drwx------ 2 ahmet ahmet 4096 Ara 9 23:46 .
drwxr-xr-x 6 ahmet ahmet 4096 Ara 9 23:46 ..
-rw------- 1 ahmet ahmet 1675 Ara 9 23:46 id_rsa
-rw-r--r-- 1 ahmet ahmet 394 Ara 9 23:46 id_rsa.pub

id_rsa.pub dosyasn kar sunucudaki balanacanz kullancnn ev dizinine .ssh/


authorized_keys olarak kopyalayn. Eer authorized_keys dosyas varsa eski dosya-
nn zerine yazmayp id_rsa.pub ieriini authorized_keys dosyasna eklemeniz ge-
rekir.

Artk ssh veya scp ile kar sunucudaki bu kullancya parolasz balanabilirsiniz.

SCP ile Dosya Transferi


Scp komutu ile iki sshd servisi zerinden dosya transferi gerekletirilebilir.

$ scp dosya kulllancad@uzakIP:/dosyayolu

rnek:

# scp pardus.txt ahmet@172.16.45.219:/var/tmp


ahmet@172.16.45.219s password:
pardus.txt
100% 0 0.0KB/s 00:00

264
LPI Sertifikasyon Kitab

SSTEM MMARS

1. Pardus alrken, ekirdein disk ve 5. Hangi IRQ deerlerinin, hangi ekirdek


bellek miktar hakknda verdii bilgile- srcleri tarafndan kullanld,
ri hangi komutla renilebilir? hangi proc dosyasnda belirtilir?

A) dmesg A) /proc/irq
B) insserv B) /proc/interrupts
C) runlevel C) /proc/modules
D) lsmesg D) /proc/devices

2. Pardusun ntanml al seviyesi katr?

A) 0 B) 3 C) 5 D) 6 6. n tanml alma seviyesi (run level)


aadaki dosyalardan hangisinde
tanmlanr?
3. Sistem al hangi srada gerekle-
A) /etc/runlevel
mektedir?
B) /etc/initlevel
A) BIOS, GRUB, initrd, ekirdek, init C) /etc/inittab
B) GRUB, BIOS, initrd, ekirdek, init D) /etc/rc
C) init, BIOS, GRUB, ekirdek, initrd
D) ekirdek, init, initrd, BIOS, GRUB

4. Hangi ekirdek modllerinin yklenil- 7. Proses numaras 1 olan proses hangi-


dii nasl renilir? sidir?

A) insmod A) kernel

B) depmod B) initd

C) dodprobe C) init

D) lsmod D) rc

265
LPI Sertifikasyon Kitab

8. Kullanclarn kulland bir disk 12. Hangi komut, alan ekirdee ykle-
blmnde bakm yapmanz gerek- nebilir bir modl ykler?
mektedir. (fsck vs...) Bu ilemi gvenilir
bir ekilde yapabilmeniz iin diski A) insmod
kullanclarn kullanmamas gerekmek- B) depmod
tedir. Ne yapmak lazm? C) rmmod
D) setmod
A) killall
B) /etc/init.d/network stop
C) shutdown r now
D) init 1
13. lsmod aadaki hangi bilgiyi verir?

A) Btn ykl modller


9. Linux sistemlerde ka adet alma B) Btn gncellenebilir modller
seviyesi vardr? C) Btn gncellenemeyen modller
D) Btn kaldrlm modller
A) 5 B) 6 C) 7 D) 8

10. depmod ile modprobe arasndaki iliki


14. Linux ekirdek loglar hangi dosyaya
nedir?
yazlr?
A) Depmod, modprobeun kullanaca
iliki dosyasn oluturur
B) Modprobe, depmod un kullanaca
iliki dosyasn oluturur
C) Aralarnda herhangi bir iliki yok 15. Hangi komut ykl bir ekirdek mod-
ln kaldrmak iin kullanlr?
D) Ayn ilevi grmektedir

A) Delmod
B) Unmod
11. Depmodun aadaki hangi paramet-
C) Rmmod
resi zmlenmemi sembolleri listeler?
D) Modprobe
A) e B) l C) i D) a

266
LPI Sertifikasyon Kitab

LInux Kurulumu ve Paket ynetimi

1. Aadaki dpkg parametrelerinden 4. /usr/sbin/apache2 komutunun


hangisi pakete ait yaplandrma dosya- hangi paket tarafndan kurulduunu
lar dahil tm dosyalar tamemen siler? renmek iin aadaki komutlardan
hangisi kullanlabilir?
A) --clean
B) --delete A) Dpkg-query f /usr/sbin/apache2

C) purge B) Dpkg-query S /usr/sbin/apache2

D) remove C) dpkg --find /usr/sbin/apache2


D) dpkg r /usr/sbin/apache2

2. Aadaki komutlardan hangisi bir


programn kulland ktphaneleri
(shared libraries) listeler? 5. Yarm kurulan paketleri listelemek
iin aadaki komutlardan hangisi
A) ldconfig kullanlr?
B) ldd
A) dpkg --check
C) lsmod
B) dpkg -audit
D) libpath
C) dpkg --verify
E) Lsdev
D) dpkg --list

3. Programlarn kullanaca paylaml


ktphaneleri tanmlamak iin aa-
daki evre deikenlerinden hangisi 6. Bir paketi konfigurasyon dosyalar da
kullanlr? dahil olacak ekilde silmek iin aa-
daki komutlardan hangisi verilir?
A) LD_LOAD_PATH
A) Dpkg remove-all
B) LD_LIB_PATH
B) Dpkgremove
C) LD_LIBRARY_PATH
C) Dpkg purge
D) LD_SHARE_PATH
D) Dpkg delete
E) LD_LIBDIR_PATH

267
LPI Sertifikasyon Kitab

7. Sadece kurulan paketleri listelemek 11. dpkg ile apt-get arasndaki fark iin
iin aadaki komutlardan hangisi aadakilerden hangisi dorudur?
kullanlabilir?
A) Dpkg kaynak kodu ekerek derler,
A) Dpkg-query apt-get derleyemez.

B) apt-conf B) Dpkg internetten gncelleme ve


kurulum yapabilir, apt-get yapamaz.
C) apt-config
C) Apt-get internetten gncelleme ve
D) apt-get
kurulum yapabilir, dpkg yapamaz.
D) Apt-get arayz ynetimine sahip,
8. GRUB yaplandrma dosyasnda dpkg sahip deil.
gncelleme yaptktan sonra deiik-
liin etkin olmas iin hangi komut 12. Makinada tek bir SATA disk varsa
altrlmaldr? diskin Linuxdeki ad ne olur?

A) Grub-install A) /dev/hba
B) Grub B) /dev/hda
C) Grubcfg C) /dev/sda
D) Herhangi bir komut altrmaya D) /dev/sta
gerek yok.
13. ok fazla kullancs olan bir sistemde
9. Bir disk blm zerinde swap olu- aada dizinlerden hangisinin ayr bir
turmak iin aadaki komutlardan disk blm yaplmas uygun olur?
hangisi kullanlr? A) /etc

A) makeswap B) /bin

B) makefs C) /sbin

C) mkswap D) /home

D) swapon
14. Aadaki balama noktalarndan
(mount point) hangisi swap alan iin
10. Swap alann iptal etmek iin aadaki en uygundur?
komutlardan hangisi kullanlr?
A) /swap
A) mkfs B) /mnt/swp
B) swap --delete C) Swap alan iin balama noktasna
C) swapoff ihtiya yoktur.

D) umount D) /dev/swap

268
LPI Sertifikasyon Kitab

15. Yeni eklenen ktphane dosyalarn- 19. ok fazla gnlk(log) tutan ve


dan sistemin haberdar olmas iin veritaban verisi olacak bir sistemde
hangi yaplandrma dosyas dzenlen- gnlklerin ve veritaban dizininin n
melidir? tanml dizinde olaca kabul edilirse
aadaki blmlerden hangisinin
A) /etc/modules.conf ayr ve byk bir disk alan olmas
uygundur?
B) /etc/conf.modules
A) /etc B) /mnt C) /var D) /usr
C) /etc/ld.so.conf
D) /etc/ld.so.cache
20. Aadaki ierik hangi dosyaya ait
olabilir?
16. Hangi komut ld.so.cache dosyasn deb [arch=amd64,i386]
yeniden oluturur? ftp://depo.pardus.org.tr/
kurumsal/anahavuz wheezy
A) ldd main contrib non-free
deb [arch=amd64,i386]
B) f. ldconfig
ftp://depo.pardus.org.tr/
C) ld.so.cache rebuild kurumsal/anahavuz whe-
D) ld ezy-proposed-updates main
contrib non-free
deb [arch=amd64,i386]
ftp://depo.pardus.org.tr/
17. GRUB yaplandrma dosyasndaki roo- kurumsal/cokluortam wheezy
t(hd1,3) ifadesi hangi aygt ifade eder? main non-free
deb [arch=amd64,i386]
A) /dev/hda4 ftp://depo.pardus.org.tr/
B) /dev/hdb4 kurumsal/guvenlik wheezy/
updates main contrib non-
C) /dev/hda3
free
D) /dev/hdb3 deb [arch=amd64,i386]
ftp://depo.pardus.org.tr/
kurumsal/ozelhavuz wheezy
main non-free
18. Linux iletim sisteminde bir disk iin
en fazla ka birincil(primary) disk bl- A) /etc/sources
m oluturulabilir?
B) /etc/packages.list

A) 3 B) 4 C) 5 D) 2 C) /etc/apt/sources.list
D) /etc/updates.list

269
LPI Sertifikasyon Kitab

GNU ve UnIx Komutlar

1. Aadaki dzenli ifadelerden hangile- 5. Aadaki komutlardan hangisi fruits.


ri cut ve cat ifadeleri ile eleirken cot txt dosyasnda geen apple kelimeleri-
ifadesi ile elemez? ni elma kelimesi ile deitirir?

A) c.t A) sed s/apple/elma/g fruits.txt

B) c[ua]t B) sed /apple/elma fruits.txt

C) c[u-a]t C) sed /apple/elma/ fruits.txt

D) ca?t D) sed fruits.txt s/apple/elma/g

6. Aadaki hangi komut tar yaplm


arivin ieriini listeler?
2. pwd komutu ne yapar?
A) gzip arsiv.tar | tar xvf
A) allan dizini ekrana basar.
B) tar tvf arsiv.tar
B) allan dizini deitirir.
C) tar cvf arsiv.tar
C) Bir nceki alma dizinine gider.
D) tar xvf arsiv.tr
D) Bir st alma dizinine gider.

7. grep komutunun hangi parametesi


deneme.txt dosyasndaki banda #
3. Srekli akan bir log dosyasn takip olmayan satrlar listeler?
etmek iin en kullanl komut hangi-
sidir? A) grep /# deneme.txt
B) grep -v # deneme.txt
A) cat C) grep -v # deneme.txt
B) less D) grep -v ^# deneme.txt
C) more E) grep ^# deneme.txt
D) tail
8. Aadaki komutlardan hangisi komu-
tun mevcut kabukta arka plan prosesi
4. /etc/passwd dosyasnda, joe geen olarak altrr?
satrlar grntleyecek olan komutu
A) bg komut
yaznz.
B) komut &
C) komut 1>2&
D) komut ?

270
LPI Sertifikasyon Kitab

9. vi editrnde mevcut satrdan itibaren 13. Aadaki komutlardan hangisi sra-


3 satr silmek iin hangi parametre lanm bir dosyada birden fazla olan
verilir? kaytlar tek satra indirir?

A) dd 3 B) dl 3 C) 3dd D) 3dl A) trim


B) uniq
C) Unique
10. vida bir dosya ak iken hangi komut D) Cut
ile a.txt dosyann ierii mevcut dos-
yaya aktarlr? 14. Aadaki komutlardan hangisi sadece
PATH deikeninde tanml dizinlerde-
A) :l a.txt ki komutlar bulabilir?
B) :r a.txt
A) locate
C) :open a.txt
B) which
D) :readfile a.txt
C) find
D) grep

11. Aadaki komutlardan hangisi ls al


ktsn hem ekrana yazar hem de 15. 1/a dizini mevcut deildir. /a/b/c/d
belirtilen bir dosyaya yazar? dizini bir seferde oluturmak iin
aadaki hangi komut verilir?
A) ls al > /tmp/dosya
A) mkdir a /a/b/c/d
B) ls al | tee tmp /dosya
B) mkdir p /a/b/c/d
C) ls al |cat > /tmp/dosya
C) mkdir r /a/b/c/d
D) ls al >> /tmp/dosya
D) mkdir R /a/b/c/d

16. komut1 & ile arka planda altrlan


12. Aadaki komutlardan hangisi dos-
komut1 prosesinin ayn kabukta
yann bandan itibaren bir ka satr
tekrar n plana alnmas iin aadaki
gsterir?
komutlardan hangisi kullanlr?
A) tail A) bg
B) tailf B) foreground
C) cat C) background
D) head D) Ctrl-z
E) fg

271
LPI Sertifikasyon Kitab

17. Srekli gncellenen /var/log/messa- 20. Bal olunan kabuun arka plannda
ges dosyann ieriini srekli takip alan proseslerini listelemek iin aa-
etmek iin aadaki komutlardan daki komutlardan hangisi kullanlr?
hangisi verilir?
A) fg
A) tail /var/log/messages B) bg
B) head /var/log/messages C) job
C) tail f /var/log/messages D) jobs
D) less f /var/log/messges
21. vi editr ile dosyay dzenlerken,
E) more f /var/log/messages
dzenlemeden vazgeip dosyadaki
deiiklikleri kaydetmeden kmak
iin hangi parametre verilir?
18. Bir dosyann dosya tipini renmek
iin aadaki komutlardan hangisi A) :q!
kullanlr? B) wq!
C) :q
A) id
D) :exit
B) file
C) type 22. Bir diskin yedeini birebir baka bir
D) ls diske kopyalamak veya imaj almak iin
E) fileattr hangi komut kullanlr?

A) cp
B) dd
19. touch komutu iin aadakilerden C) cat
hangisi dorudur?
D) tar

A) Dosya varsa ieriini siler yeni dos- 23. Aadaki komutlardan hangisi
ya oluturur. deneme.txt dosyasndaki denemek
B) Oluturulmak istenen dosya yoksa ve denemem ifadesi geen satrlar
hata verir. listeler?
C) Dosyann eriim tarihini gnceller
A) grep deneme(km) deneme.txt
D) Dosyann sahibini komutu altran
B) grep deneme[mk] deneme.txt
kullanc olarak deitirir.
C) cat deneme.txt denemek |grep
denemem
D) grep deneme[k-m] deneme.txt

272
LPI Sertifikasyon Kitab

24. Aadaki hangi komut prosesin nor- 28. ekirdek srmn ve donanm tr-
mal bir ekilde sonlanmasn salar. n (32 bit, 64 bit) renmek iin aa-
A) kill -9 PID daki komutlardan hangisi kullanlabilir?
B) kill HUP PID A) kerninfo
C) kill TERM PID
B) oslevel
D) kill KILL PID
C) sysinfo
E) kill STOP pid
D) uname

25. n tanml olarak kill komutu, prosese


hangi sinyal numarasn gnderir? 29. Hangi yardm sayfas, sistem ynetici-
sine ait komutlar iindir?
A) HUP(1)
B) QUIT(3) A) 1 B) 3 C) 5 D) 8
C) KILL(9)
D) TERM(15)
30. Hangi yardm sayfas, sistem dosyalar
hakknda bilgi verir?
26. Parametre olarak verilen komutun
bash kabuuna ait dahili bir komut A) 4 B) 5 C) 6 D) 8
mu yoksa dosya sistemi komutu mu
olduunu anlamak iin hangi komut
kullanlr? 31. vi editrnde bir dosyay dzenlerken
/tmp dizinindeki dosyalar listelemek
A) Typeset
istiyorsunuz. Bunun iin komut mo-
B) filetype
dunda iken (esc basl) hangi paramet-
C) ftye re altrlr?
D) type
A) :ls /tmp
B) :!ls /tmp
27. kill -9 123456 komutu ne i yapar?
C) :exec ls /tmp
A) 123456 nolu prosesin sonlanp
yeniden almasn salar D) :run ls /tmp
B) 123456 nolu UDP portuna gelen
balantlar ldrr.
32. Dosyann ieriini satr numaras ile
C) 123456 nolu prosesin salkl bir
ekrana basmak iin aadaki komut-
ekilde kapanmasn beklemeden
prosesi ldrr. lardan hangisi kullanlr?

D) 123456 nolu prosesin normal bir A) wc B) ln C) nl D) line


ekilde sonlanmasn salar.

273
LPI Sertifikasyon Kitab

Aygtlar, LInux Dosya Sistemleri

1. ext3 dosya sistemi ile formatlanm / 4. dosya.txt isimli dosyann sahibini


dev/sda2 blmn /data dizinine pardus grubunu ile linux yapmak iin
balamak iin /etc/fstab dosyasna aa- aadaki komutlardan hangisi verilir?
daki satrlardan hangisi yazlmaldr?
A) chown u pardus linux dosya.txt
A) /dev/sda2 /data ext3 defaults 0 0
B) chown u pardus g linux dosya.txt
B) /data /dev/sda2 ext3 defaults 0 0
C) chown pardus-linux dosya.txt
C) /dev/sda2 ext3 /data defaults 0 0
D) chown pardus:linux dosya.txt
D) /data ext3 /dev/sda2 defaults 0 0

2. /home dizininde kullanc ad ahmet


5. Hangi komut /bin/deneme.sh ko-
olan dosyalar listelemek iin aada-
mutuna herkes tarafndan altrma,
ki komutlardan hangisi kullanlr?
sadece sahibi tarafndan yazma ve
A) find /home username ahmet gruba sadece okuma okuma izni verir?

B) find /home --user ahmet


A) chmod 711 /bin/deneme.sh
C) find /home user ahmet
B) chmod 775 /bin/deneme.sh
D) find /home uid ahmet
C) chmod 755 /bin/deneme.sh
D) chmod 751 /bin/deneme.sh
E) chmod 715 /bin/deneme.sh

3. /etc/fstab dosyasnda tanml tm


dosya sistemlerini tekrar mount etmek
iin aadaki komutlardan hangisi
verilir?

A) mount f 6. Yeni oluan dosya iznini rwrr


B) mount a (644) olmas iin hangi umask deeri
tanmlanmaldr?
C) mount l
D) mount t A) 0002 B) 0022 C) 0224 D) 0246
E) mount r

274
LPI Sertifikasyon Kitab

7. Hard link ve sembolik link ile ilgili ola- 10. Aadaki komutlardan hangisi /usr/
rak aadakilerden hangisi yanltr. bin/komut programna suid bit hakk
verir.
A) Hard link farkl dosya sistemleri iin
uygulanabilir. A) chmod ug+x /usr/bin/komut
B) Soft link te orijnal dosya silinirse B) chmod 2755 /usr/bin/komut
dosyaya eriilemez. C) chmod ug+s /usr/bin/komut
C) Hard linkte dosya silinse bile dosya- D) chmod suid /usr/bin/komut
ya eriim devam eder.
D) Hard link dizinler iin almaz.

11. An itibariyle mount edilen dosya


8. Disk blmlerinde ne kadar bo yer sistemlerinin listesi hangi dosyada
kaldn renmek iin hangi komut bulunur?
altrlr?
A) /etc/fstab
A) du B) /etc/mntab
B) df C) /etc/mtab
C) mount D) /etc/vfstab
D) quota

9. df -i komutu ne i yapar? 12. Hangi durumda programlara SUID bit


hakk verilir?
A) Balanan disk blmlerinin boyut-
lar hakknda hakknda genel bilgi A) Aygt dosyalarna eriim gerekti-
verir. inde
B) Balanan disk blmlerinin inode B) /etc/ altndaki dosyalar dzenle-
kullanm bilgilerini gsterir. mek iin.
C) Bulunan dizindeki disk kullanm C) Programn alma annda geici
bilgilerini gsterir. olarak root haklar ile almas iin.
D) Disklerin marka ve model bilgilerini D) Sistem gncellemeleri iin
gsterir.

275
LPI Sertifikasyon Kitab

13. -rwxr-xr-- 1 root wheel 16. Hangisi, komutun aklamasnda


44 Feb 4 21:00 a.txt string arar?
Yukardaki dosya izinlerini elde etmek
A) apropos
iin hangi chmod komutu verilmelidir?
B) whatis
A) chmod 755 a.txt C) whereis
B) chmod 745 a.txt D) locate
C) chmod 754 a.txt
D) chmod 765 a.txt

17. Kullanclarn cdromu mount edebil-


14. Aadakilerden hangisi Linux iletim meleri iin /etc/fstab dosyasna hangi
sistemine ait bir dosya sistemi deildir? parametre eklenmelidir

A) Ext2 A) auto

B) Ext3 B) allusers

C) XFS C) user

D) VFAT D) allow

15. Hangisi komutun tam adna gre


arama yapar? 18. Kota yaplandrlmas yaplm bir dos-
ya sisteminde kotay etkinletirmek
A) Whatis iin aadaki komutlardan hangisi
B) Apropos kullanlr?

C) Locate A) quotaenable
D) Whereis B) quotaonline
C) quotaon
D) quotactl

276
LPI Sertifikasyon Kitab

19. Aadakilerden hangisi tune2fs 22. Aadaki komutlardan hangisi /usr/


komutu iin dorudur? local/sistem dizinini /data/sistem dizi-
nin sembolik linki olarak oluturmak
A) Sadece ext2 dosya sistemi iin iin aadaki komutlardan hangisi
alr. verilir?
B) Dosya sistemindeki azami mount
says deerini deitirebilir. A) ln /data/sistem /usr/local/sistem

C) Root tarafndan rezerve edilmi disk B) ln l /usr/local/sistem /data/sistem


yzdesini deitiremez. C) ln s /usr/local/sistem /data/sistem
D) Dosyalarn inode deerlerini dei- D) ln s /data/sistem /usr/local/sistem
tirebilir.

20. Dosya sistemi bozulduunda d-


zeltmek iin aadaki komutlardan
hangisi kullanlabilir? 23. /dev/hdb1 disk blm /data dizinine
balanmtr. Disk blmnn ba-
A) Repair lanmasn(mount) devre d brakmak
B) fsck iin aadaki komutlardan hangisi
C) fscheck verilir?

D) dumpfs A) unmount /data


B) umount /data
C) mount d /dev/hdb1
D) unmount /dev/hdb1
21. pardus.txt dosyann grubunu admin
olarak deitirmek iin aadaki
komutlardan hangisi kullanlr?

A) chown admin pardus.txt


B) chgroup admin pardus.txt
C) chgrp admin pardus.txt
D) groupch admin pardus.txt

277
LPI Sertifikasyon Kitab

Kabuklar, scrIpt ve veri ynetimi

1. Aadaki komutlardan hangisi Bash 4. ok fazla ekran kts reten prog2


iinde gml olarak yer almaktadr? isimli bir programn ktlarn analiz
etmek iin aadakilerden hangisi
A) cat yaplabilir?
B) echo
A) prog2 > out.txt
C) cut
B) prog2 | out.txt
D) ls
C) prog2 < out.txt
D) prog2 && out.txt

2. Komut satrndan echo $BIG_FILE 5. bash kabuunda komutun sonuna


komutu altrldnda ekrana No big 1>&2 eklemek hangi aadaki yn-
file kts vermektedir. Aadakiler- lendirmeyi ifade eder?
den hangisi sylenebilir?
A) standart hatay standart girdiye
A) ekirdek parametrelerinden BIG_ ynlendir.
FILE tanmlanmamtr. B) standart girdiyi standart hataya
B) Komutun verildii dizinde 2GBdan ynlendir.
byk dosya bulunmamaktadr. C) standart kty standart hataya
C) BIG_FILE diye bir deiken tanm- ynlendir.
lanmamtr. D) standart hatay standart ktya
D) BIG_FILE deikeni No big file ynlendir.
metni ile tanmlanmtr. E) standart kty standart girdiye
ynlendir.

6. Bir komut n planda alyorken han-


3. Bir st dizinde yer alan prog1 progra- gi tu kombinasyonuna basldnda
mn altrmak iin aadaki komut- komut anormal ekilde sonlanr.
lardan hangisini altrmak gerekir?
A) Ctrl-C
A) ./prog1
B) Ctrl-D
B) /root/prog1
C) Ctrl-X
C) ../prog1
D) Ctrl-Z
D) prog1
E) Ctrl-K

278
LPI Sertifikasyon Kitab

7. Aadaki komutlardan hangisi 10. Bulunulan dizindeki deneme.sh bash


prosesin almasn askya alp komut betiinin izinleri aadaki gibidir.
satrna geri dner? Bu betii altrmak iin aadaki
komutlardan hangisi kullanlabilir?
A) Ctrl-d # ls -al deneme.sh
B) Ctrl-z -rw-r--r-- 1 root root 0 Sep 8 18:43 de-
C) Ctrl-k neme.sh

D) Ctrl-s A) ./deneme.sh
B) run deneme.sh
C) . deneme.sh
D) exec deneme.sh
8. Bash kabuunda komut1 || komut2
ne anlama gelir?

A) Komut1 baarl ise komut2yi


altr. 11. alias aadaki amalardan hangisi
B) Komut1 baarsz ise komut2yi iin kullanlabilir?
altr.
A) Uzun bir komutun yerine ksa bir
C) Komut1 ve komut ikiyi ayn anda
string kullanmak iin
altr.
B) Deiken tanmlamak iin
D) nce komut1i sonra komut2 yi
altr. C) Kullanc adn deitirmek iin
D) Bir dosyaya link oluturmak iin

9. alias komutu ile belirlenen ksa komu-


tun tanmn geici olarak kaldrmak 12. Aadaki tanmlardan hangisi tanm-
iin aadaki komutlardan hangisi lanan kabuk deikeninin alt kabuk-
kullanlr? larda da geerli olmasn salar?
A) export VARIABLE=VALUE
A) dealias
B) set VARIABLE=VALUE
B) unalias
C) env VARIABLE=VALUE
C) alias d
D) VARIABLE=VALUE
D) rmalias

279
LPI Sertifikasyon Kitab

13. Aadaki dosyalardan hangisi non- 16. Baarl olarak tamamlanm komutun
login (su yaparak veya dorudan hangi deerle k yapmas beklenir?
komut satrndan /bin/bash altra-
rak) etkileimli bash kabuk tarafndan A) 0 B) 1 C) 2 D) 10
kullanlr?

A) /etc/bashrc
17. /opt/bin dizinine btn kullanclarn
B) ~/.bashrc kullanaca programlar yklediniz. Bu
C) /etc/profile programlara kullanclarn dorudan
D) ~/.bash_profile eriebilmesi iin PATH=$PATH:/opt/bin
tanmlamas hangi dosyada yaplma-
ldr?

14. if [ $? eq 1 ]; then exit; fi

Yukardaki betik satrnda $? ne anlam


ifade etmektedir? 18. Aadaki komutlardan hangisi bal
A) alan betiin GUI numaras bulunan bash kabuunun proses
B) alan betiin PID numaras numarasn gsterir?
C) alan betiin UID numaras
A) echo $1
D) fadeden nce en son alan komu-
B) echo $i
tun k deeri
C) echo $$
D) echo $!

15. Aadakilerden hangisi bir dizinin var 19. Bash kabuunda hangi evre deike-
olup olmadn test iin kullanlabilir? ni n tanml promptu tanmlar?

A) test f A) PRM
B) test e B) PS1
C) test d C) CS1
D) test r D) P1

280
LPI Sertifikasyon Kitab

20. Bash kabuunda bir evre deike- 23. Bir dosyann ilk satrndaki #!/bin/bash
nin tanmn kaldrmak iin aadaki ne anlama gelir?
komutlardan hangisi kullanlr? A) Bu dosyann trnn /bin/bash
olduu
A) delset
B) # aklama satrdr.
B) unset
C) Sistemde /bin/bash tanml m diye
C) rmset kontrol eder.
D) set x D) Dosyann ieriini /bin/bash kabu-
unda yorumla

21. Aadaki evre deikenlerinden


hangisi bulunulan dizini ifade eder?
24. Aadaki SQL ifadesinde bo yere ne
A) CDIR
gelmelidir?
B) DIR
UPDATE tablo . Name=Ahmet whe-
C) PWD re id=40
D) CWD

22. Bash kabuunda shell script yazla-


caktr. Aadaki ifadelerden hangisi 25. Aadaki SQL ifadesinde bo yere ne
script iin verilen birinci parametreyi gelmelidir?
ifade eder? DELETE tablo where id=40

A) $1
B) %1
C) $0
D) %0

281
LPI Sertifikasyon Kitab

Ynetim Grevleri

1. Bir komutu bir defaya mahsus ve belir- 5. Aadaki ifadelerden hangisi doru-
lenmi bir saatte altrmak iin aa- dur, ltfen yaznz.
daki komutlardan hangisi kullanlr?
A) Normal kullanclar /etc/shadowu
A) cron okuyamazlar

B) crontab B) Normal kullanclar /etc/passwdyi


okuyamazlar
C) at
C) ifreli parola /etc/shadowda yer alr
D) atq
D) ifreli parola /etc/passwdde yer alr

2. Aadaki crontab satrlarndan han-


gisi backup.sh betiini her Cumartesi
gecesi saat 01:00 da altrr?
6. Silmeden pasif hale getirmek istedi-
A) 0 1 * * 6 backup.sh iniz bir kullanc var. Ne yapmanz
B) 0 1 6 * * backup.sh gerekmektedir?

C) 0 1 7 * * backup.sh A) /etc/passwd dosyasndaki kullanc


D) * * 0 1 7 backup.sh IDsi 0 yaplr.
B) /etc/shadow dosyasndaki kullanc-
3. Bir kullancnn sisteme interaktif giri- ya ait ilk sutunu silinir
ini engellemek iin aadakilerden C) /etc/passwd dosyasndaki kullanc-
hangisi yaplr? ya ait ilk stuna * konur
A) chsh s /bin/false kullancad D) /etc/group dosyasndaki kullancya
B) userdel r kullancad ait grup satrnn bana # konur

C) Kullanc nologin grubuna eklenir


D) /etc/passwd dosyas tanr

7. Bir cron grevinin alma zamann


4. /etc/shadow dosyasnn izinleri nasl belirlemeye yarayan ka farkl cron
olmaldr? kolonu var?

A) -------r- A) 3 B) 4 C) 5 D) 6
B) -rr-r-
C) -rw-------
D) -rw-rw----

282
LPI Sertifikasyon Kitab

8. D 11. Yeni bir kullanc oluturulduunda


# atq hangi dizindeki dosyalar otomatik
2 2013-02-10 14:00 a root olarak kopyalanr?
Yukardaki komutun kts ne anlama
A) /etc/defaults/users
gelmektedir?
B) /etc/skel
A) Her gn saat 14:00 da alacak
C) /etc/users/template
cron grevi
D) /etc/users
B) Hata veren ve kuyrukta bekleyen
cron grev
C) Saat 2013-02-10 tarihinde saat 12. Yeni bir group oluturmak iin hangi
14:00 da tek sefer altrlmak zere komut kullanlr?
zamanlanm grev
D) Saat 2013-02-10 tarihinden itibaren A) groupadd
her gn saat 14:00 da tek sefer a- B) newgroup
ltrlmak zere zamanlanm grev C) group
D) groupconf

9. Bir kullancnn cron tanm yapmasn


engellemek iin hangi dosyada tanm- 13. ahmet ve mehmet kullanclarnn
lama yaplmaldr? admin(group id 100) grubuna ye
olmalar iin /etc/group dosyas aa-
A) /etc/crond/deny dakilerden hangisi gibi olmaldr?
B) /etc/cron.disallow
C) /etc/cron.disabled A) admin:x:100:ahmet,mehmet

D) /etc/cron.deny B) admin:x:100:ahmet;mehmet
C) admin:x:100:ahmet:mehmet
D) admin:x:100:ahmet mehmet
10. Aadaki komutlardan hangisi kulla-
nc parolasnn son kullanma sresini
DETRMEZ. 14. ahmet kullancsn ev dizini ile birlikte
tamamen silmek iin aadaki komut-
A) usermod lardan hangisi kullanlr?
B) passwd A) userdel ahmet
C) chpass B) userdel r ahmet
C) rmuser y ahmet
D) chage D) userdel f ahmet

283
LPI Sertifikasyon Kitab

15. Aadaki satrlardan hangisi /etc/pas- 18. Sisteme son balanan kullanc liste-
swd dosyasna ait doru bir satrdr? sini almak iin aadaki komutlardan
hangisi kullanlabilir?
A) selcuk:x: selcuk:1000:1000: /home/
selcuk:/bin/bash A) lastlogin
B) selcuk:x:1000:1000:selcuk:/home/ B) logins
selcuk:/bin/bash C) last
C) 1000:1000:selcuk:x:selcuk:/home/ D) loginlist
selcuk:/bin/bash
D) selcuk:x:1000:1000:/home/selcuk:-
19. crontab komutu ile dzenlenen kulla-
selcuk:/bin/bash
nclarn cron dosyalar hangi dizinde
bulunur?

A) /var/cron
16. ahmet kullancsn ev dizinini /data/
B) /var/spool/crond
ahmet olarak oluturmak istiyoruz. /
C) /var/spool/cron
data/ahmet dizinini de oluturacak
D) /var/cron/spool
ekilde kullancy amak iin aadaki
komutlardan hangisi verilir?
20. Bash kabuunda geici olarak dil
A) useradd -m -h /data/ahmet ahmet
tanmn deitirmek iin aadaki
B) useradd -c -d /data/ahmet ahmet
komutlardan hangisi kullanlr?
C) useradd -h /data/ahmet ahmet
D) useradd -m -d /data/ahmet ahmet A) export LANGUAGE=tr_TR.UTF-8
B) set LANGUAGE=tr_TR.UTF-8
C) LANGUAGE=tr_TR.UTF-8
D) export LANG=tr_TR.UTF-8
17. useradd ve adduser ile ilgili aadaki
karlatrmalardan hangisi dorudur?
21. iconv komutu iin aadakilerden
A) Useradd kullanc eklerken parola
hangisi dorudur?
sorar.
B) Adduser interaktif olarak kullanc A) icon formatlarn deitirmede
aabilir ve parola tanmlamas kullanlr.
yapabilir. B) Karakter kodlar arasnda dnm
C) Useradd grup ad verilmezse grubu yapar.
amaz. C) Grafik kodlamasnda kullanlr.
D) Adduser grup ad verilmezse grubu D) Veritaban formatn deitirmede
amaz. kullanlr.

284
LPI Sertifikasyon Kitab

Zaruri Sistem Servisleri

1. Sendmail kullanlan bir sunucuda info, 4. Sendmail alyorken veritabanna ek-


sysadmin gibi sanal email adresleri lenen yeni aliaslarn yklenmesi hangi
oluturularak bu adreslere gelen sendmail komutuyla yaplr?
e-postalar bir veya daha fazla gerek
kullancya ynlendirme ilemi yap-
lacaktr.
Aadaki dosyalardan hangisinde bu
5. Aadaki komutlardan hangisi, tanm-
yaplandrma yaplmaldr?
l btn yazdrma kuyruklarndaki
ilerin uyandrlmasn salar?
A) /etc/users
B) /etc/forwards A) lprm a all
C) ~/.forward B) lprm all
D) /etc/aliases C) lprm a
D) lpflush all

2. Aadakilerden hangisi bir mail sunu-


cu yazlm deildir?
6. date +%m kts hangi deeri verir?
A) Sendmail
B) Procmail A) Bulunulan ay say olarak gsterir.

C) Postfix B) Bulunulan ayn adn gsterir.

D) Exim C) Bulunulan dakikay gsterir.


D) Bulunulan milisaniyeyi gsterir.

3. Aadaki komut sonucunda ne olur?


cat users | lpr #2
7. Kullanlacak olan NTP sunucular hangi
A) Users dosyas ntanml yazcda iki dosyada tanmlanr?
kopya yazlr
A) /etc/time.conf
B) Users dosyas 2 numaral grev
B) /etc/ntpd.conf
olarak yazc kuyruuna yazlr
C) /etc/ntp.conf
C) Users dosyas ekrana baslr ve lpr
komutu hata mesaj verir D) /etc/localtime

D) Yazc ismi verilmedii iin yalnzca


hata mesaj retilir

285
LPI Sertifikasyon Kitab

8. Kullanlacak zaman dilimi (timezone) 11. Sistem zaman dilimini Europe/Istanbul


tanmlamas hangi dosya ile belirlenir? yapmak iin aadaki komutlardan
hangisi kullanlr?
A) /etc/timezoneinfo
B) /etc/localtime A) tzset Europe/Istanbul

C) /etc/timezonedata B) tzconfig /usr/share/zoneinfo/Euro-


pe/Istanbul
D) /etc/datetime
C) ln sf /usr/share/zoneinfo/Europe/
Istanbul /etc/localtime
D) ln sf /usr/share/timezone/Europe/
Istanbul /etc/timezone

9. Zaman dilimi (timezone) listesi hangi


dizin altnda bulunur?

A) /usr/share/timezone
B) /usr/share/timezonedata 12. Bir seferliine sistem saatini pool.ntp.
C) /usr/share/zoneinfo org sunucusundan gncellemek iin
hangi komut kullanlr?
D) /usr/share/tzdata
A) ntp pool.ntp.org
B) date s pool.ntp.org
C) ntpdate pool.ntp.org
D) hwclock pool.ntp.org
10. Sistemin dil, karakter seti gibi evre
deikenlerini kullandn renmek
iin hangi komut kullanlr?

A) getlocale
B) tzconfig 13. syslogd mekanizmasn test etmek iin
C) local hangi komut kullanlr?

D) locale A) syslogclient
B) logger
C) logtest
D) syslog

286
LPI Sertifikasyon Kitab

14. n tanml syslog yaplandrma dosya- 17. Kuyrukta bekleyen e-postalar liste-
s hangisidir? lemek iin aadaki komutlardan
hangisi kullanlr?
A) /etc/syslog-ng/syslog-ng.conf
B) /etc/syslog.conf A) qmail

C) /etc/syslog-ng/syslog.conf B) mailqueue

D) /etc/syslogd.conf C) mailq
D) mailstat

15. BIOS donanm saatini dzenlemek


iin aadaki komutlardan hangisi
kullanlr? 18. Postfixde ana yaplandrma dosyas
hangisidir?
A) time
B) hwtime A) /etc/postfix/main.conf

C) hwclock B) /etc/postfix/postfix.conf

D) hdwclock C) /etc/postfix/service.conf
D) /etc/postfix/smtp.conf

16. Gnlk (log) dosyalarn dndrmek


iin hangi dizinde tanmlamalar
yaplr? 19. CUPS servisinin yaplandrma dizini
neresidir?
A) /etc/logrotate.d
B) /etc/logrotate.conf.d A) /etc/printer

C) /etc/log.d B) /etc/cups.d

D) /etc/log/rotate.d C) /etc/printer/cups
D) /etc/cups

287
LPI Sertifikasyon Kitab

A Temelleri

1. Hangi komut anlk a balantlarn 6. ki a kart olan sunucunuz bulunmak-


izlemek iin kullanlr? tadr. A kartlar dzgn bir ekilde
A) netstat yaplandrlmasna ramen bir karttan
dierine trafik ynlendirilememektedir.
B) route
Aadakilerden hangisi yaplmaldr?
C) ifconfig
D) ip A) touch /proc/sys/net/ipv4/ip_auto-
config
B) touch > /proc/sys/net/Ethernet
2. Hangi IP protokol daha gvenilir ve C) echo 1 > /proc/sys/net/ipv4/
daha ardr? ip_forward
D) touch /proc/sys/net/ipv4/route

7. Aadakilerden hangisi root olmayan


bir kullanc tarafndan da yapland-
3. Aadaki komutlardan hangisi a
rlabilir?
ara yzn yaplandrma dosyasn
(ifcfg-eth0) okuyarak aktif eder?
A) nmbd
A) ifconfig
B) lpr
B) ifup
C) ntp
C) net
D) cron
D) p

8. 192.168.0.10 IP adresinin ikili formatta


4. ntanml a geidini tanmlamak yazl aadakilerden hangisidir?
veya deitirmek iin verilecek komu-
A) 11000000.10101000.00000001.00
tu parametreleriyle yaznz.
001010
B) 11000000.10101000.00000001.00
000010
5. Aadaki alt alarda ka tane IP adre-
C) 11000000.00000001.00000000.00
si olduunu hesaplaynz.
000010
I. alt a: a maskesi 255.255.255.248
D) 11000000.10101000.00000000.00
II. alt a: a maskesi: 192.168.1.0/24
001010

288
LPI Sertifikasyon Kitab

9. Hangi komut samba sunucuya yaplan 12. TCP/IPde netmask hangi amala
balantlar izlemek iin kullanlr? kullanlr?

A) Smbclient A) Hangi host kendi amda, hangi


B) Traceroute host baka ada tespit iin

C) Smbstatus B) Hangi IPye hangi isim karlk


gelmektedir
D) Smbstat
C) ntanml a geidini tespit etmek
iin
D) DCP sunucunun adresini bulmak
iin

10. Aadaki protokollerin kulland port


numarasn ltfen karsna yaznz?

A) POP3
13. Aadaki komutlardan hangisi nta-
B) SMTP nml a geidini 192.168.1.1 yapar?
C) DNS
D) SSL A) Netstat add default 192.168.1.1

E) FTP Veri ve Kontrol B) Route add default gw 192.168.1.1


C) Route default 192.168.1.1
D) fconfig add default gw 192.168.1.1

11. Linux sunucunuzu bir ynlendirici


(router) gibi kullanabilmeniz iin yn-
14. Linux sunucunuzda IP-isim zm-
lendirmenin aktif olduundan emin
lemesi iin hangi DNS sunucularn
olmalsnz. Hangi dosyay kontrol
kullanldn hangi dosyadan rene-
etmeniz gerekmektedir?
bilirsiniz?
A) /etc/defaultrouter
A) /etc/hosts
B) /proc/sys/net/ipv4/ip_forward
B) /etc/named.conf
C) /etc/sysconfig/defaulrouter
C) /etc/resolv.conf
D) /etc/net
D) /etc/nsswitch.conf

289
LPI Sertifikasyon Kitab

15. pardus.org.tr alan ad iin tanml mail 20. Eth1 a arayznn IP adresini
sunucular hangi dig komutu gsterir? 192.168.1.5 olarak deitirmek iin
hangi komut verilmeli? A maskesi
255.255.255.0 olacaktr.
16. A probleminin hangi noktada oldu-
unu bulmak iin kullanlan komut
hangisidir? 21. n tanml a geidini renmek iin
aadaki komutlardan hangisi kullanlr?
A) Route
B) Ping A) route show
C) Netstat B) cat /proc/net/defaultgw
D) Traceroute C) netstat nr
D) ifconfig gw

17. DNS sistemini kullanmadan bir host- 22. Aadaki dosyalardan hangisi tann-
name iin IP zmlemesini salamak m port numaralarna ait servis ve
istiyorsunuz. Hangi dosyaya yazmanz protokol bilgilerini ierir?
gerekmektedir?
A) /etc/inet/services
B) /etc/services
C) /etc/servicelist
D) /etc/net/service
18. Hangi program uzak bir bilgisayarn eri-
ilebilirliini test etmek iin kullanlr?
23. Al srasnda hostname tanmlamak
A) route iin hangi dosyann ieriine baklr?
B) ifconfig
A) /et/hosts
C) rlogin
B) /etc/host
D) ping
C) /etc/hostname
D) /etc/net/hostname

19. Aadaki satrlardan hangisi /etc/


24. Sistemi kapatp amadan, geici bir
hosts dosyas iin doru bir formattr?
sreliine bilgisayar adn pardus.su-
A) 192.168.1.1 localhost.localdomain nucu.org olarak deitirmek iin hangi
localhost komut kullanlr?
B) localhost.localdomain localhost
A) hostname pardus.sunucu.org
192.168.1.1
B) echo pardus.sunucu.org > /proc/
C) 192.168.1.1 = localhost, localhost.
net/hostname
localdomain
C) host pardus.sunucu.org
D) localhost.localdomain 192.168.1.1
D) echo pardus.sunucu.org > /etc/
localhost
hostname

290
LPI Sertifikasyon Kitab

291
LPI Sertifikasyon Kitab

Gvenlik

1. ahmet kullancsnn mehmet kullanc- 4. Bir sunucu zerindeki hizmetlere


sna gei yapmas gerekiyor. Mehmet erimemesi gereken hostlar hangi
kullancsna tm evre deikenleri dosyaya yazlmaldr?
ile gei yapmak iin hangi komut
kullanlr? A) /etc/hosts/denial
B) /etc/hosts.deny
A) su mehmet
C) /etc/host.notallow
B) su mehmet
D) /etc/hosts
C) su f mehmet
D) su env mehmet
5. Ping komutu aadaki protokollerden
hangisini kullanr?

A) IP
2. Hangisi normal bir kullancnn kul- B) ICMP
lanc deitirmeden yetkili kullanc C) TCP
ilemlerini yapmasn salar?
D) NDP
A) su
B) su 6. Linux sunucu zerinde NETBIOS isim
zmlemesi iin hangi daemon
C) sudo
kullanlr?
D) usermod
A) Dns
B) Winsd
C) Smbd
3. Bir portu hangi uygulamann kulland-
D) Nmbd
n bulmak iin aadaki komutlar-
dan hangisi kullanlr?
7. Hangi dosya internet isim zmle-
A) strace me sistemiyle ilgilidir?
B) ptrace A) /etc/resolv.conf
C) netstat B) /etc/hosts
D) lsof C) /etc/nsswitch.conf
D) /etc/default/names

292
LPI Sertifikasyon Kitab

8. ...
/etc/...... dosyas kullanclarn geici 12. sudo yaplandrma dosyas aadaki-
olarak sisteme girilerine engel olur. lerden hangisidir?
Ltfen boluu doldurunuz.
A) /etc/sudo.conf
B) /etc/security/sudoers
C) /etc/sudoers
9. /etc/shadow dosyasnn izinleri aa-
D) /etc/security/sudo.conf
dakilerden hangisidir?

A) -rw-r----- 1 root shadow 1227 Eyl 24


13. Kullanclarn kaynak limitlerini grn-
12:21 /etc/shadow
tlemek iin hangi komut verilir?
B) -rw-rw----- 1 root shadow 1227 Eyl
24 12:21 /etc/shadow A) limits a
C) -rwx-r----- 1 root shadow 1227 Eyl B) userlimit
24 12:21 /etc/shadow C) ulimit
D) -rw-r-x---- 1 root root 1227 Eyl 24 D) getlimit
12:21 /etc/shadow

14. 123 nolu prosesin kulland tm


10. Geniletilmi Eriim kontrol listesi(Ex- dosyalar listelemek iin aadaki
tended ACL) tanmlamak iin aada- komutlardan hangisi kullanlr?
ki komutlardan hangisi kullanlr.
A) netstat p 123

A) Setacl B) sockstat p 123

B) Setfacl C) lsof p 123

C) Seteacl D) ls p 123

D) Setlacl

15. xyz isimli servisin hangi port numa-


rasndan hizmet verdiini ve proses
11. Openssh iin anahtar(key) retmek numarasn grmek iin aadaki
iin aadaki komutlardan hangisi komutlardan hangisi kullanlabilir?
kullanlr?
A) ps aux | grep xyz
A) ssh-config
B) netstat nap | grep xyz
B) ssh-add
C) lsof p xyz
C) ssh-keygen
D) netstat pid | grep xyz
D) ssh-key

293
LPI Sertifikasyon Kitab

16. Sunucuda
... ak olan tm TCP port 19. Sistemdeki SUID ve SGID bitine sahip
numaralarn listelemek iin aadaki dosyalar bulmak iin aadaki ko-
komutlardan hangisi kullanlabilir? mutlardan hangisi kullanlr?

A) lsof pid |grep LISTEN A) find / -perm +6000 -type f

B) netstat na |grep LISTEN B) find / -perm 7000 -type f

C) sockstat tcp |grep LISTEN C) find / -perm 4755 -type f

D) ps aux| grep LISTEN D) find / -perm -5000 -type f

20. sshd servisinin hizmet verdii port


numarasn deitirmek iin aadaki
17. Kullanclara ilemci, bellek vb limitleri dosyalardan hangisi dzenlenmelidir?
tanmlamak iin aadaki dosyalar-
dan hangisi kullanlr? A) /etc/ssh/ssh
B) /etc/ssh/ssh_config
A) /etc/security/limits.conf
C) /etc/ssh/sshd_config
B) /etc/resource/limit.conf
D) /etc/sshd.conf
C) /etc/limits.conf
D) /etc/userlimits.conf
21. ssh zerinden root olarak girii iptal
etmek iin yaplandrma dosyasnda
hangi parametre dzenlenmelidir?

18. Aadaki satra gre n tanml olarak A) AllowRoot


Ctrl-alt-delete yapldnda system B) AllowRootLogin
yeniden balatlacak(reboot) ekilde
C) PermitRootLogin
yaplandrma yaplmtr. ca:12345:ctr-
laltdel:/sbin/shutdown -t1 -a -r now D) RootLogin

A) /etc/security.conf
22. Sudo yaplandrma dosyasn dzenle-
B) /etc/grub.conf
mek iin en uygun komut hangisidir?
C) /etc/inittab
D) /etc/services A) sudoedit
B) sudoconf
C) sudocfg
D) visudo

294
LPI Sertifikasyon Kitab

YANIT ANAHTARI
Sistem Mimarisi Aygtlar, Linux Dosya Sistemleri
1. a 11. a 1. a 9. b 17. c
2. c 12. a 2. c 10. b 18. c
3. a 13. a 3. b 11. a 19. b
4. d 14. /var/log/dmesg 4. d 12. c 20. b
5. a 15. c 5. d 13. c 21. c
6. c 6. b 14. d 22. c
7. b 7. c 15. a 23. a
8. d 8. a 16. a
9. c
10. a

Linux Kurulumu ve Paket ynetimi Kabuklar, script ve veri ynetimi


1. c 8. d 15. c 1. b 11. a 21. c
2. b 9. c 16. b 2. d 12. a 22. a
3. c 10. c 17. b 3. c 13. b 23. d
4. b 11. c 18. b 4. a 14. d 24. SET
5. b 12. c 19. c 5. c 15. c 25. FROM
6. c 13. d 20. c 6. a 16. a
7. a 14. c 7. b 17. /etc/profile
8. b 18. c
9. b 19. b
10. c 20. b

295
LPI Sertifikasyon Kitab

...
YANIT ANAHTARI
Linux Kurulumu ve Paket ynetimi Ynetim Grevleri
1. b 11. b 22. b 1. c 11. b 21. b
2. a 12. d 23. b 2. a 12. a
3. d 13. b 24. c 3. a 13. a
4. grep joe /etc/passwd 14. b 25. d 4. c 14. b
15. b 26. d
5. a 5. a ve c 15. b
16. e 27. c
6. b 6. c 16. d
17. c 28. d
7. d 7. c 17. b
18. b 29. d
8. b 19. c 30. b 8. c 18. c
9. c 20. d 31. b 9. d 19. c
10. c 21. a 32. c 10. c 20. d

Zaruri Sistem Servisleri A Temelleri


1. d 11. c 1. a 12. a
2. b 12. c 2. tcp 13. b
3. a 13. b 3. b 14. c
4. sendmail -bi 14. a 4. route add 15. dig pardus.
5. a 15. c default gw IP org.tr mx
6. a 16. a 5. I.64 II. 64 16. d
7. c 17. c 6. c 17. /etc/hosts
8. b 18. a 7. d 18. d
9. c 19. d 8. d 19. ifconfig eth0
9. c 192.168.1.5
10. d netmask
10. POP3: (110)
255.255.2550
SMTP: (25)
20. a
DNS: (53)
21. c
SSL: (443)
22. b
FTP Veri ve
Kontrol: (20, 21) 23. c
11. b 24. a

296
LPI Sertifikasyon Kitab

YANIT ANAHTARI
Gvenlik
1. b 11. c 21. c
2. c 12. c 22. d
3. d 13. c
4. b 14. c
5. b 15. b
6. d 16. b
7. a, b ve c 17. a
8. nologin 18. c
9. a 19. a
10. a 20. c

297

You might also like