{"id":1262,"date":"2016-08-10T10:30:24","date_gmt":"2016-08-10T02:30:24","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=1262"},"modified":"2016-10-24T16:33:31","modified_gmt":"2016-10-24T08:33:31","slug":"%e6%9e%84%e5%bb%baopenstack-yum%e6%ba%90openstack-kilo-on-centos7","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=1262","title":{"rendered":"\u6784\u5efaopenstack YUM\u6e90(openstack-kilo on centos7)"},"content":{"rendered":"<div>\u6784\u5efaopenstack YUM\u6e90(openstack-kilo on centos7)<\/div>\n<div>1.\u5bf9\u4e8e\u4f01\u4e1a\u7684openstack\u79c1\u6709\u4e91,\u51fa\u4e8e\u5b89\u5168\u548c\u67d0\u4e9b\u56e0\u7d20\u7684\u8003\u8651,\u6709\u4e9b\u670d\u52a1\u5668\u65e0\u6cd5\u8bbf\u95ee\u516c\u7f51,\u5bfc\u81f4\u670d\u52a1\u5668\u65e0\u6cd5\u66f4\u65b0\u67d0\u4e9bRPM\u5305,\u540c\u65f6\u5185\u90e8\u5e38\u6709openstack\u65b0\u7279\u6027\u5f00\u53d1\u9700\u6c42,\u7248\u672c\u7684\u7ef4\u62a4\u4e0e\u5347\u7ea7,\u56e0\u6b64\u975e\u5e38\u6709\u5fc5\u8981\u6784\u5efa\u4f01\u4e1a\u79c1\u6709\u7684openstack YUM\u6e90;<\/div>\n<div>1.1\u6784\u5efaopenstack YUM\u6e90\u6709\u4e24\u4e2a\u6b65\u9aa4:<\/div>\n<div>\u00a0 \u00a0 1.\u540c\u6b65(\u4e0b\u8f7d)\u5b98\u65b9\u7684\u6e90\u81f3\u4f01\u4e1ayum\u670d\u52a1\u5668\u4e2d;<\/div>\n<div>\u00a0 \u00a0 2.\u91cd\u65b0\u521b\u5efarepo\u5e76\u901a\u8fc7nginx(apache)\u53d1\u5e03;<\/div>\n<div>1.2\u8bbe\u7f6e\u7528\u6237\u540d:<\/div>\n<div>hostnamectl set-hostname cloud.htsec.com;<\/div>\n<div>1.3\u4fee\u6539\/etc\/sysconfig\/network-scripts\/ifcfg-enp0s3\u6587\u4ef6\u6765\u8bbe\u7f6e\u9759\u6001IP:<\/div>\n<div>\u00a0 \u00a0 TYPE=Ethernet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0#\u7f51\u7edc\u7c7b\u578b<\/div>\n<div>\u00a0 \u00a0 DEVICE=enp0s3\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0#\u7f51\u5361\u5730\u5740\u4ee3\u53f7\/\u5b50\u4ee3\u53f7<\/div>\n<div>\u00a0 \u00a0 ONBOOT=yes\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 #\u5f00\u673a\u8fd0\u884c<\/div>\n<div>\u00a0 \u00a0 BOOTPROTO=static\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 #\u4f7f\u7528\u534f\u8bae(\u9759\u6001)<\/div>\n<div>\u00a0 \u00a0 IPADDR=192.168.10.200\u00a0 \u00a0 \u00a0 \u00a0#IP\u5730\u5740<\/div>\n<div>\u00a0 \u00a0 NETMASK=255.255.255.0\u00a0 \u00a0 \u00a0 \u00a0#\u5b50\u7f51\u63a9\u7801<\/div>\n<div>\u00a0 \u00a0 GATEWAY=192.168.10.1\u00a0 \u00a0 \u00a0 \u00a0 #\u7f51\u5173<\/div>\n<div>\u00a0 \u00a0 HWADDR=00:16:3E:89:85:38\u00a0 \u00a0 #MAC\u5730\u5740<\/div>\n<div>\u00a0 \u00a0 BROADCAST=216.18.194.199\u00a0 \u00a0 #\u5e7f\u64ad\u5730\u5740<\/div>\n<div>\u00a0 \u00a0 DNS1=8.8.8.8\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 #\u57df\u540d\u89e3\u6790\u670d\u52a1\u56681<\/div>\n<div>\u00a0 \u00a0 DNS2=8.8.4.4\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 #\u57df\u540d\u89e3\u6790\u670d\u52a1\u56682<\/div>\n<div>1.4\u624b\u52a8\u4fee\u6539\/etc\/hosts\u6587\u4ef6:<\/div>\n<div>192.168.10.200\u00a0 cloud.htsec.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0cloud<\/div>\n<div>1.5\u7981\u7528selinux:<\/div>\n<div>setenforce 0<\/div>\n<div>1.6\u5173\u95ed\u9632\u706b\u5899:<\/div>\n<div>systemctl stop firewalld.service<\/div>\n<div>systemctl disable firewalld.service<\/div>\n<div>systemctl status firewalld.service<\/div>\n<div>1.7\u5173\u95ed\u7f51\u7edc\u7ba1\u7406:<\/div>\n<div>service NetManager stop<\/div>\n<div>1.8\u914d\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u516c\u94a5\u8bbf\u95ee;<\/div>\n<div>1.9\u914d\u7f6eNTP\u670d\u52a1\u5668;<\/div>\n<div>2.YUM\u6e90\u4e0b\u8f7d:<\/div>\n<div>2.1\u5b89\u88c5openstack\u9700\u8981\u7528\u52308\u4e2arepo,\u5206\u4e24\u7c7b:<\/div>\n<div>\u00a0 \u00a0 1.Centos\u6e90:CentOS-Base.repo,CentOS-Debuginfo.repo,CentOS-Media.repo,CentOS-Vault.repo;<\/div>\n<div>\u00a0 \u00a0 2.openstack\u6e90\u53ca\u76f8\u5173\u4f9d\u8d56\u6e90(epel,foreman,puppet):epel.repo,foreman.repo,puppetlabs.repo,rdo-release.repo;<\/div>\n<div>2.2openstack\u6e90\u5730\u5740:<\/div>\n<div>\u00a0 \u00a0 1.\u6240\u6709\u7248\u672c\u7684openstack\u6e90:https:\/\/repos.fedorapeople.org\/repos\/openstack\/<\/div>\n<div>\u00a0 \u00a0 2.openstack-kilo\u7248\u672c\u6e90:https:\/\/repos.fedorapeople.org\/repos\/openstack\/openstack-kilo\/<\/div>\n<div>2.3\u4e0b\u8f7dopenstack-kilo\u6e90:<\/div>\n<div>wget -S -c -r -np -L https:\/\/repos.fedorapeople.org\/repos\/openstack\/openstack-kilo\/<\/div>\n<div>wget -S -c -r -np -L https:\/\/repos.fedorapeople.org\/repos\/openstack\/openstack-juno\/<\/div>\n<div>2.4\u4e0b\u8f7depel\u6e90:<\/div>\n<div>wget -S -c -r -np -L http:\/\/mirrors.yun-idc.com\/epel\/7\/<\/div>\n<div>2.5\u4e0b\u8f7dpuppetlabs\u6e90:<\/div>\n<div>wget -S -c -r -np -L https:\/\/yum.puppetlabs.com\/el\/7\/<\/div>\n<div>2.6\u4e0b\u8f7dforeman\u6e90:<\/div>\n<div>wget -S -c -r -np -L http:\/\/yum.theforeman.org\/plugins\/1.10\/el7\/<\/div>\n<div>wget -S -c -r -np -L http:\/\/yum.theforeman.org\/releases\/1.10\/el7\/<\/div>\n<div>2.7\u4e0b\u8f7dnginx:<\/div>\n<div>wget -S -c -r -np -L http:\/\/nginx.org\/packages\/centos\/7\/<\/div>\n<div>2.8CentOS\u7684\u6e90\u53ef\u4ee5\u901a\u8fc7\u56fd\u5185\u7684\u955c\u50cf\u4e0b\u8f7d:<\/div>\n<div>wget -S -c -r -np -L http:\/\/mirrors.sohu.com\/centos\/7<\/div>\n<div>2.9\u8c03\u6574\u76ee\u5f55\u7ed3\u6784:<\/div>\n<div>2.9.1\u521b\u5efa\u65b0\u7684\u76ee\u5f55:<\/div>\n<div>mkdir -p openstack-kilo openstack-juno epel puppetlabs foreman centos nginx;<\/div>\n<div>2.9.2\u79fb\u52a8\u6587\u4ef6:<\/div>\n<div>mv repos.fedorapeople.org\/repos\/openstack\/openstack-kilo\/* openstack-kilo\/;<\/div>\n<div>mv repos.fedorapeople.org\/repos\/openstack\/openstack-juno\/* openstack-juno\/;<\/div>\n<div>mv mirrors.yun-idc.com\/epel\/* epel\/;<\/div>\n<div>mv yum.puppetlabs.com\/el\/* puppetlabs\/;<\/div>\n<div>mv yum.theforeman.org\/plugins foreman\/;<\/div>\n<div>mv yum.theforeman.org\/releases foreman\/;<\/div>\n<div>mv mirrors.sohu.com\/centos\/* centos\/<\/div>\n<div>mv nginx.org\/packages\/centos\/ nginx\/<\/div>\n<div>2.9.3\u5220\u9664\u4e0d\u9700\u8981\u7684\u8f6f\u4ef6\u5305\u548c\u6587\u4ef6:<\/div>\n<div>find .\/ -name index.html* -exec rm -rf {} \\;<\/div>\n<div>find .\/ -name fedora-* -exec rm -rf {} \\;<\/div>\n<div>rm -rf repos.fedorapeople.org\/<\/div>\n<div>rm -rf mirrors.yun-idc.com\/<\/div>\n<div>rm -rf yum.puppetlabs.com\/<\/div>\n<div>rm -rf yum.theforeman.org\/<\/div>\n<div>rm -rf mirrors.sohu.com\/<\/div>\n<div>rm -rf nginx.org\/<\/div>\n<div>3.Nginx\u914d\u7f6e:<\/div>\n<div>3.1\u5b89\u88c5nginx rpm\u5305:<\/div>\n<div>rpm -ivh \/openstack\/nginx\/centos\/7\/noarch\/RPMS\/nginx-release-centos-7-0.el7.ngx.noarch.rpm<\/div>\n<div>3.2\u4fee\u6539\/etc\/yum.repos.d\/nginx.repo\u6587\u4ef6,\u628ayum\u6e90\u6307\u5411\u672c\u5730;<\/div>\n<div>[nginx]<\/div>\n<div>name=nginx repo<\/div>\n<div>baseurl=file:\/\/\/openstack\/nginx\/centos\/7\/x86_64<\/div>\n<div>gpgcheck=0<\/div>\n<div>enabled=1<\/div>\n<div>3.3\u5b89\u88c5nginx:yum install -y nginx;<\/div>\n<div>3.4\u4fee\u6539\/etc\/nginx\/conf.d\/default.conf\u6587\u4ef6\u914d\u7f6enginx:<\/div>\n<div>server {<\/div>\n<div>\u00a0 \u00a0 listen\u00a0 \u00a0 \u00a0 \u00a080;<\/div>\n<div>\u00a0 \u00a0 server_name\u00a0 cloud.htsec.com;<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 #charset koi8-r;<\/div>\n<div>\u00a0 \u00a0 #access_log\u00a0 \/var\/log\/nginx\/log\/host.access.log\u00a0 main;<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 location \/ {<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 #root\u00a0 \u00a0\/usr\/share\/nginx\/html;<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 root\u00a0 \u00a0\/openstack;<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 autoindex on;<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 index\u00a0 index.html index.htm;<\/div>\n<div>\u00a0 \u00a0 }<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 #error_page\u00a0 404\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/404.html;<\/div>\n<div>\u00a0 \u00a0 # redirect server error pages to the static page \/50x.html<\/div>\n<div>\u00a0 \u00a0 #<\/div>\n<div>\u00a0 \u00a0 error_page\u00a0 \u00a0500 502 503 504\u00a0 \/50x.html;<\/div>\n<div>\u00a0 \u00a0 location = \/50x.html {<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 root\u00a0 \u00a0\/usr\/share\/nginx\/html;<\/div>\n<div>\u00a0 \u00a0 }<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 # proxy the PHP scripts to Apache listening on 127.0.0.1:80<\/div>\n<div>\u00a0 \u00a0 #<\/div>\n<div>\u00a0 \u00a0 #location ~ \\.php$ {<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 proxy_pass\u00a0 \u00a0http:\/\/127.0.0.1;<\/div>\n<div>\u00a0 \u00a0 #}<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000<\/div>\n<div>\u00a0 \u00a0 #<\/div>\n<div>\u00a0 \u00a0 #location ~ \\.php$ {<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 root\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0html;<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 fastcgi_pass\u00a0 \u00a0127.0.0.1:9000;<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 fastcgi_index\u00a0 index.php;<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 fastcgi_param\u00a0 SCRIPT_FILENAME\u00a0 \/scripts$fastcgi_script_name;<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 include\u00a0 \u00a0 \u00a0 \u00a0 fastcgi_params;<\/div>\n<div>\u00a0 \u00a0 #}<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 # deny access to .htaccess files, if Apache&#8217;s document root<\/div>\n<div>\u00a0 \u00a0 # concurs with nginx&#8217;s one<\/div>\n<div>\u00a0 \u00a0 #<\/div>\n<div>\u00a0 \u00a0 #location ~ \/\\.ht {<\/div>\n<div>\u00a0 \u00a0 #\u00a0 \u00a0 deny\u00a0 all;<\/div>\n<div>\u00a0 \u00a0 #}<\/div>\n<div>}<\/div>\n<div>3.5\u670d\u52a1\u91cd\u542f:<\/div>\n<div>systemctl enable nginx<\/div>\n<div>systemctl start nginx<\/div>\n<div>systemctl check nginx<\/div>\n<div>4.\u5236\u4f5crdo-release.rpm:<\/div>\n<div>4.1\u4e0b\u8f7drdo-release-kilo-1.src.rpm\u6e90\u7801\u5305:<\/div>\n<div>[root@cloud ~]# wget http:\/\/cloud.htsec.com\/openstack-kilo\/rdo-release-kilo-1.src.rpm<\/div>\n<div>4.2\u521b\u5efaalan\u7528\u6237\u548c\u7ec4:<\/div>\n<div>useradd alan;<\/div>\n<div>4.3\u89e3\u538brpm\u5305,\u4f1a\u5728~\u76ee\u5f55\u751f\u6210\u4e00\u4e2arpmbuild\u76ee\u5f55(\u5176\u4e2dSOURCE\u76ee\u5f55\u4e0b\u5b58\u653erepo\u6587\u4ef6,SPECS\u76ee\u5f55\u4e0b\u5b58\u653espec\u6587\u4ef6):<\/div>\n<div>rpm -i rdo-release-kilo-1.src.rpm;<\/div>\n<div>4.4\u4fee\u6539\u5e76\u6dfb\u52a0repo\u6587\u4ef6:<\/div>\n<div>vi rdo-release.repo<\/div>\n<div>[openstack-kilo]<\/div>\n<div>name=OpenStack Kilo Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/openstack-kilo\/el7\/<\/div>\n<div>skip_if_unavailable=0<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=1<\/div>\n<div>gpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-RDO-kilo<\/div>\n<div><\/div>\n<div>vi rdo-testing.repo<\/div>\n<div>[openstack-kilo-testing]<\/div>\n<div>name=OpenStack Kilo Testing<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/openstack-kilo\/testing\/el7<\/div>\n<div>skip_if_unavailable=0<\/div>\n<div>gpgcheck=0<\/div>\n<div>enabled=0<\/div>\n<div><\/div>\n<div>vi epel.repo<\/div>\n<div>[epel]<\/div>\n<div>name=EPEL Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/epel\/7\/x86_64<\/div>\n<div>skip_if_unavailable=0<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>vi foreman.repo<\/div>\n<div>[foreman-releases]<\/div>\n<div>name=Foreman Releases Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/foreman\/releases\/1.10\/el7\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[foreman-releases-source]<\/div>\n<div>name=Foreman Releases Source Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/foreman\/releases\/1.10\/el7\/source<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[foreman-plugins]<\/div>\n<div>name=Foreman Plugins Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/foreman\/plugins\/1.10\/el7\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[foreman-plugins-source]<\/div>\n<div>name=Foreman Plugins Source Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/foreman\/plugins\/1.10\/el7\/source<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>vi puppetlabs.repo<\/div>\n<div>[puppetlabs-products]<\/div>\n<div>name=Puppet Labs Products<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/puppetlabs\/7\/products\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[puppetlabs-deps]<\/div>\n<div>name=Puppet Labs Dependencies<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/puppetlabs\/7\/dependencies\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[puppetlabs-devel]<\/div>\n<div>name=Puppet Labs Devel<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/puppetlabs\/7\/devel\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>vi centos.repo<\/div>\n<div>[base]<\/div>\n<div>name=CentOS7 Base Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/centos\/7\/os\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[updates]<\/div>\n<div>name=CentOS7 Updates Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/centos\/7\/updates\/x86_64<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[extras]<\/div>\n<div>name=CentOS7 Extras Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/centos\/7\/extras\/x86_64\/<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div><\/div>\n<div>[centosplus]<\/div>\n<div>name=CentOS7 Plus Repository<\/div>\n<div>baseurl=http:\/\/cloud.htsec.com\/centos\/7\/centosplus\/x86_64\/<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div>4.5\u4fee\u6539.spec\u6587\u4ef6\u5185\u5bb9:<\/div>\n<div>vi rdo-release.spec<\/div>\n<div>Name:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0rdo-release<\/div>\n<div>Version:\u00a0 \u00a0 \u00a0 \u00a0 kilo<\/div>\n<div>Release:\u00a0 \u00a0 \u00a0 \u00a0 1<\/div>\n<div>Summary:\u00a0 \u00a0 \u00a0 \u00a0 RDO repository configuration<\/div>\n<div><\/div>\n<div>Group:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System Environment\/Base<\/div>\n<div>License:\u00a0 \u00a0 \u00a0 \u00a0 Apache2<\/div>\n<div><\/div>\n<div>URL:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 https:\/\/github.com\/redhat-openstack\/rdo-release<\/div>\n<div>Source0:\u00a0 \u00a0 \u00a0 \u00a0 rdo-release.repo<\/div>\n<div>Source2:\u00a0 \u00a0 \u00a0 \u00a0 rdo-testing.repo<\/div>\n<div>Source1:\u00a0 \u00a0 \u00a0 \u00a0 RPM-GPG-KEY-RDO-kilo<\/div>\n<div>Source3:\u00a0 \u00a0 \u00a0 \u00a0 epel.repo<\/div>\n<div>Source4:\u00a0 \u00a0 \u00a0 \u00a0 foreman.repo<\/div>\n<div>Source5:\u00a0 \u00a0 \u00a0 \u00a0 puppetlabs.repo<\/div>\n<div>Source6:\u00a0 \u00a0 \u00a0 \u00a0 centos.repo<\/div>\n<div>Source7:\u00a0 \u00a0 \u00a0 \u00a0 RPM-GPG-KEY-CentOS-7<\/div>\n<div><\/div>\n<div>BuildArch:\u00a0 \u00a0 \u00a0 noarch<\/div>\n<div><\/div>\n<div>%description<\/div>\n<div>This package contains the RDO repository<\/div>\n<div><\/div>\n<div>%install<\/div>\n<div>install -p -d %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div>install -p -m 644 %{SOURCE0} %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div>install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div>install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div>install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div>install -p -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div>install -p -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}\/yum.repos.d<\/div>\n<div><\/div>\n<div>#GPG Keys<\/div>\n<div>install -p -d %{buildroot}%{_sysconfdir}\/pki\/rpm-gpg<\/div>\n<div>install -Dpm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}\/pki\/rpm-gpg<\/div>\n<div>install -Dpm 644 %{SOURCE7} %{buildroot}%{_sysconfdir}\/pki\/rpm-gpg<\/div>\n<div><\/div>\n<div>%files<\/div>\n<div>%{_sysconfdir}\/yum.repos.d\/*.repo<\/div>\n<div>%{_sysconfdir}\/pki\/rpm-gpg\/RPM-GPG-KEY-*<\/div>\n<div><\/div>\n<div>%post<\/div>\n<div><\/div>\n<div># Adjust repos as per dist and version<\/div>\n<div>source \/etc\/os-release<\/div>\n<div>DIST=$ID<\/div>\n<div>RELEASEVER=$VERSION_ID<\/div>\n<div>if [ &#8220;$DIST&#8221; != &#8216;fedora&#8217; ]; then<\/div>\n<div>\u00a0 DIST=el<\/div>\n<div>\u00a0 FDIST=el<\/div>\n<div>\u00a0 # $releasever doesn&#8217;t seem to be a reliable way to get the major version on RHEL<\/div>\n<div>\u00a0 # e.g. if distroverpkg isn&#8217;t present in yum.conf mine was set to 6Server<\/div>\n<div>\u00a0 # because this was the version of the package redhat-release-server-6Server<\/div>\n<div>\u00a0 RELEASEVER=$(sed -e &#8216;s\/.*release \\([0-9]\\+\\).*\/\\1\/&#8217; \/etc\/system-release)<\/div>\n<div>else<\/div>\n<div>\u00a0 FDIST=f<\/div>\n<div>fi<\/div>\n<div><\/div>\n<div>for repo in rdo-release rdo-testing epel foreman puppetlabs centos ; do<\/div>\n<div>\u00a0 for var in DIST FDIST RELEASEVER; do<\/div>\n<div>\u00a0 \u00a0 sed -i -e &#8220;s\/%$var%\/$(eval echo \\$$var)\/g&#8221; %{_sysconfdir}\/yum.repos.d\/$repo.repo<\/div>\n<div>\u00a0 done<\/div>\n<div>done<\/div>\n<div>4.6\u91cd\u65b0\u6253\u5305rpm:<\/div>\n<div>[root@cloud ~]# rpmbuild -ba rpmbuild\/SPECS\/rdo-release.spec<\/div>\n<div>4.7\u628a\u751f\u6210\u7684rpm\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55:<\/div>\n<div>[root@cloud ~]# mv \/root\/rpmbuild\/RPMS\/noarch\/rdo-release-kilo-1.noarch.rpm \/openstack\/openstack-kilo\/rdo-release-kilo-1-ht.noarch.rpm<\/div>\n<div>[root@cloud ~]# mv \/root\/rpmbuild\/SRPMS\/rdo-release-kilo-1.src.rpm \/openstack\/openstack-kilo\/rdo-release-kilo-1-ht.src.rpm<\/div>\n<div>5.\u5b89\u88c5openstack-kilo:<\/div>\n<div>wget http:\/\/cloud.htsec.com\/openstack-kilo\/rdo-release-kilo-1-ht.noarch.rpm<\/div>\n<div>rpm -ivh rdo-release-kilo-1-ht.noarch.rpm &#8211;replacefiles<\/div>\n<div>yum update -y<\/div>\n<div>yum install -y openstack-packstack<\/div>\n<div>packstack &#8211;allinone<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u6784\u5efaopenstack YUM\u6e90(openstack-kilo on centos7) 1.\u5bf9\u4e8e\u4f01\u4e1a\u7684open [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[42],"class_list":["post-1262","post","type-post","status-publish","format-standard","hentry","category-cloud","tag-openstack"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/1262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1262"}],"version-history":[{"count":1,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/1262\/revisions"}],"predecessor-version":[{"id":1263,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/1262\/revisions\/1263"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1262"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}