ΑΥΤΗ Η ΔΗΜΟΣΙΕΥΣΗ ΕΧΕΙ ΓΙΝΕΙ ΠΑΝΩ ΑΠΟ ΕΝΑ ΧΡΟΝΟ ΠΡΙΝ!
Ένα από τα πολλά ατού που μας προσφέρει το GNU/Linux ως λειτουργικό σύστημα είναι τα symbolic links. Εν συντομία, είναι κάτι σαν τις συντομεύσεις σε Windows(shortcuts) ,αλλά σε άλλο επίπεδο(δεν θα το αναλύσουμε εδώ αυτό).
Εκμεταλλευόμενοι το symbolic link (ή symlink για συντομία) θα δούμε πως μπορούμε να γλυτώσουμε αρκετό χώρο στον δίσκο μας και συγκεκριμένα για τα παιχνίδια που έχουμε στο Steam, ειδικά αν αυτά είναι μεγάλου όγκου.
Η παρακάτω διαδικασία δεν ισχύει για παιχνίδια Steam που έχετε σε Windows. Δηλαδή, να τα κάνετε symlink σε Linux.
Όταν έχουμε είτε ένα multi-boot σύστημα, είτε έναν SSD δίσκο, τότε θα προτιμούσαμε να έχουμε τα παιχνίδια μας σε ένα μέρος για όλα τα λειτουργικά, έτσι δεν είναι ; Πρόσφατα χρειάστηκε να φτιάξω symlink λόγω του multi-boot που έχω.
Φέρνω σαν παράδειγμα: Έχω στήσει το Steam με 4 παιχνίδια συνολικού όγκου 90GB στο Arch Linux. Εγκαθιστώ πρόσφατα Ubuntu ως dual-boot και θέλω να δοκιμάσω πως συμπεριφέρεται το Steam (και τα παιχνίδια μου) εκεί. Τι πρέπει να κάνω τώρα ; Να κατεβάσω (download) 90GB αρχείων από το Steam ; Όχι.
Με έναν απλό σύνδεσμο (symlink) μπορώ να έχω διαθέσιμα τα παιχνίδια που έχω στο Arch και στο Ubuntu και σε οποιοδήποτε άλλο GNU/Linux λειτουργικό.
Επίσης, έχω έναν SSD και δεν γουστάρω να γράψω (και να γράφω, διότι τα περισσότερα παιχνίδια όσο παίζεις αυξάνεται ο όγκος τους, χάρτες, πίστες..κλπ) συνεχώς εκεί μέσα. Θέλω να έχω τον φάκελο με τα παιχνίδια σε έναν HDD και να τα φορτώνω από εκεί. Ναι, αυτό ίσως επηρεάσει λίγο την απόδοση (θα έπαιζαν καλύτερα σε SSD) αλλά προτιμώ αυτό από το να επηρεάσει την τσέπη μου, διότι πιθανότατα να ψάχνω για καινούριο SSD πιο σύντομα.
Ο φάκελος που μας ενδιαφέρει σε αυτή την περίπτωση είναι ο SteamApps (όπως τον γράφω ακριβώς). Σε Arch , βρίσκεται στην διαδρομή
~/.local/share/Steam/SteamApps
Για να είμαστε σίγουροι πως έχουμε βρει τον σωστό φάκελο, τρέχουμε μια
du -h -c ~/.local/share/Steam/SteamApps/ | grep -i total
και πρέπει να μας επιστρέψει ένα αρκετά μεγάλο total σε GB (αναλόγως βέβαια τι παιχνίδια έχουμε, αλλά θα είναι ο μεγαλύτερος φάκελος).
Αφού βρούμε τον σωστό φάκελο, πρέπει να δημιουργήσουμε ένα symlink προς αυτόν, στο άλλο λειτουργικό.
Αυτός ο φάκελος (SteamApps) μπορεί να είναι και μόνος του τελείως. Μπορούμε δηλαδή να τον μεταφέρουμε σε άλλο διαμέρισμα, σε έναν άλλο δίσκο. Αυτό που πρέπει να κάνουμε, είτε είναι σε άλλο λειτουργικό σύστημα, είτε μόνος του σε άλλο δίσκο, είναι να προσαρτήσουμε μόνιμα το συγκεκριμένο διαμέρισμα.
Για παράδειγμα:
Έχω, όπως είπαμε, το Steam έτοιμο και στημένο με όλα τα παιχνίδια στο Arch Linux. Θέλω να φτιάξω ένα symlink στο Ubuntu Trusty.
Το πρώτο που κάνω είναι να επεξεργαστώ το /etc/fstab στο Ubuntu και να προσθέσω ως μόνιμη εγγραφή το Arch Linux.
α) Φτιάχνω το σημείο προσάρτησης (mountpoint)
sudo mkdir -p /media/username/archlinux
όπου username το αντικαθιστάτε με το δικό σας.
β) Φτιάχνω την κατάλληλη εγγραφή στο fstab.
sudo gedit /etc/fstab
και προσθέτω την γραμμή
UUID=xxxx.xxxx.xxxx.xxxx /media/username/archlinux ext4 defaults,data=ordered 0 2
Το UUID μπορώ να το δω από το αποτέλεσμα της εντολής
sudo blkid
Όπου username βάζουμε το δικό μας (είναι το σημείο προσάρτησης που φτιάξαμε πριν).
ext4 είναι το σύστημα αρχείων (αν έχουμε κάποιο άλλο το αλλάζουμε αναλόγως. Το ext4 είναι το default στο μεγαλύτερο ποσοστό των διανομών GNU/Linux)
γ) Βλέπω αν δουλεύει σωστά με την εντολή
sudo mount -a
μετά από την εντολή θα πρέπει να έχει προσαρτηθεί χωρίς προβλήματα ή μηνύματα λάθους, το Arch Linux στο /media/username/archlinux . Το βλέπω με
ls /media/username/archlinux
πρέπει να μου επιστρέψει φακέλους και αρχεία.
Τα παραπάνω είναι μόνιμες αλλαγές που πρέπει να γίνουν.
Αφού γίνουν, δημιουργώ το symlink.
Σε νεότερες εκδόσεις Steam, ο φάκελος ίσως ονομάζεται steamapps, αντί για SteamApps.
Δώστε λίγο παραπάνω προσοχή τώρα.
Αν έχω εγκαταστήσει και έχω ανοίξει το Steam στο Ubuntu (έχουμε συνδεθεί …κλπ), τότε ο φάκελος SteamApps θα υπάρχει αλλά θα είναι άδειος. Πρέπει να τον διαγράψουμε για να φτιάξουμε σωστά το symlink.
Επίσης, η διαδρομή μπορεί να αλλάζει. Συγκεκριμένα (και επειδή το έχω δοκιμάσει) στο Ubuntu Trusty η διαδρομή είναι ~/.steam/steam/SteamApps και όχι ~/.local/share/Steam/SteamApps που είναι στο Arch Linux. Οπότε, στην συγκεκριμένη περίπτωση κάνω τα παρακάτω.
rm -rf .steam/steam/SteamApps
και
ln -s /media/username/archlinux/home/myusername/.local/share/Steam/SteamApps ~/.steam/steam/SteamApps
Αντικαθιστούμε το myusername με το username μας στο Arch Linux (στο συγκεκριμένο παράδειγμα). Η παραπάνω εντολή θα δημιουργήσει το symlink που θέλουμε. Μπορούμε να το δούμε με την εντολή
ls -ld ~/.steam/steam/SteamApps
θα δείτε το βελάκι που θα οδηγεί στο άλλο SteamApps.
Έτσι γλυτώσαμε(στην συγκεκριμένη περίπτωση εγώ) καμιά 90αρια GB downloading.
Ανοίγοντας τώρα το Steam στο Ubuntu, θα έχουμε τα παιχνίδια διαθέσιμα για PLAY κατευθείαν.
Βάλε και για το PlayOnLinux.. και αυτός ο φάκελος γεμίζει αρκετά.
Φίλε μου δεν χρησιμοποιώ playonlinux ή wine. Φαντάζομαι όμως ότι τα symlinks θα ισχύουν και εκεί. Βάσει του οδηγού μπορείς να φτιάξεις τα αντίστοιχα. Δεν γνωρίζω όμως ποιος είναι ο φάκελος με τα παιχνίδια.
Ο φάκελος είναι ο wineprefix μέσα στο .Playonlinux. Αυτό έβαλα στον δεύτερο μηχανικό δίσκο που έχω στον υπολογιστή και το έκανα Symlink.
ΥΓ
Μου φαίνεται σαν να το σνομπάρεις λίγο; Χαχα… Εγώ το χρησιμοποιώ μόνο και μόνο για μερικούς GOG.com τίτλους που έχω…
Χαχα, όχι φίλε δεν το σνομπάρω. Αλήθεια. Απλά δεν έχει τύχει να το χρειαστώ ποτέ. Εντωμεταξύ η GOG.com θα διαθέσει τίτλους απευθείας για Linux. Μπήκε κι αυτή στο «παιχνίδι» (http://wp.me/p3HF9I-kR).