Zweck dieses Dokuments Schreiben Sie eine Bibliothek Lassen Sie uns einen einfachen Code für die AddNumbers-Bibliothek schreiben, die es erlaubt, zwei ganze Zahlen zu speichern und hinzuzufügen. Es besteht aus Schnittstellen - und Quelldateien. Erstellen einer statischen Bibliothek Zuerst wird die Quelldatei srcAddNumbers. cpp in eine Objektdatei verwandelt. Eine statische Bibliothek ist im Grunde ein Satz von Objektdateien, die in eine einzelne Datei kopiert wurden. Es wird erstellt, um die archiver ar aufzurufen. Der Bibliotheksname muss mit den drei Buchstaben lib beginnen und das Suffix haben. a. Sie können auch ähnliche Regeln in einem Makefile schreiben. Siehe die Datei Makefile. static im Archiv AddNumbers. tar. bz2. Erstellen einer freigegebenen Bibliothek Die Option - fpic gibt g an, um einen unabhängigen Code zu erstellen, der für gemeinsam genutzte Bibliotheken benötigt wird. Schließlich wird die freigegebene Bibliothek erstellt. Beachten Sie, dass der Bibliotheksname mit den drei Buchstaben lib beginnen muss und das Suffix haben. So. Als Makefile-Beispiel sehen Sie die Datei Makefile. shared im Archiv AddNumbers. tar. bz2. C-Symbole Befehle nm und cfilt erlauben es, C-Symbole aus Objektdateien aufzulisten und zu zerlegen. Lassen Sie uns diese Befehle mit der statischen Bibliothek libAddNumbers. a ausprobieren. Es bedeutet, dass die Bibliothek libAddNumbers. a mit der AddNumbers. o-Objektdatei erstellt wurde, die einige Symbole enthält. Die erste Spalte ist der Symbolwert (sie repräsentiert die Position des Symbols in der Bibliothek). Die zweite Spalte ist der Symboltyp. Und die dritte Spalte ist der Symbolname. Siehe folgende Tabelle, die einige übliche Symboltypen beschreibt. Das Symbol ist ein schwaches Symbol, das nicht als schwaches Objektsymbol markiert wurde. Wenn ein schwach definiertes Symbol mit einem normal definierten Symbol verknüpft ist, wird das normal definierte Symbol ohne Fehler verwendet. Wenn ein schwaches undefiniertes Symbol verknüpft ist und das Symbol nicht definiert ist, wird der Wert des Symbols systematisch ohne Fehler ermittelt. Großbuchstabe zeigt an, dass ein Standardwert angegeben wurde. Der Symboltyp ist unbekannt. Oder Objektdateiformatspezifisch. Weitere Informationen finden Sie im nm-Handbuch. Symbole sind nicht menschlich verständlich. Es ist mit der Tatsache, C-Sprache bietet Funktion Überladung, was bedeutet, dass Sie schreiben können viele Funktionen mit dem gleichen Namen (die Bereitstellung jeder nimmt Parameter der verschiedenen Typen). Alle C-Funktionsnamen werden in ein Low-Level-Baugruppenträger codiert (dieser Vorgang wird als Mangling bezeichnet). Das Cfilt-Programm macht die inverse Abbildung: es decodiert (Demangling-Prozess) Low-Level-Namen in Benutzerebene Namen. Das Programm nm erlaubt es, Symbole direkt mit der Option - C zuzuordnen. Verwenden von Bibliotheken In diesem Abschnitt wird beschrieben, wie statische oder gemeinsam genutzte Bibliotheken in Programmen verwendet werden. Zuerst müssen wir ein Hauptprogramm erstellen. Um dieses Programm mit der statischen Bibliothek zu verknüpfen, schreibe den folgenden Befehl, der die Haupt ausführbare Datei kompiliert und verknüpft. Beachten Sie, dass die ersten drei Buchstaben lib sowie das Suffix. a nicht für den Namen der Bibliothek angegeben sind. Nun kann das Programm AddNumbersClientstatic ausgeführt werden. Um die gemeinsame Bibliothek zu verknüpfen, geben Sie den folgenden Befehl ein. Die ersten drei Buchstaben lib sowie das Suffix sind auch nicht für den Namen der Bibliothek angegeben. Um das Programm herunterzuladen AddNumbersClientshared müssen Sie der LDLIBRARYPATH Umgebungsvariable mitteilen, wo die freigegebene Bibliothek gefunden wurde. In der realen Welt ist es besser, einen absoluten Weg für LDLIBRARYPATH zu verwenden. Als Makefile-Beispiele siehe Makefile. static und Makefile. shared Dateien, die im Archiv AddNumbersClient. tar. bz2 angegeben sind. Liste der freigegebenen Bibliotheken Der Befehl ldd druckt die freigegebenen Bibliotheken, die von jedem Programm oder einer freigegebenen Bibliothek benötigt werden, die in der Befehlszeile angegeben ist. Nützliche Optionen von ar Das GNU ar Programm erstellt, modifiziert und extrahiert aus Archiven. Ein Archiv ist eine einzelne Datei, die eine Sammlung von anderen Dateien in einer Struktur enthält, die es ermöglicht, die ursprünglichen individuellen Dateien (sogenannte Member s des Archivs) abzurufen. Die ursprünglichen Dateieinheiten, Modus (Berechtigungen), Zeitstempel, Besitzer und Gruppe werden im Archiv gespeichert und können bei der Extraktion wiederhergestellt werden. Nützliche Optionen von nm Nützliche Linksconfigure - Konfigurieren des Quellbaums Das configure-Skript konfiguriert den Quellbaum zum Kompilieren und Installieren des Apache HTTP Servers auf Ihrer jeweiligen Plattform. Verschiedene Optionen ermöglichen die Zusammenstellung eines Servers entsprechend Ihren persönlichen Anforderungen. Dieses Skript, das im Stammverzeichnis der Quelldistribution enthalten ist, dient der Kompilierung nur auf Unix - und Unix-ähnlichen Systemen. Für andere Plattformen siehe Plattformdokumentation. Sie sollten das configure-Skript aus dem Stammverzeichnis der Distribution aufrufen. Konfigurieren von OPTION. VAR VALUE Um Umgebungsvariablen (z. B. CC. CFLAGS) zuzuweisen, geben Sie diese als VAR VALUE an. Siehe unten für Beschreibungen einiger nützlicher Variablen. Die folgenden Optionen beeinflussen das Verhalten von configure selbst. - C --config-cache Dies ist ein Alias für --cache-fileconfig. cache --cache-file FILE Die Testergebnisse werden in der Datei FILE zwischengespeichert. Diese Option ist standardmäßig deaktiviert. - h --help shortrecursive Ausgabe der Hilfe und beenden. Mit dem Argument werden nur die für dieses Paket spezifischen Optionen angezeigt. Das Argument rekursive zeigt die kurze Hilfe aller enthaltenen Pakete an. - n --no-create Das configure-Skript wird normal ausgeführt, erstellt aber keine Ausgabedateien. Dies ist nützlich, um die Testergebnisse zu überprüfen, bevor Sie makefiles für die Kompilierung erzeugen. - q-quiet Keine Druckprüfung. Meldungen während des Konfigurationsvorgangs. --srcdir DIR Definiert das Verzeichnis DIR als das Quelldateiverzeichnis. Standard ist das Verzeichnis, in dem sich configure befindet, oder das übergeordnete Verzeichnis. --silent Gleich wie --quiet - V --version Anzeige von Copyright-Informationen und Beenden. Diese Optionen definieren das Installationsverzeichnis. Der Installationsbaum hängt vom gewählten Layout ab. --prefix PREFIX Installiere architekturunabhängige Dateien in PREFIX. Standardmäßig ist das Installationsverzeichnis auf usrlocalapache2 gesetzt. --exec-prefix EPREFIX Installieren Sie architekturabhängige Dateien in EPREFIX. Standardmäßig ist das Installationsverzeichnis auf das PREFIX-Verzeichnis eingestellt. Standardmäßig installiert make install alle Dateien in usrlocalapache2bin. Usrlocalapache2lib etc. Sie können ein Installationspräfix anders als usrlocalapache2 mit --prefix angeben. Zum Beispiel --prefixHOME. --enable-layout LAYOUT Konfigurieren Sie den Quellcode und erstellen Sie Skripts, um einen Installationsbaum basierend auf dem Layout LAYOUT zu übernehmen. So können Sie die Standorte für jede Art von Datei innerhalb der Apache HTTP Server-Installation separat angeben. Die config. layout-Datei enthält mehrere Beispielkonfigurationen, und Sie können auch eigene benutzerdefinierte Konfiguration nach den Beispielen erstellen. Die verschiedenen Layouts in dieser Datei sind in ltLayout FOOgt gruppiert. LtLayoutgt Abschnitte und bezeichnet mit dem Namen wie in FOO. Das Standardlayout ist Apache. Zur besseren Kontrolle der Installationsverzeichnisse verwenden Sie die folgenden Optionen. Bitte beachten Sie, dass die Verzeichnisvorgaben durch autoconf festgelegt und durch die entsprechende Layouteinstellung überschrieben werden. --bindir DIR Installieren Sie Benutzer ausführbare Dateien in DIR. Die ausführbaren Dateien des Benutzers unterstützen Programme wie htpasswd. Dbmmanage Etc., die für Website-Administratoren nützlich sind. Standardmäßig ist DIR auf EPREFIX bin eingestellt. --datadir DIR Installieren Sie schreibgeschützte Architektur-unabhängige Daten in DIR. Standardmäßig ist Datadir auf PREFIX-Freigabe gesetzt. Diese Option wird von autoconf angeboten und derzeit nicht verwendet. --includedir DIR Installieren Sie C-Header-Dateien in DIR. In standardmäßigem Inbegriffen ist auf EPREFIX eingestellt. --infodir DIR Installationsdokumentation in DIR installieren. Standardmäßig ist Infodir auf PREFIX info eingestellt. Diese Option ist derzeit nicht verwendet. --libdir DIR Installieren Sie Objektcode-Bibliotheken in DIR. Standardmäßig ist libdir auf EPREFIX lib gesetzt. --libexecdir DIR Installieren Sie die Programmdateien (d. h. geteilte Module) in DIR. Standardmäßig ist libexecdir auf EPREFIX-Module eingestellt. --localstatedir DIR Installieren Sie modifizierbare Single-Machine-Daten in DIR. Standardmäßig ist localstatedir auf PREFIX var gesetzt. Diese Option wird von autoconf angeboten und derzeit nicht verwendet. --mandir DIR Installieren Sie die Man-Dokumentation in DIR. Standardmäßig ist Mandir auf EPREFIX man gesetzt. --oldincludedir DIR Installieren Sie C-Header-Dateien für Nicht-Gcc in DIR. Standardmäßig ist oldincludedir auf usrinclude gesetzt. Diese Option wird von autoconf angeboten und derzeit nicht verwendet. --sbindir DIR Installieren Sie die ausführbaren Dateien des Systemadministrators in DIR. Das sind Server-Programme wie httpd. Apachectl Suexec Etc., die zum Ausführen des Apache HTTP Servers notwendig sind. Standardmäßig ist sbindir auf EPREFIX sbin gesetzt. --sharedstatedir DIR Installieren Sie modifizierbare architekturunabhängige Daten in DIR. Standardmäßig ist sharedstatedir auf PREFIX com gesetzt. Diese Option wird von autoconf angeboten und derzeit nicht verwendet. --sysconfdir DIR Installieren Sie schreibgeschützte Single-Machine-Daten wie die Server-Konfigurationsdateien httpd. conf. Mime. types Etc. in DIR. Standardmäßig ist sysconfdir auf PREFIX conf gesetzt. Diese Optionen werden verwendet, um den Apache HTTP Server zu kompilieren, um auf einem anderen System zu laufen. Im Normalfall werden beim Ausführen und Ausführen des Servers auf demselben System diese Optionen nicht verwendet. --build BUILD Definiert den Systemtyp des Systems, auf dem die Werkzeuge aufgebaut werden. Es ist standardmäßig das Ergebnis des Skripts config. guess. --host HOST Definiert den Systemtyp des Systems, auf dem der Server ausgeführt wird. HOST-Vorgaben auf BUILD. --target TARGET Konfigurieren für den Aufbau von Compilern für den Systemtyp TARGET. Es ist standardmäßig auf HOST. Diese Option wird von autoconf angeboten und ist nicht notwendig für den Apache HTTP Server. Diese Optionen werden verwendet, um die Funktionen Ihres HTTP-Servers fein abzustimmen. Im Allgemeinen können Sie die folgende Syntax verwenden, um eine Funktion zu aktivieren oder zu deaktivieren: --disable - FEATURE Fügen Sie keine FEATURE hinzu. Dies ist das gleiche wie --enable - FEATURE no. --enable - FEATURE ARG FUNKTIONEN. Der Standardwert für ARG ist ja. --enable - MODUL geteilt Das entsprechende Modul wird als DSO-Modul aufgebaut. Standardmäßig sind die aktivierten Module dynamisch verknüpft. --enable - MODUL statisch Das entsprechende Modul wird statisch verknüpft. Configure wird sich nicht beschweren --enable - foo auch wenn foo nicht existiert, also musst du sorgfältig schreiben. Die meisten Module sind standardmäßig kompiliert und müssen explizit deaktiviert werden oder mit dem Schlüsselwort wenige (siehe --enable-modules - --ableable-mods-shared und --enable-mods - statisch unten für weitere Erläuterungen) oder --enable - modulesnone als Gruppe entfernt werden. Andere Module sind nicht standardmäßig kompiliert und müssen explizit freigegeben werden oder mit den Schlüsselwörtern alle oder wirklich verfügbar sein. Um herauszufinden, welche Module standardmäßig kompiliert werden, führen Sie. configure - h oder. configure --help aus und suchen Sie unter Optionale Features. Angenommen, Sie interessieren sich für modexample1 und modexample2. Und du siehst das: Dann ist modexample1 standardmäßig aktiviert und du würdest --disable-example1 verwenden, um es nicht zu kompilieren. Modexample2 ist standardmäßig deaktiviert und Sie verwenden --enable-example2, um es zu kompilieren. Mehrfachverarbeitungsmodule. Oder MPMs, implementieren das grundlegende Verhalten des Servers. Ein einzelnes MPM muss aktiv sein, damit der Server funktionieren kann. Die Liste der verfügbaren MPMs erscheint auf der Modul-Indexseite. MPMs können als DSOs für dynamisches Laden oder statisch mit dem Server verknüpft werden und werden mit den folgenden Optionen aktiviert: Wählen Sie die Standard-MPM für Ihren Server. Wenn MPMs als DSO-Module aufgebaut sind (siehe --enable-mpms-shared), wählt diese Direktive das MPM aus, das in die Standard-Konfigurationsdatei geladen wird. Andernfalls wählt diese Direktive das einzige verfügbare MPM aus, das statisch in den Server verknüpft wird. Wenn diese Option weggelassen wird, wird die Standard-MPM für Ihr Betriebssystem verwendet. Aktiviere eine Liste von MPMs als dynamische Shared Module. Eines dieser Module muss dynamisch mit der LoadModule-Direktive geladen werden. MPM-LIST ist eine platzgetrennte Liste von MPM-Namen, die durch Anführungszeichen eingeschlossen sind. Zum Beispiel: Zusätzlich können Sie das Sonderschlüssel alle verwenden. Die alle MPMs auswählen, die das dynamische Laden auf der aktuellen Plattform unterstützen und als DSO-Module erstellen. Zum Beispiel: Um zusätzliche Drittanbieter-Module hinzuzufügen, verwenden Sie die folgenden Optionen: --Mit-Modul-Modul-Typ. Modul-Datei, Modul-Typ. Modul-Datei Fügen Sie ein oder mehrere Drittanbieter-Module zur Liste der statisch verknüpften Module hinzu. Die Modul-Quelldatei-Modul-Datei wird im Modul-Modul-Unterverzeichnis Ihres Apache HTTP-Server-Quellbaums durchsucht. Wenn es nicht gefunden wird, ist es bei configure erwiesen, dass Modul-Datei ein absoluter Dateipfad ist und versucht, die Quelldatei in das Modul-Typ-Unterverzeichnis zu kopieren. Wenn das Unterverzeichnis nicht existiert, wird es erstellt und mit einem Standard Makefile. in gefüllt. Diese Option ist nützlich, um kleine externe Module hinzuzufügen, die aus einer Quelldatei bestehen. Bei komplexeren Modulen sollten Sie die Dokumentation des Herstellers lesen. Wenn du ein DSO-Modul anstelle eines statisch verknüpften Gebrauchs apxs bauen willst. --enable-maintainer-mode Aktivieren Sie Debugging und kompilieren Sie Zeitwarnungen und laden Sie alle kompilierten Module. --enable-mods-shared MODULE-LIST Definiert eine Liste von Modulen, die aktiviert und als dynamische Shared Module erstellt werden sollen. Dies bedeutet, dass diese Module dynamisch mit der LoadModule-Direktive geladen werden müssen. MODULLISTE ist eine raumgetrennte Liste von Modulen, die durch Anführungszeichen eingeschlossen ist. Die Modulnamen werden ohne den vorherigen Mod gegeben. Zum Beispiel: --enable-mods-sharedheaders umschreiben dav Zusätzlich können Sie die speziellen Schlüsselwörter wirklich verwenden. alle. Die meisten und wenige. Zum Beispiel werden die meisten Module kompilieren und sie als DSO-Module erstellen, nur eine sehr einfache Reihe von Modulen kompilieren. Die Voreinstellung ist am meisten. Die LoadModule-Richtlinien für die gewählten Module werden automatisch in der Hauptkonfigurationsdatei generiert. Standardmäßig werden alle diese Anweisungen mit Ausnahme der Module ausgegeben, die entweder durch ein configure --enable-foo-Argument erforderlich oder explizit ausgewählt werden. Sie können den Satz geladener Module durch Aktivieren oder Deaktivieren der LoadModule-Direktiven in httpd. conf ändern. Zusätzlich können die LoadModule-Richtlinien für alle gebauten Module über die Konfigurationsoption --enable-load-all-modules aktiviert werden. --enable-mods-static MODUL-LIST Diese Option verhält sich ähnlich wie --enable-mods-shared. Aber die vorhandenen Module statisch verknüpfen. Dies bedeutet, diese Module werden immer beim Ausführen von httpd vorhanden sein. Sie müssen nicht mit LoadModule geladen werden. --enable-modules MODUL-LIST Diese Option verhält sich wie --enable-mods-shared. Und wird auch die angegebenen Module dynamisch verknüpfen. Das spezielle Schlüsselwort none deaktiviert den Aufbau aller Module. --enable-v4-mapped Erlaube IPv6-Sockets, um IPv4-Verbindungen zu behandeln. --with-port PORT Dies definiert den Port, auf dem httpd hören wird. Diese Portnummer wird beim Generieren der Konfigurationsdatei httpd. conf verwendet. Die Voreinstellung ist 80. --mit-Programmname Definieren Sie einen alternativen ausführbaren Namen. Die Voreinstellung ist httpd. Mit diesen Optionen werden optionale Pakete definiert. Im Allgemeinen können Sie die folgende Syntax verwenden, um ein optionales Paket zu definieren: --with - PACKAGE ARG Verwenden Sie das Paket PACKAGE. Der Standardwert für ARG ist ja. - ohne PAKET Verwenden Sie das Paket PAKET nicht. Dies ist das gleiche wie - mit - PACKAGE Nr. Diese Option wird von autoconf bereitgestellt, aber nicht sehr nützlich für den Apache HTTP Server. --with-apr DIR FILE Die Apache Portable Runtime (APR) ist Teil der httpd Quellverteilung und wird automatisch zusammen mit dem HTTP Server aufgebaut. Wenn du einen bereits installierten APR verwenden möchtest, musst du den Pfad zum apr-config-Skript konfigurieren. Sie können den absoluten Pfad und den Namen oder das Verzeichnis auf den installierten APR setzen. Apr-config muss in diesem Verzeichnis oder im Unterverzeichnis enthalten sein. --with-apr-util DIR FILE Die Apache Portable Runtime Utilities (APU) sind Teil der httpd Quelldistribution und werden automatisch zusammen mit dem HTTP Server aufgebaut. Wenn du eine bereits installierte APU verwenden möchtest, musst du den Pfad zum apu-config-Skript konfigurieren. Sie können den absoluten Pfad und den Namen oder das Verzeichnis auf die installierte APU setzen. Apu-config muss in diesem Verzeichnis oder im Unterverzeichnis enthalten sein. --with-ssl DIR Wenn modssl aktiviert wurde, sucht die Suche nach einem installierten OpenSSL. Sie können stattdessen den Verzeichnispfad zum SSLTLS-Toolkit setzen. --with-z DIR konfiguriert automatisch nach einer installierten zlib-Bibliothek, wenn die Quellkonfiguration eine erfordert (z. B. wenn Moddeflate aktiviert ist). Sie können stattdessen den Verzeichnispfad zur Komprimierungsbibliothek setzen. Mehrere Funktionen des Apache HTTP Servers, einschließlich modauthndbm und modrewrite s DBM RewriteMap verwenden einfache Keyvalue-Datenbanken für schnelle Lookups von Informationen. SDBM ist in der APU enthalten, so dass diese Datenbank immer verfügbar ist. Wenn Sie andere Datenbanktypen verwenden möchten, verwenden Sie die folgenden Optionen, um sie zu aktivieren: --with-gdbm-Pfad Wenn kein Pfad angegeben ist, sucht configure nach den Include-Dateien und Bibliotheken einer GNU-DBM-Installation in den üblichen Suchpfaden. Ein expliziter Pfad führt dazu, dass die Konfiguration in den Pfad lib und den Pfad für die entsprechenden Dateien angezeigt wird. Schließlich kann der Pfad spezifische Include - und Bibliothekspfade angeben, die durch einen Doppelpunkt getrennt sind. --with-ndbm Pfad Wie - mit-gdbm. Sucht aber nach einer neuen DBM-Installation. --with-berkeley-db-Pfad Wie - mit-gdbm. Aber sucht nach einer Berkeley DB Installation. Die DBM-Optionen werden von der APU bereitgestellt und an das Konfigurationsskript weitergegeben. Sie sind nutzlos, wenn eine bereits installierte APU von --with-apr-util verwendet wird. Sie können mehr als eine DBM-Implementierung zusammen mit Ihrem HTTP-Server verwenden. Der zugeordnete DBM-Typ wird in der Laufzeitkonfiguration jederzeit konfiguriert. --enable-static-support Erstellen Sie eine statisch verknüpfte Version der Support-Binärdateien. Dies bedeutet, dass eine eigenständige ausführbare Datei mit allen notwendigen Bibliotheken integriert wird. Andernfalls werden die Support-Binärdateien standardmäßig dynamisch verknüpft. --enable-suexec Verwenden Sie diese Option, um suexec zu aktivieren. Die Ihnen erlaubt, uid und gid für produzierte Prozesse zu setzen. Verwenden Sie diese Option nicht, es sei denn, Sie verstehen alle Sicherheitsimplikationen, eine suid-Binärdatei auf Ihrem Server auszuführen. Weitere Optionen zur Konfiguration von suexec sind nachfolgend beschrieben. Es ist möglich, eine statisch verknüpfte Binärdatei eines einzelnen Support-Programms zu erstellen, indem Sie die folgenden Optionen verwenden: --enable-static-ab Erstellen Sie eine statisch verknüpfte Version von ab. --enable-static-checkgid Erstellen Sie eine statisch verknüpfte Version von checkgid. --enable-static-htdbm Erstellen Sie eine statisch verknüpfte Version von htdbm. --enable-static-htdigest Erstellen Sie eine statisch verknüpfte Version von htdigest. --enable-static-htpasswd Erstellen Sie eine statisch verknüpfte Version von htpasswd. --enable-static-logresolve Erstellen Sie eine statisch verknüpfte Version von logresolve. --enable-static-rotatelogs Erstellen Sie eine statisch verknüpfte Version von rotatelogs. Die folgenden Optionen werden verwendet, um das Verhalten von suexec fein abzustimmen. Weitere Informationen finden Sie unter Konfigurieren und Installieren von suEXEC. --with-suexec-bin Dies definiert den Pfad zu suexec binary. Standard ist --sbindir (siehe Feinabstimmung von Installationsverzeichnissen). --with-suexec-caller Hiermit wird der Benutzer erlaubt, suexec aufzurufen. Es sollte das gleiche sein wie der Benutzer, unter dem httpd normalerweise läuft. --with-suexec-docroot Hier wird der Verzeichnisbaum definiert, unter dem der suexec-Zugriff für ausführbare Dateien erlaubt ist. Der Standardwert ist --datadirhtdocs. --with-suexec-gidmin Definiere dies als das niedrigste GID, das ein Zielbenutzer für suexec ist. Der Standardwert ist 100. --with-suexec-logfile Hier wird der Dateiname der suexec-Protokolldatei definiert. Die Protokolldatei heißt standardmäßig suexeclog und befindet sich in --logfiledir. --with-suexec-safepath Definieren Sie den Wert der Umgebungsvariablen PATH für die von suexec gestarteten Prozesse. Standardwert ist usrlocalbin: usrbin: bin. --with-suexec-userdir Hiermit wird das Unterverzeichnis unter dem Benutzerverzeichnis definiert, das alle ausführbaren Dateien enthält, für die der suexec-Zugriff erlaubt ist. Diese Einstellung ist notwendig, wenn Sie suexec zusammen mit benutzerspezifischen Verzeichnissen (wie von moduserdir zur Verfügung gestellt) verwenden möchten. Die Voreinstellung ist publichtml. --with-suexec-uidmin Definiere dies als die niedrigste UID, die ein Zielbenutzer für suexec ist. Der Standardwert ist 100. --with-suexec-umask Set Umask für Prozesse, die von suexec gestartet wurden. Es ist standardmäßig auf Ihre Systemeinstellungen zurückgesetzt. Es gibt einige nützliche Umgebungsvariablen, um die von configure vorgenommenen Entscheidungen zu überschreiben oder zu helfen, Bibliotheken und Programme mit nicht standardisierten Namen oder Standorten zu finden. CC Definiere den C-Compiler-Befehl, der für die Kompilierung verwendet werden soll. CFLAGS Setzen Sie C Compiler-Flags, die Sie für die Kompilierung verwenden möchten. CPP Definieren Sie den zu verwendenden C-Präprozessor-Befehl. CPPFLAGS setzen CC-Präprozessor-Flags, z. B. - Ich habe, wenn Sie Header in einem nicht standardisierten Verzeichnis enthalten haben. LDFLAGS Set Linker Flags, z. B. - L libdir, wenn du Bibliotheken in einem nicht standardisierten Verzeichnis libdir hast. Hinweis: Dies ist kein QampA-Abschnitt. Kommentare, die hier platziert werden, sollten auf Vorschläge zur Verbesserung der Dokumentation oder des Servers hingewiesen werden und können von unseren Moderatoren wieder entfernt werden, wenn sie entweder implementiert oder als ungültiges Thema betrachtet werden. Fragen zum Verwalten des Apache HTTP Servers sollten entweder auf unseren IRC-Kanal, httpd, auf Freenode oder auf unsere Mailinglisten geschickt werden. Copyright 2017 Die Apache Software Foundation. Lizenziert unter der Apache-Lizenz, Version 2.0. Ich installierte eine Anwendung z. B. Fdisk Aber es brauchte Bibliotheken für die Ausführung. Ich bin auf der Suche nach utilitytool, die mir helfen wird, eine statische Binärdatei aus bereits installierten Binärdateien zu erstellen. So dass ich es überall benutzen kann. Die einzigen zuverlässigen Werkzeuge, die ich gefunden habe, ist ErmineLight von hier. Aber das hier ist teile. Gibt es eine Open-Source-Software für die gleiche EDIT fdisk ist nur ein Beispiel. Ich arbeite meistens an LFS, also Wenn ich irgendwelche Dienstprogramme benutzen muss, muss ich den Schritten folgen, also So einfach zu sparen Zeit, ich suche nach einer Lösung, in der ich eine statische Binärdatei von debian oder machen werde Von Fedora oder von anderen Distrikten, versuche es auf LFS, und wenn es gut geht, oder wie pro meine Anforderung, werde ich mit Quellcode für Compilation gehen. Gefragt am 2. Mai 11 um 18:38 Nun, Das sieht aus wie eine sehr schlechte idee Aber es ist möglich. Als fdisk ist Open Source, nur packen Sie seine Quelle, und schauen Sie sich die Makefile. Du solltest eine Option finden, die bei der Kompilation passieren wird. Im nicht ein CC-Guru, aber soweit ich weiß, dass eine statisch verknüpfte Binärdatei aus einer bestehenden dynamisch verknüpften Binärdatei nicht möglich ist. Wenn du es überall verwenden möchtest, empfehle Id, eine winzige Wartungsverteilung zu verwenden, die innerhalb von Sekunden beginnt und du alles ändern kannst. Es macht mehr sens für mich, weil youll wahrscheinlich den Datenträger, der deine LinuxUNIX-Installation ausführt, ändern möchte. Der Link funktioniert für mich. Die Seite hat die Anzahl der typosgrammaticaleditorial Fehler, die Sie von der Arbeit eines professionellen Programmierers erwarten können mehr als you39d von einer professionellen Website erwarten, weniger als you39d erwarten von einer Phishing-E-Mail. Über die gleiche wie die oben genannten Post, kommen Sie daran zu denken. Es scheint verdächtig, dass dieser brandneue Benutzer Stack Exchange rechtzeitig beitreten würde, um einen Link zu einer neuen Website zu veröffentlichen. Ndash G-Man 27. August um 22:58 Uhr
No comments:
Post a Comment