Inhaltsverzeichnis
RPM-Build-Umgebung aufbauen CentOS 7
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
:
$ su - Password:
Vorbereitung
Um eine RPM-BUILD-Umgebung aufbauen zu können und erfolgreich betreiben zu können sind gewisse Gegebenheiten sinnvoll.
Nachfolgende Voraussetzungen sind sinnvoll:
- Es sollte ein Rechner sein, welcher immer wieder in die Ausgangsposition zurückgesetzt werden kann. (Möglicherweise eine virtuelle Maschine von der „snapshots“ angefertigt werden können)
- Es sollten RPM-Pakete niemals unter dem Benutzer
root
gebaut werden - Es sollte ein eigene Benutzer zum Bau von RPM-Paketen erstellt und verwendet werden
- Es sollte ein eigener GPG-Schlüssel zum signieren der Pakete erstellt werden
- Es müssen die Pakete zur Erstellung einer RPM-BUILD-Umgebung installiert werden
- Es sollte die RPM-BUILD-Umgebung konfiguriert werden
Dies sind nur grundlegende Empfehlungen für den Aufbau einer eignen RPM-BUILD-Umgebung und die RPM-Paket-Erstellung.
RPM-BUILD-Server
Zunächst soll eine Server unter CentOS in der Version 7 installiert werden.
Dies kann unter nachfolgendem internen Link nachgelesen werden und stellt die Grundlage der RPM-BUILD-Umgebung dar:
WICHTIG - Es soll ein Server unter CentOS in der Version 7 in der Installationsvariante: Minimal Install - OHNE eine Desktop Variante zu installieren - erstellt werden!
WICHTIG - Die Installation einer grafischen Benutzeroberfläche ist NICHT erforderlich!
RPM-BUILD-Benutzer
Um beim Bau von RPM-Paketen und den damit verbundenen Schritten nicht aus versehen die RPM-BUILD-Umgebung zu beschädigen oder zumindest zu beeinträchtigen, in dem Abhängigkeiten der jeweiligen zu bauenden Pakete durch den Benutzer root
versehentlich in der RPM-BUILD-Umgebung selbst installiert werden, sollte ein spezieller Benutzer für den Bau der RPM-Pakete verwendet werden, welcher keine Super-User-Rechte besitzt.
Nachfolgend soll eine Benutzer, ohne Super-User-Rechte angelegt werden.
Dazu wird mit nachfolgendem Befehl zuerst eine eigene Gruppe für den noch zu erstellenden Benutzer angelegt:
# groupadd -g 9999 builduser
Befehl/Parameter | Erklärung |
---|---|
groupadd | Befehl zum Hinzufügen einer Group (Gruppe) zum Betriebssystem. |
-g 9999 | ID (Nummer) der Gruppe. Solle außerhalb der normalen Benutzer ID's liegen. |
builduser | Name der Group (Gruppe). |
Ob der Befehl zur Erstellung einer Gruppe erfolgreich gewesen ist, kann durch Ausgabe der Konfigurationsdatei
/etc/group
mit nachfolgendem Befehl überprüft werden:
# cat /etc/group | grep builduser builduser:x:9999:
Anschließend kann nun der Benutzer mit z.B. mit nachfolgendem Befehl erstellt werden:
# useradd -c "RPM-BUILD-User" -g 9999 -m -s /bin/bash -u 9999 builduser
Befehl/Parameter | Erklärung |
---|---|
useradd | Befehl zum Hinzufügen eines Users (Benutzers) zum Betriebssystem. |
-c „RPM-BUILD-User | Kommentar mit Angaben zum User (Benutzer). |
-g 9999 | Die Group (Gruppe) zu der der User (Benutzer) im Betriebssystem gehört. |
-m | Erstellt automatisch ein Home-Verzeichnis /home/builduser im Betriebssystem. |
-s /bin/bash | Gibt die Standard-shell des Users (Benutzers) vor. |
-u 9999 | ID des Users (Benutzers) im Betriebssystem. |
builduser | Name des Users (Benutzers) |
Anschließend sollte beim Benutzer auf jeden Fall noch ein Passwort gesetzt werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# passwd builduser Changing password for user builduser. New password: Retype new password: passwd: all authentication tokens updated successfully.
Ob der Befehl zur Erstellung eines Benutzers erfolgreich gewesen ist, kann dies durch Ausgabe der Konfigurationsdateien
/etc/passwd
und
/etc/shadow
mit nachfolgenden Befehlen überprüft werden:
# cat /etc/passwd | grep builduser builduser:x:9999:9999:RPM-BUILD-User:/home/builduser:/bin/bash
und
# cat /etc/shadow | grep builduser builduser:$6$T0eDLMQ8$SJsw/w6UKDRDq1dUl37CBxJmSqNcGskarhF0eS03FK1U6vbOOLgv57ysHG/UdacpyhQwhLAt6BOjQTD8tL8Gl0:16336:0:99999:7:::
RPM-BUILD-GPG-Signing-Key
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
.
Dazu kann vom Super-User zum Benutzer builduser
mit nachfolgendem Befehl gewechselt werden, was jedoch voraussetzt dass bereits der Super-User root
verwendet wird.
# su - builduser Last login: Tue Sep 23 07:33:17 CEST 2014 on pts/0 [builduser@buildhost ~]$
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:
# export PINENTRY_BINARY="/usr/bin/pinentry-curses"
Ob die Umgebungsvariable korrekt gesetzt wurde, kann mit nachfolgendem Befehl überprüft werden:
# echo $PINENTRY_BINARY /usr/bin/pinentry-curses
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):
$ gpg --gen-key gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. gpg: directory `/home/builduser/.gnupg' created gpg: new configuration file `/home/builduser/.gnupg/gpg.conf' created gpg: WARNING: options in `/home/builduser/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/home/builduser/.gnupg/secring.gpg' created gpg: keyring `/home/builduser/.gnupg/pubring.gpg' created Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? 1 RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 4096 Requested keysize is 4096 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) 0 Key does not expire at all Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: Klaus Tachtler Email address: klaus@tachtler.net Comment: RPM-BUILD-KEY You selected this USER-ID: "Klaus Tachtler (RPM-BUILD) <klaus@tachtler.net>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key.
Nachdem das Passwort in einem eignen shell
-Popup-Fenster zweimal eingegeben wurde, sollte nachfolgende Nachricht auf dem Bildschirm erscheinen:
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. 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: key 6B262D88 marked as ultimatly trusted public and secret key created and signed. gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u pub 4096/6B262D88 2014-09-23 Key fingerprint = F6A7 1EBE 0956 5C2D A73A 2A66 12B6 5266 6B26 2D88 uid Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net> sub 7096/FC7F41D3 2014-09-23
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).
# 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
Um zu überprüfen, ob die Generierung erfolgreich durchgeführt wurde, sollte nachfolgendes Verzeichnis mit in etwa nachfolgendem Inhalt erstellt worden sein:
$ ls -la /home/builduser/.gnupg total 32 drwx------ 3 builduser builduser 154 Sep 23 08:08 . drwx------ 3 builduser builduser 92 Sep 23 07:52 .. -rw------- 1 builduser builduser 7680 Sep 23 07:49 gpg.conf drwx------ 2 builduser builduser 6 Sep 23 07:52 private-keys-v1.d -rw------- 1 builduser builduser 2235 Sep 23 08:08 pubring.gpg -rw------- 1 builduser builduser 2235 Sep 23 08:08 pubring.gpg~ -rw------- 1 builduser builduser 600 Sep 23 08:08 random_seed -rw------- 1 builduser builduser 4893 Sep 23 08:08 secring.gpg srwxrwxr-x 1 builduser builduser 0 Sep 23 08:03 S.gpg-agent -rw------- 1 builduser builduser 1280 Sep 23 08:08 trustdb.gpg
Nachfolgender Befehl bringt ebenfalls zur Überprüfung, alle im Schlüsselbund verfügbaren Schlüssel zur Anzeige:
$ 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
Installation
Mit nachfolgendem Befehl, kann eine vorgefertigte Gruppe von Paketen mit dem Namen
Development Tools
installiert werden, welche die meisten benötigten Werkzeuge zum Bau einer RPM-BUILD-Umgebung mitbringt.
# yum groupinstall "Development Tools" Loaded plugins: changelog, priorities There is no installed groups file. Maybe run: yum groups mark convert (see man yum) 46 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package autoconf.noarch 0:2.69-11.el7 will be installed --> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.el7.noarch --> Processing Dependency: perl(Data::Dumper) for package: autoconf-2.69-11.el7.noarch ---> Package automake.noarch 0:1.13.4-3.el7 will be installed --> Processing Dependency: perl(Thread::Queue) for package: automake-1.13.4-3.el7.noarch --> Processing Dependency: perl(TAP::Parser) for package: automake-1.13.4-3.el7.noarch ---> Package bison.x86_64 0:2.7-4.el7 will be installed ---> Package byacc.x86_64 0:1.9.20130304-3.el7 will be installed ---> Package cscope.x86_64 0:15.8-7.el7 will be installed --> Processing Dependency: emacs-filesystem for package: cscope-15.8-7.el7.x86_64 ---> Package ctags.x86_64 0:5.8-13.el7 will be installed ---> Package diffstat.x86_64 0:1.57-4.el7 will be installed ---> Package doxygen.x86_64 1:1.8.5-3.el7 will be installed ---> Package elfutils.x86_64 0:0.158-3.el7 will be installed ---> Package flex.x86_64 0:2.5.37-3.el7 will be installed ---> Package gcc.x86_64 0:4.8.2-16.2.el7_0 will be installed --> Processing Dependency: cpp = 4.8.2-16.2.el7_0 for package: gcc-4.8.2-16.2.el7_0.x86_64 --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.2-16.2.el7_0.x86_64 --> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.2-16.2.el7_0.x86_64 --> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.2-16.2.el7_0.x86_64 ---> Package gcc-c++.x86_64 0:4.8.2-16.2.el7_0 will be installed --> Processing Dependency: libstdc++-devel = 4.8.2-16.2.el7_0 for package: gcc-c++-4.8.2-16.2.el7_0.x86_64 ---> Package gcc-gfortran.x86_64 0:4.8.2-16.2.el7_0 will be installed --> Processing Dependency: libquadmath-devel = 4.8.2-16.2.el7_0 for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64 --> Processing Dependency: libquadmath = 4.8.2-16.2.el7_0 for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64 --> Processing Dependency: libgfortran = 4.8.2-16.2.el7_0 for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64 --> Processing Dependency: libgfortran.so.3()(64bit) for package: gcc-gfortran-4.8.2-16.2.el7_0.x86_64 ---> Package git.x86_64 0:1.8.3.1-4.el7 will be installed --> Processing Dependency: perl-Git = 1.8.3.1-4.el7 for package: git-1.8.3.1-4.el7.x86_64 --> Processing Dependency: rsync for package: git-1.8.3.1-4.el7.x86_64 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-4.el7.x86_64 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-4.el7.x86_64 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-4.el7.x86_64 --> Processing Dependency: libgnome-keyring.so.0()(64bit) for package: git-1.8.3.1-4.el7.x86_64 ---> Package indent.x86_64 0:2.2.11-13.el7 will be installed ---> Package intltool.noarch 0:0.50.2-6.el7 will be installed --> Processing Dependency: perl(XML::Parser) for package: intltool-0.50.2-6.el7.noarch --> Processing Dependency: gettext-devel for package: intltool-0.50.2-6.el7.noarch ---> Package libtool.x86_64 0:2.4.2-20.el7 will be installed ---> Package patch.x86_64 0:2.7.1-8.el7 will be installed ---> Package patchutils.x86_64 0:0.3.3-4.el7 will be installed ---> Package rcs.x86_64 0:5.9.0-5.el7 will be installed ---> Package redhat-rpm-config.noarch 0:9.1.0-63.el7.centos will be installed --> Processing Dependency: dwz >= 0.4 for package: redhat-rpm-config-9.1.0-63.el7.centos.noarch --> Processing Dependency: zip for package: redhat-rpm-config-9.1.0-63.el7.centos.noarch --> Processing Dependency: perl-srpm-macros for package: redhat-rpm-config-9.1.0-63.el7.centos.noarch ---> Package rpm-build.x86_64 0:4.11.1-16.el7 will be installed --> Processing Dependency: bzip2 for package: rpm-build-4.11.1-16.el7.x86_64 --> Processing Dependency: /usr/bin/gdb-add-index for package: rpm-build-4.11.1-16.el7.x86_64 ---> Package rpm-sign.x86_64 0:4.11.1-16.el7 will be installed ---> Package subversion.x86_64 0:1.7.14-6.el7 will be installed --> Processing Dependency: subversion-libs(x86-64) = 1.7.14-6.el7 for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_wc-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_subr-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_repos-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_ra_svn-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_ra_neon-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_ra_local-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_ra-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_fs_util-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_fs_fs-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_fs_base-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_fs-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_diff-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_delta-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libsvn_client-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libneon.so.27()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: subversion-1.7.14-6.el7.x86_64 ---> Package swig.x86_64 0:2.0.10-4.el7 will be installed ---> Package systemtap.x86_64 0:2.4-14.el7 will be installed --> Processing Dependency: systemtap-devel = 2.4-14.el7 for package: systemtap-2.4-14.el7.x86_64 --> Processing Dependency: systemtap-client = 2.4-14.el7 for package: systemtap-2.4-14.el7.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package bzip2.x86_64 0:1.0.6-12.el7 will be installed ---> Package cpp.x86_64 0:4.8.2-16.2.el7_0 will be installed ---> Package dwz.x86_64 0:0.11-3.el7 will be installed ---> Package emacs-filesystem.noarch 1:24.3-11.el7 will be installed ---> Package gdb.x86_64 0:7.6.1-51.el7 will be installed ---> Package gettext-devel.x86_64 0:0.18.2.1-4.el7 will be installed --> Processing Dependency: gettext-common-devel = 0.18.2.1-4.el7 for package: gettext-devel-0.18.2.1-4.el7.x86_64 ---> Package glibc-devel.x86_64 0:2.17-55.el7_0.1 will be installed --> Processing Dependency: glibc-headers = 2.17-55.el7_0.1 for package: glibc-devel-2.17-55.el7_0.1.x86_64 --> Processing Dependency: glibc-headers for package: glibc-devel-2.17-55.el7_0.1.x86_64 ---> Package libgfortran.x86_64 0:4.8.2-16.2.el7_0 will be installed ---> Package libgnome-keyring.x86_64 0:3.8.0-3.el7 will be installed ---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed ---> Package libquadmath.x86_64 0:4.8.2-16.2.el7_0 will be installed ---> Package libquadmath-devel.x86_64 0:4.8.2-16.2.el7_0 will be installed ---> Package libstdc++-devel.x86_64 0:4.8.2-16.2.el7_0 will be installed ---> Package m4.x86_64 0:1.4.16-9.el7 will be installed ---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed ---> Package neon.x86_64 0:0.30.0-3.el7 will be installed --> Processing Dependency: libpakchois.so.0()(64bit) for package: neon-0.30.0-3.el7.x86_64 ---> Package perl-Data-Dumper.x86_64 0:2.145-3.el7 will be installed ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed ---> Package perl-Git.noarch 0:1.8.3.1-4.el7 will be installed ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed ---> Package perl-Test-Harness.noarch 0:3.28-2.el7 will be installed ---> Package perl-Thread-Queue.noarch 0:3.02-2.el7 will be installed ---> Package perl-XML-Parser.x86_64 0:2.41-10.el7 will be installed ---> Package perl-srpm-macros.noarch 0:1-8.el7 will be installed ---> Package rsync.x86_64 0:3.0.9-15.el7 will be installed ---> Package subversion-libs.x86_64 0:1.7.14-6.el7 will be installed ---> Package systemtap-client.x86_64 0:2.4-14.el7 will be installed --> Processing Dependency: systemtap-runtime = 2.4-14.el7 for package: systemtap-client-2.4-14.el7.x86_64 ---> Package systemtap-devel.x86_64 0:2.4-14.el7 will be installed --> Processing Dependency: kernel-devel for package: systemtap-devel-2.4-14.el7.x86_64 ---> Package zip.x86_64 0:3.0-10.el7 will be installed --> Running transaction check ---> Package gettext-common-devel.noarch 0:0.18.2.1-4.el7 will be installed ---> Package glibc-headers.x86_64 0:2.17-55.el7_0.1 will be installed --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-55.el7_0.1.x86_64 --> Processing Dependency: kernel-headers for package: glibc-headers-2.17-55.el7_0.1.x86_64 ---> Package kernel-debug-devel.x86_64 0:3.10.0-123.8.1.el7 will be installed ---> Package pakchois.x86_64 0:0.4-10.el7 will be installed ---> Package systemtap-runtime.x86_64 0:2.4-14.el7 will be installed --> Processing Dependency: libsymtabAPI.so.8.1()(64bit) for package: systemtap-runtime-2.4-14.el7.x86_64 --> Processing Dependency: libdyninstAPI.so.8.1()(64bit) for package: systemtap-runtime-2.4-14.el7.x86_64 --> Running transaction check ---> Package dyninst.x86_64 0:8.1.2-6.el7 will be installed --> Processing Dependency: libdwarf.so.0()(64bit) for package: dyninst-8.1.2-6.el7.x86_64 ---> Package kernel-headers.x86_64 0:3.10.0-123.8.1.el7 will be installed --> Running transaction check ---> Package libdwarf.x86_64 0:20130207-3.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing for group install "Development Tools": autoconf noarch 2.69-11.el7 base 701 k automake noarch 1.13.4-3.el7 base 679 k bison x86_64 2.7-4.el7 base 578 k byacc x86_64 1.9.20130304-3.el7 base 65 k cscope x86_64 15.8-7.el7 base 203 k ctags x86_64 5.8-13.el7 base 155 k diffstat x86_64 1.57-4.el7 base 35 k doxygen x86_64 1:1.8.5-3.el7 base 3.6 M elfutils x86_64 0.158-3.el7 base 260 k flex x86_64 2.5.37-3.el7 base 292 k gcc x86_64 4.8.2-16.2.el7_0 updates 16 M gcc-c++ x86_64 4.8.2-16.2.el7_0 updates 7.2 M gcc-gfortran x86_64 4.8.2-16.2.el7_0 updates 6.6 M git x86_64 1.8.3.1-4.el7 base 4.3 M indent x86_64 2.2.11-13.el7 base 150 k intltool noarch 0.50.2-6.el7 base 59 k libtool x86_64 2.4.2-20.el7 base 588 k patch x86_64 2.7.1-8.el7 base 110 k patchutils x86_64 0.3.3-4.el7 base 104 k rcs x86_64 5.9.0-5.el7 base 230 k redhat-rpm-config noarch 9.1.0-63.el7.centos base 76 k rpm-build x86_64 4.11.1-16.el7 base 140 k rpm-sign x86_64 4.11.1-16.el7 base 41 k subversion x86_64 1.7.14-6.el7 base 1.0 M swig x86_64 2.0.10-4.el7 base 1.3 M systemtap x86_64 2.4-14.el7 base 24 k Installing for dependencies: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k bzip2 x86_64 1.0.6-12.el7 base 52 k cpp x86_64 4.8.2-16.2.el7_0 updates 5.9 M dwz x86_64 0.11-3.el7 base 99 k dyninst x86_64 8.1.2-6.el7 base 2.5 M emacs-filesystem noarch 1:24.3-11.el7 base 57 k gdb x86_64 7.6.1-51.el7 base 2.4 M gettext-common-devel noarch 0.18.2.1-4.el7 base 368 k gettext-devel x86_64 0.18.2.1-4.el7 base 315 k glibc-devel x86_64 2.17-55.el7_0.1 updates 1.0 M glibc-headers x86_64 2.17-55.el7_0.1 updates 650 k kernel-debug-devel x86_64 3.10.0-123.8.1.el7 updates 9.0 M kernel-headers x86_64 3.10.0-123.8.1.el7 updates 1.4 M libdwarf x86_64 20130207-3.el7 base 109 k libgfortran x86_64 4.8.2-16.2.el7_0 updates 285 k libgnome-keyring x86_64 3.8.0-3.el7 base 109 k libmpc x86_64 1.0.1-3.el7 base 51 k libquadmath x86_64 4.8.2-16.2.el7_0 updates 174 k libquadmath-devel x86_64 4.8.2-16.2.el7_0 updates 37 k libstdc++-devel x86_64 4.8.2-16.2.el7_0 updates 1.5 M m4 x86_64 1.4.16-9.el7 base 256 k mpfr x86_64 3.1.1-4.el7 base 203 k neon x86_64 0.30.0-3.el7 base 165 k pakchois x86_64 0.4-10.el7 base 14 k perl-Data-Dumper x86_64 2.145-3.el7 base 47 k perl-Error noarch 1:0.17020-2.el7 base 32 k perl-Git noarch 1.8.3.1-4.el7 base 52 k perl-TermReadKey x86_64 2.30-20.el7 base 31 k perl-Test-Harness noarch 3.28-2.el7 base 302 k perl-Thread-Queue noarch 3.02-2.el7 base 17 k perl-XML-Parser x86_64 2.41-10.el7 base 223 k perl-srpm-macros noarch 1-8.el7 base 4.6 k rsync x86_64 3.0.9-15.el7 base 359 k subversion-libs x86_64 1.7.14-6.el7 base 921 k systemtap-client x86_64 2.4-14.el7 base 3.5 M systemtap-devel x86_64 2.4-14.el7 base 1.5 M systemtap-runtime x86_64 2.4-14.el7 base 255 k zip x86_64 3.0-10.el7 base 260 k Transaction Summary ================================================================================ Install 26 Packages (+39 Dependent packages) Total download size: 79 M Installed size: 233 M Is this ok [y/d/N]: y Downloading packages: (1/65): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00 (2/65): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00 (3/65): autoconf-2.69-11.el7.noarch.rpm | 701 kB 00:00 (4/65): automake-1.13.4-3.el7.noarch.rpm | 679 kB 00:00 (5/65): bison-2.7-4.el7.x86_64.rpm | 578 kB 00:00 (6/65): byacc-1.9.20130304-3.el7.x86_64.rpm | 65 kB 00:00 (7/65): bzip2-1.0.6-12.el7.x86_64.rpm | 52 kB 00:00 (8/65): cscope-15.8-7.el7.x86_64.rpm | 203 kB 00:00 (9/65): diffstat-1.57-4.el7.x86_64.rpm | 35 kB 00:00 (10/65): doxygen-1.8.5-3.el7.x86_64.rpm | 3.6 MB 00:00 (11/65): dwz-0.11-3.el7.x86_64.rpm | 99 kB 00:00 (12/65): ctags-5.8-13.el7.x86_64.rpm | 155 kB 00:00 (13/65): elfutils-0.158-3.el7.x86_64.rpm | 260 kB 00:00 (14/65): emacs-filesystem-24.3-11.el7.noarch.rpm | 57 kB 00:00 (15/65): flex-2.5.37-3.el7.x86_64.rpm | 292 kB 00:00 (16/65): dyninst-8.1.2-6.el7.x86_64.rpm | 2.5 MB 00:00 (17/65): cpp-4.8.2-16.2.el7_0.x86_64.rpm | 5.9 MB 00:00 (18/65): gcc-c++-4.8.2-16.2.el7_0.x86_64.rpm | 7.2 MB 00:00 (19/65): gcc-gfortran-4.8.2-16.2.el7_0.x86_64.rpm | 6.6 MB 00:00 (20/65): gcc-4.8.2-16.2.el7_0.x86_64.rpm | 16 MB 00:01 (21/65): gettext-common-devel-0.18.2.1-4.el7.noarch.rpm | 368 kB 00:00 (22/65): gdb-7.6.1-51.el7.x86_64.rpm | 2.4 MB 00:00 (23/65): gettext-devel-0.18.2.1-4.el7.x86_64.rpm | 315 kB 00:00 (24/65): indent-2.2.11-13.el7.x86_64.rpm | 150 kB 00:00 (25/65): intltool-0.50.2-6.el7.noarch.rpm | 59 kB 00:00 (26/65): git-1.8.3.1-4.el7.x86_64.rpm | 4.3 MB 00:00 (27/65): glibc-headers-2.17-55.el7_0.1.x86_64.rpm | 650 kB 00:00 (28/65): glibc-devel-2.17-55.el7_0.1.x86_64.rpm | 1.0 MB 00:00 (29/65): kernel-debug-devel-3.10.0-123.8.1.el7.x86_64.rpm | 9.0 MB 00:00 (30/65): kernel-headers-3.10.0-123.8.1.el7.x86_64.rpm | 1.4 MB 00:00 (31/65): libgfortran-4.8.2-16.2.el7_0.x86_64.rpm | 285 kB 00:00 (32/65): libdwarf-20130207-3.el7.x86_64.rpm | 109 kB 00:00 (33/65): libmpc-1.0.1-3.el7.x86_64.rpm | 51 kB 00:00 (34/65): libgnome-keyring-3.8.0-3.el7.x86_64.rpm | 109 kB 00:00 (35/65): libquadmath-4.8.2-16.2.el7_0.x86_64.rpm | 174 kB 00:00 (36/65): libquadmath-devel-4.8.2-16.2.el7_0.x86_64.rpm | 37 kB 00:00 (37/65): libstdc++-devel-4.8.2-16.2.el7_0.x86_64.rpm | 1.5 MB 00:00 (38/65): m4-1.4.16-9.el7.x86_64.rpm | 256 kB 00:00 (39/65): libtool-2.4.2-20.el7.x86_64.rpm | 588 kB 00:01 (40/65): neon-0.30.0-3.el7.x86_64.rpm | 165 kB 00:00 (41/65): pakchois-0.4-10.el7.x86_64.rpm | 14 kB 00:00 (42/65): mpfr-3.1.1-4.el7.x86_64.rpm | 203 kB 00:00 (43/65): patch-2.7.1-8.el7.x86_64.rpm | 110 kB 00:00 (44/65): patchutils-0.3.3-4.el7.x86_64.rpm | 104 kB 00:00 (45/65): perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00 (46/65): perl-Git-1.8.3.1-4.el7.noarch.rpm | 52 kB 00:00 (47/65): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00 (48/65): perl-Test-Harness-3.28-2.el7.noarch.rpm | 302 kB 00:00 (49/65): perl-Thread-Queue-3.02-2.el7.noarch.rpm | 17 kB 00:00 (50/65): perl-XML-Parser-2.41-10.el7.x86_64.rpm | 223 kB 00:00 (51/65): perl-srpm-macros-1-8.el7.noarch.rpm | 4.6 kB 00:00 (52/65): rcs-5.9.0-5.el7.x86_64.rpm | 230 kB 00:00 (53/65): redhat-rpm-config-9.1.0-63.el7.centos.noarch.rpm | 76 kB 00:00 (54/65): rpm-build-4.11.1-16.el7.x86_64.rpm | 140 kB 00:00 (55/65): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00 (56/65): rpm-sign-4.11.1-16.el7.x86_64.rpm | 41 kB 00:00 (57/65): rsync-3.0.9-15.el7.x86_64.rpm | 359 kB 00:00 (58/65): subversion-1.7.14-6.el7.x86_64.rpm | 1.0 MB 00:00 (59/65): subversion-libs-1.7.14-6.el7.x86_64.rpm | 921 kB 00:00 (60/65): swig-2.0.10-4.el7.x86_64.rpm | 1.3 MB 00:00 (61/65): systemtap-2.4-14.el7.x86_64.rpm | 24 kB 00:00 (62/65): systemtap-devel-2.4-14.el7.x86_64.rpm | 1.5 MB 00:00 (63/65): systemtap-client-2.4-14.el7.x86_64.rpm | 3.5 MB 00:00 (64/65): systemtap-runtime-2.4-14.el7.x86_64.rpm | 255 kB 00:00 (65/65): zip-3.0-10.el7.x86_64.rpm | 260 kB 00:00 -------------------------------------------------------------------------------- Total 14 MB/s | 79 MB 00:05 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mpfr-3.1.1-4.el7.x86_64 1/65 Installing : libmpc-1.0.1-3.el7.x86_64 2/65 Installing : apr-1.4.8-3.el7.x86_64 3/65 Installing : libquadmath-4.8.2-16.2.el7_0.x86_64 4/65 Installing : m4-1.4.16-9.el7.x86_64 5/65 Installing : apr-util-1.5.2-6.el7.x86_64 6/65 Installing : zip-3.0-10.el7.x86_64 7/65 Installing : 1:perl-Error-0.17020-2.el7.noarch 8/65 Installing : patch-2.7.1-8.el7.x86_64 9/65 Installing : perl-Thread-Queue-3.02-2.el7.noarch 10/65 Installing : libgfortran-4.8.2-16.2.el7_0.x86_64 11/65 Installing : cpp-4.8.2-16.2.el7_0.x86_64 12/65 Installing : 1:emacs-filesystem-24.3-11.el7.noarch 13/65 Installing : bzip2-1.0.6-12.el7.x86_64 14/65 Installing : kernel-headers-3.10.0-123.8.1.el7.x86_64 15/65 Installing : glibc-headers-2.17-55.el7_0.1.x86_64 16/65 Installing : glibc-devel-2.17-55.el7_0.1.x86_64 17/65 Installing : gcc-4.8.2-16.2.el7_0.x86_64 18/65 Installing : libquadmath-devel-4.8.2-16.2.el7_0.x86_64 19/65 Installing : dwz-0.11-3.el7.x86_64 20/65 Installing : gdb-7.6.1-51.el7.x86_64 21/65 Installing : kernel-debug-devel-3.10.0-123.8.1.el7.x86_64 22/65 Installing : systemtap-devel-2.4-14.el7.x86_64 23/65 Installing : libstdc++-devel-4.8.2-16.2.el7_0.x86_64 24/65 Installing : rsync-3.0.9-15.el7.x86_64 25/65 Installing : pakchois-0.4-10.el7.x86_64 26/65 Installing : neon-0.30.0-3.el7.x86_64 27/65 Installing : subversion-libs-1.7.14-6.el7.x86_64 28/65 Installing : perl-Data-Dumper-2.145-3.el7.x86_64 29/65 Installing : autoconf-2.69-11.el7.noarch 30/65 Installing : perl-Test-Harness-3.28-2.el7.noarch 31/65 Installing : automake-1.13.4-3.el7.noarch 32/65 Installing : perl-srpm-macros-1-8.el7.noarch 33/65 Installing : redhat-rpm-config-9.1.0-63.el7.centos.noarch 34/65 Installing : libdwarf-20130207-3.el7.x86_64 35/65 Installing : dyninst-8.1.2-6.el7.x86_64 36/65 Installing : systemtap-runtime-2.4-14.el7.x86_64 37/65 Installing : systemtap-client-2.4-14.el7.x86_64 38/65 Installing : perl-TermReadKey-2.30-20.el7.x86_64 39/65 Installing : gettext-common-devel-0.18.2.1-4.el7.noarch 40/65 Installing : libgnome-keyring-3.8.0-3.el7.x86_64 41/65 Installing : git-1.8.3.1-4.el7.x86_64 42/65 Installing : perl-Git-1.8.3.1-4.el7.noarch 43/65 Installing : gettext-devel-0.18.2.1-4.el7.x86_64 44/65 Installing : elfutils-0.158-3.el7.x86_64 45/65 Installing : perl-XML-Parser-2.41-10.el7.x86_64 46/65 Installing : intltool-0.50.2-6.el7.noarch 47/65 Installing : rpm-build-4.11.1-16.el7.x86_64 48/65 Installing : systemtap-2.4-14.el7.x86_64 49/65 Installing : libtool-2.4.2-20.el7.x86_64 50/65 Installing : subversion-1.7.14-6.el7.x86_64 51/65 Installing : gcc-c++-4.8.2-16.2.el7_0.x86_64 52/65 Installing : gcc-gfortran-4.8.2-16.2.el7_0.x86_64 53/65 Installing : cscope-15.8-7.el7.x86_64 54/65 Installing : bison-2.7-4.el7.x86_64 55/65 Installing : flex-2.5.37-3.el7.x86_64 56/65 Installing : swig-2.0.10-4.el7.x86_64 57/65 Installing : diffstat-1.57-4.el7.x86_64 58/65 Installing : patchutils-0.3.3-4.el7.x86_64 59/65 Installing : indent-2.2.11-13.el7.x86_64 60/65 Installing : rcs-5.9.0-5.el7.x86_64 61/65 Installing : 1:doxygen-1.8.5-3.el7.x86_64 62/65 Installing : rpm-sign-4.11.1-16.el7.x86_64 63/65 Installing : byacc-1.9.20130304-3.el7.x86_64 64/65 Installing : ctags-5.8-13.el7.x86_64 65/65 Verifying : ctags-5.8-13.el7.x86_64 1/65 Verifying : libquadmath-devel-4.8.2-16.2.el7_0.x86_64 2/65 Verifying : perl-Git-1.8.3.1-4.el7.noarch 3/65 Verifying : systemtap-client-2.4-14.el7.x86_64 4/65 Verifying : perl-XML-Parser-2.41-10.el7.x86_64 5/65 Verifying : elfutils-0.158-3.el7.x86_64 6/65 Verifying : m4-1.4.16-9.el7.x86_64 7/65 Verifying : byacc-1.9.20130304-3.el7.x86_64 8/65 Verifying : libgnome-keyring-3.8.0-3.el7.x86_64 9/65 Verifying : automake-1.13.4-3.el7.noarch 10/65 Verifying : rpm-sign-4.11.1-16.el7.x86_64 11/65 Verifying : gettext-common-devel-0.18.2.1-4.el7.noarch 12/65 Verifying : libgfortran-4.8.2-16.2.el7_0.x86_64 13/65 Verifying : rpm-build-4.11.1-16.el7.x86_64 14/65 Verifying : 1:doxygen-1.8.5-3.el7.x86_64 15/65 Verifying : gettext-devel-0.18.2.1-4.el7.x86_64 16/65 Verifying : perl-TermReadKey-2.30-20.el7.x86_64 17/65 Verifying : libdwarf-20130207-3.el7.x86_64 18/65 Verifying : perl-srpm-macros-1-8.el7.noarch 19/65 Verifying : perl-Thread-Queue-3.02-2.el7.noarch 20/65 Verifying : perl-Test-Harness-3.28-2.el7.noarch 21/65 Verifying : glibc-headers-2.17-55.el7_0.1.x86_64 22/65 Verifying : cscope-15.8-7.el7.x86_64 23/65 Verifying : git-1.8.3.1-4.el7.x86_64 24/65 Verifying : gcc-gfortran-4.8.2-16.2.el7_0.x86_64 25/65 Verifying : patch-2.7.1-8.el7.x86_64 26/65 Verifying : rcs-5.9.0-5.el7.x86_64 27/65 Verifying : libtool-2.4.2-20.el7.x86_64 28/65 Verifying : subversion-libs-1.7.14-6.el7.x86_64 29/65 Verifying : systemtap-runtime-2.4-14.el7.x86_64 30/65 Verifying : cpp-4.8.2-16.2.el7_0.x86_64 31/65 Verifying : subversion-1.7.14-6.el7.x86_64 32/65 Verifying : gcc-c++-4.8.2-16.2.el7_0.x86_64 33/65 Verifying : gcc-4.8.2-16.2.el7_0.x86_64 34/65 Verifying : perl-Data-Dumper-2.145-3.el7.x86_64 35/65 Verifying : bison-2.7-4.el7.x86_64 36/65 Verifying : 1:perl-Error-0.17020-2.el7.noarch 37/65 Verifying : indent-2.2.11-13.el7.x86_64 38/65 Verifying : apr-util-1.5.2-6.el7.x86_64 39/65 Verifying : dyninst-8.1.2-6.el7.x86_64 40/65 Verifying : flex-2.5.37-3.el7.x86_64 41/65 Verifying : libmpc-1.0.1-3.el7.x86_64 42/65 Verifying : pakchois-0.4-10.el7.x86_64 43/65 Verifying : libquadmath-4.8.2-16.2.el7_0.x86_64 44/65 Verifying : rsync-3.0.9-15.el7.x86_64 45/65 Verifying : libstdc++-devel-4.8.2-16.2.el7_0.x86_64 46/65 Verifying : systemtap-2.4-14.el7.x86_64 47/65 Verifying : patchutils-0.3.3-4.el7.x86_64 48/65 Verifying : neon-0.30.0-3.el7.x86_64 49/65 Verifying : systemtap-devel-2.4-14.el7.x86_64 50/65 Verifying : autoconf-2.69-11.el7.noarch 51/65 Verifying : intltool-0.50.2-6.el7.noarch 52/65 Verifying : kernel-debug-devel-3.10.0-123.8.1.el7.x86_64 53/65 Verifying : glibc-devel-2.17-55.el7_0.1.x86_64 54/65 Verifying : apr-1.4.8-3.el7.x86_64 55/65 Verifying : redhat-rpm-config-9.1.0-63.el7.centos.noarch 56/65 Verifying : mpfr-3.1.1-4.el7.x86_64 57/65 Verifying : zip-3.0-10.el7.x86_64 58/65 Verifying : gdb-7.6.1-51.el7.x86_64 59/65 Verifying : dwz-0.11-3.el7.x86_64 60/65 Verifying : diffstat-1.57-4.el7.x86_64 61/65 Verifying : swig-2.0.10-4.el7.x86_64 62/65 Verifying : kernel-headers-3.10.0-123.8.1.el7.x86_64 63/65 Verifying : bzip2-1.0.6-12.el7.x86_64 64/65 Verifying : 1:emacs-filesystem-24.3-11.el7.noarch 65/65 Installed: autoconf.noarch 0:2.69-11.el7 automake.noarch 0:1.13.4-3.el7 bison.x86_64 0:2.7-4.el7 byacc.x86_64 0:1.9.20130304-3.el7 cscope.x86_64 0:15.8-7.el7 ctags.x86_64 0:5.8-13.el7 diffstat.x86_64 0:1.57-4.el7 doxygen.x86_64 1:1.8.5-3.el7 elfutils.x86_64 0:0.158-3.el7 flex.x86_64 0:2.5.37-3.el7 gcc.x86_64 0:4.8.2-16.2.el7_0 gcc-c++.x86_64 0:4.8.2-16.2.el7_0 gcc-gfortran.x86_64 0:4.8.2-16.2.el7_0 git.x86_64 0:1.8.3.1-4.el7 indent.x86_64 0:2.2.11-13.el7 intltool.noarch 0:0.50.2-6.el7 libtool.x86_64 0:2.4.2-20.el7 patch.x86_64 0:2.7.1-8.el7 patchutils.x86_64 0:0.3.3-4.el7 rcs.x86_64 0:5.9.0-5.el7 redhat-rpm-config.noarch 0:9.1.0-63.el7.centos rpm-build.x86_64 0:4.11.1-16.el7 rpm-sign.x86_64 0:4.11.1-16.el7 subversion.x86_64 0:1.7.14-6.el7 swig.x86_64 0:2.0.10-4.el7 systemtap.x86_64 0:2.4-14.el7 Dependency Installed: apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 bzip2.x86_64 0:1.0.6-12.el7 cpp.x86_64 0:4.8.2-16.2.el7_0 dwz.x86_64 0:0.11-3.el7 dyninst.x86_64 0:8.1.2-6.el7 emacs-filesystem.noarch 1:24.3-11.el7 gdb.x86_64 0:7.6.1-51.el7 gettext-common-devel.noarch 0:0.18.2.1-4.el7 gettext-devel.x86_64 0:0.18.2.1-4.el7 glibc-devel.x86_64 0:2.17-55.el7_0.1 glibc-headers.x86_64 0:2.17-55.el7_0.1 kernel-debug-devel.x86_64 0:3.10.0-123.8.1.el7 kernel-headers.x86_64 0:3.10.0-123.8.1.el7 libdwarf.x86_64 0:20130207-3.el7 libgfortran.x86_64 0:4.8.2-16.2.el7_0 libgnome-keyring.x86_64 0:3.8.0-3.el7 libmpc.x86_64 0:1.0.1-3.el7 libquadmath.x86_64 0:4.8.2-16.2.el7_0 libquadmath-devel.x86_64 0:4.8.2-16.2.el7_0 libstdc++-devel.x86_64 0:4.8.2-16.2.el7_0 m4.x86_64 0:1.4.16-9.el7 mpfr.x86_64 0:3.1.1-4.el7 neon.x86_64 0:0.30.0-3.el7 pakchois.x86_64 0:0.4-10.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-4.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Test-Harness.noarch 0:3.28-2.el7 perl-Thread-Queue.noarch 0:3.02-2.el7 perl-XML-Parser.x86_64 0:2.41-10.el7 perl-srpm-macros.noarch 0:1-8.el7 rsync.x86_64 0:3.0.9-15.el7 subversion-libs.x86_64 0:1.7.14-6.el7 systemtap-client.x86_64 0:2.4-14.el7 systemtap-devel.x86_64 0:2.4-14.el7 systemtap-runtime.x86_64 0:2.4-14.el7 zip.x86_64 0:3.0-10.el7 Complete!
Konfiguration
Nach der erfolgreichen Installation der vorgefertigten RPM-Paketgruppe Development Tools
, kann diese ggf. angepasst werden.
Nachfolgende Verzeichnisse enthalten Konfigurationsdateien
/etc/rpm
/usr/lib/rpm
welche angepasst werden können, oder als Nachschlagewerk für häufig verwendete Variablen eingesehen werden können.
/etc/rpm
Mit nachfolgendem Befehl, kann der Inahlt der des Verzeichnisses /etc/rpm
aufgelistet werden, und die einzelnen Konfigurationsdatein kommen zum Vorschein:
# ls -l /etc/rpm/ total 40 -rw-r--r--. 1 root root 73 Aug 22 18:21 macros.dist -rw-r--r-- 1 root root 1806 Jun 19 21:04 macros.dwz -rw-r--r-- 1 root root 199 Jun 19 21:04 macros.ghc-srpm -rw-r--r-- 1 root root 211 Jun 19 21:04 macros.gnat-srpm -rw-r--r-- 1 root root 105 Jun 19 21:04 macros.mono-srpm -rw-r--r-- 1 root root 206 Jun 19 21:04 macros.nodejs-srpm -rw-r--r-- 1 root root 100 Jun 19 21:04 macros.ocaml-srpm -rw-r--r--. 1 root root 5134 Jan 26 2014 macros.perl -rw-r--r-- 1 root root 794 Jun 9 21:44 macros.perl-srpm
Als Beispiel kann hier ein Blick in die Konfigurationsdatei
/etc/rpm/macros.dist
mit nachfolgendem Befehl geworfen werden:
# cat macros.dist # dist macros. %centos_ver 7 %centos 7 %rhel 7 %dist .el7.centos %el7 1
In dieser Konfigurationsdatei kann festgelegt werden, welche Informationen in z.B. den Header eines RPM-Paketes geschrieben werden bzw. wie die Variablen innerhalb einer SPEC-Datei umgesetzt werden.
Variable | Wert | Beschreibung |
---|---|---|
%centos_ver | 7 | Version des verwendeten Betriebssystems der RPM-BUILD-Umgebung |
%centos | 7 | Version des verwendeten Betriebssystems der RPM-BUILD-Umgebung |
%rhel | 7 | Version des verwendeten Betriebssystems der RPM-BUILD-Umgebung |
%dist | .el7.centos | Distributionserweiterung im Dateinamen des RPM-Pakete |
%el7 | 1 | Unterversion der zu bauenden RPM-Pakete |
~/.rpmmacros
Die Konfigurationsdatei
~/.rpmmacros
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:
# su - builduser
HINWEIS - Die Eingabe eines Passwortes beim Wechsel vom Benutzer root
zum Benutzer builduser
ist nicht erforderlich !
Anschließend kann dann die Konfigurationsdatei ~/.rpmmacros
mit nachfolgendem Befehl, als leere Datei, angelegt werden:
$ touch ~/.rpmmacros
Mit nachfolgendem Befehl kann überprüft werden, ob die Konfigurationsdatei ~/.rpmmacros
mit den Besitz- und Dateirechten des Benutzer builduser
erfolgreich angelegt wurde:
$ ls -la ~/.rpmmacros -rw-rw-r-- 1 builduser builduser 0 Sep 25 20:52 /home/builduser/.rpmmacros
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.
%_gpg_name Klaus Tachtler (RPM-BUILD-KEY) <klaus@tachtler.net>
~/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:
$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
Anschließend kann mit nachfolgendem Befehl überprüft werden, ob die Erzeugung der Verzeichnisstruktur erfolgreich war:
$ 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