<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CentOS on Dapeng Zhang</title><link>https://zhangdapeng.dev/tags/centos/</link><description>Recent content in CentOS on Dapeng Zhang</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 22 Jul 2025 18:31:39 +0800</lastBuildDate><atom:link href="https://zhangdapeng.dev/tags/centos/index.xml" rel="self" type="application/rss+xml"/><item><title>CentOS 系统下运行Python项目出现_sqlite3的错误解决办法</title><link>https://zhangdapeng.dev/p/centos-xi-tong-xia-yun-xing-python-xiang-mu-chu-xian-_sqlite3-de-cuo-wu-jie-jue-ban-fa/</link><pubDate>Tue, 22 Jul 2025 18:31:39 +0800</pubDate><guid>https://zhangdapeng.dev/p/centos-xi-tong-xia-yun-xing-python-xiang-mu-chu-xian-_sqlite3-de-cuo-wu-jie-jue-ban-fa/</guid><description>&lt;p&gt;先来看下这个错误提示：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Failed to load application: No module named _sqlite3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;还是第一次见，唉，玩的少呗。&lt;/p&gt;
&lt;p&gt;经过资料的查找是因为少了一个叫做_sqlite3.so文件。这个在Centos系统中默认的python2.6是有的：存放的路径如下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/lib64/python2.6/lib-dynload/_sqlite3.so
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你的不在这里的话，可以使用如下命令查找一下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;find / -name _sqlite3.so
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;既然知道了原因我们就分析一下处理方法好了。&lt;/p&gt;
&lt;p&gt;我呢就直接把python2.6下面的这个文件_sqlite3.so直接复制到了python2.7对应的lib-dynload目录下了。&lt;/p&gt;
&lt;p&gt;再次运行项目后是没有任何错误的。&lt;/p&gt;
&lt;p&gt;不过你也可以自己去安装一下这个扩展，不过我觉得还是稍微费点时间，就没做了。&lt;/p&gt;</description></item><item><title>CentOS 7升级curl后导致php调用curl异常的问题</title><link>https://zhangdapeng.dev/p/centos-7-sheng-ji-curl-hou-dao-zhi-php-diao-yong-curl-yi-chang-de-wen-ti/</link><pubDate>Fri, 11 Jul 2025 11:16:16 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-7-sheng-ji-curl-hou-dao-zhi-php-diao-yong-curl-yi-chang-de-wen-ti/</guid><description>&lt;p&gt;背景介绍&lt;/p&gt;
&lt;p&gt;使用的是阿里云的服务器，最近报警了，提示我服务器有漏洞，要进行修复升级，然后看了下详情，给出的修复命令如下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum update libcurl-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum update libcurl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum update curl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;好吧，我能力低，我技术不行，承认自己，于是便执行了下，执行完之后，没有发现任何异常。&lt;/p&gt;
&lt;p&gt;但是！我邮箱在不断的收到curl的报错异常，于是我检查代码，添加各种日志，依然没有发现具体是哪里的问题，于是开始猜测访问频次高的接口。&lt;/p&gt;
&lt;p&gt;不测不知道一测发现了问题&lt;/p&gt;
&lt;p&gt;在PHP中用curl调用的时候第一次是没有问题的，第二次就出现问题了&lt;/p&gt;
&lt;p&gt;但是在命令行下面都是正常的&lt;/p&gt;
&lt;p&gt;基本报错日志信息如下&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;em&gt;错误信息1&lt;/em&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* About to connect&lt;span style="color:#f92672"&gt;()&lt;/span&gt; to api.gowhich.com port &lt;span style="color:#ae81ff"&gt;443&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#75715e"&gt;#1)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Trying 10.252.117.104...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Connected to api.gowhich.com &lt;span style="color:#f92672"&gt;(&lt;/span&gt;10.252.117.104&lt;span style="color:#f92672"&gt;)&lt;/span&gt; port &lt;span style="color:#ae81ff"&gt;443&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#75715e"&gt;#1)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Initializing NSS with certpath: sql:/etc/pki/nssdb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Unable to initialize NSS database
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Initializing NSS with certpath: none
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Unable to initialize NSS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Closing connection &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;em&gt;错误信息2&lt;/em&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Initializing NSS with certpath: none
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* NSS error -5978 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;PR_NOT_CONNECTED_ERROR&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Network file descriptor is not connected
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Closing connection &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;int&lt;span style="color:#f92672"&gt;(&lt;/span&gt;35&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Network file descriptor is not connected
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;curl安装完之后的版本&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;版本信息如下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl 7.29.0 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;x86_64-redhat-linux-gnu&lt;span style="color:#f92672"&gt;)&lt;/span&gt; libcurl/7.29.0 NSS/3.44 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过如下命令访问&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -I -X GET -v https://api.gowhich.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;结果如下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* About to connect&lt;span style="color:#f92672"&gt;()&lt;/span&gt; to api.gowhich.com port &lt;span style="color:#ae81ff"&gt;443&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#75715e"&gt;#0)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Trying 10.252.117.104...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Connected to api.gowhich.com &lt;span style="color:#f92672"&gt;(&lt;/span&gt;10.252.117.104&lt;span style="color:#f92672"&gt;)&lt;/span&gt; port &lt;span style="color:#ae81ff"&gt;443&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#75715e"&gt;#0)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Initializing NSS with certpath: none
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* CAfile: /etc/pki/tls/certs/ca-bundle.crt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CApath: none
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Server certificate:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* subject: CN&lt;span style="color:#f92672"&gt;=&lt;/span&gt;*.gowhich.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* start date: 8月 &lt;span style="color:#ae81ff"&gt;05&lt;/span&gt; 00:00:00 &lt;span style="color:#ae81ff"&gt;2019&lt;/span&gt; GMT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* expire date: 10月 &lt;span style="color:#ae81ff"&gt;03&lt;/span&gt; 12:00:00 &lt;span style="color:#ae81ff"&gt;2020&lt;/span&gt; GMT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* common name: *.gowhich.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* issuer: CN&lt;span style="color:#f92672"&gt;=&lt;/span&gt;RapidSSL RSA CA 2018,OU&lt;span style="color:#f92672"&gt;=&lt;/span&gt;www.digicert.com,O&lt;span style="color:#f92672"&gt;=&lt;/span&gt;DigiCert Inc,C&lt;span style="color:#f92672"&gt;=&lt;/span&gt;US
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; GET / HTTP/1.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; User-Agent: curl/7.29.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Host: api.gowhich.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Accept: */*
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; HTTP/1.1 &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt; OK
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HTTP/1.1 &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt; OK
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; Server: nginx/1.6.3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Server: nginx/1.6.3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; Date: Tue, &lt;span style="color:#ae81ff"&gt;18&lt;/span&gt; Feb &lt;span style="color:#ae81ff"&gt;2020&lt;/span&gt; 08:40:32 GMT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Date: Tue, &lt;span style="color:#ae81ff"&gt;18&lt;/span&gt; Feb &lt;span style="color:#ae81ff"&gt;2020&lt;/span&gt; 08:40:32 GMT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; Content-Type: text/html; charset&lt;span style="color:#f92672"&gt;=&lt;/span&gt;utf-8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Content-Type: text/html; charset&lt;span style="color:#f92672"&gt;=&lt;/span&gt;utf-8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; Content-Length: &lt;span style="color:#ae81ff"&gt;11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Content-Length: &lt;span style="color:#ae81ff"&gt;11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; Connection: keep-alive
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Connection: keep-alive
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; ETag: W/&lt;span style="color:#e6db74"&gt;&amp;#34;b-+mppjeYkbwpj8ck3uudlJA&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ETag: W/&lt;span style="color:#e6db74"&gt;&amp;#34;b-+mppjeYkbwpj8ck3uudlJA&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Excess found in a non pipelined read: excess &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;11&lt;/span&gt; url &lt;span style="color:#f92672"&gt;=&lt;/span&gt; / &lt;span style="color:#f92672"&gt;(&lt;/span&gt;zero-length body&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* Connection &lt;span style="color:#75715e"&gt;#0 to host api.gowhich.com left intact&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过上面的一系列问题，原因就是本机的php调用curl时出现了问题，我猜测时php不兼容nss版本的curl，但是我看过其他服务器使用确实是nss版本的curl，只不过nss的版本不同，&lt;/p&gt;
&lt;p&gt;如果你是在命令行下执行php的话&lt;/p&gt;
&lt;p&gt;可以通过加变量的方式，这个方法是网上查到的资料(命令如下)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export NSS_STRICT_NOFORK&lt;span style="color:#f92672"&gt;=&lt;/span&gt;DISABLED
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果要取消的话可以如下操作&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export NSS_STRICT_NOFORK&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;unset NSS_STRICT_NOFORK
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但是文章上好像说 不建议在生产环境中使用&lt;/p&gt;
&lt;p&gt;参考文章链接：https://cohan.dev/php-curl-libcurl-error-on-subsequent-requests/&lt;/p&gt;
&lt;p&gt;但是我在webapp中要如何去设置这个参数，我还真不知道了。&lt;/p&gt;
&lt;p&gt;最后的解决方案，替换nss版本的curl，改换成openssl版本的curl。&lt;/p&gt;
&lt;p&gt;我下载的curl版本是 curl-7.27.0.tar.gz&lt;/p&gt;
&lt;p&gt;然后下载一个与你php版本一致的包 我的是 php-7.0.6.tar.gz&lt;/p&gt;
&lt;p&gt;(非root用户，但是有root权限的命令如下，如果是root的话，会有一些不同)&lt;/p&gt;
&lt;p&gt;下载后分别解压下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -zxvf ***.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;先安装下curl&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd curl-7.27.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --without-nss --with-ssl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再安装php的curl&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd php-7.0.6/ext/curl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;phpize
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --with-curl&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装完之后重启php-fpm&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/etc/init.d/php-fpm restart
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;结果修复了。&lt;/p&gt;</description></item><item><title>记一次CentOS 8安装完mosh后locale问题</title><link>https://zhangdapeng.dev/p/ji-yi-ci-centos-8-an-zhuang-wan-mosh-hou-locale-wen-ti/</link><pubDate>Fri, 11 Jul 2025 10:28:37 +0000</pubDate><guid>https://zhangdapeng.dev/p/ji-yi-ci-centos-8-an-zhuang-wan-mosh-hou-locale-wen-ti/</guid><description>&lt;p&gt;事情是这样子的，之前一直使用linode的服务器，但是这家伙隔几天就给我发个信息说是物理磁盘在干什么事情，然后我的服务器就挂了，好赖也通知我了，但是经不起你这么折腾呀，一个月搞了我好几次，我一个小小站长，做个博客本来就不容易，还没事来搞我，于是一气之下放弃了linode。&lt;/p&gt;
&lt;p&gt;转而看了许多，最后选择&lt;a class="link" href="https://www.vultr.com/?ref=8386777-6G" target="_blank" rel="noopener"
 &gt;vultr.com&lt;/a&gt;，让我意外的发现，vultr支持的支付方式还是满多的，大喜&lt;/p&gt;
&lt;p&gt;随后选了好几个区的服务器，试了好几个，都不太理想，毕竟国外的快的也都被商家玩坏了，好的吧也就慢一些，真的就是慢一些吗？我不信&lt;/p&gt;
&lt;p&gt;我还是选择了日本的，毕竟是在亚洲，如果中国访问不了，亚洲其他的区还是可以访问的，比如香港、台湾等&lt;/p&gt;
&lt;p&gt;而且如果哪天路线畅通了，还是比较快的，另外我为什么不选择香港，我只能说点不公道的话了，为什么人家国外的便宜，就买香港的大陆的都会贵个10几块钱呢。&lt;/p&gt;
&lt;p&gt;本来就不容易为啥还要搞我们呢，其实不针对你，放弃这种想法吧，要从国家策略着想。&lt;/p&gt;
&lt;p&gt;接下来配置服务器，不小心选择了Centos 8，在模糊的不知道是几的情况下，反正基本部署完了，部署完才发现是Centos 8.&lt;/p&gt;
&lt;p&gt;接下来使用mosh登录后，提示如下信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The locale requested by LANG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;zh_CN.UTF-8 isn&lt;span style="color:#e6db74"&gt;&amp;#39;t available here.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Running `locale-gen zh_CN.UTF-8&amp;#39;&lt;/span&gt; may be necessary.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mosh-server needs a UTF-8 native locale to run.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Unfortunately, the local environment &lt;span style="color:#f92672"&gt;([&lt;/span&gt;no charset variables&lt;span style="color:#f92672"&gt;])&lt;/span&gt; specifies
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;the character set &lt;span style="color:#e6db74"&gt;&amp;#34;US-ASCII&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The client-supplied environment &lt;span style="color:#f92672"&gt;(&lt;/span&gt;LANG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;zh_CN.UTF-8&lt;span style="color:#f92672"&gt;)&lt;/span&gt; specifies
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;the character set &lt;span style="color:#e6db74"&gt;&amp;#34;US-ASCII&amp;#34;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;locale: Cannot set LC_CTYPE to default locale: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;locale: Cannot set LC_MESSAGES to default locale: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;locale: Cannot set LC_ALL to default locale: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LANG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_CTYPE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_NUMERIC&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_TIME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_COLLATE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_MONETARY&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_MESSAGES&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_PAPER&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_NAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_ADDRESS&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_TELEPHONE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_MEASUREMENT&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_IDENTIFICATION&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LC_ALL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;执行命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;locale-gen zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;提示你&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;command not found: locale-gen
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;网上很多copy来copy去的帖子，都是一路的，看一遍差不多也就够了，基本上没啥解决的方案，因为都是CentOS 8之前的系统的帖子&lt;/p&gt;
&lt;p&gt;截止今天，好像CentOS 8系统的普及还不是很多，反正在vultr.com上是没有具体的使用指南的。&lt;/p&gt;
&lt;p&gt;我说下我是怎么解决的吧，可能能帮到你&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum search Chinese
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找到这个&lt;code&gt;langpacks-zh_CN.noarch&lt;/code&gt;名的包，然后执行&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install langpacks-zh_CN
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;再然后执行&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;修改下&lt;code&gt;~/.bashrc&lt;/code&gt;，添加如下代码&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export LANG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export LC_ALL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不过我觉得好像不需要，其实就是少安装了中文支持的包，也许你遇到的并不是这最基础的没有安装支持包的问题。&lt;/p&gt;</description></item><item><title>Centos 7 中使用YUM升级Git版本</title><link>https://zhangdapeng.dev/p/centos-7-zhong-shi-yong-yum-sheng-ji-git-ban-ben/</link><pubDate>Mon, 07 Jul 2025 16:41:37 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-7-zhong-shi-yong-yum-sheng-ji-git-ban-ben/</guid><description>&lt;p&gt;正确安装思路是&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum erase git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install epel-release 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install git2u
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;没有问题的话可以正常安装，但是意外总是难以预料我将我遇到的情况记录下&lt;/p&gt;
&lt;p&gt;执行第一个命令的时候遇到如下提示&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Loaded plugins: langpacks
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Cannot open: https://centos7.iuscommunity.org/ius-release.rpm. Skipping.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Error: Nothing to &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;执行不了，我能力有限，我直接下载吧&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl https://centos7.iuscommunity.org/ius-release.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;还是不行呀，提示这个&lt;/p&gt;
&lt;p&gt;那我换个wget&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://centos7.iuscommunity.org/ius-release.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我去还是不行，提示如下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--2018-06-19 11:27:21-- https://centos7.iuscommunity.org/ius-release.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Resolving centos7.iuscommunity.org &lt;span style="color:#f92672"&gt;(&lt;/span&gt;centos7.iuscommunity.org&lt;span style="color:#f92672"&gt;)&lt;/span&gt;... 162.242.221.48, 2001:4802:7801:102:be76:4eff:fe21:14aa
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Connecting to centos7.iuscommunity.org &lt;span style="color:#f92672"&gt;(&lt;/span&gt;centos7.iuscommunity.org&lt;span style="color:#f92672"&gt;)&lt;/span&gt;|162.242.221.48|:443... connected.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ERROR: cannot verify centos7.iuscommunity.org&lt;span style="color:#e6db74"&gt;&amp;#39;s certificate, issued by ‘/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=Thawte TLS RSA CA G1’:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; Unable to locally verify the issuer&amp;#39;&lt;/span&gt;s authority.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;To connect to centos7.iuscommunity.org insecurely, use &lt;span style="color:#e6db74"&gt;`&lt;/span&gt;--no-check-certificate&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;#39;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;OK，咱来个暴力点的加&lt;code&gt;--no-check-certificate&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://centos7.iuscommunity.org/ius-release.rpm --no-check-certificate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;终于可以了，那就继续安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install ius-release.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum erase git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;好吧，问题又来了，我们执行下面这个命令的时候&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install epel-release
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我还是遇到了证书的问题&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Could not retrieve mirrorlist https://mirrors.iuscommunity.org/mirrorlist?repo&lt;span style="color:#f92672"&gt;=&lt;/span&gt;ius-centos7&amp;amp;arch&lt;span style="color:#f92672"&gt;=&lt;/span&gt;x86_64&amp;amp;protocol&lt;span style="color:#f92672"&gt;=&lt;/span&gt;http error was
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;14: curl#60 - &lt;span style="color:#e6db74"&gt;&amp;#34;Peer&amp;#39;s Certificate issuer is not recognized.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; One of the configured repositories failed &lt;span style="color:#f92672"&gt;(&lt;/span&gt;Unknown&lt;span style="color:#f92672"&gt;)&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; and yum doesn&lt;span style="color:#e6db74"&gt;&amp;#39;t have enough cached data to continue. At this point the only
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; safe thing yum can do is fail. There are a few ways to work &amp;#34;fix&amp;#34; this:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; 1. Contact the upstream for the repository and get them to fix the problem.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; 2. Reconfigure the baseurl/etc. for the repository, to point to a working
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; upstream. This is most often useful if you are using a newer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; distribution release than is supported by the repository (and the
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; packages for the previous distribution release still work).
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; 3. Disable the repository, so yum won&amp;#39;&lt;/span&gt;t use it by default. Yum will &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; just ignore the repository &lt;span style="color:#66d9ef"&gt;until&lt;/span&gt; you permanently enable it again or use
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --enablerepo &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; temporary usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; yum-config-manager --disable &amp;lt;repoid&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 4. Configure the failing repository to be skipped, &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; it is unavailable.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Note that yum will try to contact the repo. when it runs most commands,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; so will have to try and fail each time &lt;span style="color:#f92672"&gt;(&lt;/span&gt;and thus. yum will be be much
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; slower&lt;span style="color:#f92672"&gt;)&lt;/span&gt;. If it is a very temporary problem though, this is often a nice
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; compromise:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; yum-config-manager --save --setopt&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&amp;lt;repoid&amp;gt;.skip_if_unavailable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Cannot find a valid baseurl &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; repo: ius/x86_64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;老子也不知道咋回事，先说说解决办法，按照如下操作&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv /etc/yum.repos.d/ius-archive.repo /etc/yum.repos.d/ius-archive.repo.backup
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv /etc/yum.repos.d/ius-dev.repo /etc/yum.repos.d/ius-dev.repo.backup
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv /etc/yum.repos.d/ius.repo /etc/yum.repos.d/ius.repo.backup
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv /etc/yum.repos.d/ius-testing.repo /etc/yum.repos.d/ius-testing.repo.backup
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo touch /etc/yum.repos.d/ius.repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;/etc/yum.repos.d/ius.repo的内容如下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;ius&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;IUS Community Packages &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; Enterprise Linux &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; - $basearch
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;baseurl&lt;span style="color:#f92672"&gt;=&lt;/span&gt;https://mirrors.tuna.tsinghua.edu.cn/ius/stable/CentOS/7/$basearch
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&amp;amp;arch=$basearch&amp;amp;protocol=http&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;failovermethod&lt;span style="color:#f92672"&gt;=&lt;/span&gt;priority
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;enabled&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpgcheck&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpgkey&lt;span style="color:#f92672"&gt;=&lt;/span&gt;file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;ius-debuginfo&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;IUS Community Packages &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; Enterprise Linux &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; - $basearch - Debug
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;baseurl&lt;span style="color:#f92672"&gt;=&lt;/span&gt;https://mirrors.tuna.tsinghua.edu.cn/ius/stable/CentOS/7/$basearch/debuginfo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7-debuginfo&amp;amp;arch=$basearch&amp;amp;protocol=http&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;failovermethod&lt;span style="color:#f92672"&gt;=&lt;/span&gt;priority
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;enabled&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpgcheck&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpgkey&lt;span style="color:#f92672"&gt;=&lt;/span&gt;file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;ius-source&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;IUS Community Packages &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; Enterprise Linux &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; - $basearch - Source
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;baseurl&lt;span style="color:#f92672"&gt;=&lt;/span&gt;https://mirrors.tuna.tsinghua.edu.cn/ius/stable/CentOS/7/SRPMS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7-source&amp;amp;arch=source&amp;amp;protocol=http&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;failovermethod&lt;span style="color:#f92672"&gt;=&lt;/span&gt;priority
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;enabled&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpgcheck&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gpgkey&lt;span style="color:#f92672"&gt;=&lt;/span&gt;file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后在执行&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install epel-release 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install git2u
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装成功，可喜可贺。&lt;/p&gt;
&lt;p&gt;其实我们打开https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&amp;amp;arch=x86_64&amp;amp;protocol=http 这个地址就可以发现，里面的内容全部都是镜像相关的地址信息，我们可以将baseurl中的mirrors.tuna.tsinghua.edu.cn这个地址换成其他的镜像地址，应该也是可以的，这个我就没有做过测试了，有兴趣的可以试下。&lt;/p&gt;
&lt;p&gt;原因是由于什么呢？&lt;br&gt;
其实安装的过程中提示已经说的很清楚了，就是证书的问题，但是在我的其他机器为什么又没有这个问题呢。&lt;/p&gt;</description></item><item><title>CentOS 之 非root情况下zsh安装命令记录</title><link>https://zhangdapeng.dev/p/centos-zhi-fei-root-qing-kuang-xia-zsh-an-zhuang-ming-ling-ji-lu/</link><pubDate>Thu, 03 Jul 2025 17:37:43 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-zhi-fei-root-qing-kuang-xia-zsh-an-zhuang-ming-ling-ji-lu/</guid><description>&lt;p&gt;第一步就是：下载zsh源码包&lt;/p&gt;
&lt;p&gt;安装的前提是需要安装ncurses，可以看前面的文章[&lt;a class="link" href="https://www.gowhich.com/blog/806" target="_blank" rel="noopener"
 &gt;Centos 之 非root情况下ncurses安装问题&lt;/a&gt;]&lt;br&gt;
然后使用下面的命令进行安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LDFLAGS&lt;span style="color:#f92672"&gt;=&lt;/span&gt;-L$HOME/lib CPPFLAGS&lt;span style="color:#f92672"&gt;=&lt;/span&gt;-I$HOME/include ./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;$HOME --with-tcsetpgrp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make instal
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;运行zsh发生如下错误&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;zsh --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;error while loading shared libraries: libncursesw.so.6: cannot open shared object file: No such file or directory&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;这个问题经过网络搜索，是由于执行zsh没有加载对应的动态库，因为我们的动态库安装在了我们自己的目录下面，通知执行下面的命令，即可得到解决&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export LD_LIBRARY_PATH&lt;span style="color:#f92672"&gt;=&lt;/span&gt;$HOME/lib:$LD_LIBRARY_PATH
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;顺便把它加到.bash_profile里面吧，再次执行安装命令，即可安装完毕。&lt;/p&gt;
&lt;p&gt;但是安装完 运行下面的命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;exec $HOME/bin/zsh -l 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;会发生一直卡住不动，暂时不知道原因，哪位高手遇到解决了，可以留言给我，一起探讨。&lt;/p&gt;</description></item><item><title>CentOS 之 非root情况下ncurses安装问题</title><link>https://zhangdapeng.dev/p/centos-zhi-fei-root-qing-kuang-xia-ncurses-an-zhuang-wen-ti/</link><pubDate>Thu, 03 Jul 2025 17:37:38 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-zhi-fei-root-qing-kuang-xia-ncurses-an-zhuang-wen-ti/</guid><description>&lt;p&gt;最近使用主机发现，没有root权限，然后想用zsh，发现没有root权限也是安装不了，但是安装zsh又需要ncurses，但是网上都是一些yum之类的命令，但是yum只能root用哇，苦于无奈，只能安装在自己的目录下使用了。具体过程如下。&lt;/p&gt;
&lt;h3 id="系统版本"&gt;系统版本：
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ lsb_release -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;LSB Version: :core-4.1-amd64:core-4.1-noarch&lt;br&gt;
Distributor ID: CentOS&lt;br&gt;
Description: CentOS Linux release 7.3.1611 (Core)&lt;br&gt;
Release: 7.3.1611&lt;br&gt;
Codename: Core&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="源码包下载"&gt;源码包下载
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="http://ftp.gnu.org/pub/gnu/ncurses/" target="_blank" rel="noopener"
 &gt;http://ftp.gnu.org/pub/gnu/ncurses/&lt;/a&gt;&lt;br&gt;
这里可以找到需要的版本&lt;/p&gt;
&lt;p&gt;正常安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;$HOME
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;会遇到一个问题，如下&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;/usr/bin/ld: /usr/lib/libncurses.a(lib_addch.o): relocation R_X86_64_32 against &lt;code&gt;a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib/libncurses.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: \*\*\* [http://www.cnblogs.com/.ext/x86\_64-linux/curses.so] Error 1 make[1]: Leaving directory &lt;/code&gt;/home/deploy/tmp/ruby-&lt;br&gt;
enterprise-1.8.6-20081215/source/ext/curses&amp;rsquo;&lt;br&gt;
make: *** [all] Error 1&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;从错误中可以定位到可能是ncurses这个静态链接库的问题，从网上找了很久，解决方法如下在安装ncurses时如下方法安装：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;$HOME --with-shared --without-debug --enable-widec
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>CentOS 6.6 通过 yum 升级gcc到4.7/4.8</title><link>https://zhangdapeng.dev/p/centos-66-tong-guo-yum-sheng-ji-gcc-dao-4748/</link><pubDate>Wed, 02 Jul 2025 16:00:33 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-66-tong-guo-yum-sheng-ji-gcc-dao-4748/</guid><description>&lt;p&gt;前文：&lt;/p&gt;
&lt;p&gt;别傻了，还通过源码去安装，很费时间的，而且安装完你还要去考虑本地的gcc版本问题，这里给大家提供一个很简答的方法.&lt;/p&gt;
&lt;p&gt;第一部分：升级到4.7&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /etc/yum.repos.d
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum --enablerepo&lt;span style="color:#f92672"&gt;=&lt;/span&gt;testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个将安装的文件放在了&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/opt/centos/devtoolset-1.1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果想要编辑器去处理的话，这样操作&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CC&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/centos/devtoolset-1.1/root/usr/bin/gcc 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CPP&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/centos/devtoolset-1.1/root/usr/bin/cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CXX&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/centos/devtoolset-1.1/root/usr/bin/c++
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你想要gcc替换本地的，当然不是真的去替换，只要把他放在我们的/usrlocal/bin下面就好了，不必去管系统自带的【/usr/bin】。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ln -s /opt/rh/devtoolset-1.1/root/usr/bin/* /usr/local/bin/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hash -r
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gcc --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第二部分：升级到4.8【这个应该是目前最新的啦，不过网上查的话已经到5.2啦，感觉落后一点比较稳，当然还有就是这个版本是新的里面使用最多的】&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /etc/yum.repos.d
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://people.centos.org/tru/devtools-2/devtools-2.repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个将安装的文件放在了&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/opt/rh/devtoolset-2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果想要编辑器去处理的话，这样操作&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CC&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/rh/devtoolset-2/root/usr/bin/gcc 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CPP&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/rh/devtoolset-2/root/usr/bin/cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CXX&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/rh/devtoolset-2/root/usr/bin/c++
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你想要gcc替换本地的，当然不是真的去替换，只要把他放在我们的/usrlocal/bin下面就好了，不必去管系统自带的【/usr/bin】。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hash -r
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gcc --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个两个部分的路径变了【请看这里】：http://people.centos.org/tru/devtools-2/readme&lt;/p&gt;
&lt;p&gt;参考资料：http://superuser.com/questions/381160/how-to-install-gcc-4-7-x-4-8-x-on-centos&lt;/p&gt;</description></item><item><title>CentOS升级Python到2.7</title><link>https://zhangdapeng.dev/p/centos-sheng-ji-python-dao-27/</link><pubDate>Mon, 30 Jun 2025 14:31:03 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-sheng-ji-python-dao-27/</guid><description>&lt;p&gt;CentOS 6.3上安装的python版本是2.6，不能满足我运行软件的要求，所以对python进行升级。搜索一下了之后发现，也并不是那么单纯简单。&lt;/p&gt;
&lt;p&gt;下载，解压，编译，安装，这些都是常规操作了。据说系统自带的旧版本python被严重依赖，所以不能卸载原Python，这里选择全新安装.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -xvf Python-2.7.7.tgz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd Python-2.7.7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/python2.7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装好后可以运行一下Python看看是否正常了&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/local/python2.7/bin/python2.7 -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;接下来需要创建一个链接来使系统默认python变为python2.7。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ln -fs /usr/local/python2.7/bin/python /usr/bin/python
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;运行python查看版本&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-bashbash" data-lang="bashbash"&gt;python -V
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;进行更改后，yum果然无法运行了。修改/usr/bin/yum文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /usr/bin/yum
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将第一行的&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/usr/bin/python
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;中的python改为系统原有的python版本，我的如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/usr/bin/python2.6
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Samba在CentOS7下的图形化界面的安装</title><link>https://zhangdapeng.dev/p/samba-zai-centos7-xia-de-tu-xing-hua-jie-mian-de-an-zhuang/</link><pubDate>Mon, 30 Jun 2025 12:01:00 +0000</pubDate><guid>https://zhangdapeng.dev/p/samba-zai-centos7-xia-de-tu-xing-hua-jie-mian-de-an-zhuang/</guid><description>&lt;p&gt;第一步：下载 samba 的源码包&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/14/Everything/source/SRPMS/" target="_blank" rel="noopener"
 &gt;http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/14/Everything/source/SRPMS/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下载文件：&lt;/p&gt;
&lt;p&gt;system-config-samba-docs-1.0.9-1.fc14.src.rpm&lt;/p&gt;
&lt;p&gt;system-config-samba-0.99.47-1.fc14.src.rpm&lt;/p&gt;
&lt;p&gt;名称跟这个差不多的就可以，最好是下载最新的版本&lt;/p&gt;
&lt;p&gt;第二步：安装 rpm-build 的编译工具，目的是编译 rpm 包。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install -y rpm-build
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第三步：对源码包进行编译&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rpmbuild --rebuild system-config-samba-0.99.47-1.fc14.src.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rpmbuild --rebuild system-config-samba-docs-1.0.9-1.fc14.src.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：在编译过程中会提示错误信息，请根据对应的提示安装对应的依赖包，&lt;/p&gt;
&lt;p&gt;安装完执行同样的命令进行安装。&lt;/p&gt;
&lt;p&gt;在此rpmbuild/RPMS/noarch/目录下会生成对应的包，以.rpm结尾&lt;/p&gt;
&lt;p&gt;第四步：安装编译好的包,如下，实际可能名称不同&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rpm -ivh system-config-samba-1.2.90-1.el6.noarch.rpm system-config-samba-docs-1.0.9-1.el6.noarch.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第五步：经过一系列的安装配置，下一步就是打开 samba 的图形化界面了&lt;/p&gt;
&lt;p&gt;执行命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;system-config-samba/sudo system-config-samba
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>CentOS 安装php5.4.36+mysql5.5+apache2.4.10（二）</title><link>https://zhangdapeng.dev/p/centos-an-zhuang-php5436mysql55apache2410-er/</link><pubDate>Mon, 30 Jun 2025 12:00:42 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-an-zhuang-php5436mysql55apache2410-er/</guid><description>&lt;p&gt;1、MySQL 源码安装&lt;/p&gt;
&lt;p&gt;//================================&lt;/p&gt;
&lt;p&gt;下载源码：&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/" &gt;ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;此处下载：mysql-5.5.41.tar.gz&lt;/p&gt;
&lt;p&gt;//================================下载安装cmake&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://www.cmake.org/files/v3.1/cmake-3.1.0.tar.gz" target="_blank" rel="noopener"
 &gt;http://www.cmake.org/files/v3.1/cmake-3.1.0.tar.gz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;//================================编译安装cmake&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;安装 ncurses ncurses-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install ncurses ncurses-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;创建mysql的安装目录及数据库存放目录
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p /usr/local/mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p /usr/local/mysql/data
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;创建mysql用户及用户组
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;groupadd mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;useradd -r -g mysql mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;安装mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cmake . -DCMAKE_INSTALL_PREFIX&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/mysql -DMYSQL_DATADIR&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/alidata/mysql/data -DDEFAULT_CHARSET&lt;span style="color:#f92672"&gt;=&lt;/span&gt;utf8 -DDEFAULT_COLLATION&lt;span style="color:#f92672"&gt;=&lt;/span&gt;utf8_general_ci -DEXTRA_CHARSETS&lt;span style="color:#f92672"&gt;=&lt;/span&gt;all -DENABLED_LOCAL_INFILE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;设置目录权限
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chown -R root:mysql .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chown -R mysql:mysql data
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp support-files/my-medium.cnf /etc/my.cnf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;创建系统数据库的表
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;scripts/mysql_install_db --user&lt;span style="color:#f92672"&gt;=&lt;/span&gt;mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;设置环境变量
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /root/.bash_profile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;设置mysql启动服务
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp support-files/mysql.server /etc/init.d/mysqld
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;修改MySQL的root用户的密码以及打开远程连接
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt;use mysql;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt;desc user;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@&lt;span style="color:#e6db74"&gt;&amp;#34;%&amp;#34;&lt;/span&gt; IDENTIFIED BY &lt;span style="color:#e6db74"&gt;&amp;#34;root&amp;#34;&lt;/span&gt;;　　//为root添加远程连接的能力。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt;update user set Password &lt;span style="color:#f92672"&gt;=&lt;/span&gt; password&lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;xxxxxx&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;)&lt;/span&gt; where User&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt;select Host,User,Password from user where User&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt;flush privileges;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql&amp;gt;exit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2、安装apache2.4.10&lt;/p&gt;
&lt;p&gt;//=================apr安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-doc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以上第三个按照顺序解压安装&lt;/p&gt;
&lt;p&gt;apache2.4.10编译安装使用如下命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/httpd --with-pcre&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/pcre --sysconfdir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/etc --enable-so --enable-rewrite &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3、安装php5.4.36&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//安装gd扩展
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://liquidtelecom.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://sourceforge.net/projects/libpng/files/libpng16/1.6.16/libpng-1.6.16.tar.gz/download
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://down1.chinaunix.net/distfiles/gd-2.0.32.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;按照上面的顺序依次安装&lt;/p&gt;
&lt;p&gt;zlib安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/zlib --enable-shared &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;freetype安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/freetype --enable-shared &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;jpegsrc安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/jpeg --enable-shared &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;libpng安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/libpng --enable-shared &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;gd2安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/gd2 --enable-shared --with-zlib&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/zlib --with-freetype&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/freetype --with-jpeg&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/jpeg --with-png&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/png &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;解压安装php//不解释&lt;/p&gt;
&lt;p&gt;//================================&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install libxml2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install libxml2-devel -y
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/php --with-config-file-path&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/etc --with-gd --with-jpeg-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/jpeg/ --with-png-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/png/ --with-freetype-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/freetype --with-zlib-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/zlib/ --with-zlib --with-apxs2&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/httpd/bin/apxs --with-mysql&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/mysql --with-mysqli&lt;span style="color:#f92672"&gt;=&lt;/span&gt;mysqlnd --without-pear &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;configure能正常通过，make配置到最后报错：&lt;code&gt;make: *** [ext/gd/gd.lo] Error 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;据说这个错误是php5.4的bug:&lt;/p&gt;
&lt;p&gt;解决方法&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim /usr/local/gd2/include/gd_io.h
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;gdIOCtx结构中增加&lt;code&gt;void *data;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;如下:&lt;/p&gt;
&lt;p&gt;==========================================================&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;typedef&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;getC) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;getBuf) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#f92672"&gt;*&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;putC) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;putBuf) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#f92672"&gt;*&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;seek) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;long&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;tell) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;gd_free) (&lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; gdIOCtx &lt;span style="color:#f92672"&gt;*&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; (&lt;span style="color:#f92672"&gt;*&lt;/span&gt;data); &lt;span style="color:#75715e"&gt;//新增的内容
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gdIOCtx;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Centos 安装php5.4.36+mysql5.5+apache2.4.10（一）</title><link>https://zhangdapeng.dev/p/centos-an-zhuang-php5436mysql55apache2410-yi/</link><pubDate>Mon, 30 Jun 2025 12:00:41 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-an-zhuang-php5436mysql55apache2410-yi/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1、MySQL 源码安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;下载源码：
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;此处下载：mysql-5.5.41.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;解压//不解释
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;下载编译文件
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;http://www.cmake.org/files/v3.1/cmake-3.1.0.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;编译安装cmake
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;安装 ncurses ncurses-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;安装mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cmake . -DCMAKE_INSTALL_PREFIX&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/mysql -DMYSQL_DATADIR&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/alidata/mysql/data -DDEFAULT_CHARSET&lt;span style="color:#f92672"&gt;=&lt;/span&gt;utf8 -DDEFAULT_COLLATION&lt;span style="color:#f92672"&gt;=&lt;/span&gt;utf8_general_ci -DEXTRA_CHARSETS&lt;span style="color:#f92672"&gt;=&lt;/span&gt;all -DENABLED_LOCAL_INFILE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2、安装apache2.4.10
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;=================&lt;/span&gt;apr安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-doc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;以上第三个按照顺序解压安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apache2.4.10编译安装使用如下命令
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/apr
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3、安装php5.4.36
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//安装gd扩展
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://liquidtelecom.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://sourceforge.net/projects/libpng/files/libpng16/1.6.16/libpng-1.6.16.tar.gz/download
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://down1.chinaunix.net/distfiles/gd-2.0.32.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;按照上面的顺序依次安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;zlib安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/zlib &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;freetype安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/freetype &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;jpegsrc安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/jpeg &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;libpng安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/libpng &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gd2安装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/gd2 --with-zlib&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/zlib --with-freetype-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/freetype --with-jpeg-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/jpeg --with-libpng-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/libpng&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;解压安装php//不解释
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install libxml2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install libxml2-devel -y
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure --prefix&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/php --with-config-file-path&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/etc --with-gd&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/gd2 --with-freetype-dir&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/freetype --with-apxs2&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/apache2/bin/apxs --with-mysql&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/local/mysql --with-mysqli&lt;span style="color:#f92672"&gt;=&lt;/span&gt;mysqlnd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;//&lt;span style="color:#f92672"&gt;================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;待续。。。&lt;/p&gt;</description></item><item><title>CentOS上如何yum安装git</title><link>https://zhangdapeng.dev/p/centos-shang-ru-he-yum-an-zhuang-git/</link><pubDate>Fri, 27 Jun 2025 10:25:58 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-shang-ru-he-yum-an-zhuang-git/</guid><description>&lt;p&gt;&lt;code&gt;yum install git&lt;/code&gt; 出现错误，会报错出现类似下面的情况&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Setting up Install Process
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;No package git available.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Nothing to &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;原因是因为没有资源文件存在，搜索不到吧，解决办法如下：&lt;/p&gt;
&lt;p&gt;需要先添加EPEL(Extra Packages for Enterprise Linux) repository:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CentOS5.x 32-bit&lt;span style="color:#f92672"&gt;(&lt;/span&gt;x86/i386&lt;span style="color:#f92672"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CentOS5.x 64-bit&lt;span style="color:#f92672"&gt;(&lt;/span&gt;x64&lt;span style="color:#f92672"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CentOS6.x32-bit &lt;span style="color:#f92672"&gt;(&lt;/span&gt;x86/i386&lt;span style="color:#f92672"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CentOS6.x 64-bit&lt;span style="color:#f92672"&gt;(&lt;/span&gt;x64&lt;span style="color:#f92672"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;参考文章：&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://blog.csdn.net/laiahu/article/details/7516939" target="_blank" rel="noopener"
 &gt;http://blog.csdn.net/laiahu/article/details/7516939&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CentOS升级Python到2.7版本</title><link>https://zhangdapeng.dev/p/centos-sheng-ji-python-dao-27-ban-ben/</link><pubDate>Fri, 27 Jun 2025 10:25:55 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-sheng-ji-python-dao-27-ban-ben/</guid><description>&lt;p&gt;查看python的版本&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python -V
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Python 2.4.3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.先安装GCC&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum -y install gcc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2.下载Python-2.7.2&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3.解压Python-2.7.2&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -jxvf Python-2.7.2.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;4.进入刚解压后的文件夹(可使用命令):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd Python-2.7.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;5.安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make all
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make clean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make distclean
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;6.查看版本信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/local/bin/python2.7 -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;7.建立软连接，使系统默认的python指向python2.7&lt;/p&gt;
&lt;p&gt;正常情况下即使python2.7安装成功后，系统默认指向的python仍然是2.4.3版本，考虑到yum是基于python2.4.3才能正常工作，不敢轻易卸载。&lt;/p&gt;
&lt;p&gt;如何实现将系统默认的python指向到2.7版本呢？&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv /usr/bin/python /usr/bin/python2.4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ln -s /usr/local/bin/python2.7 /usr/bin/python
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;检验python指向是否成功&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;8.解决系统python软链接指向python2.7版本后，yum不能正常工作&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /usr/bin/yum
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将文件头部的&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/usr/bin/python
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;改成&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/usr/bin/python2.4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;参考文章：&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://my.oschina.net/zhangdapeng89/blog/86134" target="_blank" rel="noopener"
 &gt;http://my.oschina.net/zhangdapeng89/blog/86134&lt;/a&gt;&lt;/p&gt;</description></item><item><title>在CentOS上安装Git</title><link>https://zhangdapeng.dev/p/zai-centos-shang-an-zhuang-git/</link><pubDate>Fri, 27 Jun 2025 10:25:52 +0000</pubDate><guid>https://zhangdapeng.dev/p/zai-centos-shang-an-zhuang-git/</guid><description>&lt;p&gt;刚学了一下git在CentOS的安装方式，其实是这样子的，CentOS的yum源中没有git，只能自己编译安装，现在记录下编译安装的内容，留给自己备忘。&lt;/p&gt;
&lt;p&gt;确保已安装了依赖的包&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install curl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install curl-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install zlib-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install openssl-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install perl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install cpio
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install expat-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install gettext-devel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;下载最新的git包&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar xzvf git-latest.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd git-2011-11-30 ＃你的目录可能不是这个
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;autoconf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;检查下安装的版本，大功告成&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;参考文章：&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://www.ccvita.com/370.html" target="_blank" rel="noopener"
 &gt;http://www.ccvita.com/370.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CentOS下配置iptables防火墙</title><link>https://zhangdapeng.dev/p/centos-xia-pei-zhi-iptables-fang-huo-qiang/</link><pubDate>Mon, 23 Jun 2025 15:27:59 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-xia-pei-zhi-iptables-fang-huo-qiang/</guid><description>&lt;p&gt;在CentOS下配置iptables防火墙，是非常必要的。来我们学习如何配置！&lt;/p&gt;
&lt;p&gt;在Linux中设置防火墙，以CentOS为例，打开iptables的配置文件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /etc/sysconfig/iptables
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过/etc/init.d/iptables status命令查询是否有打开80端口，如果没有可通过两种方式处理：&lt;/p&gt;
&lt;p&gt;1.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2.关闭/开启/重启防火墙&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/etc/init.d/iptables stop &lt;span style="color:#75715e"&gt;#start 开启 #restart 重启&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3.永久性关闭防火墙&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chkconfig --level &lt;span style="color:#ae81ff"&gt;35&lt;/span&gt; iptables off /etc/init.d/iptables stop iptables -P INPUT DROP
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;4.打开主动模式21端口&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;iptables -A INPUT -p tcp --dport &lt;span style="color:#ae81ff"&gt;21&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;5.打开被动模式49152~65534之间的端口&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;iptables -A INPUT -i lo -j ACCEPT 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：&lt;/p&gt;
&lt;p&gt;一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口&lt;/p&gt;
&lt;p&gt;需要注意的是，你必须根据自己服务器的情况来修改这个文件。&lt;/p&gt;
&lt;p&gt;全部修改完之后重启iptables:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service iptables restart
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你可以验证一下是否规则都已经生效：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;iptables -L -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>戴尔PowerEdge 12G服务器是否支持CentOS系统的安装</title><link>https://zhangdapeng.dev/p/dai-er-poweredge-12g-fu-wu-qi-shi-fou-zhi-chi-centos-xi-tong-de-an-zhuang/</link><pubDate>Mon, 23 Jun 2025 15:27:15 +0000</pubDate><guid>https://zhangdapeng.dev/p/dai-er-poweredge-12g-fu-wu-qi-shi-fou-zhi-chi-centos-xi-tong-de-an-zhuang/</guid><description>&lt;p&gt;我们在采购戴尔服务器的时候，常常到遇到一些疑问，例如：PowerEdge 12G服务器能部署CentOS Linux不？有没有前辈实际安装实施过？具体版本要求？以及需要注意哪些？&lt;/p&gt;
&lt;p&gt;下面风信网整理了一些这方面信息给大家参考，首先大家都知道戴尔官方是支持RHEL的，我们需要明白RHEL和CentOS的关系：&lt;/p&gt;
&lt;p&gt;其实为什么有 CentOS？ CentOS 与 RHEL 有什么关系？&lt;/p&gt;
&lt;p&gt;RHEL 在发行的时候，有两种方式。一种是二进制的发行方式，另外一种是源代码的发行方式。&lt;/p&gt;
&lt;p&gt;无论是哪一种发行方式，你都可以免费获得（例如从网上下载），并再次发布。但如果你使用了他们的在线升级（包括补丁）或咨询服务，就必须要付费。&lt;/p&gt;
&lt;p&gt;RHEL 一直都提供源代码的发行方式，CentOS 就是将 RHEL 发行的源代码从新编译一次，形成一个可使用的二进制版本。由于 LINUX 的源代码是 GNU，所以从获得 RHEL 的源代码到编译成新的二进制，都是合法。只是 REDHAT 是商标，所以必须在新的发行版里将 REDHAT 的商标去掉。&lt;/p&gt;
&lt;p&gt;REDHAT 对这种发行版的态度是：“我们其实并不反对这种发行版，真正向我们付费的用户，他们重视的并不是系统本身，而是我们所提供的商业服务。”&lt;/p&gt;
&lt;p&gt;所以，CentOS 可以得到 RHEL 的所有功能，甚至是更好的软件。但 CentOS 并不向用户提供商业支持，当然也不负上任何商业责任。&lt;/p&gt;
&lt;p&gt;我正逐步将我的 RHEL 转到 CentOS 上，因为我不希望为 RHEL 升级而付费。当然，这是因为我已经有多年的 UNIX 使用经验，因此 RHEL 的商业技术支持对我来说并不重要。&lt;/p&gt;
&lt;p&gt;但如果你是单纯的业务型企业，那么我还是建议你选购 RHEL 软件并购买相应服务。这样可以节省你的 IT 管理费用，并可得到专业服务。&lt;/p&gt;
&lt;p&gt;一句话，选用 CentOS 还是 RHEL，取决于你所在公司是否拥有相应的技术力量。&lt;/p&gt;
&lt;p&gt;戴尔的官方说法：&lt;/p&gt;
&lt;p&gt;所以，我们不难得出一个结论，CentOS其实就是RHEL代码重新编译的一种衍生版的Linux操作系统。我们应该可以从戴尔12代服务器对 RHEL的支持，间接地得出其对应CentOS支持的大致情况。当然这个不能保证100%完全一致，重新编译也可能略有不同，但已十之八九。&lt;/p&gt;
&lt;p&gt;请查阅戴尔服务器的系统兼容表：戴尔PowerEdge服务器对操作系统支持的兼容性矩阵表&lt;/p&gt;
&lt;p&gt;其中RHEL兼容性查询见：https://hardware.redhat.com/list.cgi?product=Red%20Hat%20Hardware%20Certification&amp;amp;quicksearch=dell&amp;amp;showall=1&lt;/p&gt;
&lt;p&gt;通过RHEL的兼容性，我们就可以大致了解CentOS版本对应12G服务器的支持&lt;/p&gt;
&lt;p&gt;比如：PowerEdge R720支持RHEL的情况如下，你猜CentOS会怎样呢？&lt;/p&gt;
&lt;p&gt;抽空做了个实例测试&lt;/p&gt;
&lt;p&gt;我们看出戴尔PowerEdge 12G服务器在RHEL x_64支持6.1 以上版本，所以我的测试特意下载了CentOS发布的最新的x_64 6.4版&lt;/p&gt;
&lt;p&gt;ISO文件可以非常方便地在www.centos.org 上下载&lt;/p&gt;
&lt;p&gt;测试环境，戴尔标准的PowerEdge R620，H710p，Broadcom BCM5720。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;结论：CentOS提供了戴尔PowerEdge R620的系统原生驱动支持（Native driver support），即安装盘已经带有所有需要的驱动，包括PERC，网卡等。过程非常简单，无需额外的周折&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>CentOS中安装Python-PIP</title><link>https://zhangdapeng.dev/p/centos-zhong-an-zhuang-python-pip/</link><pubDate>Fri, 20 Jun 2025 11:50:54 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-zhong-an-zhuang-python-pip/</guid><description>&lt;p&gt;首先要安装 Setuptools&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget --no-check-certificate https://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo sh ./setuptools-0.6c11-py2.6.egg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装PIP&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.4.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -zxvf ./pip-1.4.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd pip-1.4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo python setup.py install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>CentOS搭建 使用uwsgi+nginx 配置django</title><link>https://zhangdapeng.dev/p/centos-da-jian-shi-yong-uwsginginx-pei-zhi-django/</link><pubDate>Fri, 20 Jun 2025 11:07:34 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-da-jian-shi-yong-uwsginginx-pei-zhi-django/</guid><description>&lt;p&gt;记录这篇文章的前提是，uwsgi的环境，nginx的环境和django框架都已经搭建完毕了。不会的自己可以去google&lt;/p&gt;
&lt;p&gt;1，项目创建&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo django-admin.py startproject walkerfree
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2,配置nginx server&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;server_name&lt;/span&gt; &lt;span style="color:#e6db74"&gt;www.walkerfree.com&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;index&lt;/span&gt; &lt;span style="color:#e6db74"&gt;index.html&lt;/span&gt; &lt;span style="color:#e6db74"&gt;index.htm&lt;/span&gt; &lt;span style="color:#e6db74"&gt;default.html&lt;/span&gt; &lt;span style="color:#e6db74"&gt;default.htm&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;root&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/home/wwwroot/walkerfree/walkerfree&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;access_log&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/home/wwwlogs/www.walkerfree.access.log&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;error_log&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/home/wwwlogs/www.walkerfree.error.log&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;include&lt;/span&gt; &lt;span style="color:#e6db74"&gt;uwsgi_params&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;uwsgi_pass&lt;/span&gt; &lt;span style="color:#e6db74"&gt;unix://tmp/walkerfree.socket&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; &lt;span style="color:#e6db74"&gt;^~&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/static/&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;root&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/home/wwwroot/walkerfree/&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; ~ &lt;span style="color:#e6db74"&gt;^.+\.(gif|jpg|png|ico|jpeg)$&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;expires&lt;/span&gt; &lt;span style="color:#e6db74"&gt;3d&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; ~ &lt;span style="color:#e6db74"&gt;^.+\.(css|js)$&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;expires&lt;/span&gt; &lt;span style="color:#e6db74"&gt;12h&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3,配置项目的uwsgi启动设置&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[uwsgi]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;socket&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/tmp/walkerfree.socket&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#http=127.0.0.1:9090&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;chdir&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;/home/wwwroot/walkerfree&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;module&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;walkerfree.wsgi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;master&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;pidfile&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;/tmp/uwsgi.pid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;vacuum&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;max-requests&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;5000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;daemonize&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;/home/wwwlogs/walkerfree-uwsgi.log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;4，启动uwsgi，启动nginx(root角色)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nginx -s reload
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uwsgi --ini /usr/local/etc/uwsgi/walkerfree-uwsgi.ini
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;5,启动成功&lt;/p&gt;</description></item><item><title>CentOS下iptables必须懂的知识点</title><link>https://zhangdapeng.dev/p/centos-xia-iptables-bi-xu-dong-de-zhi-shi-dian/</link><pubDate>Fri, 20 Jun 2025 09:51:58 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-xia-iptables-bi-xu-dong-de-zhi-shi-dian/</guid><description>&lt;ol&gt;
&lt;li&gt;基本操作：启用防火墙&lt;br&gt;
这里的指令都是从 Linux 控制终端（命令行）直接输入的。&lt;br&gt;
输入下面的两条指令来启用防火墙：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chkconfig iptables on
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service iptables start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其中上一条是将 iptables 加入到系统服务，随系统启动而启动；下一条是直接启动 iptables 服务。&lt;br&gt;
重起防火墙：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service iptables restart
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;停止防火墙：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service iptables stop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2,配置 /etc/sysconfig/iptables 文件&lt;br&gt;
虽然可以通过 iptables 指令来编辑防火墙规则，可是对于大量的规则来说一条一条的输入总是很麻烦，实际上可以直接按照正确格式编辑 iptables 的配置文件，然后重新加载 iptables 即可使之生效。&lt;br&gt;
要编辑 /etc/sysconfig/iptables，输入：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# vi /etc/sysconfig/iptables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;可以看到文件中存储的前述默认规则显示如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;*filter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:INPUT ACCEPT &lt;span style="color:#f92672"&gt;[&lt;/span&gt;0:0&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:FORWARD ACCEPT &lt;span style="color:#f92672"&gt;[&lt;/span&gt;0:0&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:OUTPUT ACCEPT &lt;span style="color:#f92672"&gt;[&lt;/span&gt;0:0&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:RH-Firewall-1-INPUT - &lt;span style="color:#f92672"&gt;[&lt;/span&gt;0:0&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A INPUT -j RH-Firewall-1-INPUT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A FORWARD -j RH-Firewall-1-INPUT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -i lo -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -p udp --dport &lt;span style="color:#ae81ff"&gt;5353&lt;/span&gt; -d 1.2.3.4 -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -p udp -m udp --dport &lt;span style="color:#ae81ff"&gt;53&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport &lt;span style="color:#ae81ff"&gt;22&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport &lt;span style="color:#ae81ff"&gt;53&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;COMMIT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其中 -j 参数表示 jump 跳转到。&lt;/p&gt;
&lt;p&gt;可以看到其中的规则形式与我们通过命令行来输入的规则是一样的，因为启用 iptables 的时候就是将此文件中的指令一行一行的自动加载的，就像批处理一样。&lt;/p&gt;</description></item><item><title>CentOS下安装uWSGI</title><link>https://zhangdapeng.dev/p/centos-xia-an-zhuang-uwsgi/</link><pubDate>Thu, 19 Jun 2025 13:55:10 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-xia-an-zhuang-uwsgi/</guid><description>&lt;p&gt;第一步：首先是下载文件：&lt;/p&gt;
&lt;p&gt;下载地址&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://projects.unbit.it/downloads/" target="_blank" rel="noopener"
 &gt;http://projects.unbit.it/downloads/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这里面有你自己想要的文件版本&lt;/p&gt;
&lt;p&gt;第二步：执行两条命令&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install python python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第三步：解压安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -zxvf uwsgi-0.9.6.5.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv uwsgi-0.9.6.5/ uwsgi/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd uwsgi/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo python setup.py build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第四步：将安装成功的uwsgi文件copy一份到自己使用bin目录下，我的是copy到了/usr/local/bin目录&lt;/p&gt;
&lt;p&gt;第五步：测试是否安装成功&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uwsgi --help
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;会打印出类似下面的信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Usage: /usr/local/bin/uwsgi &lt;span style="color:#f92672"&gt;[&lt;/span&gt;options...&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -s|--socket bind to the specified UNIX/TCP socket using default protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -s|--uwsgi-socket bind to the specified UNIX/TCP socket using uwsgi protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --http-socket bind to the specified UNIX/TCP socket using HTTP protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --http-socket-modifier1 force the specified modifier1 when using HTTP protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --http-socket-modifier2 force the specified modifier2 when using HTTP protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --fastcgi-socket bind to the specified UNIX/TCP socket using FastCGI protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --fastcgi-nph-socket bind to the specified UNIX/TCP socket using FastCGI protocol &lt;span style="color:#f92672"&gt;(&lt;/span&gt;nph mode&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --fastcgi-modifier1 force the specified modifier1 when using FastCGI protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --fastcgi-modifier2 force the specified modifier2 when using FastCGI protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --scgi-socket bind to the specified UNIX/TCP socket using SCGI protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --scgi-nph-socket bind to the specified UNIX/TCP socket using SCGI protocol &lt;span style="color:#f92672"&gt;(&lt;/span&gt;nph mode&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --scgi-modifier1 force the specified modifier1 when using SCGI protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --scgi-modifier2 force the specified modifier2 when using SCGI protocol
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --protocol force the specified protocol &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; default sockets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --socket-protocol force the specified protocol &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; default sockets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --shared-socket create a shared sacket &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; advanced jailing or ipc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --undeferred-shared-socket create a shared sacket &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; advanced jailing or ipc &lt;span style="color:#f92672"&gt;(&lt;/span&gt;undeferred mode&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p|--processes spawn the specified number of workers/processes
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p|--workers spawn the specified number of workers/processes
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--More--
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装成功&lt;/p&gt;</description></item><item><title>CentOS FTP服务（vsftpd）配置</title><link>https://zhangdapeng.dev/p/centos-ftp-fu-wu-vsftpd-pei-zhi/</link><pubDate>Wed, 11 Jun 2025 11:39:24 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-ftp-fu-wu-vsftpd-pei-zhi/</guid><description>&lt;h2 id="安装"&gt;&lt;a class="link" href="#1" &gt;安装&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;一般在CentOS上都自动安装了vsftd，若没有安装则可以使用以下步骤进行安装&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum -y install vsftpd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;touch /var/log/vsftpd.log &lt;span style="color:#75715e"&gt;# 创建vsftp的日志文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在CentOS中，这样就可以完成了一个简单的匿名FTP的搭建。你可以通过访问ftp://yourip 来进行，不过这个FTP没有任何权限。&lt;/p&gt;
&lt;h2 id="基于匿名的ftp架设"&gt;&lt;a class="link" href="#2" &gt;基于匿名的FTP架设&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;参考其他关于Vsftpd的CentOS FTP服务配置文章。&lt;/p&gt;
&lt;p&gt;3.基于虚拟用户的FTP架设&lt;/p&gt;
&lt;p&gt;所谓虚拟用户就是没有使用真实的帐户，只是通过某种手段达到映射帐户和设置权限的目的。&lt;/p&gt;
&lt;p&gt;1）我们在/etc/vsftpd/vsftpd.conf中做如下CentOS FTP服务配置：&lt;/p&gt;
&lt;p&gt;anonymous_enable=NO 设定不允许匿名访问&lt;/p&gt;
&lt;p&gt;chroot_list_enable=YES 使用户不能离开主目录&lt;/p&gt;
&lt;p&gt;xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意，该文件默认不存在。必须要手动touch出来&lt;/p&gt;
&lt;p&gt;ascii_upload_enable=YES&lt;/p&gt;
&lt;p&gt;ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。&lt;/p&gt;
&lt;p&gt;local_enable=YES 设定本地用户可以访问。注：如使用虚拟宿主用户，在该项目设定为NO的情况下所有虚拟用户将无法访问。&lt;/p&gt;
&lt;p&gt;pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证&lt;/p&gt;
&lt;p&gt;以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。默认vsftpd.conf中不包含这些设定项目，需要自己手动添加CentOS FTP服务配置。&lt;/p&gt;
&lt;p&gt;guest_enable=YES 设定启用虚拟用户功能。&lt;/p&gt;
&lt;p&gt;guest_username=ftp 指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了&lt;/p&gt;
&lt;p&gt;user_config_dir=/etc/vsftpd/vuser_conf 设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)&lt;/p&gt;
&lt;p&gt;2）创建chroot list，将用户ftp加入其中：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;touch /etc/vsftpd/chroot_list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo ftp &amp;gt;&amp;gt; /etc/vsftpd/chroot_list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3）进行认证：&lt;/p&gt;
&lt;p&gt;首先，安装Berkeley DB工具，很多人找不到db_load的问题就是没有安装这个包。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yum install db4 db4-utils
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后，创建用户密码文本/etc/vsftpd/vuser_passwd.txt ，注意奇行是用户名，偶行是密码&lt;/p&gt;
&lt;p&gt;ftpuser1&lt;br&gt;
ftppass1&lt;br&gt;
ftpuser2&lt;br&gt;
ftppass2&lt;/p&gt;
&lt;p&gt;接着，生成虚拟用户认证的db文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;随后，编辑认证文件/etc/pam.d/vsftpd，全部注释掉原来语句&lt;br&gt;
再增加以下两句&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;auth required pam_userdb.so db&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/etc/vsftpd/vuser_passwd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;account required pam_userdb.so db&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/etc/vsftpd/vuser_passwd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最后，创建虚拟用户个性CentOS FTP服务文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir /etc/vsftpd/vuser_conf/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi /etc/vsftpd/vuser_conf/ftpuser1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;内容如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;local_root&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/opt/var/ftp1 虚拟用户的根目录&lt;span style="color:#f92672"&gt;(&lt;/span&gt;根据实际修改&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;write_enable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;YES 可写
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;anon_umask&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;022&lt;/span&gt; 掩码
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;anon_world_readable_only&lt;span style="color:#f92672"&gt;=&lt;/span&gt;NO
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;anon_upload_enable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;YES
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;anon_mkdir_write_enable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;YES
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;anon_other_write_enable&lt;span style="color:#f92672"&gt;=&lt;/span&gt;YES
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="启动vsftp服务器"&gt;&lt;a class="link" href="#3" &gt;启动vsftp服务器&lt;/a&gt;
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir /opt/var/ftp/ftpuser1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod &lt;span style="color:#ae81ff"&gt;777&lt;/span&gt; /opt/var/ftp/ftpuser1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service vsftpd start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="常见错误"&gt;&lt;a class="link" href="#1" &gt;常见错误：&lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="553-could-not-create-file"&gt;&lt;a class="link" href="#1-1" &gt;553 Could not create file&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;一般都是SELinux的问题，设置SELinux的一个值，重启服务器即可。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;setsebool -P ftpd_disable_trans &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service vsftpd restart
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="500-oops-bad-bool-value-in-config-file-for-write_enable"&gt;&lt;a class="link" href="#1-2" &gt;500 OOPS: bad bool value in config file for: write_enable&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;注意你的CentOS FTP服务文件中保证每一行最后没有任何空格，一般出错就是在多余的空格上。&lt;br&gt;
更改端口号：listen_port=端口号 （需要自己添加）&lt;br&gt;
欢迎信息：ftpd_banner=欢迎信息&lt;br&gt;
====================================================================&lt;br&gt;
权限问题：&lt;br&gt;
当virtual_use_local_privs=YES时，虚拟用户和本地用户有相同的权限；&lt;br&gt;
当virtual_use_local_privs=NO时，虚拟用户和匿名用户有相同的权限，默认是NO。&lt;br&gt;
当virtual_use_local_privs=YES，write_enable=YES时，虚拟用户具有写权限（上传、下载、删除、重命名）。&lt;br&gt;
当virtual_use_local_privs=NO，write_enable=YES，anon_world_readable_only=YES，&lt;br&gt;
anon_upload_enable=YES时，虚拟用户不能浏览目录，只能上传文件，无其他权限。&lt;br&gt;
当virtual_use_local_privs=NO，write_enable=YES，anon_world_readable_only=NO，&lt;br&gt;
anon_upload_enable=NO时，虚拟用户只能下载文件，无其他权限。&lt;br&gt;
当virtual_use_local_privs=NO，write_enable=YES，anon_world_readable_only=NO，&lt;br&gt;
anon_upload_enable=YES时，虚拟用户只能上传和下载文件，无其他权限。&lt;br&gt;
当virtual_use_local_privs=NO，write_enable=YES，anon_world_readable_only=NO，&lt;br&gt;
anon_mkdir_write_enable=YES时，虚拟用户只能下载文件和创建文件夹，无其他权限。&lt;br&gt;
当virtual_use_local_privs=NO，write_enable=YES，anon_world_readable_only=NO，&lt;br&gt;
anon_other_write_enable=YES时，虚拟用户只能下载、删除和重命名文件，无其他权限。&lt;br&gt;
一些RadHat版本是默认打开SeLinux的。这个东西有加强安全性的同时很讨厌，比如让配置好的vsftpd无法正常登录。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#setsebool -P ftpd_disable_trans 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重启FTP服务~&lt;br&gt;
&lt;strong&gt;IP限制的方法&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;vsftpd中的配置需要 tcp_wrappers=YES&lt;/p&gt;
&lt;p&gt;/etc/hosts.allow 中加入允许的IP&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vsftpd : IP1 IP2 : allow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;/etc/hosts.deny 中屏蔽所有IP&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vsftpd : ALL : deny
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重启服务 &lt;code&gt;service xinetd restart&lt;/code&gt; （此服务应该开机启动！）&lt;/p&gt;
&lt;p&gt;来源：http://blog.sina.com.cn/s/blog_50e52c230100l9sx.html&lt;/p&gt;</description></item><item><title>CentOS下SVN的配置</title><link>https://zhangdapeng.dev/p/centos-xia-svn-de-pei-zhi/</link><pubDate>Thu, 05 Jun 2025 17:31:37 +0000</pubDate><guid>https://zhangdapeng.dev/p/centos-xia-svn-de-pei-zhi/</guid><description>&lt;p&gt;在终端运行svn命令.如果没有安装,系统会提示安装&lt;/p&gt;
&lt;p&gt;1.首先需要安装Subversion软件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt-get install subversion
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2.建立一个文件夹作为版本库的根目录&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir /var/svnroot/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个目录本身不是版本库，只是拿来装版本库的目录&lt;/p&gt;
&lt;p&gt;3.进入这个目录，创建版本库&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /var/svnroot/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;svnadmin create mysvn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以后如果有多个项目，可以继续在/var/svnroot/下面create新的版本库&lt;/p&gt;
&lt;p&gt;4.配置vlink&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /var/svnroot/vlink/conf/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将会看到以下文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;authz passwd svnserve.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;首先编辑 svnserve.conf&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim svnserve.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其中 anon-access 表示 匿名用户的权限，auth-access 表示经过认证的用户的权限。去掉前面的#注释，顶格写。一般说来像这样就可以了：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;anon-access &lt;span style="color:#f92672"&gt;=&lt;/span&gt; none
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;auth-access &lt;span style="color:#f92672"&gt;=&lt;/span&gt; write
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后看到下面有 password-db 这个配置项。 这个是配置使用的密码文件。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;password-db &lt;span style="color:#f92672"&gt;=&lt;/span&gt; passwd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;为了以后多个版本库同时运行，建议改这个文件到 /var/svnroot/下面。比如： /var/svnroot/passed&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;password-db &lt;span style="color:#f92672"&gt;=&lt;/span&gt;/var/svnroot/passed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同理，authz-db这个也是，像这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/var/svnroot/authz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后有个东西叫做realm，这个貌似是连接svn服务器的时候的提示句子。。不过设置成vlink的名字肯定没错。比如 vlink&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;realm &lt;span style="color:#f92672"&gt;=&lt;/span&gt; vlink
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其他的不管。保存退出。&lt;/p&gt;
&lt;p&gt;5.编辑 /var/svnroot/passwd
这个简单，像这样就可以了：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;users&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;username&lt;span style="color:#f92672"&gt;=&lt;/span&gt;password
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;username&lt;span style="color:#f92672"&gt;=&lt;/span&gt;password
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;6.启动svnserve&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo svnserve -d -r /var/svnroot/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;-r&lt;/code&gt; 后面的参数是svnroot位置，而不是某个版本库的位置
要关闭svnserve可以直接用 kill 结束掉那个进程&lt;/p&gt;
&lt;p&gt;7.Configure iptables
如果服务器上设置了iptables的话,你需要开启3690端口.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;iptables -A INPUT -p tcp -i eth0 --dport &lt;span style="color:#ae81ff"&gt;3690&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/sbin/iptables -A INPUT -p tcp -i eth0 --dport &lt;span style="color:#ae81ff"&gt;3690&lt;/span&gt; -j ACCEPT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看ipatbles: iptables -L 如果出现下面一行表示设置成功了:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;… ACCEPT tcp – anywhere anywhere tcp dpt:svn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;8.测试 在本地 &lt;code&gt;svn co svn://xxx.xxx.xxx.xxx/vlink –username xxx –password xxx&lt;/code&gt;
如果还有问题的我建议是将svnserve.conf文件中的有关authz注释掉，在测试。
我做的时候是有上面的问题，后来师兄注释掉后就好了，具体我也不明白什么原因
如何将想要的svn库中文件备份导出和导入呢（这里我没有测试过，大家可以测试一下，我们共同探讨）&lt;/p&gt;
&lt;p&gt;9.将原来的Repository导出为一个文件dumpfile&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;svnadmin dump path/to/old-repo &amp;gt; dumpfile.svn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;10.将dumpfile导入到新的Repository&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;svnadmin load path/to/new-repo &amp;lt; dumpfile.svn
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;11.本机svn的快速迁移方法:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;svnadmin hotcopy old_rep_path new_rep_path
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;12.将原先服务器的配置文件备份后复制到新服务器中
&lt;code&gt;/etc/httpd/conf.d/subversion.conf&lt;/code&gt;
还有repository目录下的authfile、auth.conf也需要备份后复制到新服务器中&lt;/p&gt;
&lt;p&gt;13.linux下重新定位SVN URL方法:
如果更换了SVN服务器，就需要重新定位，指向新的SVN URL。
重新定位命令：&lt;code&gt;svn switch --relocate&lt;/code&gt; 原svn地址 新svn地址
如何查看原svn地址？
查看原svn路径方法：&lt;code&gt;svn info&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>