Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:rpm-build-umgebung_aufbauen_centos_7

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:rpm-build-umgebung_aufbauen_centos_7 [2014/09/25 20:50] – [~/.rpmmacros] klaustachtler:rpm-build-umgebung_aufbauen_centos_7 [2014/09/27 06:22] (aktuell) – [RPM-BUILD-GPG-Signing-Key] klaus
Zeile 1: Zeile 1:
 ====== RPM-Build-Umgebung aufbauen CentOS 7 ====== ====== RPM-Build-Umgebung aufbauen CentOS 7 ======
  
-[[tachtler:ntp|{{:tachtler:index:rpm-48x48.png }}]] Mithilfe einer RPM-BUILD-Umgebung können ''rpm''-Pakete selbst erstellt werden. Die kann aus bereits vorhandenen, sogenannten SOURCE-RPM-Paketen erfolgen, oder durch Erstellung von komplett eigenen Paketen.+[[tachtler:ntp|{{:tachtler:index:rpm-48x48.png }}]] Mithilfe einer RPM-BUILD-Umgebung können ''rpm''-Pakete selbst erstellt werden. Dies kann aus bereits vorhandenen, sogenannten SOURCE-RPM-Paketen erfolgen, oder durch Erstellung von komplett eigenen Paketen.
  
 Ab hier werden zur Ausführung nachfolgender Befehle **''root''**-Rechte benötigt. Um der Benutzer ''root'' zu werden, melden Sie sich bitte als ''root''-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer ''root'': Ab hier werden zur Ausführung nachfolgender Befehle **''root''**-Rechte benötigt. Um der Benutzer ''root'' zu werden, melden Sie sich bitte als ''root''-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer ''root'':
Zeile 33: Zeile 33:
 :!: **WICHTIG** - **Die Installation einer grafischen Benutzeroberfläche ist __NICHT__ erforderlich!** :!: **WICHTIG** - **Die Installation einer grafischen Benutzeroberfläche ist __NICHT__ erforderlich!**
  
