İki yıldır geliştirilmesi devam eden son kararlı sürüm Debian tarafından duyuruldu. Debian 6.0 versiyonunun sürüm adı olarak squeeze kullanılmakta. Sürüm ile ilgili notları aşağıdaki kaynaklar linkinden öğrenebilirsiniz. Ancak bu sürümde en çok dikkatimi çeken özelliklerden biriside çekirdek olarak FreeBsd tabanlı olarak kullanılan yeni bir varyasyon çıkarması oldu. Masaüstü sistemlerinde ubuntu zaman içinde tercih edilirken bu yeni atılımla debian kullanıcı sayısının artacağına inanıyorum.
Bu yeni kararlı sürüm birlikte debianın sitesinde de bir değişiklikte farkediliyor. Daha sade ve fonksiyonel bir site olmuş. Ayrıca Ubuntu’dan görmeye alıştığımız varyasyonlara benzer proje gruplarını da Debian’da da görmeye başladık. Bence diğerlerinden yine farklı olarak DebianGis projesi dikkatimi çekti.
Yeni sürüm ile birlikte kullanım oranının Debian’dan türemiş yazılımlardan pay kapacağına eminim. En azından kendim adına öyle olacağını düşünüyorum.
Debian 6.0 Squeeze Sürüm Notları
Debian 6.0 Squeeze Sürüm Haberi
Tags: debian, debian 6.0, debian nedir, download, freebsd, gis, linux nedir, squeeze, sürüm notu
Linux komut satırında bir komutu belli kriterler karşılaştığında çalıştırabilirsiniz. Örnek bir komut ile belli bir boyutun üzerindeki dosyaları sildirelim.
find /home/salih/Downloads/* -size +1024k -type f -exec rm -f '{}' \;
komut sırasıyla inceleyelim.
- argüman arama komutu.
- argüman dosyaların belirli kriterlere göre silineceği klasör
- aramanın hangi kritere göre yapılacağını belirtiriz.
- argüman hangi boyuta göre işlem yapacağımızı belirler. Artı (+) olursa sağındaki değerden yukarıdaki dosyaları bulur. Eksi (-) olursa sağındaki değerden aşağıdaki dosyaları bulur.
- argüman aramanın hangi dosya tipi ile yapılacağını belirler. (-f normal dosya)
- argüman kabuk komutu çalıştırmak istediğimizi belirtiyoruz.
- argüman rm komutunun işletilmesi ve kriterlere uyan dosyaları siler
Bu kriterlere uyan dosyaları silmek değil bir dosya içerisinde yazmak istersek aşağıdaki komutu çalıştırmamız yeterli.
find /home/salih/Downloads/* -size +1024k -type f > birmbdenbuyuk.txt
İki günden daha eski dosyaları silmek içinde aşağıdaki komutu çalıştırırız.
find /var/spool/squid/* -mtime +2 -exec rm {} \;
Tags: boyuta göre, dosya silme, exec, find, mtime, silmek, size, tarihe göre
Veritabanında olan fakat aradaki id numarası düzenli ile artarken aradaki bazı kayıtları bir düzenlemeden sonra sildim. Kayıtları çağırırken id numarasına bir ekleyerek çağırıyordum. Ancak bu aralardaki silinen kayıtlardan sonra işlemlerde hata alıyordum. Bunu yapmanın bir yolunu aradım ve SQL komutunda buldum çözümü. where koşulundan sonra verdiğim id’den bir sonraki kayıtı getirmesi için > büyüktür işareti kullanmam yeterli oldu. Bir önceki kayıdı getirmesi içinde < küçüktür işareti kafi geldi. Çok kolay ama benim için önemli adım oldu. PostgreSQL için geçerli php kullanımı aşağıdaki gibidir.
$vt_host="localhost"; $vt_kullanici="salih"; $vt_sifre="123456"; $vt_adi="linux_db"; $vtbaglantisi = pg_connect("host=$vt_host dbname=$vt_adi user=$vt_kullanici password=$vt_sifre"); if (! $vtbaglanti) { echo "Bağlantı Hatası"; } else { echo "Veritabanı baglantisı var"; } $sorgu = "select * from oyun.dosya where dosya.id > $gecici_id ORDER BY id ASC LIMIT 1"; $sorgula = pg_query($vtbaglantisi,$sorgu); while ($sonuc=pg_fetch_array($sorgula)){ echo $sonuc["id"]; echo $sonuc["ad"]; echo $sonuc["gorsel"]; }
Tags: kayıt, pg_connect, pg_fetch_array, pg_query, php, Postgresql, query, sorgu
Postgresql veritabanından bilgi çekmek için kullanım şekillerine bir kaç örnek verelim. İlk olarak veritabanı bağlantı bilgilerinin girişini yapıyoruz.
$vt_host="localhost"; $vt_kullanici="salih"; $vt_sifre="123456"; $vt_adi="linux_db"; $vtbaglantisi = pg_connect("host=$vt_host dbname=$vt_adi user=$vt_kullanici password=$vt_sifre"); if (! $vtbaglanti) { echo "Bağlantı Hatası"; } else { echo "Veritabanı baglantisı var"; }
Veritabanı bilgilerinin ardından ilk sorgumuzda veri tabanına bilgileri girelim.
$sorgu = "insert into malzeme (barkod,isim,fiyat,adet) values ('2201515','5mm Vida','3','100')"; if(pg_query($vtbaglantisi,$sorgu)){ echo "Kayıt Tamamlandı"; } else { print($sorgu . " | " . pg_errormessage($vtbaglantisi)); } }
Aynı veriyi güncelleyelim.
$sorgu = "update malzeme set isim = '6mm Vida', adet = '250' where barkod = '2201515'"; if(pg_query($vtbaglantisi,$sorgu)){ echo "Kayıt Tamamlandı"; } else { print($sorgu . " | " . pg_errormessage($vtbaglantisi); } }
Girdiğimiz veriyi silelim.
$sorgu = "delete from malzeme where barkod=''2201515"; if(pg_query($vtbaglantisi,$sorgu)){ echo "Kayıt Tamamlandı"; } else { print($sorgu . " | " . pg_errormessage($vtbaglantisi); } }
Dizi işlemlerinide örnek verelim.
$sorgu = "select * from malzeme"; $sorgula = pg_query($btvaglantisi,$sorgu); while ($sonuc=pg_fetch_array($sorgula)){ echo $sonuc["barkod"]; echo $sonuc["isim"]; echo $sonuc["fiyat"]; echo $sonuc["adet"]; }
Temel sorgu işlemleri bu şekilde yapılmakta. pg_ ile başlayan php fonksiyonları ile PostgreSQL veritabanın da istediğiniz gibi dans edebilirsiniz.
Tags: array, dizi, insert, kayıt girme, kayıt güncelleme, kayıt silme, php, Postgresql, query, sorgu, update
Komut satırından yada pgadmin gibi yazılımlarla çalıştırabileceğiniz ve sık kullanılabilecek PostgreSQL sorgu örneklerini paylaşıyorum. Daha önceki yazımızda veritabanı oluşturmayı ve ona bağlanmayı yazmıştık.
Tablo oluşturma;
CREATE TABLE calisanlar (isim VARCHAR(25), soyisim VARCHAR(25), adres VARCHAR(64),telefon VARCHAR(16));
Tabloya veri girişi yaparken bütün değerleri tırnak içine alıyoruz.
INSERT INTO calisanlar(isim,soyisim,adres,telefon) VALUES ('Salih', 'Bilgin', 'Bursa', '2241112233');
Tablodan veri çekme;
İsime göre sıralanmış olarak tablodaki bütün bilgileri getirelim.
SELECT * FROM calisanlar ORDER BY isim;
Soyismi Bilgin olan çalışanların listesini getirelim.
SELECT * FROM calisanlar WHERE soyisim = 'Bilgin';
Birden çok değişken ile sorgu yapalım. Soyadı Bilgin olan ve Bursa’da ikamet eden çalışanların listesini getirelim.
SELECT * FROM calisanlar WHERE soyisim = 'Bilgin' AND adres = 'bursa';
Bilgi güncelleme işlemi yapalım. Benim adresimi değiştirelim.
UPDATE calisanlar SET adres = 'İnegöl' WHERE isim = 'Salih' AND soyisim = 'Bilgin';
Kayıt silme işlemi ile yazımızı sonlandıralım.
DELETE FROM calisanlar WHERE isim = 'Salih' AND soyisim = 'Bilgin';
Tags: ekleme, güncelleme, Postgresql, query examples, silme, sorgu, sorgu örnekleri, tablo, veritabanı
Normal kullanıcılar için veya topluma açık alanlarda bilgisayarını kullanmak zorunda kalan linux kullanıcıları için yeterli sayılabilecek güvenlik kuralı sörf sırasında gözüme çarptı. Umarım işinize yarar.
# Location of IPTABLES on your system
IPTABLES=”/sbin/iptables”# SETUP:
# Flush active rules and custom tables
$IPTABLES –flush
$IPTABLES -t nat –flush
$IPTABLES -t mangle –flush$IPTABLES –delete-chain
$IPTABLES -t nat –delete-chain
$IPTABLES -t mangle –delete-chain# Give free reign to the loopback interfaces, i.e. local processes may connect
# to other processes’ listening-ports.
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT# Set default policies for all chains.
# User-defined chains cannot be assigned default policies.
# NAT and mangle tables use default ACCEPT policies.
# DROP in nat table is prohibited in newer iptables.
# DROP in mangle table creates hassle.
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT# INBOUND POLICY:
# Accept inbound packets that are part of previously-OK’ed sessions
$IPTABLES -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT# Log and drop anything not accepted above
$IPTABLES -A INPUT -j LOG –log-prefix “Dropped by default (INPUT):”# OUTBOUND POLICY:
# Allow all outbound traffic.# Log & drop ALL incoming packets destined anywhere but here.
$IPTABLES -A FORWARD -j LOG –log-prefix “FORWARD? Dropped by default:”
Her defasında elle girmemek için açılışa eklenebilir. Bunun için rcconf ile kolaylıkla yapabilirsiniz. Dosya düzenleme için mc kullanı.
apt-get install mc rcconf
mcedit /etc/init.d/firewall
Firewall adında bir dosyayı init.d altına oluşturalım. İçinede yukarıdaki betiği ekleyebiliriz.
chmod +x /etc/init.d/firewall
rcconf
komutu ile gelen menüden firewall’ı seçerek çıkıyoruz. Bilgisayarınız her açılışta devreye giren betikle dışarıdan erişimlere tamamen kapanmış olur.
Firewall Betiği Kaynak: Ubuntu Forums
Tags: açılış, bağlantı engelleme, başlangıç, betik, firewall, güvenlik duvarı, koruma, mc, rcconf