Raspberry Pi NFS Sunucusu Nasıl Kurulur
Bu yazı, PiMyLifeUp - How to Setup Raspberry Pi NFS Server kaynağından Türkçe'ye çevrilerek hazırlanmıştır.
Bu eğitimde, Raspberry Pi'nizden Network File System (NFS) protokolünü kullanarak dosyaları nasıl paylaşabileceğinizi göstereceğiz.
![]()
Network File System (NFS) protokolü ilk olarak 1983 yılında Sun Microsystems tarafından geliştirildi. Bir istemci bilgisayarın bir ağ üzerinden dosyalara erişmesini sağlayacak bir yöntem olarak tasarlandı.
NFS protokolünün RFC'de tanımlanan açık bir standart olması sayesinde, herkes onu kolayca uygulayabilir. Ağ yöneticilerinin bir NAS kurması için yaygın olarak kullanılan bir protokol haline gelmiştir.
Bu eğitim boyunca, Raspberry Pi'nizde NFS protokolünü çalışır hale getirmek için gerekli paketleri kurma sürecinde size yol göstereceğiz.
Bunun üstüne, dizinleri NFS protokolünü kullanarak nasıl paylaşacağınızı da göstereceğiz.
Son olarak, hem Windows hem de Mac OS X işletim sistemlerinden Raspberry Pi'nizin NFS paylaşımına nasıl bağlanacağınızı göstereceğiz.
Başlamaya hazırsanız, eğitimin tamamını hemen aşağıda bulabilirsiniz.
Raspberry Pi'nizde Network File System (NFS) Ayarlama
1. Raspberry Pi'mizde Network File System (NFS) protokolünü ayarlamaya devam etmeden önce yapmamız gereken ilk şey, tüm paketlerin güncel olduğundan emin olmaktır.
Bunu Raspberry Pi OS işletim sisteminde yapmak için, aşağıdaki komutu çalıştırın.
sudo apt update
sudo apt upgrade
2. Raspberry Pi güncel olduğuna göre, artık NFS paylaşımı için güveneceğimiz paketleri kurabiliriz.
Bu rehberde, "nfs-kernel-server" paketini kullanmamız gerekecek. Bu paket, Raspberry Pi'mizden NFS protokolü üzerinden dosya sunmanın temelini oluşturur.
"nfs-kernel-server" paketi, NFS protokolünün sunucu tarafını yönetir ve sürücüleri kolayca paylaşmamızı sağlar.
Bu paketleri kurmak için, aşağıdaki komutu çalıştırmamız gerekiyor.
sudo apt install nfs-kernel-server -y
3. Artık NFS sunucu tarafı yazılımını kurduğumuza göre, şimdi Raspberry Pi'de bir NFS paylaşımı ayarlamaya geçebiliriz.
Bu rehber için, "/mnt/" dizini içinde "nfsshare" adlı bir dizin oluşturacağız.
Zaten bir sürücü bağladıysanız veya farklı bir dizini paylaşmak istiyorsanız, eğitimin sonraki birkaç bölümünde "/mnt/nfsshare" kısmını kullanmak istediğiniz dizinle değiştirdiğinizden emin olun.
sudo mkdir /mnt/nfsshare
4. Yapmamız gereken bir sonraki şey, ağda paylaşmak istediğimiz klasöre doğru hakları atamaktır.
Bunu yapmak için, aşağıdaki üç komutu kullanacağız. Bu komutların her birinin belirli bir amacı vardır.
İlk komut, dizin içinde bulunan tüm dosya ve klasörlerin sahipliğini "pi" kullanıcısına ve "pi" grubuna verir.
İkinci satır, "/mnt/nfsshare" klasörümüz içindeki tüm dizinleri arar ve her dizine "755" (Sahip için Okuma/Yazma/Çalıştırma, Grup ve Diğer için Okuma/Çalıştırma) izinleri vermek için chmod komutunu çalıştırır.
Üçüncü satır benzer bir şey yapar, ancak bunun yerine dizin içindeki tüm dosyaları arar ve dosyaya "644" (Sahip için Okuma/Yazma, Grup ve Diğer için Okuma) izinlerini uygular.
İzinleri daha iyi anlamak için, Linux izinleri eğitimimize göz atmayı unutmayın.
sudo chown -R pi:pi /mnt/nfsshare
sudo find /mnt/nfsshare/ -type d -exec chmod 755 {} \;
sudo find /mnt/nfsshare/ -type f -exec chmod 644 {} \;
5. Ardından, dosyalara erişmek için kullanmak istediğiniz kullanıcının hem "gid"ini (Grup id) hem de "uid"ini (Kullanıcı id) almamız gerekecek. Bunu aşağıdaki komutu çalıştırarak yapabilirsiniz.
Bu eğitim için, sadece "pi" kullanıcısını kullanacağız, ancak bunu istediğiniz herhangi bir kullanıcı için kullanabilirsiniz.
id pi
6. Önceki komuttan, aşağıda gösterdiğimiz gibi bir sonuç almalısınız.
gid ve uid değerlerini not edin çünkü ilerideki bir adımda bunlara ihtiyacınız olacak.
uid=1000(pi) gid=1000(pi)
7. Artık ihtiyacımız olan her şeye sahip olduğumuza ve paylaşmak için bir klasör hazırladığımıza göre. Aşağıdaki komutu çalıştırarak "exports" dosyasını değiştirmemiz gerekiyor.
Daha önce kurduğumuz Raspberry Pi NFS sunucu yazılımı, NFS protokolü üzerinden hangi dizinleri paylaşacağını bilmek için bu dosyayı okur.
sudo nano /etc/exports
8. İşte burada işler biraz daha karmaşıklaşıyor.
Klasörü, herkesin ona erişebilmesi, okuyabilmesi ve yazabilmesi için paylaşmak istiyorsanız, herhangi bir endişe duymadan aşağıdaki satırı ekleyebilirsiniz.
Ne yaptığını anlamanız için bu satırı daha ayrıntılı açıklayacağız, ancak NFS "exports" dosyası hakkındaki belgelere de göz atabilirsiniz.
"anonuid" kısmını 6. adımda aldığınız "uid" değeriyle, "anongid" kısmını da yine 6. adımda aldığınız "gid" değeriyle değiştirdiğinizden emin olun.
/mnt/nfsshare *(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)
Ne yaptığını anlamanız için satırın aşağıda dökümü var.
/mnt/nfsshare
Satırın bu kısmı, paylaşmak istediğimiz dizini tanımlar. Bizim durumumuzda, bu daha önce oluşturduğumuz "/mnt/nfsshare" klasörüdür.
*(NTFS Seçenekleri)
Bu yıldız işareti, bağlanan tüm IP adreslerinin bu paylaşıma erişmesine izin verilmesi gerektiğini tanımlar. Bunu "*" yerine IP'yi kullanarak belirli IP'lere veya bir IP aralığına izin verecek şekilde değiştirebilirsiniz.
"192.168.0.0"dan "192.168.0.256"ya kadar tüm IP'lere izin vermek için, yıldız işaretini "192.168.0.0/24" ile değiştirebiliriz.
Parantezler içindeki tüm seçenekler yalnızca o IP adresi için uygulanır, her biri kendi seçenek setine sahip birden fazla farklı IP tanımlayabilirsiniz.
(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)
rw– Bu seçenek, NFS hacminde hem okuma hem de yazma isteklerine izin verir.all_squash– Bu seçenek tüm uid ve gid'leri anonim kullanıcıya eşleyecektir.insecure– Bu seçenek, rezerve edilmiş bir NFS portu kullanmayan bir NFS uygulamasına sahip istemcilere izin verir.async– Bu seçenek, NFS sunucusunun sunucu çökerse verilerin potansiyel olarak bozulması pahasına performansı artırmak için NFS protokolünü bozmasına izin verir.no_subtree_check– Bu, subtree kontrolünü devre dışı bırakır, güvenlik açısından bir bedeli olsa da NFS sunucusunun güvenilirliğini artırabilir. Bunun hakkında daha fazla bilgiyi daha önce bağlantısını verdiğimiz exports belge sayfasında okuyabilirsiniz.anonuid– Bu, anonim olarak bağlanan bir kullanıcı için kullanılacak UID'dir.anongid– Bu, anonim olarak bağlanan bir kullanıcı için kullanılacak GID'dir.
9. Satırı girdikten sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak dosyayı kaydedebilirsiniz.
10. Şimdi yeni eklediğimiz klasörün NFS protokolü üzerinden erişilebilir olması için, aşağıdaki komutu çalıştırarak "exportfs" paketini çalıştırmamız gerekiyor.
Bu uygulama, NFS sunucusu için mevcut export tablosunu günceller.
sudo exportfs -ra
11. "exportfs" paketini çalıştırmaya ek olarak, NFS Kernel sunucu modülünü de yeniden başlatmamız gerekiyor.
Terminalde aşağıdaki komutu kullanarak bu servisi yeniden başlatabiliriz.
sudo systemctl restart nfs-kernel-server
12. Yapmamız gereken son şey, aşağıdaki hostname komutunu çalıştırarak Raspberry Pi'mizin yerel IP adresini almaktır.
Pi'nizin, ister Wi-Fi kurarak ister bir ethernet kablosu kullanarak ağa bağlı olduğundan emin olmanız gerekecek.
Raspberry Pi NFS sunucusuna başarıyla bağlanabilmemiz için bu IP adresine ihtiyacımız var.
hostname -I
Windows'ta Raspberry Pi'nizin NFS Paylaşımına Bağlanma
1. Windows'ta NFS paylaşımlarıyla etkileşim kurmak için, önce NFS istemcisini etkinleştirmemiz gerekiyor. Varsayılan olarak, bu özellik Windows kurulumlarında devre dışıdır.
Bunu yapmak için, Windows'ta "turn windows features on or off" aramanız ve aşağıda gösterildiği gibi görünen "Turn Windows features on or off" seçeneğine tıklamanız gerekir.

