Lütfen Artık Herkes Bilinçlensin (Google Pagerank)
%100 etkilemez demek hatalı bir yaklaşım olurken, %1-2 lik bir etkisi var demek daha dogru olur. %1-2 oranıda devede kulak sayılabilecek bir katsayı.
Gidip pr5 ve sizinle farklı içerikli bir siteden karşılıklı link degişimi yaparsan %20 civarında bir katsayı ile size dönerken,
Gidip pr5 ve sizinle aynı içerikli bir siteden karşılıklı link degişimi yaparsan %40 civarında bir katsayı ile size dönerken,
Gidip pr5 ve sizinle aynı içerikli bir siteden karşılıksız link alırsanız %100 e yakın bir katsayı ile size döner.
Matematikten anlayan bir adamın yapacağı en mantıklı şey, Sizinle aynı içerikli siteden karşılıksız link almaktır.
Her önünüze gelen siteye link kesinlikle ama kesinlikle link vermeyin
Basit bir matematiksel yaklaşım ile şöyle düşünebiliriz.
100 birim pagerankınız varsa 10 tane dost siteniz, 5 tane üye oldugunuz toplist ve sitenizinden 10 tane altsayfasına giden linkiniz varsa, bu durumda her linke akacak olan pagerank degeri
10 (dost site)+5 (toplist)+10 (sitenizin alt sayfa linkleri)= 25link eder
100birim pagerank /25 link =4 birim/link dir. Yani link başına 4 birim pagerank düşüyor.
Eger toplistlere üye olmazsanız
10 (dost site)+10 (sitenizin alt sayfa linkleri)= 20 link eder
bu durumda
100birim pagerank /20 link =5 birim/link dir.
Eger kimseye link vermezseniz
100birim pagerank / 10 alt sayfanız= 10 birim pagerank.
Eger toplistlere üye olmazsanız Alt sayfalara gidecek pagerankınız %20 artı.
Eger başkalarına link vermezseniz Alt sayfalara gidecek pagerankınız %100 artı.
"Bir çicek açtı diye, bahar gelmez..."
Sadece sitemin anasayfası pr5 olsun alt sayfalarım önemli degil diye bir yaklaşım içine giremeyiz.
Sitemiz bütündür, tüm sayfaları önemlidir. Alt sayfalarımızında pagerankını yükseltmemiz gerek ki, aramalarda sitemizin anahtar kelimelerinde çıkma şansı yükselsin.
Son bir ipucu:
örnegin xxxxx.com toplistinin pagerankı 6, körü körüne kayıt olmak yerine biraz toplisti incelemeye almamız gerek.
Lütfen artık herkez bilinçlensin.
Bu toplistin yada linksitesinin pagerankı 6 olan sayfasında kaç link var.
En az 400 link vardır. Bu durumda sizin linkinize düşen pagerank hissesi (pr6 için 600birim pagerank, pr5 için 500birim pagerank varsayarsak)
600birim pageranktan 600/400link varsa =1.5 birim pagerank düşer link hissenize.
Bunun yerine pr5 olan ama link sayısı çok az olan ve sizinle aynı içerikli olan sitelerden link almanız durumunda 500 birim pagerankı bölsek 10 link sayısına yani 500/10= 50birim pagerank düşer hissenize.
1,5 birim pagerank için 50 birim pagerankı tepmek dangalaktır.
"Link Quality" olgusunu artık yakalamak gerek. Kaliteli linkler alarak inşaa edilen bir site çökmez.
Her sitenin "Link Quality" olgusu farklıdır. Bir site için anlam ifade eden link, başka site için önemsizdir google amcanın gözünde. Örnegin Sohbet siteniz varsa sizin sohbet sitelerinden link almanız gerekiyor. Sohbet sitesinin webmaster sitesine link vermesinin faydası olmuyor artık. Eskiden varsa bile artık olmuyor.
Web sitenizi Gmail'e yedekleyin
yedek almak sıkıcı bir işlem olduğundan çoğunlukla unutulan bir işlemdir. Ancak önemli bir proje esnasında yaptığınız unutganlık tüm emeğinizin boşa gitmesine sebep olabilir.
eğer unix bir sunucuda çalışıyorsanız cron, gmail, mutt ve bash tüm dertlerinize derman olabilir. Gmail verdiği yüksek disk alanı yedekler için adeta biçilmiş kaptan. Veritabanı yedeklerini de unix araçlarıyla alıp gmail'e yönlendirmek sandığınız kadar zor değil.
işte basit bir veritabanı yedekleyici bash script:
#!/bin/bash
cd DIZIN
EPOSTA="sen@gmail.com";
MESAJ="/home/sen/mail_icerigi.txt";
TARIH=`TARIH +%Y%m%d` ;
VT_ADI="veritabani_adi";
VT_SIFRE="veritabani_sifresi";
KULLANICI="veritabani_kullanicisi";
KONU="YEDEK";
mysqldump $VT_ADI > DIZIN/$VT_ADI$TARIH.sql -h mysql.sunucu.com -u $KULLANICI -p$VT_SIFRE
gzip DIZIN/$VT_ADI$TARIH.sql
mutt -s $KONU -a DIZIN/$VT_ADI$TARIH.sql.gz $EPOSTA < $MESAJ
rm DIZIN/$VT_ADI$TARIH.sql.gz
evet bu kodu artık ne zaman çalıştırsak veritabani yedeğimiz epostamıza gidecektir. ama hayat cron ile daha güzel. Bırakalım cron bu işi bizim için belirli periyotlarla yapıversin.
tek yapmanız gereken crontab ile cron'a bir iş girmek. bunun için aşagıdaki komutu shell'de yazıp,
# crontab -e
karşımıza gelen metin editörüne şu satırı eklemek
0 05 * * * bash /home/sen/yukardaki_script_dosyası
dosyayı sadece kaydedip kapatıyoruz. Bundan sonra her sabah 05:00'da herkes mışıl mışıl uyurken veritabanı yedeğiniz gmailinizde.
Fire and Forget; artık web sitenizin yedekleri tıkır tıkır gmail hesabınızda. Ancak bu yedekleri gelen kutunuzda sürekli görmek sıkıcı olabilir. gmail'in süzgeçleri bu yedekleri alıp etiketleyip gelen kutunuzdan arşivinize rahatça taşıyabilir.
veritabanı yedeği yerine sadece web sitenizdeki dosyaları yedeklemek ise daha basit:
#!/bin/bash
EPOSTA="sen@gmail.com";
MESAJ="/home/sen/mail_icerigi.txt";
tar -czf arsiv.tar.gz web_sitenizin_dizini
mutt -s $KONU -a arsiv.tar.gz $EPOSTA < $MESAJ
rm arsiv.tar.gz
tabi yine bunu crontab ile cron'a giriyorsunuz.
Tüm sistemi başka bir sunucuya yedeklemeniz için PERL script.. Çok işinize yarıyacak
Bu perl script ne yapar ?
* Veritabanınızı ve belirttiğiniz dosyaları , klasörleri sıkıştırıp başka bir sunucuya yedekler.. Bir sorun olduğunda ise sizi mail ile uyarır.
Kırmızı ile belirtilmiş alnaları değiştirmeniz halinde sorunsuz çalışacaktır.
#!/usr/bin/perl -w
use strict;
use Net::FTP;
my $server="yedekalinacakserver.com";
my $user="ftpkullanici";
my $password="ftpsifreniz";
my $dir="";
my $file="/tmp/yedek.tar.gz";
my $success="true";
my $filetran="true";
print "Yedekleme basladi.. Bekleyiniz..";
#Bu satirda tablolaru mysqldump ile aliyoz
`/bin/mysqldump -h veritabanihost -u veritabanı_kullanici_adi -pŞifre -Aal > /etc/veritabani_yedek.sql`;
# Önemli klasorlerinizi birden fazla belirtip tmp klasörüne paketliyoruz.
`tar cvf /tmp/yedek.tar /etc /home/resimler /home/www/html /home/www/ornek; gzip --force --best /tmp/yedek.tar`;
my $ftp=Net::FTP->new($server) or $success="false";
$ftp->login($user, $password) or $success="false";
$ftp->pasv() or $success="false";
$ftp->binary() or $success="false";
$ftp->cwd($dir) or $success='false';
$ftp->put($file) or $filetran="false";
$ftp->quit;
my $sebep;
my $test="true";
if ($success eq "false"){$sebep .="Başarısız ftp girişn.";
$test="false";}
if ($filetran eq "false"){$sebep .="Başarısızız dosya transferin.";
$test="false";}
if ($test eq "false") {
my $baslik="Server Yedekleme Hatası !";
my $to='sizinmailiniz@google.com';
BEGIN {
$ENV{PATH}="/bin:/usr/bin";
delete @ENV{qw(IFS CDPATH ENV BASH_ENV) };
}
open MAIL,"| /usr/lib/sendmail -t -i -F'adresiniz.com' -f'web@adresiniz.com'" or dienice("sendmai calismadi $!");
print MAIL "To: $ton";
print MAIL 'Reply-To: web@adresiniz.com';
print MAIL "Subject: $baslik";
print MAIL $sebep;
close MAIL or die("Sendmail hatasi var: $!");
}
print "Yedekleme Bitti ;)";
Linux a sendmail kurulumu ve ayarları
Ayarları:
/etc/sendmail.cf: Sendmail ana ayar dosyası. Bu dosya olmadan Sendmail calısmaz.
/etc/sendmail.cw: Makinanın hangi isimleri kabul edecegini belirleyen dosyadır. Eger birden fazla alan adını (hem web, hem de eposta servisini vermek icin) kontrol ediyorsanız, apache yanında sendmail’da da degisiklik yapmalısınız.
/etc/mail/relay-domains:Kullandıgınız makina üzerinden mektup gonderebilecek (relay)makinalarının IP adreslerinin, ya da isimlerinin tutuldugu dosyadır.
/etc/aliases: Alias dosyası. Herhangi bir kullanıcı adını başka bie ada yönlendirmek için kullanılır.
/etc/sysconfig/sendmail: Çalışan sendmail programının hangi parametreleri alacagı bu dosya yardımıyla belirlenir.
/etc/init.d/sendmail: Açılışta çalıştırılan dosya. Bu dosya bir bash betiğidir ve /usr/sbin/sendmail programını çeşitli ayarları yaptıktan sonra cagırır.
/etc/sendmail.cf Ayar Dosyası:
sendmail.cf, sendmail programı çalışırken okunur ve ertesindeki tüm ayarlar bu dosya kullanılarak yapılır. İlk başta karmalık gelen bu dosyada sadece birkaç notada değişiklik yapabiliriz. Diğer noktalara hiç dokunmamak gerekir, zira sendmail.cf dosyası oldukca naziktir, bir boşluk karakterinin bile önemi olabilir.
#file containing names of hosts for which we receive email
Fw/etc/sendmail.cw
Fw ile başlayan dosya yukarıda görüldügü gibi /etc/sendmail.cw. Daha ilerde de bahsedecegimiz bu dosya, makinaya hangi isimlerle (makine isimleriyle) mektup gelebilecegini belirtiyor.
# Hosts that will permit relaying ($=R)
FR –o /etc/mail/relay-domains
FR-o ile başlayan satır ise kullandıgınız makina üzerinden mektup gönderebilecek (daha yaygın adıyla röle olarak kullanılabilecek) makinaların IP adreslerinin, ya da isimlerinin tutuldugu dosyayı belirler. Öntanımlı olarak /etc/mail/relay-domains dosyası bu işlem için kullanılabilir. Biraz daha aşağıda örnek olarak bir /etc/mail/relay-domains dosyası anlatılacak.
/etc/sendmail.sw Ayar Dosyası:
sendmail.cw yukarıda da belirttigimiz gibi makinanın birden fazla adı varsa kullanılabilir. Ornek olarak elimizdeki makinanın adı (hostname) penguen, alan adı (domainname) ise sirketim.com olsun. Bu makinaya gelecek e-postalardan bir tanesi gorkem@penguen.sirketim.com , digeri de gorkem@sirketim.com olabilir. Eğer sendmail.c w dosyasında sirketim.com alan adını belirtmezsek bu alan adı kullanılarak gonderilen mektuplar alınmayacaktır. İlk başta garip g ve can sıkıcı gelse de sendmail in önemli bir ozelligidir.
Örnek:
$cat /etc/sendmail.cw
# sendmail.cw – include all aliases for your machine here.
Balik.sirketim.com
Penguen.sirketim.com
Sirketim.com
Yukarıdaki ornekte yer alan makinanın adı penguen.sirketim.com olsa da, gerekli DNS ayarları ile birlikte balik.sirketim.com adının da bu makinaya yonlendirilmis oldugunu anlıyoruz. Sendmail.cw dosyası da her üç makina adına (örnek olarak root@balik.sirketim.com , bilgi @ penguen.sirketim.com, satis@ sirketim.com ) yollanacak olan mektuplarını kabul edecek şekilde ayarlanmıştır.
Tabi makinemiz sadece sirketim.com alanı uzerindeki epostaları almak yerine, bir sanal sunucu olarak da görev yapabilir. Bu durumda sendmail.cw dosyasında bu sanal sunucunun tamamını listelemek şart olur. Daha ileride sanal e-posta sunucusunun nasıl ayarlanacagını da detaylı olarak gosterecegim.
/etc/mail/relay-domains Ayar Dosyası:
Eger pop-3 ya da imap destegi verilecekse relay-domains dosyasına , bu servislerin alması gereken (beklenen) makina isimleri ya da IP numaraları yazılır. Böylece sadece onceden belirlenen IP adreslerindeki kullanıcıların pop3/imap servislerini kullanmaları garanti edilmiş olur. Buradaki liste sadece bizim makinamızı SMTP sunucusu olarak gostermek isterken gecerlidir. E-postaları sadece almak, ve yabancı bir makina üzerinden göndermek için relay-domains dosyasını düzenlemeye gerek yoktur.
Relay- domains dsyasına hem IP adresi, hem de alan isimleri yazılabilir. Asagıda bir kaç örnek satır yazdım, siz de bu orneği inceleyerek kandi agınızdaki yapınıza gore bir relay-domains dosyası olusturabilirsiniz.
#örnek /etc/mail/relay-domains dosyası
#pop ve imap servisinden yararlanabilerccek makinaların listesi
144.122.1.
212.5.34.0
sirketim.com.tr
sirketim.com
Yukarıdaki ornekte ilk satır. 144.122.1 IP numaraları ile baslayan, ikinci satır 212.5.34 ağı üzerinde bulunan, üçüncü ve dördüncü satırlar ise sırasıyla sirketim.com.tr ve sirketim.com ile biten alan isimlerine ait makianaların bu makina üzerinden mektup gonderebilecegini belirtir.
/etc/aliases Ayar Dosyası:
Diyelim ki bir şirkette bilgi işlem yöneticisisiniz. Patron size bir eposta hesabı açmanızı söyledi ve bu hesabın yönlendirilmesi gereken birden fazla kullanıcı olacagını belirtti. Hemen ornek verelim, siz muhasebe adında bir hesap acacaksınız ve bu adrese gelen mektuplar filiz, ahmet ve sezen adındaki kullanıcılara dagılacak. Yapılması gereken işlem oldukca basit. Muhasebe kullanıcının açılmasınıa gerek kalmadan, /etc/aliases dosyasının sonuna aşağıdaki satırı eklemek yeterli olacaktır.
Muhasebe:filiz, ahmet, mustafa
Diyelim ki bir takma isim (alias) daha tanımlayacaksınız ve fazladan muhasebe içindeki kullanıcıların bu tanım içerisinde bulunmasını istiyorsunuz.
Aşağıdaki ornek işinize yarayacaktırç
Satıs:muhasebe, osman, begum
Böylece satis hesabına gelen tm mektuplar filiz, ahmet, sezen, osman ve begum kullanıcılarına ayrı ayrı dagıtılacaktır. Ne satış, ne de muhasebe kullanıcılarının açılmasına gerek yoktur.
Herhangi bir takma isim yaratıldıgında mutlaka newaliases komutunu da çalıştırmalısınız. !!
#newaliases
/etc/aliases: 14 aliases, longest 10 bytes, 103 bytes total
Şimdi yeni ayarlar etkin durumdadır. /etc/aliases dosyası başka amaçlarla da kullanılabilir. Her açılan hesaba ait kullanıcıların adı ve soyadı, arasına bir nokta konularak yeniden e-posta hesabı yaratılacak şekilde tanımlanabilir:
Gorkem.cetin : gorkem
Filiz.cetin : filiz
Böylece daha kurumsal bir yapı olusturulmus olur. Normalde eger çok fazla (birkaçbin) kullanıcınız varsa her birisine bir numara atamak, daha az kullanıcının olması durumunda isim ve soyisim kombinasyonunun “ismin ilk harfi ile soyisminin tamamı” şeklinde kullanmak onerilir. (gorkem çetin için gcetin gibi)
/etc/sysconfig/sendmail Ayar Dosyası:
Bu dosyanın gorevi sadece sendmail programı calısırken verilecek olan parametreleri belirlemektir. Queue parametrei yes ise sendmail arkaplanda çalıştırılacak şekilde duzenlenir. Queue parametresi ise sendmailin kac saat (yada dakika) bir makinada tutulan ve gonderilmeyi bekleyen epostaları kuyruga yerleştireccegini soyler. Buradaki deger 1h’dir ve ornekte saat bası (h) postalar kuyruga girer. Genellikle sistem yoneticisisinin tanımladıgı deger 15 dakika ilse 1 saat arasındadır.
/etc/init.d/sendmail Ayar Dosyası
Bilgisayar açılırken bu bash dosyası betigi çalıştırılır ve sendmail programının çalıştırılmadan once gerekli kucuk ayarlar yaptırılır. Ayrıca sistem V standardına uyfun bir şekilde, sendmail programının o anki durumu gözlenebilir (status), programın çalıştırılması durdurulabilir (stop), program yeniden başlatılabilir (restart) ya da eğer sendmail çalışmıyorsa çalışması sağlanabilir. (start)
Sanal Postacı Ayarları
Nasıl ki apache ye sanal olarak bazı işlemleri yaptırıyorduk, istedigimiz kadar alan adını aynı makine üzerinde, hem de tek IP numarası üzerinde tutabiliyorduk, burada da aynı işlemleri sendmail için yapabiliyoruz. Sadece birkaç küçük işlem ile her sanal alan nıcı hesapları açabileceğiz
Öncelikle DNSlerin düzgün bir şekilde ayarlanmış olması gereklidir. Bir başka deyişle, yukarıdaki üç alan adının MX kayıtları (Mail record) tanımlı ve üzerinde çalıştığımız sunucuya gönderilmesi şarttır. Aşağıdaki örnekte her alan için ayrı ayrı MX kayıtlarını inceliyorum.
$ nslookup
Default Server : gaga.sirketim.com.tr
Address : 212.45.76.93
>ls -t MX gnulinux.org
[gaga.sirketim.com.tr]
$ORIGIN gnulinux.org.
@ 1D IN MX 0 gaga.sirketim.com.tr
>ls –t MX pengueningucu.com
[gaga.sirketim.com.tr]
$ORIGIN pengueningucu.com
@ 1D IN MX 0 gaga.sirketim.com.tr
> ls –t MX benimlinux.com
[gaga.sirketim.com.tr]
ORIGIN benimlinux.com
@ 1D IN MX 0 gaga.sirketim.com.tr
Her üç alanın da mektuplarını gaga.sirketim.com.tr adresi tutuyor. Burada bir sorun kalmadı.
İkinci olarak sendmaila daha önce acıkca belirttigimiz sekilde sendmail.cw dosyası üzerinden ne kadar sanal makina isteniyorsa tüm bu sanal makinaların bilgilerinin aktarılması gerekir. Mesela buornekte, /etc/sendmail.cw dosyasına aşağıdaki bilgileri yazmazsanız, sanal e-posta sunucularınız kesinlikle çalışmayacaktır.
#sendmail.cq – include all aliases for your machine here.
Pengueningucu.com
Gnulinux.com
Benimlinux.com
Şimdi bir dosya olusturacagız ve icine, sonradan degistirebilecegini de goze alarak sanal kullanıcıya gore ayarlanıp ayarlanamadıgını kontrol edelim. Aşağıdaki satırlar /etc/sendmail.cf’de mutlaka olmalıdır. Suse, mandrake ve red hat de bu satırlar bulunur.
#virtual user table (maps incoming users)
Kvirtuser hash –o /etc/mail/virtusertable
Yukarıdaki satırlar, sanal eposta hesaplarının /etc/mail/virtusertable dosyası içinde tutuldugunu belirtiyor. Şimdi bizim yapacagımız işlem onceliklebu dosyayı, yoksa bile açmak ve içöine sanal postalarımızı yerleştirmek. Hemen örnek birkaç eposta acalım.
# Örnek bir /etc/mail/virtusertable dosyası.
# Birinci kolon sanal e-posta adresin ikinci is sistemde bulunan kullanıcıyı işaret eder.
gorkem@gnulinux.org gorkem
mustafa@pengueningucu.com mustafa
deniz@benimlinux.com deniz
Yukarıda yaklasık olarak ne tanımladıgmımızı anlamışsınızdır. Bu makinaya gorkem@gnulinux.org olarak gelen hesapların yerel gorkem kullanıcısıza aktarılırken, mustafa@pengueningucu.com hesabı mustafaya, deniz@benimlinux.com adresine gelen mektuplar da deniz kullanıcısına gidecektir.
Son bir işlem daha yapmamız gerekiyor. Bunu ilkj sanal sunucu tanımı sırasında yapıyoruz, daha sonra kullanıcı ekledigimizde gerek duymuyoruz.
#cd /etc/mail
#makemap hash virtusertable < virtusertable
Bu aşamadan sonra eklenecek her sanal kullanıcı (yerel kullanıcı degil!) virtusertablede tanımlanıyor ve sendmail yeniden calıstırııyor. Yerelkullanıcılara gelen hesap uzaktan imap ve/veya pop3 servisi üzerinden de denetlenebilir. Hepsi bu kadar.
POP3 ve IMAP Ayarları
Pop 3 ve imap servisi verebilmek için mutlaka sendmail’deki “relay” tanımlarını yapmış olmanız gerekiyor, böylece farklı Iplerdeki makinalar ana sunucunuz üzerinden e-posta gönderebileceklerdir.
Pop3 ve imap programlarının ikisi de imap paketi ile birlikte gelirle. Eger custom kurulum yapmışsanız, bu paketin kurulmaması ihtimali vardır, (rpm –aq) komutu ile yardımıyla sistemde kurulu dosyaların bir listesini alın ve imap paketinin kurulu oldugundan emin olun. Bir diger secenek ise dogrudan (rpm –qi imap ) komutu ile imap paketinin (varsa) tüm paket bilgilerini dogrudan ekrana cıkarmak. Eğer imap paketi sistemde bulunmuyorsa rpm –i imap-surumno.rpm komutu yardımıyla ya da fiziksel arayuzden cıkaracagınız kpackage (KDE) veya gnorpm (GNOME) ile kurun.
Imap ve pop3 servisini çalıştırmak için, setup komutunu kullanın. Setup komutunu verince ekrana gelen System services secenegi, sizi dogrudan dogruya açılışta çalıştırılacak olan sistem servislerinin listesine yönlendiri.
Bu pencerede vermek istediginiz servise göre imap ya da pop3 , veya her ikisini birden etkin duruma geçirebilirsiniz.
Xinetd’nin pop3 ve imap servislerini tekrar verebilmesi için yapılandırma dosyasını yeniden okuması şarttır. Bunun için her zaman başvurdugumuz service komutunu yeniden yazalım:
#service xinetd restart
stopping XINET services: [OK]
Starting XINET services: [OK]
Yapılan işlem xinetd’yi öldürmek ve tekrar başlatmak. Artık tüm ayarlar tamamdır, tek yapılması gereken sistemde kullanıcı acıp baska bir makinadan (yeniden uyarı: bu makinanın tanımı /etc/mail/relay-domains’de bulunmalıdır.) iletilerini denetlemektir.
Adobe Dreamweaver için Smarty Extension ( Eklentisi )
Web yazılım ve geliştirme ile ilgilenip Dreamweaver kullanmayan pek azdır herhalde.. Smarty de aynı zamanda PHP uygulama geliştirenler açsından olmazlar arasına kısa sürede girdi... Bu Dreamweaver eklentisi ile Smarty tagları sizin için karmaşık olmaktan artık çıkıyor. Artık Dreamweaver ın gücü Smarty nin uygulamalarınıza getirdiği kolaylığı daha rahat uygulayabileceksiniz..
* Aşağıdaki linkden eklentiyi indirin..
* Winzip yada Winrar ile sıkıştırılmış dosyayı açın.Eklentye çift tıklayıp kurunuz. Dreamweaver açıksa kapatıp tekrar çalışıtırn.
gzip sıkıştırma kullanım kılavuzu
İSİM
gzip — dosyaları sıkıştırır
gunzip — sıkıştırılmış dosyaları açar
gzcat — sıkıştırılmış dosyaları standart çıktıda açar
KULLANIM
gzip [ -acdfhlLnNrtvV19 ] [ -S sonek ] [ isim ... ]gunzip [ -acfhlLnNrtvV ] [ -S sonek ] [ isim ... ]
gzcat [ -fhLV ] [ isim ... ]
Nasıl tar.gz yada .tgz dosyalarını sıkıştırırm ?
GNU tar için : gtar cvzf file.tar.gz filenames
Herhangi tar için : tar cvf - filenames | gzip > file.tar.gz
Nasıl tar.gz yada .tgz dosyalarını açarım ?
tar.gz yada .tgz tar uzantılı dosyalar gzip ile skıştırılmışsa Unix sistem için geri açılası aşağıdaki gibidir:
gunzip < file.tar.gz | tar xvf - gunzip < file.tgz | tar xvf -
Eğer GNU tar sahipseniz z seçeneğini kullanarak direkt açabilirsiniz:
tar xvzf file.tar.gz tar xvzf file.tgz
Windows 9x/NT/2000/ME/XP, kullanıyorsanız PowerArchiver 6.1, 7-zip (freeware) or Winzip (commercial). kullanabilirsiniz.
AÇIKLAMA
gzip, isim ile belirtilen dosyanın boyutunu Lempel-Ziv Kodlamasını (LZ77) kullanarak küçültür. Mümkün olan bütün dosyaların isimlerinin sonuna .gz soneki getirilir ama dosyaların sahiplik, erişim ve düzenlenme zamanları korunur (VMS için öntanımlı uzantı -gz, MSDOS, OS/2 FAT, Windows NT FAT ve Atari için z dir). Şayet herhangi bir dosya ismi belirtilmemişse veya dosya ismi olarak "-" belirtilmişse, standart girdi sıkıştırılır ve standart çıktıya gönderilir. Sembolik bağlar, özellikle göz ardı edilir.Şayet sıkıştırılmış dosya ismi, içinde bulunduğu dosya sistemi için çok uzun ise, gzip bu ismi kısaltır. gzip, 3 karakterden uzun dosya ismi bölümlerini kısaltmaya çalışır (noktalar ile sınırlanmış bölümler). Şayet isim sadece küçük bölümler içeriyorsa, uzun kısımlar kısaltılır. Örneğin; dosya isimleri 14 karakter ile sınırlandırılmış ise, gzip.msdos.exe, gzi.msd.exe.gz şeklinde sıkıştırılır. Dosya isimleri için sınırlandırma olmayan dosya sistemlerinde isimler kısaltılmaz.
Öntanımlı olarak, gzip orijinal dosya ismini ve zaman etiketlerini sıkıştırılmış dosyada da korur. Bu değerler -N seçeneği ile birlikte sıkıştırılmış dosyayı açarken kullanılır. Bu yöntem, kısaltılmış dosya isimleri olması durumunda veya bir dosya transferi sonrası zaman etiketleri korunmamışsa oldukça faydalı olur.
Sıkıştırılmış dosyalar, gzip -g, gunzip veya gzcat kullanılarak orijinal durumlarına dönüştürülebilir. Şayet sıkıştırılmış dosya içinde saklanan orijinal dosya ismi, yeni dosya sistemi için geçerli değilse, orijinal isimden yeni bir isim uydurulur.
gunzip, .gz, -gz, .z, -z, _z veya .Z ile biten dosyaların ve doğru sihirli sayı ile başlayan dosyaların isminin bulunduğu listeyi kendi komut satırına alır ve uzantıları atılmış halde orijinal durumlarına dönüştürür. gunzip ayrıca bazı özel uzantıları da tanır: .tgz ve taz (.tar.gz ve .tar.Z nin kısaltmaları olarak). Sıkıştırma işlemi sırasında, dosya isminin kısaltılmasının gerekli olması durumunda, gzip .tar uzantısı yerine .tgz kullanır.
gunzip; gzip, zip, compress, compress -H veya pack ile sıkıştırılmış paketleri açabilir. Girdi biçiminin tespiti otomatik olarak yapılır. İlk iki biçim için, gunzip bir 32 bitlik CRC sınaması yapar. pack için, sıkıştırılmamış uzunluğu kontrol eder. Standart uncompress biçimi uyum sınamalarına izin verecek şekilde tasarlanmamıştır. Bununla birlikte, gunzip bazen bozuk bir .Z dosyasını tespit edebilir. Bir .Z dosyasını açarken bir hata alırsanız, standart uncompress komutunun uyarmadığını görüp de, .Z dosyasının sağlam olduğunu düşünmeyin. Bunun anlamı, standart uncompress, girdiyi kontrol etmez ve çıktı olarak çöp yığını üretebilir. SCO sıkıştırmasının -H biçimi (lzh sıkıştırma yöntemi) bir CRC ihtiva etmez ama bazı tutarlılık denetimlerine izin verir.
zip ile sıkıştırılmış dosyalar, sadece 'deflation' yöntemi ile sıkıştırılmış tek bir üyeye sahip oldukları durumlarda, gzip ile açılabilirler. Bu özellik, sadece tar.zip dosyalarının tar.gz biçimine dönüştürülebilmesi amacı ile tasarlanmıştır. İçinde pek çok dosya bulunan zip dosyalarını gunzip ile açmak yerine unzip ile açın.
gzcat, gunzip -c ile aynıdır. (gzcat'in gzip ailesi ile gelen komutunun asıl ismi zcat dır. zcat ise aslında compress ailesine aittir. Bu bakımdan, compress kurulu sistemlerde komut, gzcat şeklinde bulunabilir.) gzcat, ya komut satırındaki dosya listesini ya da standart girdideki dosyaları açar ve açılmış veriyi standart çıktıya yazar. gzcat, sonu .gz ile bitsin ya da bitmesin, doğru sihirli numaraya sahip dosyaları açar.
gzip, zip ve PKZIP'de kullanılan Lempel-Ziv algoritmasını kullanır. Elde edilen sıkıştırma, dosyanın boyutuna ve genel altdizgelerin dağılımına bağlıdır. (*Ç.N.: gzip ingilizce metinler için iyi sonuç verir. Türkçe metinlerin sıkıştırılmasında bzip2 bariz şekilde daha iyi sıkıştırır.) Sıkıştırma, LZW (compress'de kullanılan), Huffman kodu (pack'de kullanılan) veya compact'daki uyarlanmış Huffman kodu ile yapılandan daha iyi sonuç verir.
Sıkıştırma işlemi, sıkıştırılmış dosya orjinalinden büyük olsa bile, gerçekleştirilir. Bu durum için en kötü senaryo: gzip dosya başlığı için fazladan bir kaç bayt, her 32K blok için 5 bayt veya büyük dosyalar için %0.015 oranında boyut artışıdır. Gerçekte kullanılan disk bloklarının sayısı asla artmaz. gzip, sıkıştırma veya açma işlemi esnasında, dosya iyeliklerini, kiplerini ve zaman etiketlerini korur.
SEÇENEKLER
-a--ascii
Ascii metin kipi: satır sonlarını yerel ayarlara göre dönüştürür. Bu seçenek, sadece Unix dışı birkaç sistemde desteklenir. Örneğin MSDOS'da sıkıştırma esnasında CRLF'ler LF'ye çevrilir ve açma işleminde LF'ler CRLF'ye dönüştürülür.
-c
--stdout
--to-stdout
Standart çıktıya yazar, orjinal dosyaları değiştirmeden muhafaza eder. Şayet çeşitli girdi dosyaları mevcut ise, çıktı, sıkıştırılmış bağımsız olarak sıkıştırılmış üyelerden oluşur. Daha iyi sıkıştırma elde etmek için, bütün girdi dosyalarını sıkıştırma işleminden önce birleştirin.
-d
--decompress
--uncompress
Sıkıştırılmış dosyayı açar.
-f
--force
Dosyanın çoklu bağlara sahip olduğu durumlarda veya benzer dosyanın sistemde var olması durumunda ya da sıkıştırılmış verinin bir terminalden okunması/yazılması durumunda bile sıkıştırma/açma işleminin yapılmasını sağlar. Şayet girdi bilgisi gzip tarafından tanınmayan bir biçimde ise ve ayrıca --stdout seçeneği belirtilmişse, girdi dosyasını hiç değiştirmeden standart çıktıya kopyalar: gzcat'in, cat gibi davranmasına izin verir. Şayet -f verilmemiş ve gzip artalanda çalışmıyorsa, varolan dosyanın üzerine yazılıp yazılmayacağını kullanıcıya sorar.
-h
--help
Yardım konularını görüntüler ve çıkar.
-l
--list
Sıkıştırılmış her bir dosya için aşağıdaki bölümleri listeler:
compressed size: sıkıştırılmış dosyanın boyu
uncompressed size: sıkıştırılmamış dosyanın boyu
ratio: sıkıştırma oranı (bilinmiyorsa 0.0%)
uncompressed_name: sıkıştırılmamış dosyanın ismi
Açılmış boyut, .Z dosyaları gibi gzip biçiminde olmayan sıkıştırılmış dosyalar için -1 olarak verilir. Bu tür bir dosyanın açılmış boyutunu bulmak için şunu kullanabilirsiniz:
zcat file.Z | wc -c
--verbose seçeneği ile birlikte kullanılırsa, aşağıdaki bölümler de gösterilir:
method: sıkıştırma yöntemi
crc: sıkıştırılmamış verinin 32 bitlik CRC'si
date & time: sıkıştırılmamış dosya için tarih damgası
Desteklenen sıkıştırma yöntemleri: deflate, compress, lzh (SCO compress -H) ve pack'dir. gzip biçiminde olmayan bir dosya için crc, ffffffff şeklinde belirtilir.
--name seçeneği ile sıkıştırılmış dosya içinde eğer varsa, sıkıştırılmamış dosya ismi, tarih ve zaman saklanır.
--verbose seçeneği ile ayrıca, bilinmeyen boyutlar olmadıkça bütün dosyalar için toplam boyut ve sıkıştırma oranı görüntülenir. --quiet seçeneği ile, başlık ve toplam satırları görüntülenmez.
-L
--license
gzip lisansını görüntüler ve çıkar.
-n
--no-name
Sıkıştırırken, orjinal dosya adını ve tarih damgasını kaydetmez. (İsmin kırpılması gerektiğinde, orjinal isim her zaman kaydedilir.) Açarken, orjinal ismi (sadece sıkıştırma sonekini kaldırır) ve orjinal tarih damgasını eski haline getirmez (sıkıştırılmış dosyadan kopyalar). Bu seçenek açma işlemi için öntanımlıdır.
-N
--name
Sıkıştırırken dosya adını ve zaman damgasını kaydeder; bu seçenek sıkıştırma için öntanımlıdır. Açarken, varsa, orjinal dosya adı ve zaman damgasını eski haline getirir. Dosya ismi için sınırlama uygulayan sistemler veya bir dosya aktarımı sonucu zaman damgasının kaybolduğu durumlar için oldukça kullanışlı bir seçenektir.
-q
--quiet
Bütün uyarılar engellenir.
-r
--recursive
Dizinin alt dizinlerini de ardışık olarak dolaşır. Şayet komut satırından belirtilen bir dosya ismi bir dizin ise, gzip bu dizinin içine girer ve orada bulunan bütün dosyaları sıkıştır (veya gunzip'in kullanıldığı durumlara açar).
-S .sonek
--suffix .sonek
.gz soneki yerine .sonek sonekini kullanır. Herhangi bir sonek belirtilebilir. Dosyaları başka bir sisteme taşımak gibi bir niyetiniz varsa, karışıklığa sebep olmamak adına, .z ve .gz dışınaki soneklerden kaçının. Sonek bulunmadığı durumlarda, gunzip bütün dosyaları soneksiz açmaya kalkar:
gunzip -S "" * (MSDOS için *.*)
gzip'in eski sürümleri .z sonekini kullanmaktaydı ama pack(1) ile bir karışıklığa sebebiyet vermemek için bundan vazgeçildi.
-t
--test
Sıkıştırılmış dosyanın bütünlüğünü sınar.
-v
--verbose
Ayrıntı kipi. Sıkıştırılan veya açılan her bir dosya için isim ve sıkıştırma oranını gösterir.
-V
--version
Sürüm numarasını ve derleme seçeneklerini gösterir ve çıkar.
-#
--fast
--best
Sıkıştırma hızını ayarlamayı sağlar. -1 ile -9 arasında değişen değerler alır. -1 (--fast) ile en hızlı yöntemle en az sıkıştırma, -9 (--best) ile en yavaş yöntemle en yüksek sıkıştırma yapılır. Öntanımlı değer -6 dır (hız ve sıkıştırmanın her ikisininde olabildiğince yüksek olduğu durum).
GELİŞMİŞ KULLANIM
Çoklu sıkıştırılmış dosyalar birleştirilebilir. Bu durumda, gunzip bütün üyeleri tek seferde açacaktır. Örneğin:gzip -c dosya1 > foo.gz
gzip -c dosya2 >> foo.gz
Daha sonra bu komut verilirse:
gunzip -c foo
Elde edilen sonuç aşağıdaki komuta eşdeğerdir:
cat dosya1 dosya2
Bir .gz dosyasının bozulması durumunda diğer dosyayı kurtarmak mümkün olabilir (şayet hasarlı üye çıkarılırsa). Bununla birlikte, bütün üyeleri tek seferde sıkıştırarak daha iyi sıkıştırma sağlayabilirsiniz:
cat dosya1 dosya2 | gzip > foo.gz
Bu, aşağıdaki yöntemden daha iyi sıkıştırma sağlar.
gzip -c dosya1 dosya2 > foo.gz
Şayet birleşik dosyaları daha iyi bir sıkıştırma için tekrar sıkıştırmak isterseniz:
gzip -cd eski.gz | gzip > yeni.gz
Şayet sıkıştırılmış bir dosya çeşitli üyeler içeriyorsa, --list seçeneği ile bildirilen açılmış boyut ve CRC raporu sadece son üye için verilir. Diğerlerini kapsamaz. Şayet bütün üyelerin açılmış boyutuna ihtiyacınız varsa:
gzip -cd dosya.gz | wc -c
Çoklu dosyalar ile tek bir arşiv oluşturmak istiyorsanız ve daha sonra bu dosyaları birbirinden bağımsız olarak açılabilmesini istiyorsanız, tar veya zip gibi bir arşivleyici kullanın. GNU tar yazılımı gzip'i başlatmak için -z seçeneğine sahiptir. gzip, tar uygulamasına tamamlayıcı olarak geliştirilmiştir, onun yerini alacak bir uygulama değildir.
ORTAM DEĞİŞKENLERİ
GZIP ortam değişkeni, gzip uygulaması için öntanımlı birkaç değer ihtiva eder. Bu değerler önce yorumlanır ve daha sonra komut satırından belirtilen parametreler tarafından değiştirilebilirler. Örneğin:sh için: GZIP="-8v --name"; export GZIP
csh için: setenv GZIP "-8v --name"
MSDOSiçin: set GZIP=-8v --name
Vax/VMS'de ortam değişkeninin adı karışıklık yaratmamak için GZIP_OPT olarak geçer.
İLGİLİ BELGELER
compact(1), compress(1), gzexe(1), pack(1), unzip(1), zcmp(1), zforce(1), zip(1), zmore(1), znew(1).gzip dosya biçimi P. Deutsch içinde GZIP dosya biçimi belirtimi sürüm 4.3 olarak Internet RFC 1952'de (Mayıs 1996) belirtilmiştir ve adresinde bulunabilir. zip biçimi ise P. Deutsch içinde DEFLATE sıkıştırılmış veri biçimi belirtimi sürüm 1.3 olarak Internet RFC 1951'de (Mayıs 1996) belirtilmiştir ve adresinde bulunabilir.
ÇIKIŞ DURUMU VE HATA İLETİLERİ
Çıkış durumu normalde 0 dır, hata oluşması durumunda 1 döner, uyarı oluşması durumunda 2 döner.Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
Komut satırında geçersiz seçenekler tanımlandı.
dosyaismi: not in gzip format
gunzip'e argüman olarak verilen dosya, sıkıştırılmış bir dosya değil.
dosyaismi: Corrupt input. Use zcat to recover some data.
Sıkıştırılmış dosya zarar görmüş. Hatanın verildiği noktaya kadar olan kısım şu şekilde kurtarılabilir:
zcat dosyaismi > kurtarılan
dosyaismi: compressed with xx bits, can only handle yy bits
Dosya (LZW kullanılarak) bu makinedeki açma programının işleyebileceği bitlerden daha fazlasını kullanabilen bir uygulama ile sıkıştırılmış. Dosyayı gzip ile tekrar sıkıştırın. Hem daha iyi sıkıştırma sağlar, hem de daha az bellek kullanır.
dosyaismi: already has .gz suffix -- no change
Belirtilen dosyanın zaten sıkıştırılmış olduğu kabul ediliyor. Dosyayı tekrar isimlendirin ve tekrar deneyin.
dosyaismi already exists; do you wish to overwrite (y or n)?
Mevcut dosyasının değiştirilmesini istiyorsanız "y" tuşuna basın, istemiyorsanız "n" ye basın.
gunzip: corrupt input
Bir SIGSEGV çelişkisi saptandı. Girdi dosyası bozuk olabilir.
xx.x% Percentage of the input saved by compression.
Sıkıştırma tarafından kaydedilmiş girdinin yüzdesi (sadece -v ve -l ile alakalıdır).
-- not a regular file or directory: ignored
Girdi dosyası normal bir dosya veya dizin değil ise (örneğin, bir sembolik bağ, soket, FIFO veya aygıt dosyası olabilir), dokunulmaz.
-- has xx other links: unchanged
Girdi dosyası bağlara sahiptir; dokunulmadan geçildi. Daha fazla bilgi için ln(1)'e bakınız. Çok sayıda bağa sahip dosyaları sıkıştırmak için -f seçeneğini kullanınız.
YETERSİZLİKLER
Sıkıştırılmış veriyi bir teybe yazarken, genellikle, çıktıyı blok sınırına kadar sıfırlarla doldurmak gerekebilir. Veri okunduğu ve bütün blok gunzip'e açılmak üzere gönderildiği zaman, gunzip sıkıştırılmış verinin ardında fazladan çöplük izi bulur ve öntanımlı olarak bir uyarı verir. Bu iletiyi atlamak için --quiet seçeneğini kullanmanız gerekir. Bu seçenek GZIP ortam değişkeni vasıtası ile ayarlanabilir:sh için: GZIP="-q" tar -xfz --block-compress /dev/rst0
csh için: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0
Yukarıdaki örnekte, gzip, GNU tar uygulaması tarafından, belirtilen -z seçeneği ile çalıştırılır. Teypler üzerinde okuma ve yazma için aynı boyda bloklar ayrılmış olduğundan emin olun (tar'ın -b seçeneği ile). Bu örnek sizin tar uygulamasının GNU sürümünü kullandığınız kabul ederek verilmiştir.
YAZILIM HATALARI
gzip biçimi, modulo 2^32 girdi boyutuna göre davranır, bu nedenle --list seçeneği, 4 GB veya daha büyük dosyakarın sıkıştırılmamış boyunu ve sıkıştırma oranını yanlış raporlar. Daha büyük dosyaların gerçek boyutlarını tespit etmek için aşağıdaki komutu kullanarak bu sorunun çevresinden dolanabilirsiniz:zcat dosya.gz | wc -c
Şayet sıkıştırılmış dosya araştırılamayan bir ortam üzerinde ise, --list seçeneği boyut olarak -1 ve crc olarak ffffffff döndürür.
Bazı çok istisnai durumlarda, --best seçeneği öntanımlı seviye -6'dan daha kötü bir sıkıştırma uygular. Bazı son derece gereksiz dosyalarda, compress, gzip'den daha iyi sıkıştırma sağlar.
PHP ve SMARTY kullanım kılavuzu
Arkadaşlar PHP nin benzersiz template sistemi Smarty web geliştiricilerinin olmassa olmazı haline geldi. Bloggum.com da da kullandığımız bu template sistemin kullanım kılavuzunu aşağıda ilgilenen arkadaşlar için yayınlıyorum.
Şimdili sadece ingilizce olarak mevcut dökümanımız ): Türkçe örneklere ilerde yer vereceğim ![]()
