Το NTFS είναι το σύστημα αρχείων στα Windows. Εμείς είμαστε χρήστες linux, αλλά μπορεί να έχουμε έναν δίσκο από μια παλιά εγκατάσταση Windows και να θέλουμε να το κάνουμε mount στο Linux για να πάρουμε αρχεία. Η' μπορεί να μας έχουν δώσει ένα καινούριο δίσκο με NTFS σύστημα αρχείων και να θέλουμε να το βάλουμε στο PC μας που τρέχει Linux. Εδώ εξηγούμε πως γίνεται η προσάρτηση ενός τέτοιου δίσκου στο Linux.
Για να προσαρτήσετε NTFS συστήματα αρχείων, υπάρχουν δύο μέθοδοι: Η read-only και η read-write. Στην πρώτη περίπτωση θα μπορείτε μόνο να διαβάσετε τα αρχεία ενώ στη δεύτερη περίπτωση θα μπορείτε κιόλας να γράφετε στο δίσκο αυτό χωρίς πρόβλημα.
Θεωρούμε ότι έχετε συνδέσει το δίσκο στο PC σας σωστά (καλώδια/ρεύμα) και ότι ο δίσκος περιέχει μέσα μια τουλάχιστον κατάτμηση NTFS.
Κατ'αρχάς, πρέπει να επιβεβαιώσετε ότι ο δίσκος έχει αναγνωριστεί από το linux, ότι δουλεύει και να βρειτε το όνομα και το UUID της κάθε κατάτμησης (μια μοναδική συμβολοσειρά που αντιστοιχεί σε κάθε partition του δίσκου σας).
Για να δείτε αν το Linux έχει "δει" το δίσκο, ανοίξτε ένα Τερματικό (Ctrl+Alt+T στο Ubuntu/Gnome) και δώστε την εντολή:
lsblk -o NAME,UUID,FSTYPE
Θα εμφανιστούν όλοι οι δίσκοι στο PC σας με το όνομα τους, αλλά και το UUID και τον τύπο του συστήματος αρχείων κάθε κατάτμησής τους.
NAME UUID FSTYPE sdb └─sdb1 80F05B48F05B5B96 ntfs sdc └─sdc1 e0b3b140-1590-48a9-bccb-1f1a9fd496a7 ext4 sda ├─sda2 7c22049e-d4c4-4434-9b59-e8686f58b9bc ext2 ├─sda3 gCfJQB-mZ79-A1Uv-qtjP-ojap-7jVc-HlzoL0 LVM2_member │ ├─ubuntu--vg-swap_1 898b58e6-7f17-463e-8e52-4b336b7989e3 swap │ └─ubuntu--vg-root 5deae769-8eb9-40a8-8379-9f310e6a62c6 ext4 └─sda1 1189-3604 vfat
Αν έχετε πολλούς δίσκους, ή για να μην μπερδεύεστε, μπορείτε να του ζητήσετε να σας δείξει μόνο τις NTFS κατατμήσεις (αν υπάρχουν) με την εντολή:
lsblk -o NAME,UUID,FSTYPE | grep ntfs
Σε κάθε περίπτωση, αν ο Windows σκληρός δίσκος σας δουλεύει και έχει μέσα κάποια κατάτμηση NTFS, θα πρέπει να δείτε κάτι σαν κι αυτό:
└─sdb1 80F05B48F05B5B96 ntfs
Αυτό σημαίνει ότι το Linux μου έχει "δει" σωστά το Windows δίσκο (του έχει δώσει το όνομα /dev/sdb) ο οποίος έχει μέσα μια NTFS κατάτμηση /dev/sdb1 με UUID 80F05B48F05B5B96.
Τώρα, σε γενικές γραμμές, για να προσαρτήσουμε μια NTFS κατάτμηση πρέπει να κάνουμε 2 βήματα:
α) να δημιουργήσουμε το φάκελο όπου θα γίνει το mount και
β) να προσθέσουμε μια γραμμή στο αρχείο ρυθμίσεων /etc/fstab
Ας πούμε ότι θέλετε να προσαρτήσετε την NTFS κατάτμηση στο φάκελο /mnt/teras. Γιατί στο /mnt ; Γιατί σε αυτόν τον φάκελο συνηθίζεται να κάνουμε mount τις συσκευές αποθήκευσης (διαβάστε περισσότερα για το σύστημα αρχείων του Linux).
Οπότε το πρώτο βήμα να είναι φτιάξουμε το φάκελο:
sudo mkdir /mnt/teras
Και επειδή θέλουμε να είμαστε ασφαλείς, ορίζουμε ότι αυτός ο φάκελος ανήκει μόνο σε εμάς:
sudo chown $USER /mnt/teras/
Προσάρτηση Read-Only
Εχοντας δημιουργήσει τον απαιτούμενο φάκελο προσάρτησης, για να κάνουμε mount το NTFS partition μας, μόνο για ανάγνωση, πρέπει να δούμε αν ο πυρήνας μας υποστηρίζει/διαθέτει τον read-only driver
Οπότε πάλι από το Τερματικό δίνουμε την εντολή:
ls /lib/modules/`uname -r`/kernel/fs | grep ntfs
Αν υπάρχει το module, θα πρέπει να μας απαντήσει: ntfs
Παράδειγμα:
$ ls /lib/modules/`uname -r`/kernel/fs | grep ntfs ntfs
Οπότε τώρα θα ανοίξουμε το αρχείο ρυθμίσεων /etc/fstab για να προσθέσουμε μια γραμμή που θα λέει στο Linux να κάνει mount τη συγκεκριμένη κατάτμηση NTFS κάθε φορά που κάνουμε boot το PC μας.
Αν έχετε Ubuntu 18.04, πατήστε Alt+F2 και γράψτε την εντολή:
gedit admin:///etc/fstab
Αν έχετε άλλη διανομή, στο Τερματικό δώστε την εντολή:
sudo nano /etc/fstab
Εκεί μέσα, πηγαίνετε στο τέλος του αρχείου και γράψτε το εξής:
UUID=80F05B48F05B4396 /mnt/teras ntfs defaults 0 1
Προσοχή: πρέπει να αντικαταστήσετε το UUID με το σωστό (αυτό που έδωσε η εντολή lsblκ στον υπολογιστή σας) και με το σωστό όνομα φακέλου (αυτόν που φτιάξατε εσείς με την εντολή sudo mkdir ...)
Αποθηκεύστε το αρχείο (Ctrl+X και Y στο nano ή Ctrl+S στο Gedit) και κλείστε το.
Μετά μπορείτε να προσαρτήσετε το NTFS partition με την εντολή (αντικαταστήστε το /mnt/teras με το δικό σας φάκελο!!!):
sudo mount /mnt/teras
Αν όλα πάνε καλά, δεν θα δείτε μήνυμα σφάλματος και θα μπορείτε να δείτε τα περιεχόμενα του δίσκου με την εντολή:
ls -ls /mnt/teras
Στην περίπτωσή μας:
$ ls /mnt/teras/ -ls total 278 8 drwxrwxrwx 1 root root 8192 Δεκ 12 2010 Age of Empires II 0 drwxrwxrwx 1 root root 0 Δεκ 16 2009 autorun 1 -rwxrwxrwx 1 root root 36 Οκτ 16 2002 autorun.inf 0 drwxrwxrwx 1 root root 0 Νοέ 16 2016 Books 16 drwxrwxrwx 1 root root 16384 Ιούλ 31 09:03 Documents 40 drwxrwxrwx 1 root root 40960 Μάρ 9 19:36 Downloads 0 drwxrwxrwx 1 root root 0 Νοέ 16 2016 Fonts 8 drwxrwxrwx 1 root root 8192 Ιούλ 31 09:25 ISOs 12 drwxrwxrwx 1 root root 12288 Μάρ 15 2017 Music 1 -rwxrwxrwx 2 root root 270 Δεκ 4 2009 My Book 3.0 Online Documentation.url 92 drwxrwxrwx 1 root root 94208 Αύγ 1 15:30 Pictures 0 drwxrwxrwx 1 root root 0 Δεκ 17 2011 $RECYCLE.BIN 0 drwxrwxrwx 1 root root 0 Δεκ 13 2017 SteamLibrary 4 drwxrwxrwx 1 root root 4096 Ιαν 22 2015 TTC - Secrets of Mental Math 0 drwxrwxrwx 1 root root 0 Δεκ 16 2009 User Manuals 4 drwxrwxrwx 1 root root 4096 Ιούλ 31 09:08 VirtualMachines 4 drwxrwxrwx 1 root root 4096 Νοέ 16 2016 Μουσικη
Προσάρτηση Read-Write
Καλά όλα αυτά, αλλά μήπως θέλετε να μπορείτε να γράφετε κιόλας στον NTFS δίσκο; Ε, τότε χρειάζεστε ένα άλλο module που λέγεται ntfs-3g. Και αυτό γιατί λόγω πατεντών/copyrights κλπ, o πυρήνας Linux δεν ενσωματώνει τη λειτουργία εγγραφής.
Στο Ubuntu, το Mint και γενικά σε Debian-based διανομές, γράψτε την εντολή:
sudo apt install ntfs-3g
Στις υπόλοιπες διανομές ψάξτε το πακέτο ntfs-3g με τον διαχειριστή πακέτων σας. Π.χ. σε Fedora:
sudo dnf install ntfs-3g
Σε CentOS
sudo yum install ntfs-3g
OK, έχοντας εγκαταστήσει το πακέτο ntfs-3g, το μόνο που χρειάζεται είναι να αλλάξουμε λίγο τη ρύθμιση που κάναμε στο αρχείο /etc/fstab.
Ανοίξτε πάλι το /etc/fstab
sudo nano /etc/fstab
Πηγαίνετε στη γραμμή που προσθέσατε προηγουμένως και αλλάξτε το ntfs σε ntfs-3g.
Στο παράδειγμά μας, η γραμμή στο /etc/fstab μου είναι πλέον:
UUID=80F05B48F05B4396 /mnt/teras ntfs-3g defaults 0 1
Μετά από αυτές τις ρυθμίσεις, είμαστε έτοιμοι. Για να κάνετε μια δοκιμή, αν έχετε ήδη προσαρτήσει το δίσκο με τη Read-Only μέθοδο, κάντε απο-προσάρτηση:
sudo umount /mnt/teras
Και στη συνέχεια κάντε ξανά mount - αυτή τη φορά ο δίσκος θα προσαρτηθεί μέσω του ntfs-3g module:
sudo mount /mnt/teras
Και για να τεστάρετε ότι μπορείτε να γράψετε εκεί, δώστε την εντολή:
touch /mnt/teras/mytest.txt
Τώρα αν κάνετε ls /mnt/teras θα πρέπει να δείτε ότι δημιουργήθηκε το αρχείο mytest.txt.
Αυτό πιστοποιεί ότι πλέον μπορείτε να κάνετε mount με δικαιώματα ανάγνωσης και εγγραφής στο NTFS δίσκο.
Και επειδή έχουμε κάνει όλα τα απαραίτητα στο /etc/fstab, αν κάνετε reboot θα διαπιστώσετε ότι το Linux σας θα κάνει αυτόματα την προσάρτηση σε κάθε εκκίνηση του υπολογιστή χωρίς να χρειάζεται να ξαναδώσετε την εντολή mount...
Δικαιώματα αρχείων στο NTFS
Η ρύθμιση που κάναμε παραπάνω στο /etc/fstab, δίνει πλήρη δικαιώματα ανάγνωσης/εγγραφής στα αρχεία του δίσκου σε όλον τον κόσμο (ισοδυναμεί όπως λέμε στο Linux με "777"). Μια πιο ασφαλής λύση, ειδικά αν χρησιμοποιείτε συχνά τον ntfs δίσκο στο Linux είναι να δώσετε στα αρχεία και στους φακέλους τις σωστές άδειες και να ορίσετε και σε ποιον χρήστη ανήκουν τα αρχεία. Δηλαδή 755 για φακέλους και 644 για αρχεία, που σημαίνει ανάγνωση/εγγραφή μόνο για τον ιδιοκτήτη και μόνο ανάγνωση για όλους τους άλλους . Για να το πετύχετε αυτό, πρέπει να προσθέσετε μετά το defaults το εξής: ,uid=1000,dmask=022,fmask=133
ώστε να γίνει
UUID=80F05B48F05B4396 /mnt/teras ntfs-3g defaults,uid=1000,dmask=022,fmask=133 0 1
Εναλλακτικά, μπορείτε να βάλετε umask=0022 αντί για dmask και fmask.
Προσοχή: στο uid πρέπει να βάλετε τον αριθμό που βλέπετε με την εντολή id:
$ id
uid=1000(dimitris) gid=1000(dimitris) groups=1000(dimitris),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε
Comments
Πολυ καλό tutorial :)
+1 για το Age of Empires II