2. Bu menüde, "Services for NFS" (1.) klasörünü arayın ve tüm mevcut özellikleri etkinleştirmek için onay kutusuna tıklayın.
Bittiğinde, ayarları sonlandırmak için "OK" butonuna tıklayın (2.). Windows kurulumunuz, bir NFS paylaşımına bağlanmak için gerekli olan her şeyi ayarlamaya devam edecektir.

3. Şimdi dosya gezginini açın ve "Map network drive" seçeneğini görebilmeniz gerekir.
Raspberry Pi'nizin NFS paylaşımını bilgisayarınıza bağlama sürecine devam etmek için bu seçeneğe tıklayın.

4. Bu ekranda, Raspberry Pi'nizin IP adresini ve ardından NFS Paylaşımına bağladığımız klasörü girmeniz gerekiyor (1.).
Örneğin, Raspberry Pi'mizin IP adresi "192.168.0.159" ve ayarladığımız klasör "\mnt\nfsshare"de. Kullanacağımız "klasör" "\\192.168.0.159\mnt\nfsshare" olacaktır.
Girdikten sonra, bağlantıyı sonlandırmak için "Finish" butonuna tıklayın (2.).

5. Artık Windows cihazınızda "Network Locations" veya "Network" altında paylaşılan Raspberry Pi NFS klasörünüzü görebilmeniz gerekiyor.

