Kesin bilgidir yayalım 😀
SSD'de yer açma
===========================================
Güncelleme 1 - Bunu gerçekten önemli şeylerde kullanmadan önce bir deneme yapın, nasıl oluşturuluyor, ne neyi etkiliyor, nasıl doğru siliniyor filan anlayın ondan sonra esas işlemi yapın derim ben.
Güncelleme 2 - Aslında bir kullanma alanı daha var. İlla SSD'den harddiske atmak zorunda değilsiniz, SSD'den başka bir SSD'ye de aktarabilirsiniz. Mesela bende C: 256 SSD ve D: 1TB HDD var. 256 SSD yetmiyor, ama oradaki programları harddiske atıp yavaşlatmak istemiyorum. Daha büyük bir ssd alacağım ama ona da yeniden windows kurmak istemiyorum. Bu nedenle C: 'deki programları yeni alacağım E:'deki SSD'ye aktaracağım. Hatta Harddiske aktardığım ama hızlı olmasını istediğim şeyleri de E:'ye aktaracağım. Yeni kurulum yapmadan ve hızdan feragat etmeden C: SSD'de yer açmış olacağım.
===========================================
Diyelimki bilgisayarınzda hem SSD (C:) hem de harddisk (D:) var. Ara yüklemeler hızlı olsun diye Battlefield (Photoshop / Android SDK / Autocad... install edilen ve çok yer tutan şey) SSD'ye kurdunuz, oynuyorsunuz. Ama bir süre sonra ssd'de yer açmanız gerekti şu 60 GB'lik Battlefield 'i keşke kolayca D'ye (bilgisayarın dahili harddiski) taşıyabilsem ama oyunu da bozmasam, yavaş mavaş çalışmaya sorunsuzca devam etse diyorsunuz ama nasıl yapacağınızı bilmiyorsunuz. Sonuçta kurulumu yapılan bir uygulama, sadece dosyaları C'den (SSD) D'ye taşırsanız çalışmayacak. Windows'un bir özelliği olan ve çok az kişinin bildiği *Junctions* yardımınıza koşuyor.
Directory junction ile 60GB'lik klasör D'deki yeni yerindeyken hala C'deymiş gibi davranıyor. Böylece kurulumunuzu hiç bozmadan 60GB'lik oyunu SSD'den harddiske aktarıyorsunuz. Nasıl mı, gelin hep birlikte bakalım 🙂
1- Battlefield'i D'deki (veya başka bir lokal path) yeni yerine taşıyoruz.
Yani örneğin "C:\Program Files\Battlefield 4" klasörünü "D:\Games\" altına taşıyoruz.
Artık "C:\Program Files\Battlefield 4" diye bir klasör yok. SSD 'de 60 GB yer açıldı, harddiskde 60 GB yer doldu.
2- command prompt'u açıyoruz.
3- mklink /j "C:\Program Files\Battlefield 4" "D:\Games\Battlefield 4"
diyoruz, alttaki gibi sonuç veriyor:
Junction created for "C:\Program Files\Battlefield 4" "D:\Games\Battlefield 4"
C:\Program Files\ 'ın içine gittiğinizde "Battlefield 4"'ün orada 60 GB olarak durduğunu göreceksiniz ancak SSD'nin kapasitesine baktığınızda hala 60 GB'lık açıklığı göreceksiniz.
Yani "C:\Program Files\Battlefield 4" klasörü 60 GB ama C'de yer tutmuyor. Çünkü burası aslında "D:\Games\Battlefield 4" bir yansıması.
Windows'a "C:\Program Files\Battlefield 4" dosya yoluyla ilgili bir işlem talebi geldiğinde bu işlemi "D:\Games\Battlefield 4" üzerinde yapıyor, yani tüm programlar ıvır zıvır herşey Battlefield hala C'deymiş gibi çalışmaya devam ediyor. Bu windowsun kendi özelliği.
"C:\Program Files\Battlefield 4" klasörü içinde bir değişiklik yaparsanız "D:\Games\Battlefield 4" içinde yapmış olursunuz.
"D:\Games\Battlefield 4" içinde değişiklik yaparsanız "C:\Program Files\Battlefield 4" içinde de o değişiklik gözükür.
Silmek için "C:\Program Files\Battlefield 4" 'i silmeniz yeterlidir bu durumda D'deki esas klasöre birşey olmaz. Ancak "C:\Program Files\Battlefield 4" içindeki klasörleri veya dosyaları silerseniz gerçek klasör ve dosyaları da silmiş olursunuz.
===========================================
Detaylar:
===========================================
C:\>mklink /?
Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link Specifies the new symbolic link name.
Target Specifies the path (relative or absolute) that the new link
refers to.
===========================================
A junction is definitely not the same thing as a directory symbolic link, although they behave similarly. The main difference is that, if you are looking at a remote server, junctions are processed at the server and directory symbolic links are processed at the client. Also see Matthew's comment on the fact that this means symbolic links on the local file system can point to remote file systems.
Suppose that on a machine named Alice you were to put a junction point c:\myjp and a directory symbolic link c:\mysymlink, both pointing to c:\targetfolder. While you're using Alice you won't notice much difference between them. But if you're using another machine named Bob, then the junction point
\\Alice\c$\myjp will point to \\Alice\c$\targetfolder
but the symbolic link
\\Alice\c$\mysymlink will point to \\Bob\c$\targetfolder
(Caveat: by default, the system doesn't follow symlinks on remote volumes, so in most cases the second example will actually result in either "File Not Found" or "The symbolic link cannot be followed because its type is disabled.")
The difference between a directory symbolic link and a file symbolic link is simply that one represents a directory and one represents a file. Since the target of the link doesn't need to exist when the link is created, the file system needs to know whether to tell applications that it is a directory or not.
It should also be noted that creating a symbolic link requires special privilege (by default, only available to elevated processes) whereas creating a junction only requires access to the file system.
===========================================
Junctions , Hard Links, Soft Links, Symlink, Sembolik Link, Symbolic Link
#akış #junction #symlink #SymbolicLink #hardlink #softlink #semboliklink #bilelimöğrenelim #teknikkonu #SSD #disktemizleme #BirazYerAc #ssddeyeraçma
@eskodd Eski bölümleri hatırlayalım 😀 :
https://teknoseyir.com/mobil-oyun-nasil-yapilir
https://teknoseyir.com/unity-motoru-ile-ornekli-mobil-oyun-yapimi
@eskodd Bir sürü irili ufaklı proje oldu, hatta yukarda paylaştığım Ten Seconds Ball Game vardı, mobil platformlarda ama güncellemediğim için kaldırıldı. Ayrıca şu iki oyunda çalıştım :
https://store.steampowered.com/app/774791/Surgeon_Simulator_2/
https://store.steampowered.com/app/1931180/Lost_Skies/