Mac Os Native NTFS Destegi
-
mac os kullanan arkadaslar bilirler. mac ntfs diskinizi otomatik olarak read-write mount etmez. read-only mount eder. yani siz ntfs bolum barindiran bir disk taktiginizda(harici disk, usb, veya dahili diskinizdeki ntfs volume) onu yalnizca okuyabilirsiniz.
bu kucuk sorun 3. parti yazilimlarla (Tuxera NTFS, Paragon) cozulebilmekte fakat bu iki yazilimda para ile satiliyo. ve hatta kullanildiklarinda disklerin dosya sistemlerinde ufak tefek sorunlara sebep olabiliyolar.(Tuxera 2010.10[suanki son surum] da bazi girisleri bozdugunu gordum.)
Halbuki mac os, ntfs suruculere zaten destek vermekte. Bi kac kucuk islemle 3.parti yazilima gerek kalmadan ntfs disklerimize yazabiliyor hale gelebiliriz.
Yapmamiz gereken, read-only mount edilmis ntfs volume unmount etmek, ve read-write sekilde tekrar mount etmek.
diskutil list
komutuyla sisteme bagli diskleri veya
mount
komutuyla sisteme mount edilmis diskleri gorebiliriz.
mount komutunu verdikten sonra asagidakine benzer bi cikti alicaksiniz.
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk2s1 on /Volumes/Gurhan (ntfs, local, nodev, nosuid, read-only, noowners)gordugumuz gibi sisteme taktigim ntfs harici diskim read-only olarak mount edilmis.diskutil umount disk2s1komutuyla diski unmount ediyoruz.sudo mkdir /Volumes/KlasorAdikomutuyla '/Volumes/' klasoru altina, diskimizi mount edicegimiz bi klasor olusturuyoruz.ornegin,sudo mkdir /Volumes/Gurhansonrasinda disk2s1 ' i, olusturdugumuz klasore tekrar fakat bu sefer read-write haklarla mount ediyoruz.sudo mount -t ntfs -o rw,nodev,nosuid /dev/disk2s1 /Volumes/Gurhanolan biteni gormek icin tekrar mount komutunu girelim/dev/disk0s2 on / (hfs, local, journaled)devfs on /dev (devfs, local, nobrowse)map -hosts on /net (autofs, nosuid, automounted, nobrowse)map auto_home on /home (autofs, automounted, nobrowse)/dev/disk2s1 on /Volumes/Gurhan (ntfs, local, nodev, nosuid, noowners)
gordugumuz gibi read-only ortadan kalkmis.;)bu is yazdigim kucuk bi c programi da var. program sisteme bagli tum read-only ntfs volume'lari unmount edip tekrar read-write yetkileriyle mount etmeyi deniyor.#include #include #include #include #include #define UNMOUNTED 0 #define MOUNTEDRW 1 #define MOUNTEDRO 2 /**/ char *ex_command(const char *command, char *out, size_t n); char *getnames(char *str, char *label); int ismounted(const char *dev_name); /**/ #define STRBLOCK 4096 int main (int argc, const char * argv) { char str[STRBLOCK]; char command[STRBLOCK]; char label[1024], *dev_name; char *line, *rld; int imnt; //ntfs volumelari str'ye at. ex_command("sudo diskutil list | grep NTFS", str, STRBLOCK); //str bossa if (!str[0]) { printf("cannot find any ntfs volume\n"); exit(EXIT_FAILURE); } //sistemdeki tum ntfs volumelari gez for (line = strtok_r(str, "\n", &rld); line; line = strtok_r(NULL, "\n", &rld)) { //aygit ismini (disk2s1) ve etiketini al dev_name = getnames(line, label); printf("NTFS drive detected\n"\ "\tLabel:%s\t DevName:%s\n", label, dev_name); if ((imnt = ismounted(dev_name)) == MOUNTEDRW) //okuma yazma hakkiylami mount edilmis ? { printf("%s has already mounted with read-write perms\n", dev_name); continue; } if (imnt == MOUNTEDRO) { printf("%s is unmounting\n", label); //unmount sprintf(command, "diskutil umount %s", dev_name); if (system(command)) { fprintf(stderr, "unmounting failed %s\n", dev_name); continue; } } //mount edilicek Klasoru olustur. sprintf(command, "sudo mkdir /Volumes/%s", label); if (system(command)) { srand(time(NULL)); for (int i = 0, rnd; i < 2; ++i) { sprintf(command, "sudo mkdir /Volumes/%s%d", label, (rnd = (rand() % 1000))); if (!system(command)) { sprintf(label, "%s%d", label, rnd); goto DIRCREATED; } } fprintf(stderr, "mkdir failed /Volumes/%s\n", label); continue; } //akis burdaysa klasor olusmustur. DIRCREATED: sprintf(command, "sudo mount -t ntfs -o rw,nodev,nosuid /dev/%s /Volumes/%s", dev_name, label); printf("%s trying to mount with read-write perms\n", dev_name); if (system(command)) { fprintf(stderr, "mounting failed %s\n", dev_name); continue; } } return 0; } /*shell komutu calistir ve ciktisini al*/ char *ex_command(const char *command, char *out, size_t n) { FILE *f; int i; if ((f = popen(command, "r")) == NULL) { printf("cannot open pipe"); exit(EXIT_FAILURE); } i = fread(out, 1, n - 1, f); out[i] = '\0'; pclose(f); return out; } /*disk label'ini ve aygit ismini al geriye aygit ismi doner*/ char *getnames(char *str, char *label) { char *brkt; char *tokens[256]; int i; for (i = 0, tokens[i] = strtok_r(str, " ", &brkt); tokens[i]; ++i, tokens[i] = strtok_r(NULL, " ", &brkt)) ; label[0] = '\0'; for (int j = 2; j < (i - 3); ++j) strcat(label, tokens[j]); if (!label[0]) strcpy(label, "Untitled"); return tokens[i - 1]; } /*aygit ismi verilen aygit'in mount edilme durumu*/ int ismounted(const char *dev_name) { char str[STRBLOCK], *pstr = str; char command[512]; sprintf(command, "mount | grep %s", dev_name); ex_command(command, str, STRBLOCK); if (!str[0]) return UNMOUNTED; for (; *pstr; ++pstr) { if (!strncmp(pstr, "read-only", 9)) return MOUNTEDRO; } return MOUNTEDRW; }
-
mac ten anliyonmu hoca sorayimmi bisiyler?
-
gordugumuz gibi sisteme taktigim ntfs harici diskim read-only olarak mount edilmis.diskutil umount disk2s1komutuyla diski unmount ediyoruz.sudo mkdir /Volumes/KlasorAdikomutuyla '/Volumes/' klasoru altina, diskimizi mount edicegimiz bi klasor olusturuyoruz.ornegin,sudo mkdir /Volumes/Gurhansonrasinda disk2s1 ' i, olusturdugumuz klasore tekrar fakat bu sefer read-write haklarla mount ediyoruz.sudo mount -t ntfs -o rw,nodev,nosuid /dev/disk2s1 /Volumes/Gurhanolan biteni gormek icin tekrar mount komutunu girelim/dev/disk0s2 on / (hfs, local, journaled)devfs on /dev (devfs, local, nobrowse)map -hosts on /net (autofs, nosuid, automounted, nobrowse)map auto_home on /home (autofs, automounted, nobrowse)/dev/disk2s1 on /Volumes/Gurhan (ntfs, local, nodev, nosuid, noowners)burasini bi okunur sekle getiremedim iyi mi yaa.
-
Sarper bunu yazdı:
-----------------------------
mac ten anliyonmu hoca sorayimmi bisiyler?
-----------------------------valla yeni girisiyorum mac'e ama sor illa ki bilen biri cikar heralde
-
GrN bunu yazdı:
-----------------------------Sarper bunu yazdı:
-----------------------------
mac ten anliyonmu hoca sorayimmi bisiyler?
-----------------------------valla yeni girisiyorum mac'e ama sor illa ki bilen biri cikar heralde
-----------------------------
pcyi netbeans, eclipse bilumun dev. icin kullanicam.arada oyunda oynarim tabi.i5 islemcili orta seviye ekran kartli bi notebook alsam beni uzun sure goturur ki max 2bin tl ye alabiliyorum(hatta i7ye bile cikarim kampanya falan) bu isleri yapabilecegim bi mac alsam ne kadara patlar? -
fiyat olarak mac lerle pek bi alakam yok yahu :s
ben mac os isletim sistemini benim pc'ye kurdum. yani tabi bi mac'im olsun isterim ama o kadar param yok. :)
http://store.bilkom.com.tr/MacBook-Pro/Apple_br_2-16
surayi bi incele istersen.