Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt es auf der Linux-Plattform eine Software, die virtuelle Dateien erstellen kann, die auf mehrere Dateien verweisen, um doppelten Speicherplatz zu vermeiden?

Gibt es auf der Linux-Plattform eine Software, die virtuelle Dateien erstellen kann, die auf mehrere Dateien verweisen, um doppelten Speicherplatz zu vermeiden?

WBOY
WBOYOriginal
2016-12-05 13:44:071060Durchsuche

Betriebssystem: CentOS

Anforderungen: ähnlich wie hier

/opt/virtual.fileZeigt auf: /opt/1.file /opt/2.file /opt/3.file

Zuallererst kenne ich den Zusammenführungsbefehl, aber dieser erstellt eine neue Datei und nimmt Speicherplatz in Anspruch

Ich möchte auf /opt/virtual.file zugreifen, was dem System entspricht, das diese drei Dateien dynamisch zu einer zusammenführt und als eine auf

zugreift

Diese Anforderung ist keine Anfrage zum Zusammenführen von js/css mit nginx_http_concat

Um die Stabilität beim Hochladen von Dateien zu gewährleisten, werden diese gemäß 5M/Block separat hochgeladen. Sie können diese Blöcke zwar auch mit einem Programm zusammenführen, gibt es jedoch eine Software, die es dem System ermöglicht, virtuelle Dateien zu erstellen und auf diese zu verweisen? Blöcke? Es besteht keine Notwendigkeit,

zusammenzuführen

Antwortinhalt:

Betriebssystem: CentOS

Anforderungen: ähnlich wie hier

/opt/virtual.fileZeigt auf: /opt/1.file /opt/2.file /opt/3.file

Zuallererst kenne ich den Zusammenführungsbefehl, aber dieser erstellt eine neue Datei und nimmt Speicherplatz in Anspruch

Ich möchte auf /opt/virtual.file zugreifen, was dem System entspricht, das diese drei Dateien dynamisch zu einer zusammenführt und als eine auf

zugreift

Diese Anforderung ist keine Anfrage zum Zusammenführen von js/css mit nginx_http_concat

Um die Stabilität beim Hochladen von Dateien zu gewährleisten, werden diese gemäß 5M/Block separat hochgeladen. Sie können diese Blöcke zwar auch mit einem Programm zusammenführen, gibt es jedoch eine Software, die es dem System ermöglicht, virtuelle Dateien zu erstellen und auf diese zu verweisen? Blöcke? Es besteht keine Notwendigkeit,

zusammenzuführen

Dies muss mit Fuse implementiert werden und wird vom Master geschrieben: https://github.com/schlaile/c...

  1. Concatfs installieren und kompilieren

    <code>yum install fuse fuse-devel
    git clone https://github.com/schlaile/concatfs.git
    cd concatfs/src
    gcc -Wall concatfs.c `pkg-config fuse --cflags --libs` -o concatfs
    cp ./concatfs /bin</code>
  2. Starten Sie ein Verzeichnis durch Mounten
    Ursprüngliches Verzeichnis:
    /opt/www/website/
    Es enthält Dateien
    index.html test.html
    Erstellen Sie ein Verzeichnis zum Mounten. Verzeichnis
    mkdir /opt/www/website_mnt
    Ausführen
    concatfs /opt/www/website/ /opt/www/website_mnt
    Es wird kein Fehler gemeldet und es läuft bereits im Hintergrund

  3. Erstellen Sie einen speziellen Dateinamen mit -concat-

    Solange -concat- enthalten ist, wird es von concatfs speziell analysiert

    <code>vim /opt/www/website/1-concat-.txt</code>

    Inhalt

    <code>index.html
    test.html</code>

    Beachten Sie, dass die Endspalte auch ein Wagenrücklaufzeichen LF haben muss, sonst wird die letzte Datei nicht geladen

  4. Wenn Sie jetzt auf /opt/www/website_mnt/1-concat-.txt zugreifen, werden die Daten nach dem Zusammenführen der beiden Dateien zurückgegeben.
    Es entspricht der dynamischen Zusammenführung der beiden Dateien. Tatsächlich findet keine physische Zusammenführung statt.
    Beachten Sie, dass dies der Fall ist website_mnt/1-concat-.txt Verzeichnis
    greift auf das Originalverzeichnis website/1-concat-.txt zu und es handelt sich weiterhin um die Originaldatei

  5. PS: Es gibt keinen Schreibtest /opt/www/website_mnt/1-concat-.txt

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn