Εγκατάσταση από AUR: Λίγη RAM=μικρό /tmp=No space left on device

Καλημέρα.
Εν έτει 2020, πρέπει να είμαστε πολύ λίγοι με συστήματα με μνήμη =<4GB, οι περισσότεροι μάλλον δεν αντιμετωπίζετε τέτοια θέματα :
Σύστημα με 4GB RAM και περίπου 17GB ελεύθερα στο /root.
Πήγα πρωί-πρωί να εγκαταστήσω το wps-office (AUR).
Η μέθοδος που έχω μάθει είναι :
cd /tmp
git clone <πακέτο>.git
cd <πακέτο>
makepkg -si
Η πρώτη προσπάθεια στέφθηκε με πλήρη…αποτυχία.
Error : No space left on device.
Γιατί ; Αφού έχω περίπου 17G ελεύθερα στο /root.
Βρήκα ότι το /tmp έχει μόνο 1,8GB
Ψάχνοντας, κατέληξα να κάνω το εξής :

sudo mount -o remount,size=10G,noatime /tmp

(Αυτό έδωσε προσωρινά 10G στο /tmp).
Η εγκατάσταση έγινε.
Κοιτάζοντας μετά, είδα ότι το /tmp έδινε 2.6GB χρησιμοποιημένα (προφανώς γι’ αυτό δεν γινόταν η εγκατάσταση με τα αρχικά 1,8GB).
Το /tmp ανήκει στο file system tmpfs, στη σελίδα του οποίου υπάρχει αυτή η σημείωση :


To /tmp έχει εξ ορισμού το μισό μέγεθος της RAM.
Επειδή δεν συμβαίνει συχνά (προφανώς είναι λίγα τα πακέτα που θέλουν τόσο χώρο), στέκει να μεγαλώνουμε μόνιμα το /tmp ;
Φαίνεται κάπου (στο AUR) πόσο χώρο θέλει για να εγκατασταθεί ένα πακέτο ;
Σχόλια και προτάσεις ευπρόσδεκτα.

Καλημέρα @Georgie2,

Από το συγκεκριμένο άρθρο παίρνουμε τις πληροφορίες ότι
Πως είναι διαμορφωμένο το σύστημα αρχείων του Linux;

Ο φάκελος /tmp είναι βοηθητικός, αποθηκεύονται προσωρινά κάποια αρχεία. Στην επόμενη επανεκίννηση ο φάκελος αυτός αδειάζει.

Προσωπικά, για την εγκατάσταση από AUR χρησιμοποιώ τον φάκελο /opt.

Στον κατάλογο opt γίνετε η εγκατάσταση των έξτρα προγραμμάτων και βιβλιοθηκών που δεν αποτελούν μέρος της βασικής εγκατάστασης του συστήματος.

Αν τώρα επιμένεις για το /tmp δεν γνωρίζω να βοηθήσω παραπάνω!

2 Likes

Δε χρειάζεται να πειράξεις καθόλου το /tmp.

Μπορείς να αλλάξεις προσωρινά τον φάκελο όπου θα γίνει το build προσθέτοντας το BUILDDIR=/diadromi/fakelou ακριβώς πριν από το makepkg. Αν θέλεις να το κάνεις μόνιμα (δεν το συνιστώ), αλλάζεις την αντίστοιχη γραμμή στο /etc/makepkg.conf.

2 Likes

η απάντηση δεν έχει σχέση με αυτό που κάνει. Το /tmp το χρησιμοποιεί αποκλειστικά για να φτιάξει το πακέτο, δεν έχει σχέση με το που εγκαθίσταται το πακέτο. Εγώ απλά το φτιάχνω κάπου μέσα στον προσωπικό μου φάκελο. Αυτό από προεπιλογή κάνει και το yay.

Η απάντηση για το πόσο θα χώρο θα χρειαστεί το πακέτο για να φτιαχτεί, είναι ότι δεν υπάρχει γενικός τρόπος να το ξέρεις (ίσως υπάρχουν ειδικοί τρόποι, δεν το έχω κοιτάξει)

1 Like

Το ξέρω ότι δεν έχει να κάνει με το ερώτημα, απλώς ήταν μια σημείωση που ίσως μπορεί να φανεί χρήσιμη στο μέλλον.

Και εδώ είναι η ουσία του προβλήματος. Το /tmp είναι για προσωρινά αρχεία του συστήματος και των προγραμμάτων, όχι για δικά μας. Αν αφαιρούσες αυτή την εντολή και τα έφτιαχνες στο δικό σου /home/$user ή σε κάποιο φάκελο /home/$user/tmp δεν θα είχες θέμα. Τότε θα γίνονταν

cd ~/tmp

Το tmpfs δεν είναι ένα “κανονικό” σύστημα αρχείων και κρατάει τα πάντα στην μνήμη. Έτσι και αλλιώς δεν μας νοιάζει να κρατηθούν όταν κλείσει ο υπολογιστής. Σπάνια θα βγάλει τέτοια προβλήματα, αλλά αν βγάλει η λύση είναι απλή δεν το χρησιμοποιούμε και το έχουμε στον αργό δίσκο. Αν θέλεις περισσότερο χώρο για μια εργασία βάλε ενα # στο /etc/fstab κάνε επανεκκίνηση του υπολογιστή, δούλεψε αυτό που θέλει τον πολύ χώρο, επανέφερε το /etc/fstab και ξεκίνα τον υπολογιστή πάλι.

2 Likes

“Μ’ όποιον δάσκαλο καθίσεις”, λένε.
Την πρώτη φορά που ψαχνόμουν πώς γίνεται (όχι για το yaourt συγκεκριμένα), είχα πέσει εδώ :
https://www.tecmint.com/install-yaourt-in-arch-linux/


Από τότε κόλλησα στο cd /tmp.
Που θα πάει, θα στρώσω :slight_smile:

2 Likes

https://www.tecmint.com/install-yay-aur-helper-in-arch-linux-and-manjaro/

Εγώ συγκεκριμένα από εδώ είδα και έμαθα το /opt :joy:

1 Like

Πάμε στο Wiki του Arch και βρίσκουμε το παρακάτω

https://wiki.archlinux.org/index.php/Tmpfs

Εκεί στα παραδείγματα μας λέει πως μπορούμε να ορίσουμε το μέγιστο μέγεθος το /tmp πχ 5G (αντί του 1GB που είναι αν θυμάμαι εξορισμου)

sudo vim /etc/fstab

Και προσθέτουμε στο τέλος πχ

tmpfs   /tmp      tmpfs rw,nodev,nosuid,size=5G          0  0

Αυτό ορίζει το μέγιστο επιτρεπτό, όχι ότι θα καταλαμβάνει μόνιμα από το σύστημα τα 5GB

1 Like