Tutorial zum Anpassen von RPM-Paketen und Erstellen von Yum-Repositorys für Centos

Tutorial zum Anpassen von RPM-Paketen und Erstellen von Yum-Repositorys für Centos

1 Behalten Sie das RPM-Paket bei, das heruntergeladen wurde, als Yum die Software installierte

Ändern Sie einfach die Yum-Konfigurationsdatei. Das heruntergeladene RPM-Paket wird automatisch im Verzeichnis /var/cache/yum/ gespeichert.

[root@swag ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
[root@swag ~]# yum install sl -y
[root@swag ~]# Baum /var/cache/yum/x86_64/6/epel/
/var/cache/yum/x86_64/6/epel/
├── 83f14a3d88054141092be5da12eb18cb1baabd7d52e1ae38bfc98d3d5005490c-primary.sqlite
├── Cache-Cookie
├── Pakete
│ └── sl-5.02-1.el6.x86_64.rpm
└── repomd.xml

1 Verzeichnis, 4 Dateien

2 Kompilieren und installieren Sie Nginx

# Laden Sie das tar.gz-Paket herunter
cd /home/oldboy/tools
wget -q http://nginx.org/download/nginx-1.6.3.tar.gz
# Yum installiere abhängiges Paket
yum installiere OpenSSL OpenSSL-Devel -y
yum installiere pcre pcre-devel -y
rpm -qa pcre pcre-devel
# Benutzeradd www
Benutzeradd www -s /sbin/nologin -M
# Kompilieren und installieren
tar -xf nginx-1.6.3.tar.gz
cd nginx-1.6.3
./configure --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --prefix=/Anwendung/nginx-1.6.3/
machen && machen installieren
# Erstellen Sie einen Softlink
ln -s /Anwendung/nginx-1.6.3/ /Anwendung/nginx
# Starten Sie nginx
/anwendung/nginx/sbin/nginx
# Überprüfen Sie Port 80
lsof -i :80

3 Installieren Sie das FPM-Tool

Installieren Sie zuerst die Abhängigkeitspakete

yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel

Laden Sie Ruby herunter. FPM ist in Ruby geschrieben, daher erfordert die Systemumgebung Ruby. Es wird nicht empfohlen, Ruby mit yum zu installieren, da dies beim Testen zu Problemen führen kann.

[root@swag-Tools]# wget https://ruby.taobao.org/mirrors/ruby/ruby-2.3.0.tar.gz
[root@swag-Tools]# tar -xf ruby-2.3.0.tar.gz
[root@swag-Tools]# cd ruby-2.3.0
[root@swag ruby-2.3.0]# ./konfigurieren
[root@swag ruby-2.3.0]# make && make install
[root@swag ruby-2.3.0]# ruby ​​​​-v
Ruby 2.3.0p0 (25.12.2015, Revision 53290) [x86_64-linux]
[root@swag ~]# Whereis Edelstein
gem: /usr/local/bin/gem
[root@swag ~]# /usr/local/bin/gem installiere fpm
[root@swag ~]# fpm -v
1.9.3
# Fügen Sie das Rubygems-Repository von Alibaba Cloud hinzu. Die Standardquelle ist eine Fremdquelle mit langsamer Downloadgeschwindigkeit. Entfernen Sie das native Ruby-Repository, bevor Sie es hinzufügen. [root@swag ~]# Gem-Quellen
*** AKTUELLE QUELLEN ***
https://rubygems.org/ 
[root@swag ~]# Gem-Quellen --entfernen https://rubygems.org/
https://rubygems.org/ aus den Quellen entfernt
# Ali-Lager hinzufügen [root@swag ~]# Gem-Quellen -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ zu den Quellen hinzugefügt
[root@swag ~]# Gem-Quellen
*** AKTUELLE QUELLEN ***

http://mirrors.aliyun.com/rubygems/

Allgemeine FPM-Parameter
-s: Geben Sie den Quelltyp an
-t: Geben Sie den Zieltyp an, d. h. welches Paket Sie erstellen möchten
-n: Geben Sie den Namen des Pakets an
-v: gibt die Versionsnummer des Pakets an
-C: Geben Sie den relativen Pfad des Pakets an
-d: Geben Sie an, von welchen Paketen abhängig sein soll
-f: Befindet sich beim zweiten Packen ein gleichnamiges Installationspaket im Verzeichnis, wird dieses überschrieben
-p: Das Verzeichnis des Ausgabeinstallationspakets. Wenn Sie es nicht im aktuellen Verzeichnis ablegen möchten, müssen Sie es angeben
--post-install: Das Skript, das nach der Installation des Pakets ausgeführt werden soll; dasselbe wie --offer-install
--pre-install: Das Skript, das ausgeführt werden soll, bevor die Paketinstallation abgeschlossen ist; dasselbe wie --before-install
--post-uninstall: Das Skript, das nach der Deinstallation des Pakets ausgeführt werden soll; dasselbe wie --offer-remove
--pre-uninstall: Das Skript, das vor der Deinstallation des Pakets ausgeführt werden soll; dasselbe wie --before-remove

Von fpm unterstützte Quelltyppakete
dir: Packen Sie das Verzeichnis in den erforderlichen Typ, der für die Quellcodekompilierung und Installation von Softwarepaketen verwendet werden kann
U/min: Umrechnung von U/min
gem: Rubygem-Pakete konvertieren
python: Python-Module in entsprechende Typen verpacken

Von fpm unterstützte Zieltyppakete
rpm: In RPM-Paket konvertieren
deb: In Deb-Paket konvertieren
solaris: In Solaris-Paket konvertieren
Puppet: In Puppet-Paket konvertieren

4 Nginx verpacken

[root@swag-Tools]# wget https://ruby.taobao.org/mirrors/ruby/ruby-2.3.0.tar.gz
[root@swag-Tools]# tar -xf ruby-2.3.0.tar.gz
[root@swag-Tools]# cd ruby-2.3.0
[root@swag ruby-2.3.0]# ./konfigurieren
[root@swag ruby-2.3.0]# make && make install
[root@swag ruby-2.3.0]# ruby ​​​​-v
Ruby 2.3.0p0 (25.12.2015, Revision 53290) [x86_64-linux]
[root@swag ~]# Whereis Edelstein
gem: /usr/local/bin/gem
[root@swag ~]# /usr/local/bin/gem installiere fpm
[root@swag ~]# fpm -v
1.9.3
# Fügen Sie das Rubygems-Repository von Alibaba Cloud hinzu. Die Standardquelle ist eine Fremdquelle mit langsamer Downloadgeschwindigkeit. Entfernen Sie das native Ruby-Repository, bevor Sie es hinzufügen. [root@swag ~]# Gem-Quellen
*** AKTUELLE QUELLEN ***
https://rubygems.org/ 
[root@swag ~]# Gem-Quellen --entfernen https://rubygems.org/
https://rubygems.org/ aus den Quellen entfernt
# Ali-Lager hinzufügen [root@swag ~]# Gem-Quellen -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ zu den Quellen hinzugefügt
[root@swag ~]# Gem-Quellen
*** AKTUELLE QUELLEN ***

[root@swag-Tools]# wget https://ruby.taobao.org/mirrors/ruby/ruby-2.3.0.tar.gz
[root@swag-Tools]# tar -xf ruby-2.3.0.tar.gz
[root@swag-Tools]# cd ruby-2.3.0
[root@swag ruby-2.3.0]# ./konfigurieren
[root@swag ruby-2.3.0]# make && make install
[root@swag ruby-2.3.0]# ruby ​​​​-v
Ruby 2.3.0p0 (25.12.2015, Revision 53290) [x86_64-linux]
[root@swag ~]# Whereis Edelstein
gem: /usr/local/bin/gem
[root@swag ~]# /usr/local/bin/gem installiere fpm
[root@swag ~]# fpm -v
1.9.3
# Fügen Sie das Rubygems-Repository von Alibaba Cloud hinzu. Die Standardquelle ist eine Fremdquelle mit langsamer Downloadgeschwindigkeit. Entfernen Sie das native Ruby-Repository, bevor Sie es hinzufügen. [root@swag ~]# Gem-Quellen
*** AKTUELLE QUELLEN ***
https://rubygems.org/ 
[root@swag ~]# Gem-Quellen --entfernen https://rubygems.org/
https://rubygems.org/ aus den Quellen entfernt
# Ali-Lager hinzufügen [root@swag ~]# Gem-Quellen -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ zu den Quellen hinzugefügt
[root@swag ~]# Gem-Quellen
*** AKTUELLE QUELLEN ***

5 Weitere Maschinentests

# scp übertrage das RPM-Paket [root@swag ~]# scp nginx-1.6.3-1.x86_64.rpm [email protected]:/home/oldboy/tools

# Testen Sie [root@swag3-Tools]# yum localinstall nginx-1.6.3-1.x86_64.rpm -y

6 Yum Lagerhausbau

Installieren Sie createrepo

[root@swag2 ~]# yum install createrepo -y

Erstellen Sie ein Yum-Repository-Verzeichnis und initialisieren Sie die Repodata-Indexdatei

[root@swag2 ~]# mkdir -p /application/yum/centos6.9/x86_64/
[root@swag2 ~]# cd /application/yum/centos6.9/x86_64/ # Kopieren Sie das angepasste RPM-Paket in dieses Verzeichnis [root@swag2 x86_64]# createrepo -pdo /application/yum/centos6.9/x86_64/ /application/yum/centos6.9/x86_64/

Bieten Sie einen Yum-Service an

# Hier verwenden wir Python, um Webdienste bereitzustellen. Sie können auch Apache oder Nginx verwenden, um Webdienste bereitzustellen. [root@swag2 x86_64]# python -m SimpleHTTPServer 80 &>/dev/null & # Pythons httpd-Modul [root@swag2 x86_64]# lsof -i :80
BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME
Python 24680 Root 3u IPv4 32493 0t0 TCP *:http (HÖREN)

Wenn ein neues RPM-Paket hinzugefügt wird, muss es aktualisiert werden

[root@swag2 x86_64]# createrepo --update /application/yum/centos6.9/x86_64/

Der Client ändert die Yum-Quelle

Katze >>/etc/yum.repo.d/<<EOF
[nur]
Name=Server
Basis-URL = http://10.0.0.7    
# baseurl gibt die IP des Yum-Repositorys an. Wenn es nicht Port 80 ist, fügen Sie port enabled=1 hinzu
gpgcheck=0
Ende der Laufzeit
# Der Client verwendet die Nginx-Installation als Beispiel# Lokalen Cache leeren[root@swag4 ~]# yum clean all
# Zeigt die lokale Yum-Quellliste an [root@swag4 ~]# yum --enablerepo=only --disablerepo=base,extras,updates,epel list  
# Beachten Sie hier, dass --enablerepo nur in der Datei local.repo definiert ist
# Installieren Sie nginx als Beispiel#
yum --enablerepo=local --disablerepo=base,extras,updates,epel installiere nginx -y

Einige Verwendungen von yum

# Laden Sie das Paket nur herunter, ohne es zu installieren
1. yumdownloader pcre-devel openssl-devel
2. yum --downloadonly pcre-devel openssl-devel

# yum lokale Installation RPM-Paket yum localinstall pcre-devel openssl-devel
# yum aktiviert einige Quellen und deaktiviert einige Quellen, um Softwarepakete zu installieren yum --enablerepo=local --disablerepo=base,extras,updates,epel install pcre-devel openssl-devel
# Yum-Installation ohne GPG-Prüfung
yum install --nogpgcheck pcre-devel openssl-devel
# Yum-Verlauf anzeigen
# Liste aktivierter Software-Repositorys yum repolist
yum repolist all # Listet alle Software-Repositorys auf, auch deaktivierte

Fehlerbehebung

# Wenn bei der Installation von nginx auf dem Client der folgende Fehler gemeldet wird, liegt dies am Fehlen abhängiger Pakete. Laden Sie es herunter und aktualisieren Sie das Yum-Repository.
Yum-Repository: createrepo --update /application/yum/centos6.9/x86_64/
Kunde: yum clean all

Fehler: Paket: nginx-1.6.3-1.x86_64 (nur)
Erfordert: pcre-devel
Fehler: Paket: nginx-1.6.3-1.x86_64 (nur)
Erfordert: openssl-devel

# Achten Sie darauf, ob die Konfigurationsdatei korrekt geschrieben ist

7 Spiegeln und Synchronisieren von Yum-Quellen im öffentlichen Netzwerk

Das Obige dient lediglich dazu, das von Ihnen erstellte RPM-Paket in die Yum-Quelle einzufügen. Es gibt jedoch noch eine weitere Anforderung. Normalerweise wird die Softwareinstallation aus dem öffentlichen Netzwerk heruntergeladen, was Bandbreite beansprucht. Daher können die Repodaten der Yum-Quelle des öffentlichen Netzwerks direkt verwendet werden.

Die Upstream-Yum-Quelle muss das Rsync-Protokoll unterstützen, andernfalls kann Rsync nicht zur Synchronisierung verwendet werden. http://mirrors.ustc.edu.cn/status/

# Offizielle Standardquelle von CentOS: rsync://mirrors.ustc.edu.cn/centos/
# epel-Quelle: rsync://mirrors.ustc.edu.cn/epel/
# Synchrone Befehle:
# Verwenden Sie rsync, um die Yum-Quelle zu synchronisieren. Um Bandbreite, Datenträger und Downloadzeit zu sparen, wird hier nur das RPM-Paket von CentOS6 synchronisiert. Auf diese Weise belegen alle RPM-Pakete nur 21 G, und die vollständige Synchronisierung erfordert etwa 300 G.
# Synchronisieren Sie die Basisquelle. Tipp: Das CD-Image unseres Installationssystems enthält einige RPM-Pakete (ca. 3G), Sie müssen sie also nicht erneut herunterladen.
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/centos/6/extras/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/centos/6/updates/x86_64/
# epel-Quelle /usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
# Verwenden der Intranet-Yum-Quellmethode# Sie können selbst einen Intranet-DNS erstellen. Wenn Sie keinen haben, können Sie die Host-Auflösung verwenden.
echo '192.168.0.200 mirrors.aliyun.com' >>/etc/hosts
# Ergebnisanzeige [root@swag5 data]# du -sh yum_data  
21G yum_data
[root@swag5-Daten]# Baum -L 3 yum_data/
yum_daten/
├── Centos
│ ├── 6
│ │ ├── Extras
│ │ ├── os
│ │ └── Aktualisierungen
│ └── RPM-GPG-KEY-CentOS-6
├── Epel
│ └── 6
│ └── x86_64

Zusammenfassen

Oben finden Sie das Tutorial zum Anpassen von RPM-Paketen und Erstellen von Yum-Repositorys für Centos. Ich hoffe, es ist hilfreich für Sie. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Lösung für den Initialisierungsfehler bei der Installation von mysql5.7 aus einem RPM-Paket in centos6.5
  • Installieren Sie MySQL 5.7.18 mit dem RPM-Paket unter CentOS 7
  • CentOS7 verwendet RPM-Paket zur Installation von MySQL 5.7.18
  • Tutorial zur Installation von MySQL 5.7.9 mit RPM-Paket unter CentOS 7
  • Detaillierte Schritte zum Erstellen eines lokalen YUM-Repositorys unter CentOS 7

<<:  Detaillierte Erläuterung des MySQL-Clusters: Implementierung einer Master- und einer Slave-Architektur

>>:  $nextTick-Erklärung, die Sie auf einen Blick verstehen

Artikel empfehlen

Beispielanalyse des Prinzips und der Lösung des MySQL-Gleitreihenfolgeproblems

Dieser Artikel erläutert anhand von Beispielen da...

Thumbnail-Hover-Effekt mit CSS3 implementiert

Ergebnisse erzielenImplementierungscode html <...

So testen Sie die Netzwerkgeschwindigkeit mit JavaScript

Inhaltsverzeichnis Vorwort Zusammenfassung des Pr...

Gründe, warum MySQL 8.0-Statistiken ungenau sind

Vorwort Unabhängig davon, ob es sich um Oracle od...

Vue Uniapp realisiert den Segmentierungseffekt

In diesem Artikel wird der spezifische Code von V...

Die 9 besten ausländischen Websites mit kostenlosem Bildmaterial

Es ist schwierig, Websites mit gutem Bildmaterial...