Mac OS X'te Pi'nizin NFS Paylaşımına Bağlanma
1. Şimdi MAC OS X'te Raspberry Pi'nizin NFS Paylaşımına bağlanma zamanı, Finder uygulamasını açarak başlamanız gerekecek.

2. "Finder" uygulaması açıkken, ekranın üstündeki araç çubuğunda "Go"ya tıklayın (1.) ve ardından "Connect to Server..." (2.) seçeneğine tıklayın.

3. Ardından, bağlanmak istediğiniz adresi girmeniz istenecektir (1.).
Buna girmeniz gereken adres, "nfs:\\" protokolünün ardından Raspberry Pi'nizin IP adresinin bir kombinasyonudur. Son olarak, erişmeye çalıştığınız dizin ile biter.
Örneğin, IP "192.168.0.159" ve Pi'de paylaştığımız klasör "\mnt\nfsshare" ise, gireceğimiz adres "nfs:\\192.168.0.159\mnt\nfsshare" olur.
Bittiğinde, paylaşılan hacmi bağlamak için "Connect" butonuna tıklayın (2.).

4. Bağlantı başarılı olursa, Raspberry Pi'nizde NFS Protokolünü kullanarak paylaştığınız klasörün içini gösteren yeni bir pencere göreceksiniz.

Klasörü, Finder kenar çubuğundaki "Locations" bölümüne bakarak da tekrar bulabilirsiniz.
Sonuç
Artık Raspberry Pi NFS sunucunuz kurulmuş ve ağda erişilebilir olmalı. Umarız bir Windows PC veya bir Mac OS X bilgisayar kullanarak ona kolayca bağlanabilirsiniz.
Raspberry Pi'nizde bir NFS sunucusuna bağlanma rehberimize de göz atmayı unutmayın.
Herhangi bir geri bildiriminiz, ipucunuz veya başka bir şeyiniz varsa, lütfen aşağıya yorum bırakmaktan çekinmeyin.