1. 程式人生 > >Linux20180421五周第二次課(4月19日)

Linux20180421五周第二次課(4月19日)

源碼的編譯和安裝


五周第二次課(4月19日)

7.6 yum更換國內源
7.7 yum下載rpm包
7.8/7.9 源碼包安裝
擴展
1. 配置yum源優先級 http://ask.apelearn.com/question/7168
2. 把源碼包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm



yum更換國內源

技術分享圖片


所謂更改國內源就是把安裝的地址換成國內的服務器。做法就是更換CentOS7-Base文件為163的文件。

技術分享圖片

打開可以看到實際上是把原先的源地址給註釋掉了,

然後使用的是163的地址。


技術分享圖片

所謂安裝擴展源就是基礎源base不夠用的時候安裝的一些額外的包的來源

技術分享圖片

安裝完之後就會看到目錄下的文件變多了

技術分享圖片

可以看到,實際上這個源是fedora的源

技術分享圖片

技術分享圖片


yum下載rpm包

技術分享圖片

可以使用yum -y 包名 --downloadonly 來下載

默認位置是

/var/cache/yum/x86-64/7/updates/packages

如下載的包已經被安裝過了則會提示nothing to do

技術分享圖片

技術分享圖片

當然可以修改下載的地址

使用 --downloaddir選項


yum install -y 包名 --downloadonly --downloaddir=/tmp/

技術分享圖片


如果想重新下載的話,可以使用 yum reinstall --downloadonly



源碼包的安裝

技術分享圖片

首先確定一個固定的下載源碼文件的地址

cd /usr/local/src


然後用wget 下載文件包

技術分享圖片

然後解壓之後到解壓後的文件夾去看看

技術分享圖片

README通常是用作介紹軟件的用途

而INSTALL一般是介紹如何安裝

技術分享圖片

按照上面流程直接進行安裝就可以,一步一步往下,但是深究一下可以使用--help看看都有哪些東西

技術分享圖片

直接安裝,但是出現了error。這裏有一個小的命令技巧就是 echo $? 如果前一條執行的沒有問題則會顯示為0,否則就有錯。

技術分享圖片

技術分享圖片

這個地方需要特別說一下。我安裝的時候依次出現了以下錯誤:

apr。。。no apr是apache portable runtime library 這個按照官方說法是這樣的

技術分享圖片

於是我就找到了源碼包下載下來,並修改名字後放到了srclib目錄下,並運行./configure --prefix=/usr/local/apache2

然後出現了若幹錯誤,最下面是錯誤的解決方案。反正都解決了

然後是make,make 了很久

最後make install 最後沒問題,每一步都要用 echo $? 來進行檢查確定都是0才行

技術分享圖片


在編譯的過程中又先後出現了錯誤,比如pre包,安裝yum install pcre pcre-devel

gcc報錯 yum install gcc

expat.h 報錯 yum install expat expat-devel

最後這個錯誤確實搞了很久

collect2: ld returned 1 exit status make[2]: *** [htpasswd] ?? 1 make[2]: Leaving directory `/usr/local/src/httpd-2.4.26/support'

make[1]: *** [all-recursive] ?? 1 make[1]: Leaving directory `/usr/local/src/httpd-2.4.26/support' make: *** [all-recursive] ?? 1

最後是把apr apr-util重新下載了1.5版本後重新編譯後才成功。



overall

./configure --prefix=路徑是確定安裝路徑


make是編譯


make install 把編譯完成的二進制以及其他的配置文件等放入prefix指定目錄



Linux20180421五周第二次課(4月19日)