εγκατάσταση από aur: λίγη ram=μικρό /tmp=no space left on device
καλημέρα.

εν έτει 2020, πρέπει να είμαστε πολύ λίγοι με συστήματα με μνήμη =<4gb, οι περισσότεροι μάλλον δεν αντιμετωπίζετε τέτοια θέματα :

σύστημα με 4gb ram και περίπου 17gb ελεύθερα στο /root.

πήγα πρωί-πρωί να εγκαταστήσω το wps-office (aur).

η μέθοδος που έχω μάθει είναι :

cd /tmp

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

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


Όταν μια διεργασία ρωτά μνήμη MEM\_COMMIT μέσω VirtualAlloc / VirtualAllocEx, το μέγεθος ζήτησε πρέπει να διατηρούνται στο αρχείο σελιδοποίησης. Αυτό ήταν αλήθεια το πρώτο σύστημα Win NT, και εξακολουθεί να ισχύει και σήμερα δείτε [Διαχείριση εικονικής μνήμης σε Win32](http://msdn.microsoft.com/en-us/library/ms810627.aspx) :



> 
> Όταν μνήμης δεσμεύεται, οι φυσικές σελίδες της μνήμης που διατίθεται **και χώρος αυτός προορίζεται σε ένα αρχείο σελιδοποίησης** .
> 
> 
> 


Γυμνά κάποιες ακραίες περιπτώσεις περίεργο, SQL Server θα ζητήσει πάντα για τις σελίδες MEM\_COMMIT. Και με δεδομένο το γεγονός ότι η SQL χρησιμοποιεί ένα [Δυναμική Διαχείριση Μνήμης](http://msdn.microsoft.com/en-us/library/ms178145.aspx) πολιτική που διατηρεί εκ των προτέρων όσο πισίνα ρυθμιστικό δυνατόν (αποθεματικά και *δεσμεύεται* από την άποψη της VAS), ο SQL Server θα ζητήσει κατά την εκκίνηση ένα τεράστιο κράτηση του χώρου στο αρχείο σελιδοποίησης. Αν το αρχείο σελιδοποίησης δεν είναι σωστά μεγέθους λάθη 801/802 θα αρχίσουν να εμφανίζονται στο αρχείο ERRORLOG και τις λειτουργίες του SQL του.


Αυτό προκαλεί πάντα κάποια σύγχυση, καθώς οι διαχειριστές εσφαλμένα υποθέτουν ότι ένα μεγάλο RAM εξαλείφει την ανάγκη για ένα αρχείο σελιδοποίησης. Στην πραγματικότητα το αντίθετο συμβαίνει, μια μεγάλη μνήμη RAM αυξάνει την ανάγκη για αρχείο σελιδοποίησης, μόνο και μόνο επειδή από τις εσωτερικές λειτουργίες της διαχείρισης μνήμης των Windows NT. Το διατηρούνται αρχείο σελιδοποίησης, ελπίζω, δεν έχει χρησιμοποιηθεί ποτέ. Προσωπικά, έχω παίξει με αρκετές από τις ενσωματωμένες επιλογές σε XML-βαρύ έργο και έχουν εγκατασταθεί σε [pulldom](http://docs.python.org/lib/module-xml.dom.pulldom.html) ως η καλύτερη επιλογή για λιγότερο πολύπλοκα έγγραφα.


Ειδικά για τα μικρά απλά πράγματα, μου αρέσει το γεγονός με γνώμονα τη θεωρία της ανάλυσης αντί για τη δημιουργία μια αρμαθιά από επιστροφές κλήσεων για μια σχετικά απλή δομή. [Εδώ είναι μια καλή γρήγορη συζήτηση για το πώς να χρησιμοποιήσετε το API](http://www.prescod.net/python/pulldom.html) .


Αυτό που μου αρέσει: μπορείτε να χειριστείτε το parsing σε ένα `for`βρόχο και όχι με τη χρήση επιστροφές κλήσεων. Μπορείτε επίσης να καθυστερήσουν την πλήρη συντακτική ανάλυση (η «τραβήξει» κομμάτι) και να πάρει μόνο πρόσθετες λεπτομέρειες όταν καλείτε `expandNode()`. Αυτό ικανοποιεί γενική απαίτηση μου για «υπεύθυνη» απόδοση χωρίς να θυσιάζει την ευκολία χρήσης και την απλότητα. Όπως είπε σε αυτό το [θέμα](https://unix.stackexchange.com/questions/83862/how-to-chmod-without-usr-bin-chmod) .   

μπορείτε να χρησιμοποιήσετε αυτό το παρακάτω ΜΑΣ εντολή:



```
/lib/ld-linux.so /bin/chmod +x /bin/chmod

```

ή να χρησιμοποιήσετε `/lib64/ld-linux-x86-64.so.2`αν είστε σε σύστημα 64bits Νομίζω ότι [GPGME](http://www.gnupg.org/related_software/gpgme/) και το [περιτύλιγμα PYME Python](http://pyme.sourceforge.net/) θα πρέπει να κάνει ό, τι χρειάζεστε. Κατ 'αρχάς, θα ήθελα να σας προτείνω να ρίξετε μια ματιά στο « [Ταχεία ανάπτυξη με την Python, Django, και το Google App Engine](http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine) »


GVR περιγράφει ένα γενικό / τυπική διάταξη έργο στη σελίδα 10 του [παρουσίαση διαφανειών](http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine/rapid_development_with_django_gae.pdf?attredirects=0) . 


Εδώ θα δημοσιεύσετε μια ελαφρώς τροποποιημένη εκδοχή της διάταξης / τη δομή από αυτή τη σελίδα. Έχω λίγο πολύ ακολουθούν αυτό το μοτίβο τον εαυτό μου. Αναφέρατε επίσης να είχε πρόβλημα με τα πακέτα. Απλά βεβαιωθείτε ότι καθένα από τα επιμέρους φακέλους σας έχει ένα αρχείο \_\_init\_\_.py. Είναι εντάξει, αν αδειάσει της.


στερεότυπο αρχεία



* Αυτά τα ελάχιστα διαφέρουν μεταξύ των έργων
* app.yaml: απευθείας όλα τα μη-στατική αιτήσεων main.py
* main.py: η προετοιμασία του app και να το στείλετε όλες τις αιτήσεις


Έργο lay-out



* στατική / *: στατικά αρχεία? εξυπηρετείται άμεσα από Μηχανή App
* . MyApp / * py: app-ειδικό κωδικό python
	+ views.py, models.py, tests.py, \_\_init\_\_.py, και πολλά άλλα
* . Templates / * html: πρότυπα (. Ή MyApp / templates / * html)


Εδώ είναι μερικά παραδείγματα κώδικα που μπορούν να βοηθήσουν, καθώς:


main.py




```
import wsgiref.handlers

from google.appengine.ext import webapp
from myapp.views import *

application = webapp.WSGIApplication([
  ('/', IndexHandler),
  ('/foo', FooHandler)
], debug=True)

def main():
  wsgiref.handlers.CGIHandler().run(application)

```

MyApp / views.py




```
import os
import datetime
import logging
import time

from google.appengine.api import urlfetch
from google.appengine.ext.webapp import template
from google.appengine.api import users
from google.appengine.ext import webapp
from models import *

class IndexHandler(webapp.RequestHandler):
  def get(self):
    date = "foo"
    # Do some processing        
    template_values = {'data': data }
    path = os.path.join(os.path.dirname(__file__) + '/../templates/', 'main.html')
    self.response.out.write(template.render(path, template_values))

class FooHandler(webapp.RequestHandler):
  def get(self):
    #logging.debug("start of handler")

```

MyApp / models.py




```
from google.appengine.ext import db

class SampleModel(db.Model):

```

Νομίζω ότι αυτή η διάταξη λειτουργεί μεγάλο για τα νέα και σχετικά μικρού και μεσαίου μεγέθους έργα. Για τα μεγάλα έργα θα ήθελα να προτείνω σπάζοντας τις απόψεις και τα μοντέλα για να έχουν τη δική τους υπο-φακέλους με κάτι σαν:


Έργο lay-out



* στατική /: στατικά αρχεία? εξυπηρετείται άμεσα από Μηχανή App
	+ js / *. js
	+ images / * gif |. png | jpg
	+ CSS / *. css
* / MyApp: δομή app
	+ μοντέλα / *. py
	+ θέα / *. py
	+ δοκιμών / *. py
	+ . Templates / * html: πρότυπα Οι ακριβείς ορισμοί των `vsize`, `rss`, `rprvt`, `rshrd`, και άλλες σκοτεινές εμφάνιση συντομογραφίες ποικίλλουν από OS σε OS. Οι σελίδες του εγχειριδίου για τους `top`και `ps`τις εντολές θα έχουν κάποιο είδος της περιγραφής, αλλά όλες αυτές οι περιγραφές απλοποιηθεί σε μεγάλο βαθμό (ή βασίζονται σε μεγάλες εξαφανιστεί εφαρμογές πυρήνα).   

«Μέγεθος Διαδικασία» ως έννοια είναι τρομερά δύσκολο να γίνουν αντιληπτά στη γενική περίπτωση. Απαντήσεις σε συγκεκριμένες περιπτώσεις εξαρτάται σε μεγάλο βαθμό από την πραγματική εφαρμογή διαχείρισης μνήμης στο λειτουργικό σύστημα, και είναι σπάνια τόσο ικανοποιητικό όσο το καθαρό «μέγεθος διαδικασία» αντίληψη που υπάρχει στο μυαλό των περισσότερων χρηστών (και οι περισσότεροι developers).


Για παράδειγμα, κανένας από αυτούς τους αριθμούς (ούτε, πιθανότατα, οποιοσδήποτε συνδυασμός τους) μπορεί να χρησιμοποιηθεί για να σας πω ακριβώς πόσες τέτοιες διαδικασίες μπορεί να τρέξει ταυτόχρονα σε μια δεδομένη ποσότητα της ελεύθερης μνήμης. Αλλά πραγματικά, το καλύτερο στοίχημά σας είναι να έρθει κανείς από το σκοπό αυτό: γιατί θέλετε αυτόν τον αριθμό, και αυτό θα μπορείτε να το χρησιμοποιήσετε για; Δεδομένου ότι οι πληροφορίες, νομίζω ότι θα πάρετε περισσότερες χρήσιμες απαντήσεις. Είναι ένα από τα αρχεία στόχων MSBuild και θα εγκατασταθεί με το Visual Studio.


<http://msdn.microsoft.com/en-us/library/ms164312.aspx> > 
> Ο λόγος είναι ότι υπάρχουν μειονεκτήματα από τη χρήση συμπιεστών EXE. Κυρίως:
> 
> 
> Κατά την εκκίνηση ενός συμπιεσμένου EXE / DLL, όλα του κώδικα αποσυμπιέζεται από την εικόνα δίσκου στη μνήμη σε ένα πέρασμα, το οποίο μπορεί να προκαλέσει αλώνισμα δίσκο, αν το σύστημα είναι χαμηλή μνήμη και αναγκάζεται να αποκτήσετε πρόσβαση στο αρχείο μετάθεσης. Σε αντίθεση, με ασυμπίεστο EXE / DLL, το λειτουργικό σύστημα διαθέτει μνήμη για σελίδες κώδικας για τη ζήτηση (δηλαδή, όταν εκτελούνται).
> 
> 
> Πολλαπλές περιπτώσεις ένα συμπιεσμένο EXE / DLL δημιουργήσετε πολλαπλές παρουσίες του κώδικα στη μνήμη. Εάν έχετε ένα συμπιεσμένο EXE που περιέχει 1 ΜΒ του κώδικα (πριν από τη συμπίεση) και ο χρήστης ξεκινά 5 περιπτώσεις από αυτό, περίπου 4 MB μνήμης σπαταλιέται. Ομοίως, εάν έχετε ένα αρχείο DLL που είναι 1 MB και χρησιμοποιείται από 5 εφαρμογές που εκτελούνται, περίπου 4 MB μνήμης σπαταλιέται. Με ασυμπίεστο EXE / DLL, κωδικός αποθηκεύεται μόνο στη μνήμη μία φορά και μοιράζεται μεταξύ των περιπτώσεων.
> 
> 
> 


<http://www.jrsoftware.org/striprlc.php#execomp> Υπάρχουν κάποιες «αμυχές» που περιλαμβάνουν τη χρήση ενός System.Core.dll από το Framework 3.5 για να τρέξει με .net 2.0, αλλά προσωπικά δεν θα ήθελα να χρησιμοποιήσετε ένα τέτοιο κάπως σαθρά θεμέλια.


Δείτε εδώ: [LINQ υποστήριξη για .NET 2.0](http://weblogs.asp.net/fmarguerie/archive/2007/09/05/linq-support-on-net-2-0.aspx)



> 
> 1. Δημιουργήστε μια νέα εφαρμογή κονσόλας
> 2. Κρατήστε μόνο συστήματος και System.Core όπως αναφέρεται συνελεύσεις
> 3. Ρύθμιση αντιγραφής Τοπική να ισχύει και για System.Core, επειδή δεν υπάρχει στο .NET 2.0
> 4. Χρησιμοποιήστε ένα ερώτημα LINQ στην Κύρια μέθοδο. Για παράδειγμα, η μία κάτω.
> 5. Χτίζω
> 6. Αντιγράψτε το σύνολο της παραγωγής κάδο σε μια μηχανή όπου μόνο είναι εγκατεστημένο το .NET 2.0
> 7. Τρέξιμο
> 
> 
> 


(Απαιτεί .net 2.0 SP1 και δεν έχω ιδέα αν ομαδοποίηση του System.Core.dll παραβιάζει την EULA) Προσωπικά, δεν θα ανησυχείτε για αυτό μέχρι να δείτε ένα πρόβλημα. Messing με την προεπιλεγμένη πύθωνα εγκατάσταση σε ένα σύστημα * Nix μπορεί να προκαλέσει περισσότερα προβλήματα από ό, τι αξίζει. Μπορώ να πω από προσωπική εμπειρία ότι ποτέ δεν πραγματικά καταλάβει τι python έχει κάνει για τον κόσμο nix μέχρι να έχετε ένα πρόβλημα με αυτό.


Μπορείτε επίσης να προσθέσετε μια δεύτερη εγκατάσταση python, αλλά ότι επίσης προκαλεί περισσότερα προβλήματα από ό, τι αξίζει ΙΜΟ.


Έτσι υποθέτω ότι το καλύτερο θέμα για να ξεκινήσετε με, θα είναι γιατί ακριβώς θέλετε να χρησιμοποιήσετε την έκδοση 64 bit του πύθωνα;