5. Konsol
- top ile baktığımda her zaman belleğin tamamına yakınının kullanıldığını görüyorum. Bunun nedeni nedir?
- Konsoldaki ekran koruyucusunun süresini nasıl ayarlarım?
- ls ile sadece dizinleri nasıl listelerim?
- Bulunduğum dizinde kaç tane altdizin olduğunu nasil öğrenirim?
- Bir dosyanın nerede olduğunu nasıl bulurum?
- İçinde belirli bir kelime geçen dosyaları nasıl bulurum?
- CVS ağacından sadece "tr.po" dosyalarını nasıl ayıklayıp paketleyebilirim?
- Nasıl tar dosyası oluşturabilirim?
- tar ile nasıl yedek alırım?
- dump ile nasıl yedek alırım?
- Bir .bz2 dosyasını nasıl açarım?
- Yanlışlıkla ikilik bir dosyayı cat ile ekrana yazdırdım. Konsol kullanılmaz hale geldi. Ne yapmalıyım?
- Bir önceki dizine nasıl dönerim? Bir üst dizine nasıl çıkarım?
- Bir dosyayı nasıl sıkıştırabilirim?
- Bir dosyanın türünü nasıl öğrenebilirim?
- Bir dizinin ne kadar yer kapladığını nasıl öğrenirim?
- Sabit disklerimin ne kadarını kullandığımı nasıl öğrenirim?
- Ne kadar bellek kullanıldığını nasıl öğrenirim?
- Bir dosyayı satır sayısına veya dosya boyuna göre nasıl bölerim?
- Bir bash betiği ile sistemin tarih-saat bilgilerini nasıl alırım?
- Bulunduğum dizindeki uygulamaları neden çalıştıramıyorum?
- Bulunduğumuz dizindeki uygulamaları çalıştırmak için ./ dizininin PATH'a eklenmesinin güvenlik açığına neden olduğunu söylediniz. Bahsedilen güvenlik sakıncası nedir?
- Linux açıldığında NumLock tuşunun otomatik olarak etkin olmasını nasıl sağlarım?
- Kullandığım Linux çekirdeğinin sürümünü ve makinanın adını nasıl öğrenebilirim?
- Linux'ta silinen dosyalar nasıl geri alınabiliyor? (undelete)
- Linux açılırken ekrana çıkanları daha sonra nasıl görebilirim?
- Sistem kaynaklarını nasıl görüntülerim?
- Slackware dağıtımı için kaynak kodundan derlemek dışında bir çözüm yok mu?
- Windows'dan telnet veya ssh ile bağlandığımda işlev tuşları çalışmıyor. Mesela mc'nin menülerine ulaşamıyorum. Ne yapmalıyım?
- Bir rpm paketini rpm -Uvf ile güncellemek istediğimde "error: failed dependencies" şeklinde bir hata veriyor. Sorun nedir?
- Linux altında CD nasıl yazarım?
- Internet'den çektiğimiz bir ISO dosyasını CD'ye nasıl yazabiliriz?
- CD yazmak için bilgileri nereden bulabilirim?
- CD yazmak istediğimde cdrecord yazılımı SCSI arabirimi kullanmadığım halde sürekli olarak 'Cannot open SCSI driver' hatası veriyor?
- Takas alanım çalışmıyor? Sebebi ne olabilir?
- "Unable to find swap-space signature" mesajı ne anlama geliyor?
- LILO'yu kaldırmak istiyorum, nasıl yapabilirim?
- Swap eklemek istiyorum ama diskimde yeni bir takas bölümü oluşturmak için boş yerim yok. Ne yapmalıyım?
- Linux'ta login ekranınında çıkan mesajı nasıl değiştirebiliriz?
- Linux neden bu kadar yavaş?
- Eyvah! Linux root parolamı unuttum. Ne yapmalıyım?
- /dev/hda2'de ntfs sistemi var. Bağlamaya çalıştığımda çekirdeğinin ntfs'i desteklemediğini yazıyor. Nasıl destek verebilirim?
- "tar.gz dosyasını al, ./configure, make sonra da make install yaz çalışır." dediler, yapıyorum ama bazan olmuyor. Biraz daha bilgiye ihtiyacım var.
- Konsol modundayken bazı servisleri açıp/kapamak icin gereken yöntem nedir?
- Eposta günlük dosyalarını tail ile gözlüyorken, kullanıcıların pop loginlerini boşuna görmeyeyim dedim. Böyle birşeyi nasıl yapabilirim?
-
-
top ile baktığımda her zaman belleğin tamamına yakınının kullanıldığını görüyorum. Bunun nedeni nedir?
-
Yanıtlayan: M. Umut Atasever
Boş bellek tampon (buffer) ve arabellek (cache) olarak kullanılır. Eğer takas kullanımınız sıfır ise gerçek kullanılan bellek değerini
$
cat /proc/meminfo
çıktısındaki
MemShared
değişkeninde görebilirsiniz.
-
-
-
Konsoldaki ekran koruyucusunun süresini nasıl ayarlarım?
-
Yanıtlayan: M. Umut Atasever
Örneğin 15 dakikaya ayarlamak için
#
/bin/setterm -blank 15
komutunu kullanabilirsiniz.
-
-
-
ls ile sadece dizinleri nasıl listelerim?
-
$
ls -l | grep "^d"
-
-
-
Bulunduğum dizinde kaç tane altdizin olduğunu nasil öğrenirim?
-
Yanıtlayan: M. Umut Atasever
$
ls -la |grep "^d" | wc -l
-
-
-
Bir dosyanın nerede olduğunu nasıl bulurum?
-
Yanıtlayan: M. Umut Atasever
$
find
BaşlanacakDizin-name
"DosyaAdı"-print
-
-
-
İçinde belirli bir kelime geçen dosyaları nasıl bulurum?
-
Yanıtlayan: M. Umut Atasever
find
BaşlamaDizini-type f -printf "%p " | xargs egrep -i
"ArananKelime"| less
Örneğin,
$
find /etc -type f -printf "%p " | xargs egrep -i "User" | less
komut dizisi
/etc
dizininden itibaren içinde "User" kelimesi geçen dosyaları listeler.
-
-
-
CVS ağacından sadece "tr.po" dosyalarını nasıl ayıklayıp paketleyebilirim?
-
Yanıtlayan: Görkem Çetin
$
tar -zcvf polar.tgz `find . -name "tr.po"`
-
-
-
Nasıl tar dosyası oluşturabilirim?
-
Yanıtlayan: M. Umut Atasever
.tar
dosyası oluşturmak için:$
tar -cvf
dosyam.tar dosya-veya-dizin ....tar.gz
dosyası oluşturmak için:$
tar -czvf
dosyam.tar dosya-veya-dizin ...
-
-
-
tar ile nasıl yedek alırım?
-
Yanıtlayan: Barış Şimşek
$
tar -b4096 -zcvf
hedef kaynak-b
blok sayısını belirmenizi sağlar. Bu seçeneği kullanmazsanız geçerli olarak 1024 byte kullanılır. Bu değer eski tip yedekleme birimlerine göredir. 1024 byte ile yedekleme işleminiz çok yavaş olacaktır.-z
seçeneği sıkıştırmak içindir. İsterseniz kullanmayabilirsiniz. Yerden kazanmak için kullanışlıdır.-c
yedek oluşturur.-v
(verbose), yani ekrana ayrıntılı açıklama basar.-f
çıktının yazılacağı dosya. Bu sizin yedekleme biriminizinhedef
/dev/
altındaki aygıt karşılığı olabileceği gibiyedek.tgz
şeklinde bir dosya ismi de olabilir.kaynak
ise sıkıştırmak istediğiniz dizin ve/veya dosyaları belirtir. Aralarında boşluk bırakarak çok sayıda dizin ve/veya dosya belirtebilirsiniz.
-
-
-
dump ile nasıl yedek alırım?
-
Yanıtlayan: Barış Şimşek
dump ile bir dosya sisteminin yedeği şöyle alınır:
#
dump -auc0 -f/dev/st0 /dev/hda1
Burada yedekleme ünitenizin
/dev/rsa0
olduğunu varsaydım. Bu komut ile/dev/hda1
yani sabit diskinizin ilk bölümü yedeklenir.
-
-
-
Bir .bz2 dosyasını nasıl açarım?
-
Yanıtlayan: M. Umut Atasever
$
bzip2 -dv Dosyaadi.bz2
-
-
-
Yanlışlıkla ikilik bir dosyayı cat ile ekrana yazdırdım. Konsol kullanılmaz hale geldi. Ne yapmalıyım?
-
Yanıtlayan: M. Umut Atasever
Bunu düzeltmek için
Control+v Escape+c
kullanabilirsiniz.Ekleme: Konsol kullanılamaz halde olsa bile ve siz birşey yazdığınızı görmeseniz bile yine de konsolda
reset
yazın. Eski haline dönecektir.
-
-
-
Bir önceki dizine nasıl dönerim? Bir üst dizine nasıl çıkarım?
-
Yanıtlayan: M. Umut Atasever
Bir önceki dizine
cd -
, bir üst dizinecd ..
ile gidebilirdiniz.
-
-
-
Bir dosyayı nasıl sıkıştırabilirim?
-
Yanıtlayan: Alper Oğuz
Bunun için en kolay yol
gzip
kullanmaktır.$
gzip -9 /dizin/dosya
ile dosya sıkıştırılabilir.
-9
maksimum sıkıştırma uygulanması içindir.gzip
sıkıştırılan dosyaların sonuna.gz
ekler.Bu yolla sıkıştırılmış bir dosyayı açmak için
$
gunzip /dizin/dosya
kullanılır. Dosya açılacak ve sonundaki
.gz
kaldırılacaktır.
-
-
-
Bir dosyanın türünü nasıl öğrenebilirim?
-
Yanıtlayan: Alper Oğuz
$
file dosya
-
-
-
Bir dizinin ne kadar yer kapladığını nasıl öğrenirim?
-
Yanıtlayan: M. Umut Atasever
$
du -s dizinadi
-
-
-
Sabit disklerimin ne kadarını kullandığımı nasıl öğrenirim?
-
Yanıtlayan: M. Umut Atasever
$
df -k
-
-
-
Ne kadar bellek kullanıldığını nasıl öğrenirim?
-
Yanıtlayan: M. Umut Atasever
free
komutunu kullanabilirsiniz.
-
-
-
Bir dosyayı satır sayısına veya dosya boyuna göre nasıl bölerim?
-
Yanıtlayan: Alper Oğuz
Bunun için
split
komutu kullanılmaktadır. Belli bir satır sayısından sonra bölmek için-l
, dosya boyuna göre bölmek için-b
bağımsız değişkenleri kullanılır. Örnek vermek gerekirse:$
split -l 100 dosya.txt yeni
Bu komut
dosya.txt
dosyasını 100'er satırlık parçalara böler veyeniaa, yeniab, yeniac, ...
şeklinde dosyalar oluşturur.$
split -b 1440k dosya.txt yeni
Bu komut ise
dosya.txt
dosyasını 1.44 MB´lık parçalara böler veyeniaa, yeniab, yeniac, ...
şeklinde dosyalar oluşturur.
-
-
-
Bir bash betiği ile sistemin tarih-saat bilgilerini nasıl alırım?
-
Yanıtlayan: Alper Oğuz
Zaman bilgisi gerektiğinde aşağıdaki satırlar ile
DDMMYY-hh:mm.ss
biçeminde zaman bilgisi$tarih
değişkenine yüklenebilir. Biçemi istediğiniz gibi değiştirebilirsiniz. Hata olursa tırnak işaretlerinde sorun olabilir.#!/bin/bash gun=`date +%d` ay=`date +%m` yil=`date +%y` saat=`date +%H:%M.%S` tarih=$gun$ay$yil-$saat echo $tarih
Ayrıntılı bilgi için
man date
ya dadate --help
ile yardım alabilirsiniz.
-
-
-
Bulunduğum dizindeki uygulamaları neden çalıştıramıyorum?
-
Yanıtlayan: Murat Koç
Çünkü bulunduğunuz dizin ".", $PATH ortam değişkeninde güvenlik sebebiyle bulunmuyor. Bulunduğunuz dizindeki uygulamaları çalıştırmak için
uygulamam
yerine./uygulamam
kullanın. Bir başka yol iseexport PATH=$PATH:.
ile./
dizinini $PATH ortam değişkeninize eklemektir.
-
-
-
Bulunduğumuz dizindeki uygulamaları çalıştırmak için ./ dizininin PATH'a eklenmesinin güvenlik açığına neden olduğunu söylediniz. Bahsedilen güvenlik sakıncası nedir?
-
Yanıtlayan: Murat Koç
Bulunduğunuz dizindeki uygulamalar kullanıcı uygulamaları olup güvenilir olmayabilirler. Dolayısıyla çalıştırılmaları özellikle
./
söylenerek yapılır. Tabi kendinizden eminseniz PATH'e ekleyebilirsiniz. Ayrıca:export PATH=".":$PATH
şeklinde bir tanımlama yapmak ciddi bir güvenlik açığı olabilir. Bunun yerineexport PATH=$PATH:.
şeklinde yapmak daha güvenli olacaktır.Şundan dolayı; ilk tanımlamada bulunduğunuz dizin verilen komut için aranılan ilk dizin olacaktir. Yani siz örneğin
ls
komutunu verdiğiniz zaman ilk önce bulunduğunuz dizindels
adlı bir dosya olup olmadığına bakılır. Bu durumda örneğin bir kullanıcı bulunduğu, yani kendi ev dizinindels
diye bir çalıştırılabilir dosya yaratabilir ve içine örneğin,echo "acemi:0:0:.... " >>/etc/passwd /bin/ls
gibi veya daha düzenli bir bash betiği yazarak kendisine acemi adında root haklarına sahip bir kullanıcı açılmasını sağlayabilir. Bunu sağlaması ise root'un o kullanıcının ev dizinine giderek
ls
komutunu vermesi ile olur. Böylece ilk örnekte "." PATH tanımlasının en başında olduğu için bulunulan yerdekils
'e bakılır ve acemi kullanıcısı açılmış olur. Bundan dolayı "." gibi tanımlamaları aslında eklememek, PATH'e eklenecekse de en sona eklemek gerekir.
-
-
-
Linux açıldığında NumLock tuşunun otomatik olarak etkin olmasını nasıl sağlarım?
-
Yanıtlayan: M. Umut Atasever
/etc/rc.local
dosyasının sonunafor t in 1 2 3 4 5 6 7 8 do setleds +num < /dev/tty$t > /dev/null done
eklemesini yapın.
-
-
-
Kullandığım Linux çekirdeğinin sürümünü ve makinanın adını nasıl öğrenebilirim?
-
Yanıtlayan: M. Umut Atasever
uname -a
komutunu kullanabilirsiniz.
-
-
-
Linux'ta silinen dosyalar nasıl geri alınabiliyor? (undelete)
-
Yanıtlayan: Barış Şimşek
Midnight Commander'ın Command menüsünden ext2 dosya sisteminde silinen dosyaları geri alabilirsiniz.
Dosyayı geri kurtarmak için bir mekanizma yoktur. Ancak bunu yapabilmeniz mümkün. Değişik yollardan birkaçı: (Bunların hepsi olasılık)
Midnight Commander, dosya sistemi işlevlerini kullanarak (sadece ext2fs ve ext3fs için geçerli olmak üzere) silinen dosyayı geri kurtarabiliyor.
Bunun dışında doğrudan disk üzerinde
grep
ile arama yapabilirsiniz.#
grep -b "kayip yazilarim" /dev/hda
-B
ve-C
gibi seçenekler kullanışlı olabilir.
-
-
-
Linux açılırken ekrana çıkanları daha sonra nasıl görebilirim?
-
Yanıtlayan: Mehmet Kızılsakal
dmesg
ile görebilirsiniz.
-
-
-
Sistem kaynaklarını nasıl görüntülerim?
-
Yanıtlayan: Barış Şimşek
top
komutu ile bellek ve takas alanınızın ne kadarının kullanıldığını, ne kadarının boş olduğunu, ayrıca süreçlerinizin ne kadar işlemci ve bellek kullandığını görebilirsiniz.
-
-
-
Slackware dağıtımı için kaynak kodundan derlemek dışında bir çözüm yok mu?
-
Yanıtlayan: Enver ALTIN
http://www.linuxpackages.net/ adresinde Slackware için derlenmiş
.tgz
paketleri bulabilirsiniz.
-
-
-
Windows'dan telnet veya ssh ile bağlandığımda işlev tuşları çalışmıyor. Mesela mc'nin menülerine ulaşamıyorum. Ne yapmalıyım?
-
Yanıtlayan: M. Umut Atasever
İşlev tuşları yerine ESC tuşu ile birlikte rakamlar kullanılabilir. Örneğin: F3 yerine ESC + 3, F10 yerine ESC + 0
-
-
-
Bir rpm paketini rpm -Uvf ile güncellemek istediğimde "error: failed dependencies" şeklinde bir hata veriyor. Sorun nedir?
-
Yanıtlayan: Enver ALTIN
Kurmak istediğiniz rpm paketi diğer başka paketlere de ihtiyaç duyuyor. Bu paketle *birlikte* onları da kurmalısınız (gerekmedikçe -f kullanmayın).
-
-
-
Linux altında CD nasıl yazarım?
-
Yanıtlayan: Nilgün Belma Bugüner
Linux'da CD Yazımı belgesinde anlatılıyor.
-
-
-
Internet'den çektiğimiz bir ISO dosyasını CD'ye nasıl yazabiliriz?
-
Yanıtlayan: Nilgün Belma Bugüner
Linux'da CD Yazımı belgesinde anlatılıyor.
-
-
-
CD yazmak için bilgileri nereden bulabilirim?
-
Yanıtlayan: Nilgün Belma Bugüner
Linux'da CD Yazımı belgesine bakın.
-
-
-
CD yazmak istediğimde cdrecord yazılımı SCSI arabirimi kullanmadığım halde sürekli olarak 'Cannot open SCSI driver' hatası veriyor?
-
Yanıtlayan: Osman Bayazit
Çekirdeğin IDE CD yazıcınızı SCSI olarak görmesi için çekirdeğe "SCSI Emulator" desteği vermeli ve
/etc/lilo.conf
dosyanıza aşağıdaki gibi bir tanım satırı eklemelisiniz:label=linux
yazan gruba,append="hdX=ide-scsi"
eklemelisiniz.hdX
'de X yerine CDRW'ın takılı olduğu ide portunu yazmalısınız.
-
-
-
Takas alanım çalışmıyor? Sebebi ne olabilir?
-
Yanıtlayan: Barış Şimşek
Linux'unuz açılırken ekranda
Adding Swap: 208804k swap-space (priority -1)
gibi bir satır görmeniz gerekir. Eğer görmüyorsanız takas alanınız sistem açılırken eklenmiyor demektir. Sisteme girdikten sonra:
#
swapon -av
komutu ile takas alanı çalışır hale getirebilirsiniz. Her açılışta takas alanınızın da açılmasını istiyorsanız açılış betiklerinize (genelde
/etc/rc.d
dizini altındadırlar):/dev/hda2 none swap sw
şeklinde bir satır ekleyin. Burada takas alanınızı
/dev/hda2
olarak ayırdığınızı varsaydım.
-
-
-
"Unable to find swap-space signature" mesajı ne anlama geliyor?
-
Yanıtlayan: Barış Şimşek
Bu hatayı alıyorsanız
mkswap
komutunu çalıştırmamışsınız demektir.mkswap
,mkfs
gibi dosya sistemi (ama takas dosya sistemi) oluşturur. Ancak oluşturulan dosya sisteminin tipini swap yapar.
-
-
-
LILO'yu kaldırmak istiyorum, nasıl yapabilirim?
-
Yanıtlayan: Barış Şimşek
Linux altında
#
lilo -u /dev/hda
Windows/DOS altında
C:\
fdisk /mbr
-
-
-
Swap eklemek istiyorum ama diskimde yeni bir takas bölümü oluşturmak için boş yerim yok. Ne yapmalıyım?
-
Yanıtlayan: Enver ALTIN
Linux için sistemdeki herhangi bir donanım, disk bölümlemeleri ve diğer nesneler, dosyalar yoluyla temsil edilir. Herhangi bir dosya ile
/dev/hda5
arasında dosya kullanan kullanıcı yazılımları için bir fark yoktur. Bu nedenle sisteminize:#
dd if=/dev/zero of=/var/swapfile bs=1M count=128
#mkswap /var/swapfile
#swapon /var/swapfile
ile kolaylıkla 128 MB'lık bir takas dosyası ekleyebilirsiniz.
-
-
-
Linux'ta login ekranınında çıkan mesajı nasıl değiştirebiliriz?
-
Yanıtlayan: Devrim GÜNDÜZ
/etc/issue.net
dosyasının içeriği, telnet girişi sırasında gösterilir. Ayrıntılı bilgi için,man issue.net
komutu ile ilgili yardım sayfasına bakabilirsiniz.
-
-
-
Linux neden bu kadar yavaş?
-
Yanıtlayan: Enver ALTIN
Linux yavaş değildir, bazı dağıtımlarla birlikte gelen derlenmiş çekirdek donanım uyumluluğunu arttırabilmek için sistemi minimum güçte çalıştırıyor olabilir.
Hızlandırmak için birkaç ipucu:
-
Sisteminizin IDE seçeneklerini düzenleyin:
#
hdparm -c1 -d1 -k1 -X66 /dev/hda
Burada:
-c1
: 32bits disk G/Ç (etkin).-d1
: DMA kullanılsın (etkin).-k1
: IDE soft-reset sırasındaki ayarları sakla. (Diskiniz kendi ayarlarını bir hata sonucunda sıfırlarsa bu ayarları hatırlayacak)-X66
: UDMA66 Kipi 2 (etkin). -
Gereksiz gördüğünüz tüm yazılımları kapatın. Mümkünse çekirdeği kendiniz derleyin.
-
-
-
-
Eyvah! Linux root parolamı unuttum. Ne yapmalıyım?
-
Yanıtlayan: Nilgün Belma Bugüner
Sisteminiz açılırken, BIOS ekranını geçtikten hemen sonra
LILO boot:
komut satırında, çekirdek için:linux single
komutunu verin. Sistem açıldıktan sonra doğrudan root yetkileriyle komut satırı ile karşılaşacaksınız. Parolanızı değiştirmek için
passwd
komutu verdikten sonra parolanızı yazın ve sisteminizi yeniden başlatın.
-
-
-
/dev/hda2'de ntfs sistemi var. Bağlamaya çalıştığımda çekirdeğinin ntfs'i desteklemediğini yazıyor. Nasıl destek verebilirim?
-
Yanıtlayan: Doruk Fişek M. Özdoğan
Bunun için çekirdeği yeniden derlemeniz ve
ntfs
'i eklemeniz gerekebilir. Oradan "File System" sekmesinden NTFS'i açarsanız görebilirsiniz.Eğer sistemde
ntfs
modül olarak varsa,# modprobe ntfs
komutu ile bu modülü yükleyebilirsiniz. Bundan sonra aşağıdakine benzer bir satır ile
ntfs
dosya bölümünüzü bir dizine bağlayabilirsiniz:#
mount -t ntfs /dev/hda2 /mnt/ntfs
-
-
-
"tar.gz dosyasını al, ./configure, make sonra da make install yaz çalışır." dediler, yapıyorum ama bazan olmuyor. Biraz daha bilgiye ihtiyacım var.
-
Yanıtlayan: Enver ALTIN
configure betiği, GNU autoconf tarafından, autogen.sh kullanılarak,
configure.in
içersindeki tanımlar yoluyla oluşturulan, yazılımcıların kendi işlerini kolaylaştırmak için kullandıkları araçlardandır. Tam anlamıyla ifade etmek gerekirse, derlenmesi arzu edilen paketin bu sistem üzerinde çalışıp çalışamayacağı, çalışması mümkün ise hangi derleyici (compiler) ve seçeneklerle derleneceği, hangi ilintileyici (linker) seçeneklerinin kullanılacağı ve bunların hepsinden önce, derlenmesi istenen paketin ihtiyaç duyması muhtemel diğer yazılımların ve kütüphanelerin denetlenmesi gibi işler configure tarafından yapılır.configure betiği başarıyla sonuçlandıysa, tüm (alt) dizinlerin ve yazılımın kaynak kodunun bulunduğu dizinin içersinde
Makefile
adında dosyalar oluşur. Bu dosyalar içersinde, make komutunun o dizinin içinde neler yapması gerektiği tanımlıdır. make komutu verdiğinizde, aslında/usr/bin/make
, önce paketin kurulduğu dizin içersindekiMakefile
dosyasını inceler. Bu dosya içersinde de alt dizinlerdekiMakefile
dosyalarına bağlantılar vardır ve bu dosyalardaki tanımlara göre yine belirli bir sıra içersinde bazı işlemler yapılır (Derleyicinin çalıştırılması, her .c dosyasının derlenmesi, bağlayıcının [/usr/bin/ld
] çalıştırılması gibi).Makefile
dosyaları içersinde işletilecek komutlar belli komut grupları altında tanımlıdır ve make komutuyla birlikte belirtilen seçenek ile (make install komutundainstall
bir seçenektir.) make'in bu komut gruplarından hangisinin işletileceği belirtilir, eğer belirtilmezse seçenek olarakall
verilmiş gibiall
grubundaki komutlar işletilir. Dolayısıyla make ve make all aynıdır ve GNU autoconf / automake tarafından oluşturulan standart gruplardaninstall
veclean
dışındaki tüm grupların işletilmesi anlamına gelir (tabii bu daMakefile
içersinde tanımlıdır ve değiştirilebilir).make install ile
Makefile
içersindekiinstall
adlı grubu işletmiş oluyoruz. Bu da, derlenmesi tamamlanmış ve bağlama (linking) işlemi yapılmış dosyaların ve bu yazılım tarafından ihtiyaç duyulan diğer dosyaların sistemde istenen yerlere kopyalanması anlamına gelir. Eğer make install'dan önce,all
kuralı uygulanmadıysa, yani make install'dan önce make komutu çalıştırılmamışsa, make all ile yapılması gereken işlemler de yapılacaktır. Kısaca, make install standart gruplardanclean
dışındaki grupları işletir.Örneğin:
$
configure --prefix=/usr --disable-debug
ile, derlenecek paketin, make install ile kurulacağı dizinler
/usr
dizininin altındaki dizinler olacaktır. Dolayısıyla yazılımın çalıştırılabilir dosyaları/usr/bin
altında, belgeleri/usr/doc
altında, diğer yazılımlarla ortak kullanılan dosyalar/usr/share
altında, kütüphaneler/usr/lib
altında, vs. olacak. Ayrıca hata ayıklama işlemini kolaylaştırmak için yazılım içersine eklenen bazı yardımcı işlevler de--disable-debug
seçeneği ile kapatılıyor.$
make install
ile de önce
all
kuralı uygulanacak, daha sonrainstall
kuralı uygulanacak ve yazılım ilgili dizinlere yerleştirilecektir.İpucu
configure tarafından derleyiciye aktarılacak olan CFLAGS ve CXXFLAGS (g++/C++ için) gibi seçenekleri ortam değişkenleri ile oynayarak değiştirmek mümkün, ancak configure'den önce yapılmalı. Örnek:
$
CFLAGS="-O4 -march=i686 -fomit-frame-pointer -pipe" configure --prefix=/usr
-
-
-
Konsol modundayken bazı servisleri açıp/kapamak icin gereken yöntem nedir?
-
Yanıtlayan: Enver ALTIN
Standart bir yöntem yok. Birçok yazılım,
SIGHUP
için "yapılandırmayı yeniden okuma" ya da "yeniden başlatma" yapacak bir sinyal yakalayıcı tanımlıyor.Örneğin inetd bu tür yazılımlardan biridir.
/etc/services
dosyası, ağ protokollerinin (TCP ve UDP) adlarının gerçekte hangi port numarasına ait olduğu bilgilerinin tanımlandığı dosyadır. inetd/xinetd tarafından yönetilen hizmetler (telnet, rlogin, finger, time, ftp, pop3 gibi) için/etc/inetd.conf
veya xinetd için/etc/xinetd.d/*
basitçe portları açıp kapatmak için kullanılabilir. Ayrıca sistemi yeniden başlatmak gerekmez:#
killall -HUP inetd
veya
#
killall -HUP xinetd
yeterli olur. Burada dikkat ederseniz killall kullandık. kill komutunu da kullanabilirdik. Ancak kill ve killall arasında bir fark var. kill ile bir süreç kimliği (PID) belirtmelisiniz (ps çıktısındaki gibi). örneğin sistemimdeki inetd'yi bulmak için:
#
ps ax | grep inetd
komutunu veriyorum. Karşıma:
PID TTY STAT TIME COMMAND 74 ? S 0:00 /usr/sbin/inetd
geliyor. inetd'yi yeniden başlatmak için:
#
kill -HUP 74
komutunu vermem yeterli. Üstteki örnek, killall ile yapılan işlemin aynısı.
killall komutunun adının killall olmasının nedeni, sistemde belirtilen adda birçok süreç çalışma ihtimalinin olması. Örneğin makinanız çok sayıda web sunucusuna ev sahipliği yapıyorsa bu sunucuları hepsini birden tek komutla yeniden başlatabilirsiniz.
#
killall -HUP httpd
Bu komut, sistemdeki tüm apache httpd süreçlerine bir
SIGHUP
(Hang-up signal - aç-kapa sinyali) [bkz:man 7 signal
] gönderecektir.Bilginize
kill, süreçlere sinyal göndermek için kullanılır. kill için herhangi bir seçenek belirtilmezse
SIGTERM
sinyalinin gönderildiği varsayılır, bu da sinyali alan sürecin güvenli biçimde kapanması demektir.
-
-
-
Eposta günlük dosyalarını tail ile gözlüyorken, kullanıcıların pop loginlerini boşuna görmeyeyim dedim. Böyle birşeyi nasıl yapabilirim?
-
Yanıtlayan: Görkem Çetin
#
tail -f /var/log/mail | grep -v "POP login"
komutunun işinizi gormesi gerekiyor.
Ek bilgi:
|
karakterinin solunda ve sağında iki komut bulunur.>
karakterinin solunda bir komut, sağında ise bir dosya vardır. Aynısı<
için de geçerlidir. Yukarıdaki işlemde kısaca "/var/log/mail
dosyasının son kısımlarını sürekli ekrana verirken, içinde "POP login" geçen satırları ayıkla" demeye çalıştık.Boru ( | ) karakteri bu işlemler için biçilmiş kaftandır. Üretilen bir verinin belirli kriterlere göre yeniden işlenmesine olanak tanır.
grep
'e verilen-v
seçeneği ise içinde belirli bir metin geçmeyen satırları ekrana göndermeye yarar.
-