Skip to main content

Arch Fakeroot Binary Optionen


Arch Build System Was ist das Arch Build System Das Arch Build System ist ein Ports-ähnliches System für den Aufbau und die Verpackung von Software aus Quellcode. Während pacman ist das spezialisierte Arch-Tool für binäre Paket-Management (einschließlich Pakete mit dem ABS gebaut), ABS ist eine Sammlung von Werkzeugen für die Kompilierung der Quelle in installierbare. pkg. tar. xz Pakete. Was ist ein Ports-ähnliches System Ports ist ein System, das von BSD verwendet wird, um den Prozess des Baus von Software aus Quellcode zu automatisieren. Das System verwendet einen Port zum Herunterladen, Entpacken, Patching, Kompilieren und Installieren der Software. Ein Port ist nur ein kleines Verzeichnis auf dem Benutzercomputer, benannt nach der entsprechenden Software, die installiert werden soll, die ein paar Dateien enthält, mit den Anweisungen zum Erstellen und Installieren der Software aus der Quelle. Dies macht die Installation von Software so einfach wie Tippen machen oder machen installieren sauber im Port-Verzeichnis. ABS ist ein ähnliches Konzept ABS besteht aus einem Verzeichnisbaum (der ABS-Baum), der sich unter varabs befindet. Dieser Baum enthält viele Unterverzeichnisse, jeweils innerhalb eines Repo-Namens und jeder von ihrem jeweiligen Paket benannt. Dieser Baum repräsentiert (aber nicht enthalten) alle offiziellen Arch Software. Abrufbar durch das SVN-System. Sie können sich auf jedes Paket-benannte Unterverzeichnis als ABS beziehen, so wie man sich auf einen Port beziehen würde. Diese ABS (oder Unterverzeichnisse) enthalten weder das Softwarepaket noch die Quelle sondern eher eine PKGBUILD-Datei (und manchmal auch andere Dateien). Ein PKGBUILD ist ein einfaches Bash-Build-Skript eine Textdatei mit den Zusammenstellungs - und Verpackungsinstruktionen sowie die URL des entsprechenden Quell-Tarballs, der heruntergeladen werden soll. (Die wichtigste Komponente von ABS sind PKGBUILDs.) Durch die Ausgabe innerhalb des ABS makepkg Befehls wird die Software zuerst kompiliert und dann im Build-Verzeichnis verpackt. Jetzt kannst du pacman (den Arch Linux Paketmanager) verwenden, um dein neues Paket zu installieren, zu aktualisieren und zu entfernen. ABS-Übersicht ABS kann als Umbrella-Term verwendet werden, da es enthält und auf mehrere andere Komponenten angewiesen ist, wenn auch nicht technisch genau, ABS kann auf die folgenden Werkzeuge als komplettes Toolkit verweisen: ABS-Baum Die ABS-Verzeichnisstruktur, die Dateien enthält, die benötigt werden, um alle zu bauen Offizielle Pakete (aber nicht die Pakete selbst oder die Quelldateien der Software). Es ist in svn und git repositories verfügbar und das abs Skript (aus dem abs Paket) lädt sie mit rsync in varabs auf deiner (lokalen) Maschine herunter. Auf dem lokalen System enthält der Baum Unterverzeichnisse für jedes in etcabs. conf angegebene Repository. Die wiederum ein Unterverzeichnis für jedes Paket enthalten. Hinweis: ABS-Baum synchronisiert einmal am Tag, so dass es hinter dem zurückbleiben kann, was bereits in den Repositories verfügbar ist. PKGBUILD Ein Bash-Skript, das die URL des Quellcodes zusammen mit der Zusammenstellung und Verpackung Anweisungen enthält. Makepkg Shell-Befehls-Tool, das die PKGBUILDs liest, automatisch herunterlädt und kompiliert die Quellen und erstellt eine. pkg. tar entsprechend dem PKGEXT-Array in makepkg. conf. Sie können auch makepkg verwenden, um eigene benutzerdefinierte Pakete aus den AUR - oder Drittanbieterquellen zu erstellen. Weitere Informationen finden Sie unter Erstellen von Paketen. Pacman pacman ist völlig getrennt, wird aber zwangsläufig entweder durch makepkg oder manuell aufgerufen, um die gebauten Pakete zu installieren und zu entfernen und Abhängigkeiten zu holen. AUR Das Arch User Repository ist von ABS getrennt, aber AUR (nicht unterstützt) PKGBUILDs werden mit makepkg erstellt, um Software zu kompilieren und zu verpacken. Im Gegensatz zum ABS-Baum auf Ihrer lokalen Maschine existiert die AUR als Website-Schnittstelle. Es enthält viele Tausende von benutzerdefinierten PKGBUILDs für Software, die als offizielles Arch-Paket nicht verfügbar ist. Wenn Sie ein Paket außerhalb des offiziellen Bogenbaums bauen müssen, sind die Chancen in der AUR. Warnung: Offizielle PKGBUILDs gehen davon aus, dass Pakete in einer sauberen Chroot gebaut werden. Das Erstellen von Software auf einem verschmutzten Build-System kann fehlschlagen oder unerwartetes Verhalten zur Laufzeit verursachen, denn wenn das Build-System Abhängigkeiten dynamisch erkennt, hängt das Ergebnis davon ab, welche Pakete auf dem Build-System verfügbar sind. Warum sollte ich das ABS verwenden Das Arch Build System wird verwendet: Kompilieren oder neu kompilieren eines Pakets aus irgendeinem Grund Machen Sie und installieren Sie neue Pakete aus der Quelle der Software, für die noch keine Pakete vorhanden sind (siehe Erstellen von Paketen) Passen Sie die vorhandenen Pakete an Ihre Bedürfnisse (Aktivieren oder Deaktivieren von Optionen, Patching) Erstellen Sie Ihr gesamtes System mit Ihren Compiler-Flags, la FreeBSD (z. B. mit pacbuilder) Erstellen und installieren Sie Ihren eigenen benutzerdefinierten Kernel (siehe Kernel-Kompilierung). Holen Sie sich Kernel-Module, die mit Ihrem benutzerdefinierten Kernel arbeiten Installieren Sie eine neuere, ältere, beta oder Entwicklungsversion eines Arch-Pakets, indem Sie die Versionsnummer im PKGBUILD registrieren. ABS ist nicht notwendig, um Arch Linux zu verwenden, aber es ist nützlich, um bestimmte Aufgaben der Quellkompilierung zu automatisieren. So verwenden Sie ABS Baupakete mit abs besteht aus diesen Schritten: Installieren Sie das abs Paket mit pacman. Führen Sie abs als root aus, um den ABS-Baum zu erstellen, indem Sie ihn mit dem Arch Linux-Server synchronisieren. Kopiere die Build-Dateien (meist unter varabsltrepogtltpkgnamegt) in ein Build-Verzeichnis. Navigieren Sie zu diesem Verzeichnis, bearbeiten Sie die PKGBUILD (falls gewünscht) und machen Sie makepkg. Nach den Anweisungen in der PKGBUILD, wird makepkg die entsprechende Quell-Tarball herunterladen, entpacken, Patch (falls gewünscht), kompilieren nach CFLAGS in makepkg. conf angegeben. Und schließlich komprimieren die eingebauten Dateien in ein Paket mit der Erweiterung. pkg. tar. gz oder. pkg. tar. xz. Installieren ist so einfach wie pacman - U lt. pkg. tar. xz filegt. Paketentfernung wird auch von pacman behandelt. Installieren von Tools Dies wird die Abs-Sync-Skripte, verschiedene Build-Skripte und rsync (als Abhängigkeit, wenn Sie es noch nicht haben) greifen. Bevor Sie tatsächlich alles bauen können, benötigen Sie auch grundlegende Kompilierwerkzeuge. Diese werden in der Paketgruppe base-devel handlich gesammelt. Diese Gruppe kann mit pacman installiert werden. Etcabs. conf Bearbeiten Sie etcabs. conf, um Ihre gewünschten Repositories einzuschließen. Entferne das. Vor den entsprechenden repositories Zum Beispiel: Der ABS-Baum ist eine SVN-Verzeichnis-Hierarchie, die sich unter varabs befindet und sieht so aus: Der ABS-Baum hat genau die gleiche Struktur wie die Paketdatenbank: First-Level: Repository-Name Second-Level: Paketname Verzeichnisse Dritte Ebene: PKGBUILD ( Enthält Informationen, die zum Erstellen eines Pakets benötigt werden) und andere verwandte Dateien (Patches, andere Dateien zum Erstellen des Pakets) Der Quellcode für das Paket ist im ABS-Verzeichnis nicht vorhanden. Stattdessen enthält die PKGBUILD eine URL, die den Quellcode herunterlädt, wenn das Paket gebaut wird. Also ist die Größe von abs Baum ziemlich klein. Download ABS-Baum Ihr ABS-Baum wird jetzt unter varabs erstellt. Beachten Sie, dass Baumzweige entsprechend den in etcabs. conf angegebenen erstellt wurden. Der abs-Befehl sollte regelmäßig ausgeführt werden, um mit den offiziellen Repositories synchron zu bleiben. Einzelne ABS-Paketdateien können auch heruntergeladen werden mit: Auf diese Weise musst du nicht den ganzen abs Baum ausprobieren, nur um ein Paket zu bauen. Etcmakepkg. conf Anmerkungen: Bitte verwenden Sie das zweite Argument der Vorlage, um detailliertere Angaben zu geben. (Diskussion in Talk: Arch Build System) makepkg s etcmakepkg. conf gibt globale Umgebungsvariablen und Compiler-Flags an, die Sie bearbeiten können, wenn Sie ein SMP-System verwenden oder andere gewünschte Optimierungen angeben. Die Standardeinstellungen sind für i686- und x8664-Optimierungen, die für diese Architekturen auf Single-CPU-Systemen gut funktionieren. (Die Vorgaben funktionieren auf SMP-Maschinen, verwenden aber nur eine coreCPU beim Kompilieren siehe makepkg für Details.) Setzen Sie die Variable PACKAGER in etcmakepkg. conf Die Einstellung der PACKAGER-Variablen in etcmakepkg. conf ist ein optionaler, aber dringend empfohlener Schritt. Es erlaubt einer Fahne, schnell zu identifizieren, welche Pakete gebaut wurden und von YOU installiert wurden, nicht der offizielle Betreuer. Dies ist leicht mit expac zu erreichen. Alle Pakete anzeigen (einschließlich der von AUR) Nur Pakete anzeigen, die in repos enthalten sind Dieses Beispiel zeigt nur Pakete an, die in dem in etcpacman. conf definierten Repos enthalten sind. Erstellen eines Build-Verzeichnisses Es wird empfohlen, ein Build-Verzeichnis zu erstellen, in dem das eigentliche Kompilieren stattfindet, sollten Sie den ABS-Baum niemals ändern, indem er darin gebaut wird, da Daten bei jedem ABS-Update verloren gehen (überschrieben) werden. Es ist eine gute Praxis, Ihr Home-Verzeichnis zu verwenden, obwohl einige Arch-Benutzer es vorziehen, ein lokales Verzeichnis unter varabs zu erstellen. Im Besitz eines normalen Benutzers. Erstellen Sie Ihr Build-Verzeichnis. z. B. Kopiere das ABS vom Baum (varabsltrepositorygtltpkgnamegt) in das Build-Verzeichnis. Baupaket In unserem Beispiel bauen wir das schlanke Display-Manager-Paket. Kopiere das schlanke ABS vom ABS-Baum in ein Build-Verzeichnis: Navigiere zum Build-Verzeichnis: Ändern Sie die PKGBUILD nach Ihren Wünschen. Wenn Sie Änderungen an der Quelle selbst vornehmen müssen, anstatt nur die PKGBUILD, siehe Patching in ABS. Führen Sie dann makepkg aus (mit dem - s-Flag, um die automatische Build-Time-Abhängigkeitsbehandlung zu aktivieren): Hinweis: Bevor Sie sich über fehlende (make) Abhängigkeiten beschweren, denken Sie daran, dass die Gruppe base-devel bei der Installation mit makepkg installiert wird. Siehe Installationswerkzeuge. Als root installieren: Das ist es. Sie haben gerade schlank aus der Quelle gebaut und sauber installiert, um Ihr System mit pacman. Paketentfernung wird auch von pacman mit pacman - R schlank behandelt. Die ABS-Methode zur Installation von Software bietet Komfort und bietet gleichzeitig die vollständige Transparenz und Kontrolle der im PKGBUILD enthaltenen Build - und Installationsfunktionen. Im Wesentlichen werden die gleichen Schritte in der traditionellen Methode ausgeführt (in der Regel einschließlich der. configure, make, machen Installationsschritte), aber die Software ist in einer gefälschten Root-Umgebung installiert. (Ein Fake Root ist einfach ein Unterverzeichnis innerhalb des Build-Verzeichnisses, das sich verhält und sich verhält wie das System-Root-Verzeichnis. In Verbindung mit dem Fakeroot-Programm erstellt makepkg ein gefälschtes Root-Verzeichnis und installiert die kompilierten Binärdateien und zugehörigen Dateien mit root als Besitzer.) Die gefälschte Wurzel. Oder Unterverzeichnisbaum, der die kompilierte Software enthält, wird dann in ein Archiv mit der Erweiterung. pkg. tar. xz komprimiert. Oder ein Paket. Wenn aufgerufen, pacman dann extrahiert das Paket (installiert es) in die Systeme realen Root-Verzeichnis (). Konservieren modifizierter Pakete Aktualisieren des Systems mit pacman ersetzt ein modifiziertes Paket von ABS mit dem Paket des gleichen Namens aus den offiziellen Repositories. Lesen Sie hierzu die folgenden Hinweise, wie Sie dies vermeiden können. Fügen Sie ein Gruppen-Array in die PKGBUILD ein, und fügen Sie das Paket zu einer Gruppe hinzu, die als modifiziert bezeichnet wird. Füge diese Gruppe zum Abschnitt IgnoreGroup in etcpacman. conf hinzu. Wenn neue Versionen in den offiziellen Repositories während eines System-Updates verfügbar sind, druckt pacman eine Notiz, dass es dieses Update überspringt, weil es im IgnoreGroup-Abschnitt ist. Zu diesem Zeitpunkt sollte das modifizierte Paket von ABS umgebaut werden, um partielle Upgrades zu vermeiden. Andere Werkzeuge pbget - PKGBUILDs für einzelne Pakete direkt aus dem Webinterface abrufen. Inklusive AUR Unterstützung. Asp - ein Werkzeug, um die Build-Quelldateien zu verwalten, die zum Erstellen von Arch Linux-Paketen verwendet werden. Verwendet die git-Schnittstelle, die mehr up to date Quellen bietet. Disclaimer Gebäude und mit einem benutzerdefinierten Kernel wird es sehr schwierig, Unterstützung für Ihr System zu bekommen. Während es sich um eine Lernerfahrung handelt, um deinen eigenen Kernel zu kompilieren, darfst du keine Bugs auf dem kundenspezifischen Kernel ablegen (wenn du es tust, werden sie ohne weitere Erläuterung abgelehnt). Hinweis: Diese Seite benötigt eine erhebliche Reinigung. Vielleicht möchten Sie auf KernelBuildYourOwnKernel Seite in Ubuntu Wiki stattdessen, die eine sauberere und mehr up-to-date Guide to (einfache) Kernel-Gebäude Wenn Sie einen kommerziellen Support-Vertrag mit UbuntuCanonical haben, wird dies eine solche Unterstützung ungültig zu verweisen. Beachten Sie auch, dass diese Seite beschreibt, wie man Dinge für den Edgy (2.6.17) Kernel und neuer macht. Bis zu dieser Kernel-Quelle hatten wir keine Mechanismen, die es den Leuten erlaubten, ihre eigenen Kernel einfach zu bauen. Das war absichtlich. Diese Seite beschreibt nicht, wie man Upstream-Kernel von kernel. org erstellt. Dies ist, wie man den eigentlichen Ubuntu-Kernel aus der Quelle wieder aufbaut. Gründe für die Erstellung eines benutzerdefinierten Kernels Sie sind ein Kernel-Entwickler. Du brauchst den Kernel auf eine besondere Art kompiliert, dass der offizielle Kernel nicht kompiliert ist (zB mit einigen experimentellen Funktionen aktiviert). Sie versuchen zu debuggen ein Problem in der Lager Ubuntu-Kernel, für die Sie abgelegt haben oder einen Fehlerbericht einreichen wird. Sie haben Hardware die Aktie Ubuntu Kernel nicht unterstützen. Sie lieben Computer und sind neugierig und interessiert an Hacken auf Ihrem eigenen GNULinux System, um mehr darüber zu erfahren, wie es funktioniert (mit dem Verständnis, dass youll müssen alles, was Sie brechen zu beheben). Gründe für die NICHT Erstellung eines benutzerdefinierten Kernels Sie müssen lediglich einen speziellen Treiber kompilieren. Dazu müssen Sie nur die linux-header-Pakete installieren. Du hast keine Ahnung, was du tust, und wenn du etwas zerbrichst, dann musst du helfen, es zu beheben. Je nachdem, was Sie falsch machen, könnten Sie am Ende müssen Sie Ihr System von Grund auf neu installieren. Du bist auf diese Seite aus Versehen und hast es ausprobiert, weil es interessant aussah, aber du willst wirklich nicht viel über Kernel lernen. Wenn du einen neuen Kernel ohne Kompilierung installieren möchtest, kannst du Synaptic benutzen. Suche nach linux-image und wähle die Kernel-Version aus, die du installieren möchtest. Ein einfacher Weg ist, auf System gt Administration gt Update Manager klicken. Dann klicken Sie auf die Schaltfläche "Überprüfen" und klicken Sie dann auf Alle Updates einschließlich des Kernels anwenden. Tools youll need Um zu starten, müssen Sie ein paar Pakete installieren. Verwenden Sie eine folgende Befehlszeile, um genau die für die Freigabe benötigten Pakete zu installieren, die Sie verwenden: Hinweis: Das Paket makedumpfile ist in Hardy nicht verfügbar. Holen Sie sich die Kernel-Quelle Es gibt ein paar Möglichkeiten, um die Ubuntu-Kernel-Quelle zu erhalten: Option A) Verwenden Sie git Use git - Dies ist für Benutzer, die immer in Synchronisierung mit der neuesten Ubuntu-Kernel-Quelle bleiben wollen. Für Ihre Informationen finden Sie detaillierte Anleitungen dazu im Kernel Git Guide Das Git Repository enthält keine notwendigen Steuerungsdateien, also müssen Sie sie bauen durch: Option B) Laden Sie das Quellarchiv herunter Laden Sie das Quellarchiv herunter - Dies ist für Benutzer, die Wollen die Standard-Ubuntu-Pakete mit zusätzlichen Patches wieder aufbauen. Beachten Sie, dass dies fast immer veraltet sein wird, verglichen mit der neuesten Entwicklungsquelle, also sollten Sie git (Option A) verwenden, wenn Sie die neuesten Patches benötigen. Verwenden Sie einen folgenden Befehl, um die Build-Abhängigkeiten zu installieren und die Quelle zu extrahieren (in das aktuelle Verzeichnis): Ubuntu-Modul-Quelle kann auch benötigt werden, wenn Sie planen, PAE und 64 GiB-Unterstützung im Kernel für 32-Bit Hardy (8.04) zu aktivieren. Die mit Ubuntu gelieferten Module sind möglicherweise nicht mit einem PAE-aktivierten Kernel kompatibel. Die Quelle wird in ein Unterverzeichnis im aktuellen Verzeichnis heruntergeladen. Ubuntu Karmic Koala (9.10) und neuere Releases Die Quelle wird in das aktuelle Verzeichnis als Trio von Dateien heruntergeladen (für Lucid, zumindest) (.orig. tar. gz. diff. gz und. dsc) und ein Sub - Verzeichnis. Zum Beispiel, wenn Uname - r gibt 2.6.32-25-generischen. Youll erhalten linux2.6.32.orig. tar. gz. Linux2.6.32-25.44.diff. gz Linux2.6.32-25.44.dsc und das Unterverzeichnis linux-2.6.32. Option C) Laden Sie das Quellpaket herunter Laden Sie das Quellpaket herunter (detaillierte Anleitungen finden Sie weiter unten auf dieser Seite unter Alternate Build Method (B): Der altmodische Debian-Weg) - Dies ist für Benutzer, die einfach nur ändern oder herumspielen möchten, Die Ubuntu-gepatchte Kernelquelle. Auch dies wird nicht die meisten up-to-date (verwenden Sie Option Agit, wenn Sie die neueste Quelle benötigen). Bitte beachten Sie, dass dies nicht das gleiche ist wie Option BDownload das Quellarchiv. Ändern Sie die Quelle für Ihre Bedürfnisse Für die meisten Menschen, einfach das Ändern der configs ist genug. Wenn Sie einen Patch installieren müssen, lesen Sie die Anweisungen des Patch-Providers, um zu erfahren, wie Sie ihn anwenden können. Die Ubuntu-Konfigurationen befinden sich in debianconfigARCH, wobei ARCH die Architektur ist, die Sie aufbauen (beginnend mit Jaunty das ist debian. masterconfigARCH). In diesem Verzeichnis gibt es mehrere Dateien. Die Konfigurationsdatei ist die Basis für alle Ziele in dieser Architektur. Dann gibt es mehrere config. FLAVOUR Dateien, die Optionen enthalten, die für dieses Ziel spezifisch sind. Zum Beispiel sind hier die Dateien für 2.6.20, i386: Wenn Sie die Konfigurationsdateien nicht unter debianconfig finden. Sie können sie in Ihrem Boot-Verzeichnis finden (z. B. bootconfig-2.6.22-14-generic). Ansonsten sollten Sie überprüfen, ob ein alternativer Standort in debiandebian. env Ihres Kernel-Quellverzeichnisses angegeben wurde. Wenn Sie eine Konfigurationsoption ändern müssen, ändern Sie einfach die Datei, die die Option enthält. Wenn Sie nur die Konfigurationsdatei ändern, wird es alle Ziele für diese Architektur beeinflussen. Wenn Sie eine der Zieldateien ändern, wirkt sie nur auf dieses Ziel. Nach dem Anwenden eines Patches oder der Anpassung der Configs ist es immer am besten, die Konfigurationsdateien zu regenerieren, um sicherzustellen, dass sie konsistent sind. Hierfür gibt es einen Helferbefehl. Um alle Architekturen zu regenerieren, laufen Sie: Wenn Sie nur eine Architektur aktualisieren möchten. Run: Hinweis: Wenn Sie das Debian-Verzeichnis nicht haben, nachdem Sie apt-get source verwendet haben. Verwenden Sie dpkg-source - x dsc, um die Quellen richtig zu extrahieren. Für diese beiden Befehle zu arbeiten, müssen Sie die Skripte in die debianscriptsmisc und debianscripts Verzeichnisse ausführen Genehmigung mit dem folgenden Befehl: Erstellen Sie den Kernel (s) Es gibt zwei aufgelistete Möglichkeiten, um die Ubuntu-Kernel zu bauen: Build-Methode A: Erstellen Sie den Kernel (Wenn die Quelle aus dem git-Repository oder aus der apt-get-Quelle stammt) Der Kernel (s) ist sehr einfach. Abhängig von Ihren Bedürfnissen, können Sie alle Kernel-Ziele zu bauen, oder nur eine spezifische für Ihr System. Allerdings möchten Sie auch sicherstellen, dass Sie nicht mit den Aktienkernen kollidieren. Anmerkung: Obwohl diese Aussenanweisungen einen separaten und einzigartigen Zweig des Kernels beinhalten, enthalten sie im Gegensatz zu hier gründliche Erklärungen aller notwendigen Schritte von Anfang bis Ende. Diese Anweisungen sind spezifisch für den Git-Tree und für die Quelle heruntergeladen über apt-get Quelle. Nicht beim Herunterladen des Linux-Quellpakets von kernel. org Verwenden Sie diesen Befehl, um alle Ziele für die Architektur aufzubauen, auf der Sie aufbauen: debianrules clean erstellt debiancontrol. Debianchangelog Und so weiter von debian. ltbranchnamegt (z. B. debian. master). Es ist notwendig in Git Bäume nach Git Commit 3ebd3729ce35b784056239131408b9a72b0288ef UBUNTU: Config Abstrakt das Debian-Verzeichnis. Die Umgebungsvariable AUTOBUILD löst spezielle Funktionen im Kernel-Build aus. Zuerst überspringt es normale ABI-Prüfungen (ABI ist die binäre Kompatibilität). Es kann dies tun, weil es auch eine einzigartige ABI ID erzeugt. Wenn du einen Git Repo benutzt hast, wird diese eindeutige ID aus dem Git HEAD SHA generiert. Wenn nicht, wird es aus dem uuidgen-Programm generiert (was bedeutet, jedes Mal, wenn du die debianrules bauen, die UUID wird anders sein). Ihre Pakete werden mit dieser ID benannt. (Beachten Sie, dass in Intrepid und neuer, müssen Sie skipabitrue, um ABI-Prüfungen zu überspringen.) Um ein bestimmtes Ziel zu erstellen. Verwenden Sie diesen Befehl: Wo FLAVOR einer der Hauptaromen des Kernels ist (z. B. generisch) Um einen der benutzerdefinierten Aromen zu erstellen (gefunden in debianbinary-custom. d), verwenden Sie: Ab dieser Dokumentation sind benutzerdefinierte Aromen xen und rt. Wenn du einen mehr als einen Prozessor oder mehr als einen Kern hast, kannst du die Dinge beschleunigen, indem du gleichzeitige Kompilierungsbefehle ausführt. Vorbereitung CONCURRENCYLEVEL2 für zwei Prozessoren oder zwei Kerne ersetzen 2 mit welcher Nummer auch deinem Hardware-Setup passt (für Gutsy und später können Sie alternativ DEBBUILDOPTIONSparallel2 verwenden). Wenn du ABI-Fehler bekommst, kannst du den ABI-Check mit skipabitrue vermeiden. Zum Beispiel, um einen Wiederaufbau auszulösen, entfernen Sie die entsprechende Stempeldatei von debianstamps (z. B. Stempel-Build-Server für den Server-Geschmack usw.). Die debs werden in deinem übergeordneten Verzeichnis des Kernel-Quellverzeichnisses platziert. Bei Bedarf kann die Ubuntu-Modulquelle für Hardy (8.04) in ähnlicher Weise gebaut werden. Alternativ, wenn Sie einen anderen Kernel als den laufenden angeben müssen, verwenden Sie Wenn Sie einen Fehler erhalten, versuchen Sie es im kerneldir auszuführen. (Beispiel für den generischen Geschmack) Alternate Build Method (B): Der altmodische Debian-Weg Das neue Ubuntu-Build-System eignet sich hervorragend für Entwickler, für Menschen, die den absolut spätesten Kernkern kennenlernen und Menschen, die vielfältig bauen müssen Satz von Kernel (mehrere Aromen). Allerdings kann es ein wenig komplex für gewöhnliche Benutzer sein. Wenn Sie nicht die neuesten Entwicklungsquellen benötigen, gibt es eine einfachere Möglichkeit, Ihren Kernel aus dem Linux-Source-Paket zu kompilieren. Wie oben angedeutet, alles, was Sie dafür benötigen, ist: Der letzte Befehl in der Sequenz bringt Sie in das Top-Verzeichnis eines Kernel-Quellbaums. Bevor Sie den Kernel erstellen, müssen Sie ihn konfigurieren. Wenn du die Konfiguration deines derzeit laufenden Kernels wiederverwenden möchtest, fange an, bevor du make menuconfig machst oder xconfig machst (was der nächste Schritt sagt, dass du es machst), vergewissere dich, dass du die notwendigen Pakete hast: Wenn du es hättest Wie zu sehen, was zwischen deiner ursprünglichen Kernel-config und dem neuen unterscheidet (und entscheide, ob du irgendwelche der neuen Features will), kannst du laufen: Da der 2.6.32-Kernel eine neue Funktion erlaubt, die Konfiguration nur zu aktualisieren Kompilieren Sie Module, die tatsächlich in Ihrem System verwendet werden: Dann, egal ob Sie eine bestehende Konfiguration erneut verwenden oder von vorne anfangen: Was ist damit? (Die von der KernelBuildYourOwnKernel-Seite im Abschnitt Ändern der Konfiguration) Wenn Sie die vorhandene Konfiguration erneut verwendet haben, beachten Sie, dass Ubuntu-Kernel mit Debugging-Informationen erstellt werden, wodurch die resultierenden Kernelmodule (.ko-Dateien) viel größer sind als sonst Sein. Um dies auszuschalten, gehe in die configs Kernel hackinglt - dann unter Kernel Debugging, --gt und ausschalten Kompilieren Sie den Kernel mit Debug-Info. Jetzt können Sie den Kernel kompilieren und die Pakete erstellen: Sie können die parallele Nutzung machen make - j). Versuche 1 Anzahl Prozessorkerne. z. B. 3 Wenn du einen Dual-Core-Prozessor hast: Auf einem neueren Kernel, wenn du nur Binärpakete benötigst und mehrere Builds brauchst (beim Bearbeiten der Quelle), um nicht alles wiederherzustellen, verwenden Sie: Die. deb-Pakete werden im übergeordneten Element erstellt Verzeichnis in deinem Linux-Quellverzeichnis (in diesem Beispiel würden sie in src platziert werden, da unser Linux-Quellverzeichnis den neuen Kernel installiert ist. Wenn du den Ubuntu-Splash-Bildschirm sehen möchtest (oder Textmodus verwenden), bevor du stattdessen an X kommst Ein schwarzer Bildschirm, youll wollen sicherstellen, dass der Framebuffer-Treiber lädt: Nun, dass youve sagte initramfs-Tools, welche Module es enthalten sollte, und sobald der Build abgeschlossen ist, können Sie die generierten debs mit dpkg installieren. Ähnlich, wenn Sie das gebaut haben Ubuntu-Modul für Hardy (8.04) früher, installieren Sie sie wie folgt: Wenn Sie Module aus linux-restricted-modules verwenden, müssen Sie diese mit Ihrem neuen Linux-Header-Paket neu kompilieren. Hinweis: Als Reaktion auf die verschiedenen Kommentare im Rest Von diesem Abschnitt: Auf Ubuntu Precise (12.04) scheint es, dass postinst DOES kümmert sich um die initramfs Zeug. Nach der Installation des Pakets startete mein neuer Kernel ganz gut, ohne irgendwelche der folgenden Methoden zu befolgen. Jemand bitte korrigieren mich, wenn ich mich irre. Seit Ubuntu Lucid (10.04) läuft das Bild postinst nicht mehr die initramfs Erstellungsbefehle. Stattdessen gibt es Beispielskripts, die die Aufgabe ausführen. Diese Skripte werden auch für offizielle Kernelbilder funktionieren. Zum Beispiel: Anmerkung: Ich konnte nicht die oben genannten Skripte, um bei der Erzeugung einer initrd für den Kernel zu helfen - und so konnte der eingebaute Kern nicht das einzige, was für mich gearbeitet hat, war die Empfehlung in debian-administration. orgarticleHowDoIMakeaninitrdimage. Befehl initramfs verwenden. Es ist echte Lösung. Was ich benutzt habe (nachdem die benutzerdefinierten kernels. debs installiert waren), war: note (Michael): das ist, weil du die richtigen Paket-Scripts einbinden musst, um die initrd bei der Paketinstallationszeit zu bauen. Die Option make-kpkg ist --overlay-dir. Standardmäßig verwendet make-kpkg usrsharekernel-package als Overlay-Verzeichnis, das die standardmäßigen, nicht benutzten Skripts für eine Debian-Distribution enthält und nicht die, die zum Erstellen eines Ubuntu-Kernels benötigt wird. Kopieren Sie zuerst das Standard-Overlay-Verzeichnis in Ihr Home-Verzeichnis: Dann installieren Sie die Quelle des aktuell verwendeten Kernels mit dem genauen Paketnamen, z. B. Die die Quellen zu HOMElinux-2.6.32 auspacken wird. Kopiere nun die Kontrollskripts in dein neues Overlay: Und nun kannst du make-kpkg mit der zusätzlichen Kommandozeilenoption --overlay-dirHOMEkernel-Paket ausführen. Wiederaufbau von linux-restricted-modules Das linux-restricted-modules (lrm) Paket enthält eine Reihe von Nicht-DFSG-freien Treibern (sowie einige Firmware und den ipw3945 Wireless Networking Daemon), die in einer perfekten Welt nicht sein müssen Separat verpackt, die aber leider unter einer GPL-kompatiblen Lizenz nicht verfügbar sind. Wenn Sie eine der vom l-r-m-Paket unterstützten Hardware verwenden, werden Sie wahrscheinlich feststellen, dass Ihr System auch nach dem Umstieg auf einen benutzerdefinierten Kern nicht funktioniert. In diesem Fall solltest du versuchen, das l-r-m Paket zu kompilieren. Weitere Informationen finden Sie unter CustomRestrictedModules, wie Sie l-r-m neu erstellen (wenn Sie nVidia - oder ATI-Binär-Treiber verwenden). Hinweis: Sie benötigen etwa 8 Stunden Kompilierungszeit und rund 10 GB Festplattenspeicher, um alle Kernel-Aromen und eingeschränkten Module zu kompilieren. Weitere Anmerkung: In Lucid gibt es keine l-r-m - oder linux-restricted-modules-Pakete. Beschleunigung des Builds Verwenden Sie distcc und, wenn youre Wiederaufbau häufig, ccache. Ein guter Überblick über die Verwendung von distcc auf einem Debian-basierten System ist bei myrddin. orghowtousing-distcc-with-debian verfügbar. Wenn Sie AMD64-Maschinen in Ihrem lokalen Netzwerk verfügbar sind, können sie immer noch am Aufbau von 32-Bit-Code teilnehmen. Distcc scheint das automatisch zu behandeln. Allerdings, mit distcc übernehmen alle Kompilierungen standardmäßig müssen Sie HOSTCC so dass, wenn Kernel-Builds wollen den Compiler auf dem Host selbst verwenden, sie nicht am Ende verteilen Aufträge auf dem 64-Bit-Server. Wenn du das nicht machst, bekommst du Link-Kompatibilitäts-Fehler zwischen 64-Bit - und 32-Bit-Code. Mein make-kpkg Befehl, mit usrlibccache an der Spitze meines PATH. Sieht aus wie: Weitere Dokumentation Bitte gehen Sie zur Community-Wiki-Seite für Kommentare, Fragen und Diskussionen: wiki. ubuntuKernelCustomBuildCreating-Pakete Dieser Artikel soll den Benutzern helfen, eigene Pakete zu erstellen, die das Arch Linux-Ports-ähnliches Build-System verwenden. Auch für die Einreichung in AUR. Es deckt die Erstellung eines PKGBUILD 8211 eine Paket-Build-Beschreibungsdatei ab, die von makepkg erstellt wird, um ein Binärpaket aus der Quelle zu erstellen. Wenn bereits im Besitz einer PKGBUILD. Siehe makepkg Für Anleitungen zu bestehenden Regeln und Möglichkeiten zur Verbesserung der Paketqualität siehe Arch Verpackungsstandards. Pakete in Arch Linux werden mit dem Dienstprogramm makepkg und den in einer PKGBUILD-Datei gespeicherten Informationen erstellt. Wenn makepkg läuft, sucht es nach einem PKGBUILD im aktuellen Verzeichnis und folgt den Anweisungen darin, um die benötigten Dateien zu erwerben und sie zu kompilieren, um sie in einer Paketdatei (pkgname. pkg. tar. xz) zu packen. Das daraus resultierende Paket enthält Binärdateien und Installationsanweisungen, die von pacman installiert werden können. Ein Arch-Paket ist nicht mehr als ein tar-Archiv oder Tarball, komprimiert mit xz, die die folgenden Dateien enthält, die von makepkg erzeugt werden: Die Binärdateien, die installiert werden sollen..PKGINFO. Enthält alle Metadaten, die von pacman benötigt werden, um mit Paketen, Abhängigkeiten usw. umzugehen. MTREE. Enthält Hashes und Zeitstempel der Dateien, die in der lokalen Datenbank enthalten sind, so dass pacman die Integrität des Pakets überprüfen kann..INSTALLIEREN. Eine optionale Datei, die verwendet wird, um Befehle nach der installupgraderemove-Stufe auszuführen. (Diese Datei ist nur vorhanden, wenn sie im PKGBUILD angegeben ist.).Changelog. Eine optionale Datei, die vom Paketbetreuer aufbewahrt wird und die Änderungen des Pakets dokumentiert. (Es ist nicht in allen Paketen vorhanden.) Meta-Pakete und Gruppen Eine Paketgruppe ist eine Reihe von verwandten Paketen, die vom Paketierer definiert werden und gleichzeitig mit dem Gruppennamen als Ersatz für jeden einzelnen Paketnamen installiert oder deinstalliert werden können. Während eine Gruppe kein Paket ist, kann sie ähnlich wie ein Paket installiert werden, siehe PacmanInstalling Paketgruppen und PKGBUILDgroups. Ein Meta-Paket, oft (wenn auch nicht immer) mit dem - meta-Suffix betitelt, bietet ähnliche Funktionalität zu einer Paketgruppe, dass es ermöglicht, dass mehrere verwandte Pakete gleichzeitig installiert oder deinstalliert werden. Meta-Pakete können wie jedes andere Paket installiert werden, siehe PacmanInstalling spezifische Pakete. Der einzige Unterschied zwischen einem Meta-Paket und einem regulären Paket besteht darin, dass ein Meta-Paket leer ist und es nur besteht, um verwandte Pakete zusammen über Abhängigkeiten zu verknüpfen. Der Vorteil eines Meta-Pakets im Vergleich zu einer Gruppe besteht darin, dass neue Mitgliedspakete installiert werden, wenn das Meta-Paket selbst mit einem neuen Satz von Abhängigkeiten aktualisiert wird. Dies steht im Gegensatz zu einer Gruppe, in der neue Gruppenmitglieder nicht automatisch installiert werden. Der Nachteil eines Meta-Pakets ist, dass es nicht so flexibel wie eine Gruppe ist - Sie können wählen, welche Gruppenmitglieder Sie installieren möchten, aber Sie können nicht auswählen, welche Meta-Paket-Abhängigkeiten Sie installieren möchten. Ebenso können Sie Gruppenmitglieder deinstallieren, ohne die gesamte Gruppe entfernen zu müssen, aber Sie können keine Meta-Paket-Abhängigkeiten entfernen, ohne das Meta-Paket selbst deinstallieren zu müssen. Vorbereitung Voraussetzung Software Stellen Sie zunächst sicher, dass die benötigten Werkzeuge installiert sind. Das Installieren der Paketgruppe base-devel sollte ausreichen, es enthält make und zusätzliche Werkzeuge, die für die Kompilierung von der Quelle benötigt werden. Eines der wichtigsten Werkzeuge zum Erstellen von Paketen ist makepkg (bereitgestellt von pacman), was folgendes macht: Überprüft, ob Paketabhängigkeiten installiert sind. Lädt die Quelldatei (n) von den angegebenen Servern herunter. Entpackt die Quelldatei (s). Kompiliert die Software und installiert sie unter einer fakeroot-Umgebung. Strips Symbole aus Binärdateien und Bibliotheken. Erzeugt die Paket-Metadatei, die in jedem Paket enthalten ist. Komprimiert die fakeroot-Umgebung in eine Paketdatei. Speichert die Paketdatei im konfigurierten Zielverzeichnis, das standardmäßig das vorhandene Arbeitsverzeichnis ist. Laden und testen Sie die Installation Laden Sie die Quelle Tarball der Software, die Sie verpacken möchten, extrahieren Sie es, und folgen Sie den Autoren Schritte, um das Programm zu installieren. Notieren Sie alle Befehle und Schritte, die zum Kompilieren und Installieren erforderlich sind. Sie werden die gleichen Befehle in der PKGBUILD-Datei wiederholen. Die meisten Software-Autoren halten sich an den 3-stufigen Build-Zyklus: Das ist eine gute Zeit, um sicherzustellen, dass das Programm korrekt funktioniert. Erstellen einer PKGBUILD Wenn Sie makepkg ausführen. Es sucht nach einer PKGBUILD-Datei im aktuellen Arbeitsverzeichnis. Wenn eine PKGBUILD-Datei gefunden wird, lädt sie den Software-Quellcode herunter und kompiliert ihn entsprechend den Anweisungen in der PKGBUILD-Datei. Die Anweisungen müssen durch die Bash-Shell vollständig interpretierbar sein. After successful completion, the resulting binaries and metadata of the package, i. e. package version and dependencies, are packed in a pkgname. pkg. tar. xz package file that can be installed with pacman - U ltpackage filegt . To begin with a new package, you should first create an empty working directory, (preferably abs pkgname ), change into that directory, and create a PKGBUILD file. You can either copy the prototype PKGBUILD usrsharepacmanPKGBUILD. proto to your working directory or copy a PKGBUILD from a similar package. The latter may be useful if you only need to change a few options. Warning: Use only the PKGBUILD prototypes provided in the pacman package (PKGBUILD-split. proto, PKGBUILD-vcs. proto and PKGBUILD. proto). The prototypes files in the abs package and in the ABS git repository are significantly out of date and should not be used. See FS34485 . Defining PKGBUILD variables Example PKGBUILDs are located in usrsharepacman. An explanation of possible PKGBUILD variables can be found in the PKGBUILD article. makepkg defines two variables that you should use as part of the build and install process: srcdir This points to the directory where makepkg extracts or symlinks all files in the source array. pkgdir This points to the directory where makepkg bundles the installed package, which becomes the root directory of your built package. All of them contain absolute paths, which means, you do not have to worry about your working directory if you use these variables properly. Note: makepkg . and thus the build() and package() functions, are intended to be non-interactive. Interactive utilities or scripts called in those functions may break makepkg . particularly if it is invoked with build-logging enabled ( - L ). (See FS13214 .) Note: Apart from the current package Maintainer, there may be previous maintainers listed above as Contributors. PKGBUILD functions There are five functions, listed here in the order they are executed if all of them exist. If one does not exist, it is simply skipped. Note: This does not apply to the package() function, as it is required in every PKGBUILD This function, commands that are used to prepare sources for building are run, such as patching. This function runs right after package extraction, before pkgver() and the build function. If extraction is skipped ( makepkg - e ), then prepare() is not run. Note: (From man PKGBUILD ) The function is run in bash - e mode, meaning any command that exits with a non-zero status will cause the function to exit. pkgver() runs after the sources are fetched, extracted and prepare() executed. So you can update the pkgver variable during a makepkg stage. This is particularly useful if you are making gitsvnhgetc. packages. where the build process may remain the same, but the source could be updated every day, even every hour. The old way of doing this was to put the date into the pkgver field which, if the software was not updated, makepkg would still rebuild it thinking the version had changed. Some useful commands for this are git describe. hg identify - ni. etc. Please test these before submitting a PKGBUILD, as a failure in the pkgver() function can stop a build in its tracks. Note: pkgver cannot contain spaces or hyphens ( - ). Using sed to correct this is common. Now you need to implement the build() function in the PKGBUILD file. This function uses common shell commands in Bash syntax to automatically compile software and create a pkg directory to install the software to. This allows makepkg to package files without having to sift through your file system. The first step in the build() function is to change into the directory created by uncompressing the source tarball. makepkg will change the current directory to srcdir before executing the build() function. Therefore, in most cases, like suggested in usrsharepacmanPKGBUILD. proto. the first command will look like this: Now, you need to list the same commands you used when you manually compiled the software. The build() function in essence automates everything you did by hand and compiles the software in the fakeroot build environment. If the software you are packaging uses a configure script, it is good practice to use --prefixusr when building packages for pacman. A lot of software installs files relative to the usrlocal directory, which should only be done if you are manually building from source. All Arch Linux packages should use the usr directory. As seen in the usrsharepacmanPKGBUILD. proto file, the next two lines often look like this: Note: If your software does not need to build anything, DO NOT use the build() function. The build() function is not required, but the package() function is. Place for calls to make check and similar testing routines. It is highly recommended to have check() as it helps to make sure software has been built correctly and works fine with its dependencies. Users who do not need it (and occasionally maintainers who can not fix a package for this to pass) can disable it using BUILDENV(check) in PKGBUILDmakepkg. conf or call makepkg with --nocheck flag. The final step is to put the compiled files in a directory where makepkg can retrieve them to create a package. This by default is the pkg directorya simple fakeroot environment. The pkg directory replicates the hierarchy of the root file system of the softwares installation paths. If you have to manually place files under the root of your filesystem, you should install them in the pkg directory under the same directory structure. For example, if you want to install a file to usrbin. it should instead be placed under pkgdirusrbin. Very few install procedures require the user to copy dozens of files manually. Instead, for most software, calling make install will do so. The final line should look like the following in order to correctly install the software in the pkg directory: Note: It is sometimes the case where DESTDIR is not used in the Makefile you may need to use prefix instead. If the package is built with autoconf automake . use DESTDIR this is what is documented in the manuals. If DESTDIR does not work, try building with make prefixpkgdirusr install. If that does not work, you will have to look further into the install commands that are executed by make lt. gt install . In some odd cases, the software expects to be run from a single directory. In such cases, it is wise to simply copy these to pkgdiropt. More often than not, the installation process of the software will create sub-directories below the pkg directory. If it does not, however, makepkg will generate a lot of errors and you will need to manually create sub-directories by adding the appropriate mkdir - p commands in the build() function before the installation procedure is run. In old packages, there was no package() function. So, files were put into the pkg directory at the end of the build() function. If package() is not present, build() runs via fakeroot . In new packages, package() is required and runs via fakeroot instead, and build() runs without any special privileges. makepkg --repackage runs only the package() function, so it creates a. pkg. file without compiling the package. This may save time e. g. if you just have changed the depends variable of the package. Note: The package() function is the only required function in a PKGBUILD. If you must only copy files into their respective directories to install a program, do not put it in the build() function, put that in the package() function. Note: Creating symlinks is a slightly awkward process in the package() function. Using the naive approach ln - s fromfoo togoo will result in a broken symlink to the build directory. The way to create a proper link is to create it pointing to an initially-broken source, ln - s fromfoo togoo. Once the package is installed, the link will point to the right place. Testing the PKGBUILD and package As you are writing the build() function, you will want to test your changes frequently to ensure there are no bugs. You can do this using the makepkg command in the directory containing the PKGBUILD file. With a properly formatted PKGBUILD. makepkg will create a package with a broken or unfinished PKGBUILD. it will raise an error. If makepkg finishes successfully, it will place a file named pkgname-pkgver. pkg. tar. xz in your working directory. This package can be installed with the pacman - U command. However, just because a package file was built does not imply that it is fully functional. It might conceivably contain only the directory and no files whatsoever if, for example, a prefix was specified improperly. You can use pacmans query functions to display a list of files contained in the package and the dependencies it requires with pacman - Qlp package file and pacman - Qip package file respectively. If the package looks sane, then you are done However, if you plan on releasing the PKGBUILD file, it is imperative that you check and double-check the contents of the depends array. Also ensure that the package binaries actually run flawlessly It is annoying to release a package that contains all necessary files, but crashes because of some obscure configuration option that does not quite work well with the rest of the system. If you are only going to compile packages for your own system, though, you do not need to worry too much about this quality assurance step, as you are the only person suffering from mistakes, after all. Checking package sanity After testing package functionality check it for errors using namcap. Check PKGBUILD contents for common errors and package file hierarchy for unnecessarymisplaced files Scan all ELF files in package using ldd. automatically reporting which packages with required shared libraries are missing from depends and which can be omitted as transitive dependencies Heuristically search for missing and redundant dependencies and much more. Get into the habit of checking your packages with namcap to avoid having to fix the simplest mistakes after package submission. Submitting packages to the AUR Please read AUR User GuidelinesSubmitting packages for a detailed description of the submission process. Download the source tarball of the software you want to package. Try compiling the package and installing it into an arbitrary directory. Copy over the prototype usrsharepacmanPKGBUILD. proto and rename it to PKGBUILD in a temporary working directory -- preferably abs . Edit the PKGBUILD according to the needs of your package. Run makepkg and see whether the resulting package is built correctly. If not, repeat the last two steps. Before you can automate the package building process, you should have done it manually at least once unless you know exactly what you are doing in advance . in which case you would not be reading this in the first place. Unfortunately, although a good bunch of program authors stick to the 3-step build cycle of. configure make make install , this is not always the case, and things can get real ugly if you have to apply patches to make everything work at all. Rule of thumb: If you cannot get the program to compile from the source tarball, and make it install itself to a defined, temporary subdirectory, you do not even need to try packaging it. There is not any magic pixie dust in makepkg that makes source problems go away. In a few cases, the packages are not even available as source and you have to use something like sh installer. run to get it to work. You will have to do quite a bit of research (read READMEs, INSTALL instructions, man pages, perhaps ebuilds from Gentoo or other package installers, possibly even the MAKEFILEs or source code) to get it working. In some really bad cases, you have to edit the source files to get it to work at all. However, makepkg needs to be completely autonomous, with no user input. Therefore if you need to edit the makefiles, you may have to bundle a custom patch with the PKGBUILD and install it from inside the prepare() function, or you might have to issue some sed commands from inside the prepare() function. More detailed guidelines Package creation guidelines

Comments

Popular posts from this blog

Option Trading Lingo

Mit 40 Optionen Strategien für Stiere, Bären, Rookies, All-Stars und jeder dazwischen Eine Einführung in Rolling Rolling ist eine der häufigsten Möglichkeiten, um eine Option Position anzupassen. Itrsquos möglich, entweder eine lange oder kurze Option Position zu rollen, aber hier gut auf die kurze Seite zu konzentrieren. Wenn Sie sich entscheiden zu rollen, hat yoursquove Ihren Ausblick auf den zugrunde liegenden Bestand gewechselt und befürchtet, dass Ihre kurzen Optionen zugewiesen werden. Das Ziel ist es, die Aufgabe zu beenden oder gar zu vermeiden. Itrsquos eine fortgeschrittene Technik, und itrsquos eine, die Sie gründlich verstehen müssen, bevor Sie ausführen. Wenn Sie eine kurze Position rollen, kaufen Sie, um eine bestehende Position zu schließen und zu verkaufen, um eine neue zu öffnen. Sie haben die Ausübungspreise auf Ihre Optionen, und oder ldquorollingrdquo das Auslaufen weiter in der Zeit. Aber das Rollen ist nie garantiert zu arbeiten. In der Tat könnten Sie am Ende Co...

Technisch Handelsindikatoren Überprüfung

Trader-Info - Forex Trading - Börsenhandel - Forex Scalping Systems - Forex Automated 4) UNSER verifizierter Paypal Status - Verified 5) Unsere 24 Stunden Kundenservice Unterstützung 6) Häufig gestellte Fragen (beantwortet). Wenn Sie irgendeine Frage oder Anfrage haben, zögern Sie nicht, mit uns in Verbindung zu treten Unsere verbindliche GARANTIE Wenn Sie nicht mit Ihrem Kauf aus irgendeinem Grund oder einem anderen zufrieden sind, möchten wir Ihnen versichern, dass Sie vollständig bedeckt sind unsere 3 0 Tagesgeld-Rückseitengarantie . Die Materialien stehen zum Download als PDF-Dateien, Word-Dateien, EXE-Dateien, eBooks und Software zur Verfügung. Falls Sie nicht zufrieden sind, werden Sie zurückerstattet. Wir sind an diese Garantie gebunden. Sie müssen diese Methoden nach unseren Anweisungen für mindestens 3 0 Tage betreiben und ein Nachweis davon muss vorhanden sein, bevor wir Ihre Erstzahlung zurückerstatten können. Allerdings sind wir zuversichtlich, dass Sie mit dem Inhalt aller...