-[[tachtler:centos_7_-_minimal_desktop_installation#minimal_install|CentOS 7 - Minimal Desktop INstallation - Minimal Install]]+[[tachtler:centos_7_-_minimal_desktop_installation#minimal_install|CentOS 7 - Minimal Desktop Installation - Minimal Install]]
  
 ===== RPM-BUILD-Benutzer ===== ===== RPM-BUILD-Benutzer =====
Zeile 82: Zeile 82:
 </code> </code>
  
-Ob der Befehl zur Erstellung eines **Benutzers** erfolgreich gewesen ist, kann durch Ausgabe der Konfigurationsdateien+Ob der Befehl zur Erstellung eines **Benutzers** erfolgreich gewesen ist, kann dies durch Ausgabe der Konfigurationsdateien
   * ''/etc/passwd''   * ''/etc/passwd''
 **und** **und**
Zeile 99: Zeile 99:
 ===== RPM-BUILD-GPG-Signing-Key ===== ===== RPM-BUILD-GPG-Signing-Key =====
  
-Um später die erstellten RPM-Pakete aus **signieren** zu können, sollte eine **eigens für diesen Zweck zu verwendender GPG-Schlüssel** erstellt werden.+Um später die erstellten RPM-Pakete auch **signieren** zu können, sollte ein **eigens für diesen Zweck zu verwendender GPG-Schlüssel** erstellt werden.
  
 Dies sollte **__NICHT__** unter dem **Super-User** erfolgen, sondern bereits unter dem Benutzer der auch zur Erstellung der RPM-Pakete verwendet werden soll. Hier ist dies der Benutzer ''builduser''. Dies sollte **__NICHT__** unter dem **Super-User** erfolgen, sondern bereits unter dem Benutzer der auch zur Erstellung der RPM-Pakete verwendet werden soll. Hier ist dies der Benutzer ''builduser''.
Zeile 110: Zeile 110:
 </code> </code>
  
-Mit nachfolgendem Befehl kann nun einer **neuer GPG-Schlüssel** erstellt werden. (Dieser Vorgang kann einige Minuten in Anspruch nehmen, je nach Performance der zugrunde liegenden Hardware):+Um die **spätere** Eingabe eines Passwortes in einer grafischen Eingabe durchführen zu können, ist es erforderlich **zuerst** nachfolgende **Umgebungsvariable** zu setzen, was mit nachfolgendem Befehl durchgeführt werden kann
 +<code> 
 +# export PINENTRY_BINARY="/usr/bin/pinentry-curses" 
 +</code> 
 + 
 +Ob die **Umgebungsvariable** korrekt gesetzt wurde, kann mit nachfolgendem Befehl überprüft werden: 
 +<code> 
 +# echo $PINENTRY_BINARY 
 +/usr/bin/pinentry-curses 
 +</code> 
 + 
 +Anschließend kann mit nachfolgendem Befehl nun ein **neuer GPG-Schlüssel** erstellt werden. (Dieser Vorgang kann einige Minuten in Anspruch nehmen, je nach Performance der zugrunde liegenden Hardware):
 <code> <code>
 $ gpg --gen-key $ gpg --gen-key
Zeile 153: Zeile 164:
 </code> </code>
  
-Nachdem das Passwort in einem eignen ''shell''-Popup-Fenster zweimal eingegeben wurde, sollte nachfolgende Nachricht auf dem Bildschirm erscheinen:+Nachdem das **Passwort** in einem eignen **''shell''-Popup-Fenster zweimal eingegeben wurde**, sollte nachfolgende Nachricht auf dem Bildschirm erscheinen:
 <code> <code>
-We nee to generate a lot of randombytes. It is a good idea to perform+We need to generate a lot of random bytes. It is a good idea to perform
 some other action (type on the keyboard, move the mouse, utilize the some other action (type on the keyboard, move the mouse, utilize the
 disks) during the prime generation; this gives the random number disks) during the prime generation; this gives the random number
-generator a better chance to gain enough entrophy+generator a better chance to gain enough entropy
 +We need to generate a lot of random bytes. It is a good idea to perform 
 +some other action (type on the keyboard, move the mouse, utilize the 
 +disks) during the prime generation; this gives the random number 
 +generator a better chance to gain enough entropy.
 gpg: /home/builduser/.gnupg/trustdb.gpg: trustdb created gpg: /home/builduser/.gnupg/trustdb.gpg: trustdb created
 gpg: key 6B262D88 marked as ultimatly trusted gpg: key 6B262D88 marked as ultimatly trusted
Zeile 172: Zeile 186:
 sub   7096/FC7F41D3 2014-09-23 sub   7096/FC7F41D3 2014-09-23
  
 +</code>
 +
 +:!: **HINWEIS** - Um mehr **"Entropien"** zur **Beschleunigung** der Generierung des **GPG-Schlüssels** zur Verfügung zu haben, kann die Erzeugung der Zufallszahlen durch das Starten von Systemaktivitäten positiv beeinflusst werden. Nachfolgender Befehl **kopiert ** dazu den Inhalt einer Festplatte, hier **''/dev/sda''** nach **''/dev/null''** (Null Device).
 +<code>
 +# dd if=/dev/vda of=/dev/null
 +20480000+0 records in
 +20480000+0 records out
 +10485760000 bytes (10 GB) copied, 53.8159 s, 195 MB/s
 </code> </code>
  
Zeile 188: Zeile 210:
 srwxrwxr-x 1 builduser builduser    0 Sep 23 08:03 S.gpg-agent srwxrwxr-x 1 builduser builduser    0 Sep 23 08:03 S.gpg-agent
 -rw------- 1 builduser builduser 1280 Sep 23 08:08 trustdb.gpg -rw------- 1 builduser builduser 1280 Sep 23 08:08 trustdb.gpg
 +</code>
 +
 +Nachfolgender Befehl bringt ebenfalls zur Überprüfung, alle im Schlüsselbund verfügbaren Schlüssel zur Anzeige:
 +<code>
 +$ gpg --list-keys
 +/home/builduser/.gnupg/pubring.gpg
 +----------------------------------
 +pub   4096R/6B262D88 2014-09-23
 +uid                  Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net>
 +sub   4096R/FC7F50E2 2014-09-23
 +
 </code> </code>
  
Zeile 746: Zeile 779:
 kann mit Einstellungen versehen werden, die bei jedem RPM-BUILD zur Anwendung kommen. Die Konfigutrationsdatei wird im **Home**-Verzeichnis des Benutzers angelegt, welcher zum Bau der ''rpm''-Pakete verwendet werden soll. Hier soll das der z.B. Benutzer ''builduser'' sein. kann mit Einstellungen versehen werden, die bei jedem RPM-BUILD zur Anwendung kommen. Die Konfigutrationsdatei wird im **Home**-Verzeichnis des Benutzers angelegt, welcher zum Bau der ''rpm''-Pakete verwendet werden soll. Hier soll das der z.B. Benutzer ''builduser'' sein.
  
-Um die Konfigurationsdatei ''~/.rpmmacros'' anzulegen, sollte **__vom__** Benutzer ''root'' zur Identität des Benutzer ''builduser'' mit nachfolgendem Befehl gewechselt werden:+Um die Konfigurationsdatei ''~/.rpmmacros'' anzulegen, sollte **__vom__** Benutzer ''root'' **__zur__** Identität des Benutzer ''builduser'' mit nachfolgendem Befehl gewechselt werden:
 <code> <code>
 # su - builduser # su - builduser
Zeile 756: Zeile 789:
 <code> <code>
 $ touch ~/.rpmmacros $ touch ~/.rpmmacros
 +</code>
 +
 +Mit nachfolgendem Befehl kann überprüft werden, ob die Konfigurationsdatei ''~/.rpmmacros'' mit den Besitz- und Dateirechten des Benutzer ''builduser'' erfolgreich angelegt wurde:
 +<code>
 +$ ls -la ~/.rpmmacros 
 +-rw-rw-r-- 1 builduser builduser 0 Sep 25 20:52 /home/builduser/.rpmmacros
 +</code>
 +
 +Nachfolgender Eintrag in der Konfigurationsdatei ''~/.rpmmacros'' sorgt z.B. dafür, das ein bestimmter **GPG-Schlüssel**, aus dem Schlüssel-Ring des Benutzer ''builduser'', als der **Standard**-Schlüssel zum signieren von ''rpm''-Paketen verwendet wird.
 +<code ini>
 +%_gpg_name Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net>
 +</code>
 +
 +===== ~/rpmbuild =====
 +
 +Obwohl beim bauen eines ''rpm''-Paketes die nachfolgende Ordner-Struktur **automatisch** angelegt wird, kann diese bereits **vorher als leere Verzeichnisstruktur** mit nachfolgendem Befehl, als Benutzer ''builduser'', erzeugt werden:
 +<code>
 +$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
 +</code>
 +
 +Anschließend kann mit nachfolgendem Befehl überprüft werden, ob die Erzeugung der Verzeichnisstruktur erfolgreich war:
 +<code>
 +$ ls -l ~/rpmbuild/
 +total 0
 +drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 BUILD
 +drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 RPMS
 +drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 SOURCES
 +drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 SPECS
 +drwxrwxr-x 2 builduser builduser 6 Sep 25 21:02 SRPM
 </code> </code>
  
  
tachtler/rpm-build-umgebung_aufbauen_centos_7.1411671010.txt.gz · Zuletzt geändert: 2014/09/25 20:50 von klaus