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
MemShareddeğ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 15komutunu 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
$
findBaşlanacakDizin-name"DosyaAdı"-print
-
-
-
İçinde belirli bir kelime geçen dosyaları nasıl bulurum?
-
Yanıtlayan: M. Umut Atasever
findBaşlamaDizini-type f -printf "%p " | xargs egrep -i"ArananKelime"| lessÖrneğin,
$
find /etc -type f -printf "%p " | xargs egrep -i "User" | lesskomut dizisi
/etcdizininden 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
.tardosyası oluşturmak için:$
tar -cvfdosyam.tar dosya-veya-dizin ....tar.gzdosyası oluşturmak için:$
tar -czvfdosyam.tar dosya-veya-dizin ...
-
-
-
tar ile nasıl yedek alırım?
-
Yanıtlayan: Barış Şimşek
$
tar -b4096 -zcvfhedef kaynak-bblok 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.-zseçeneği sıkıştırmak içindir. İsterseniz kullanmayabilirsiniz. Yerden kazanmak için kullanışlıdır.-cyedek 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.kaynakise 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/hda1Burada yedekleme ünitenizin
/dev/rsa0olduğunu varsaydım. Bu komut ile/dev/hda1yani 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+ckullanabilirsiniz.Ekleme: Konsol kullanılamaz halde olsa bile ve siz birşey yazdığınızı görmeseniz bile yine de konsolda
resetyazı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
gzipkullanmaktır.$
gzip -9 /dizin/dosyaile dosya sıkıştırılabilir.
-9maksimum sıkıştırma uygulanması içindir.gzipsıkıştırılan dosyaların sonuna.gzekler.Bu yolla sıkıştırılmış bir dosyayı açmak için
$
gunzip /dizin/dosyakullanılır. Dosya açılacak ve sonundaki
.gzkaldı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
freekomutunu 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
splitkomutu kullanılmaktadır. Belli bir satır sayısından sonra bölmek için-l, dosya boyuna göre bölmek için-bbağımsız değişkenleri kullanılır. Örnek vermek gerekirse:$
split -l 100 dosya.txt yeniBu komut
dosya.txtdosyasını 100'er satırlık parçalara böler veyeniaa, yeniab, yeniac, ...şeklinde dosyalar oluşturur.$
split -b 1440k dosya.txt yeniBu komut ise
dosya.txtdosyası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.ssbiçeminde zaman bilgisi$tarihdeğ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 dateya dadate --helpile 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
uygulamamyerine./uygulamamkullanı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
lskomutunu verdiğiniz zaman ilk önce bulunduğunuz dizindelsadlı bir dosya olup olmadığına bakılır. Bu durumda örneğin bir kullanıcı bulunduğu, yani kendi ev dizinindelsdiye 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
lskomutunu 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.localdosyası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 -akomutunu 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
grepile arama yapabilirsiniz.#
grep -b "kayip yazilarim" /dev/hda-Bve-Cgibi seçenekler kullanışlı olabilir.
-
-
-
Linux açılırken ekrana çıkanları daha sonra nasıl görebilirim?
-
Yanıtlayan: Mehmet Kızılsakal
dmesgile görebilirsiniz.
-
-
-
Sistem kaynaklarını nasıl görüntülerim?
-
Yanıtlayan: Barış Şimşek
topkomutu 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ş
.tgzpaketleri 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.confdosyanıza aşağıdaki gibi bir tanım satırı eklemelisiniz:label=linuxyazan 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 -avkomutu 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.ddizini altındadırlar):/dev/hda2 none swap sw
şeklinde bir satır ekleyin. Burada takas alanınızı
/dev/hda2olarak 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
mkswapkomutunu çalıştırmamışsınız demektir.mkswap,mkfsgibi 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/hdaWindows/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/hda5arası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/swapfileile 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.netdosyasının içeriği, telnet girişi sırasında gösterilir. Ayrıntılı bilgi için,man issue.netkomutu 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/hdaBurada:
-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
passwdkomutu 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
ntfsmodül olarak varsa,# modprobe ntfs
komutu ile bu modülü yükleyebilirsiniz. Bundan sonra aşağıdakine benzer bir satır ile
ntfsdosya 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.iniç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
Makefileadı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çersindekiMakefiledosyasını inceler. Bu dosya içersinde de alt dizinlerdekiMakefiledosyaları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).Makefiledosyaları içersinde işletilecek komutlar belli komut grupları altında tanımlıdır ve make komutuyla birlikte belirtilen seçenek ile (make install komutundainstallbir seçenektir.) make'in bu komut gruplarından hangisinin işletileceği belirtilir, eğer belirtilmezse seçenek olarakallverilmiş gibiallgrubundaki komutlar işletilir. Dolayısıyla make ve make all aynıdır ve GNU autoconf / automake tarafından oluşturulan standart gruplardaninstallvecleandışındaki tüm grupların işletilmesi anlamına gelir (tabii bu daMakefileiçersinde tanımlıdır ve değiştirilebilir).make install ile
Makefileiçersindekiinstalladlı 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,allkuralı 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 gruplardancleandışındaki grupları işletir.Örneğin:
$
configure --prefix=/usr --disable-debugile, derlenecek paketin, make install ile kurulacağı dizinler
/usrdizininin altındaki dizinler olacaktır. Dolayısıyla yazılımın çalıştırılabilir dosyaları/usr/binaltında, belgeleri/usr/docaltında, diğer yazılımlarla ortak kullanılan dosyalar/usr/sharealtında, kütüphaneler/usr/libaltı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-debugseçeneği ile kapatılıyor.$
make installile de önce
allkuralı uygulanacak, daha sonrainstallkuralı 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,
SIGHUPiç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/servicesdosyası, 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.confveya 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 inetdveya
#
killall -HUP xinetdyeterli 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 inetdkomutunu 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 74komutunu 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 httpdBu 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
SIGTERMsinyalinin 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/maildosyası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-vseçeneği ise içinde belirli bir metin geçmeyen satırları ekrana göndermeye yarar.
-