Centos 6.9 rpm 가방 맞 춤 형, yum 창고 구축
14683 단어 Linux
1 yum 설치 프로그램 을 유지 할 때 다운로드 한 rpm 패키지
yum 프로필 만 수정 하면 됩 니 다.다운로드 한 rpm 패 키 지 는 / var / cache / yum / 디 렉 터 리 에 자동 으로 저 장 됩 니 다.
[root@web01 ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
[root@web01 ~]# yum install sl -y
[root@web01 ~]# tree /var/cache/yum/x86_64/6/epel/
/var/cache/yum/x86_64/6/epel/
├── 83f14a3d88054141092be5da12eb18cb1baabd7d52e1ae38bfc98d3d5005490c-primary.sqlite
├── cachecookie
├── packages
│ └── sl-5.02-1.el6.x86_64.rpm
└── repomd.xml
1 directory, 4 files
2 컴 파일 설치 Nginx
# Download tar.gz package
cd /home/oldboy/tools
wget -q http://nginx.org/download/nginx-1.6.3.tar.gz
# Yum install Dependent package
yum install openssl openssl-devel -y
yum install pcre pcre-devel -y
rpm -qa pcre pcre-devel
# Useradd www
useradd www -s /sbin/nologin -M
# Compile and install
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=/application/nginx-1.6.3/
make && make install
# Create a soft link
ln -s /application/nginx-1.6.3/ /application/nginx
# Start nginx
/application/nginx/sbin/nginx
# Check port 80
lsof -i :80
3 fpm 도구 설치
1 우선 의존 팩 설치
yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel
2 ruby 다운로드, fpm 는 ruby 가 썼 기 때문에 시스템 환경 은 ruby 가 필요 합 니 다.yum 설치 ruby 를 추천 하지 않 습 니 다. 테스트 할 때 문제 가 생 길 수 있 습 니 다.
[root@web01 tools]# wget https://ruby.taobao.org/mirrors/ruby/ruby-2.3.0.tar.gz
[root@web01 tools]# tar -xf ruby-2.3.0.tar.gz
[root@web01 tools]# cd ruby-2.3.0
[root@web01 ruby-2.3.0]# ./configure
[root@web01 ruby-2.3.0]# make && make install
[root@web01 ruby-2.3.0]# ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
[root@web01 ~]# whereis gem
gem: /usr/local/bin/gem
[root@web01 ~]# /usr/local/bin/gem install fpm
[root@web01 ~]# fpm -v
1.9.3
# Rubygems , , , Ruby
[root@web01 ~]# gem sources
*** CURRENT SOURCES ***
https://rubygems.org/
[root@web01 ~]# gem sources --remove https://rubygems.org/
https://rubygems.org/ removed from sources
#
[root@web01 ~]# gem sources -a http://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/ added to sources
[root@web01 ~]# gem sources
*** CURRENT SOURCES ***
http://mirrors.aliyun.com/rubygems/
3 fpm 상용 매개 변수
-s:
-t: ,
-n:
-v:
-C:
-d:
-f: ,
-p: ,
--post-install: ; --offer-install
--pre-install: ; --before-install
--post-uninstall: ; --offer-remove
--pre-uninstall: ; —before-remove
4 fpm 지원 하 는 원본 패키지
dir: 디 렉 터 리 를 필요 한 형식 으로 포장 하여 소스 코드 컴 파일 에 사용 할 수 있 는 패키지 rpm: rpm 변환 gem: ruby gem 패키지 변환 python: Python 모듈 을 해당 하 는 형식 으로 포장 합 니 다.
5 fpm 지원 대상 패키지
rpm: rpm 패키지 deb 로 변환: deb 패키지 solaris 로 변환: solaris 패키지 puppet 로 변환: puppet 패키지 로 변환
4 Nginx 포장 하기
# --post-install ,
fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/
# nginx_rpm.sh
cat >>/server/scripts/nginx_rpm.sh<-s /sbin/nologin -M www
ln -s /application/nginx-1.6.3/ /application/nginx
ln -s /application/nginx/sbin/nginx /usr/local/sbin/
EOF
5 기타 기계 테스트
# scp rpm
[root@web01 ~]# scp nginx-1.6.3-1.x86_64.rpm [email protected]:/home/oldboy/tools
#
[root@lb01 tools]# yum localinstall nginx-1.6.3-1.x86_64.rpm -y
6 yum 창고 구축
1. createrepo 설치
[root@web02 ~]# yum install createrepo -y
2. yum 창고 디 렉 터 리 를 만 들 고 repodata 색인 파일 을 초기 화 합 니 다.
[root@web02 ~]# mkdir -p /application/yum/centos6.9/x86_64/
[root@web02 ~]# cd /application/yum/centos6.9/x86_64/ # rpm
[root@web02 x86_64]# createrepo -pdo /application/yum/centos6.9/x86_64/ /application/yum/centos6.9/x86_64/
3 yum 서비스 제공
# python web , apache nginx web
[root@web02 x86_64]# python -m SimpleHTTPServer 80 &>/dev/null & # python httpd
[root@web02 x86_64]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 24680 root 3u IPv4 32493 0t0 TCP *:http (LISTEN)
4 새로운 rpm 패키지 가 들 어가 면 업데이트 해 야 합 니 다.
[root@web02 x86_64]# createrepo --update /application/yum/centos6.9/x86_64/
5 클 라 이언 트 yum 원본 수정
cat >>/etc/yum.repo.d/<//10.0.0.7
# baseurl yum IP, 80
enabled=1
gpgcheck=0
EOF
# nginx
#
[root@lb02 ~]# yum clean all
# yum
[root@lb02 ~]# yum --enablerepo=only --disablerepo=base,extras,updates,epel list
# --enablerepo local.repo only
# nginx #
yum --enablerepo=local --disablerepo=base,extras,updates,epel install nginx -y
6 yum 의 용법
#
1、yumdownloader pcre-devel openssl-devel
2、yum --downloadonly pcre-devel openssl-devel
# yum rpm
yum localinstall pcre-devel openssl-devel
# yum ,
yum --enablerepo=local --disablerepo=base,extras,updates,epel install pcre-devel openssl-devel
# yum GPG-check
yum install --nogpgcheck pcre-devel openssl-devel
# yum
yum history
#
yum repolist
yum repolist all # ,
7 오류 조사
# nginx , yum 。
yum :createrepo --update /application/yum/centos6.9/x86_64/
:yum clean all
Error: Package: nginx-1.6.3-1.x86_64 (only)
Requires: pcre-devel
Error: Package: nginx-1.6.3-1.x86_64 (only)
Requires: openssl-devel
#
7. 미 러 동기 화 네트워크 yum 소스
위 에는 자신 이 만 든 rpm 가방 만 yum 원 에 넣 었 다.그러나 평소에 설치 한 소프트웨어 는 모두 공공 네트워크 에서 다운로드 되 고 대역 폭 을 차지 하기 때문에 공공 네트워크 yum 소스 의 repodata 를 직접 사용 할 수 있다 는 수요 도 있다.상류 yum 소스 는 rsync 프로 토 콜 을 지원 해 야 합 니 다. 그렇지 않 으 면 rsync 를 사용 하여 동기 화 할 수 없습니다.http://mirrors.ustc.edu.cn/status/
# CentOS :rsync://mirrors.ustc.edu.cn/centos/
# epel :rsync://mirrors.ustc.edu.cn/epel/
# :
# rsync yum , 、 , CentOS6 rpm , rpm 21G, 300G 。
# base , , rpm , 3G, 。
/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
/usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
# yum
# dns, , hosts 。
echo '192.168.0.200 mirrors.aliyun.com' >>/etc/hosts
#
[root@m01 data]# du -sh yum_data
21G yum_data
[root@m01 data]# tree -L 3 yum_data/
yum_data/
├── centos
│ ├── 6
│ │ ├── extras
│ │ ├── os
│ │ └── updates
│ └── RPM-GPG-KEY-CentOS-6
├── epel
│ └── 6
│ └── x86_64
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.