Haziran 2012 için arşiv

Windows’ta Sembolik Link Oluşturma

Sembolik Link

Linux, Unix ve türevleri ile ilgilenenler bilirler, bir dizini ya da dosyayı başka bir yerdeymiş gibi göstermek için kullanabildiğimiz “sembolik link” gibi güzide bir özelliği var. Bu özellik sayesinde kurduğumuz kütüphaneleri ortak bir yerde bırakıp uygulamalarımızın kullanmasını, ev dizinimizde hazırladığımız sayfaların web sunucusu üzerinde görüntülenmesini vb. sağlayabiliyoruz. Hazırladığımız uygulamalar bu sayede bir dosya/dizinin her zaman belirttiğimiz yerde olduğundan emin olarak çalışabiliyor. Tabi, bu durum Windows ortamında uygulama geliştirip bu uygulamayı Linux ortamda çalıştıran geliştiriciler için biraz sıkıntı olabiliyor. Çünkü, ilk bakışta Windows üzerinde böyle bir özellik bulunamıyor – tabi iyi aranmaz ise.

NTFS dosya sisteminin içinde, sembolik link özelliği mevcut. Çoğu kimsenin bilmediği bu özellik, “mklink” komutu ile kullanılıyor. Bir dosyaya hızlı bir şekilde sembolik link oluşturmak için şu komutu kullanabilirsiniz:

$>mklink <link_adı> <hedef_dosya>

Bu komutta, hiç parametre belirtmezseniz, bulunduğunuz dizin içinde <link_adı> ile belirttiğiniz ad ile, <hedef_dosya> ile belirtilen dosyayı gösteren bir link oluşturulacaktır. Bu linki bir dizine vermek için ise /d parametresini kullanmak gerekir:

$>mklink /d <link_adi> <hedef_dizin>

Şimdi, örnek olarak C:\amele dizini altında D:\yazilim dizinine ve bu dizin altındaki yzlm.txt dosyasına link oluşturalım.

$>mklink /d yaz D:\yazilim
$>mklink yzlm D:\yazilim\yzlm.txt

Bu komutlardan sonra, bulunduğumuz dizinde dir komutunu çalıştırırsak, aşağıdaki çıktıyı elde ederiz:

C:\amele>dir
Directory of C:\amele
01.01.1970 00:00 <DIR> .
01.01.1970 00:00 <DIR> ..
01.01.1970 00:00 <SYMLINKD> yaz [D:\yazilim]
01.01.1970 00:00 <SYMLINK> yzlm [D:\yazilim\yzlm.txt]

Gördüğünüz gibi, bu oluşturduğumuz linkler dosya veya dizin olarak değil, SYMLINK ve SYMLINKD olarak görünüyorlar. Silmek için normal dosya ve dizin silme komutlarını (del, rmdir) kullanabilirsiniz.

Unutmayın, buradaki komutların, benim gördüğüm kadarı ile Windows Explorer arayüzünde bir karşılığı yok, o yüzden komut satırından yapma mecburiyetindeyiz.

İyi linklemeler.

Kaynaklar:
[1] http://en.wikipedia.org/wiki/NTFS_symbolic_link
[2] http://technet.microsoft.com/en-us/library/cc753194(WS.10).aspx

VirtualBox, Linux ve Paylaşılan Dizinler

Bir çoğumuzun yeni işletim sistemlerini denemek, güvenli bir şekilde programları denemek için kullandığı VirtualBox sanallaştırma yazılımının, “Paylaşılan Dizinler” (Shared Folders) adında güzel bir özelliği var. Paylaşılan Dizinler özelliği sayesinde, ana işletim sistemimizdeki gerçek dizinleri sanal işletim sistemine bağlayabiliyoruz. Bu özellik gelişmiş seçeneklerde bulunduğu için, kullanmadan önce “Misafir Eklentileri” (Guest Additions) ni yüklemek gerekiyor.

Adım adım VirtualBox üzerine sanal işletim sistemi kurmayı bu yazıda anlatmayacağım. O yüzden, halihazırda kurulu bir Linux sanal sistemi olduğunu farzederek bu yazıyı yazıyorum. Windows veya Linux tabanlı olmayan diğer işletim sistemlerinde daha farklı ayarlar olduğu için bu yazdıklarım uygulanamayacaktır.

VirtualBox - Paylaşılan Dizinler

VirtualBox arayüzünde, sanal sistemin çalıştığı pencerenin sağ alt köşesinde, küçük bir dizin simgesi şeklinde, Paylaşılan Dizinler seçeneğini görebilirsiniz. Bu simgeye sağ tıklayıp özelliklerine girdiğinizde, paylaşmak istediğiniz dizinleri ve bu paylaşımların isimleri, bağlama özellikleri gibi değişik seçeneklere erişebilirsiniz. Bu ekranda, mesela Windows C:\ sürücüsünü, “Otomatik Bağla” ve “Kalıcı Yap” seçenekleri ile paylaşabiliriz. Bu paylaşılan dizinler, sanal Linux’un dosya sisteminde /media/ dizini altına bağlanacaktır.Buraya kadar her şey hoş, fakat sanal Linux sistemine normal bir kullanıcı ile giriş yapıp bu paylaşılan dizinlere erişmeye çalıştığınız zaman karşınıza dosya izinlerinin yeterli olmadığı ile ilgili bir uyarı gelecektir. Muhtemelen, komut satırından sudo ile bu dizinlere erişim sağlayabildiğiniz görüp bir süre bu yöntemi deneyeceksiniz. Daha sonra da sistem ayarlarından root erişmini açarak, tavsiye edilmeyen şekilde sisteme root kullanıcısı ile giriş yapacaksınız.

Yapmayın.

İşin kolayı var.

VirtualBox, dizinleri paylaşıp sanal sisteme tam erişim izinleri ile bağladığı zaman, bu dizinleri “vboxsf” kullanıcı grubu altında bağlar. Temel Linux bilgilerinizi tazelerseniz, Linux dosya sistemlerinde erişim kontrolü için kullanıcı / grup / herkes şeklinde üçlü bir yapılanma vardır. Kullanıcınızın ait olduğu gruba izin verildiği sürece dosya ve dizinlere erişebilirsiniz. O yüzden, değişik ve güvensiz erişim yöntemleri yerine, kullancınızı vboxsf grubuna eklemeniz yeterlidir. Bunu yapmak için aşağıdaki komutu kullanabilirsiniz:

$> usermod -a -G vboxsf <amele>

<amele> burada kullanıcı adımız, oraya kendi kullanıcı adınızı yazarak çalıştırın.

Haydi iyi sanallaştırmalar.