Aktienoptionen Buch Review

Stock Market Aktivität Real-Time After Hours Pre-Market News Flash Zitat Zusammenfassung Zitat Interaktive Charts Standardeinstellung Bitte beachten Sie, dass, sobald Sie Ihre Auswahl treffen, gilt es für alle zukünftigen Besuche bei NASDAQ. Wenn Sie zu irgendeinem Zeitpunkt daran interessiert sind, auf unsere Standardeinstellungen zurückzukehren, wählen Sie bitte Standardeinstellung oben. Wenn Sie irgendwelche Fragen haben oder irgendwelche Probleme beim Ändern Ihrer Standardeinstellungen begegnen, bitte email isfeedbacknasdaq. Bitte bestätigen Sie Ihre Auswahl: Sie haben gewählt, um Ihre Standardeinstellung für die Zählersuche zu ändern. Dies ist nun Ihre Standard-Zielseite, es sei denn, Sie ändern Ihre Konfiguration erneut, oder Sie löschen Ihre Cookies. Sind Sie sicher, dass Sie Ihre Einstellungen ändern möchten Wir haben einen Gefallen zu bitten Bitte deaktivieren Sie Ihren Anzeigenblocker (oder aktualisieren Sie Ihre Einstellungen, um sicherzustellen, dass Javascript und Cookies ...