centos7lamp源碼編譯
❶ CentOS 7 怎樣安裝或升級最新的內核
一、使用 elrepo 的rpm包升級
查看當前系統內核版本 uname -r
1. 導入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 安裝 elrepo 的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3. 安裝內核
在yum的elrepo源中,有最新版本內核。直接yum安裝即可。
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設置系統啟動順序
查看系統啟動項:
cat /boot/grub2/grub.cfg |grep menuentry
可以發現有最新版本的內核,此時可以設置最新版本內核為默認啟動:
grub2-set-default 'CentOS linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此時,查看默認啟動的系統版本grub2-editenv list:
顯示為'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot,重啟之後再次查看 uname -r
二、使用源碼編譯安裝升級
1 下載內核源碼
下載網址為 https://www.kernel.org/
wget xxx
2 解壓並進入源碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 將當前內核配置文件拷貝到當前目錄
本來是應該執行make menuconfig來自定義內核配置的,生成配置文件.config; 但是可以直接使用原來系統的內核配置,也就是拷貝/boot目錄下的配置文件到當前目錄。
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用當前內核的配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make moles
#make moles_install
#make install
7 設置系統啟動順序
查看系統啟動項:
cat /boot/grub2/grub.cfg |grep menuentry
可以發現有最新版本的內核,此時可以設置最新版本內核為默認啟動:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此時,查看默認啟動的系統版本grub2-editenv list:
顯示為'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot,重啟之後再次查看 uname -r
❷ centos7系統源碼編譯安裝php7.3.5版本
新增系統用戶組和用戶:
下載 PHP7.3.5
[root@localhost ~]# mkdir devdir
[root@localhost ~]# cd devdir/
[root@localhost devdir]# wget https://www.php.net/distributions/php-7.3.5.tar.gz
-bash: wget: 未找到命令
[root@localhost devdir]# rpm -qa|grep wget
[root@localhost devdir]# yum -y install wget
[root@localhost devdir]# rpm -qa|grep wget
wget-1.14-18.el7.x86_64
下載PHP7 解壓 編譯
wget -c https://downloads.php.net/~cmb/php-7.3.4.tar.gz
編譯參數解釋
--with-fpm-user=webu --with-fpm-group=webg 添加PHP運行用戶和用戶組
配置信息出錯:
下載gcc軟體編譯器 yum install -y gcc
configure: error: libxml2 not found. Please check your libxml2 installation.
下載libzip-1.5.2.tar.gz
https://libzip.org/download/libzip-1.5.2.tar.gz
解決libzip 和cmake版本問題
重新配置PHP7編譯環境參數
libzip-1.5.2 無法安裝,已經取消了。
提示off_t類型沒有定義 undefind,解決方法:
編譯安裝
測試PHP是否安裝成功
轉載自:https://my.oschina.net/u/4127346/blog/3047778
❸ centos7編譯php出現問題 系統:CENTOS7 64位 PHP版本:7.1.0 APACHE版本:2.4.25 MYsql版
1、php的編譯問題主要是依賴包沒有提前安裝
2、如果依賴mysql,就先安裝mysql-devel或編譯mysql
3、需要提前安裝的有,不能寫太細,太細會被度娘屏蔽:
yasm-1.3.0.tar.gz
libmcrypt-2.5.8.tar.gz
libvpx-v1.3.0.tar.bz2
tiff-4.0.3.tar.gz
libpng-1.6.16.tar
freetype-2.5.4.tar.gz
jpegsrc.v9a.tar.gz
libgd-2.2.3.tar.gz
t1lib-5.1.2.tar.gz
4、安裝編譯php
5、安裝php後有一些優化包根據需要安裝
❹ centos7怎麼編譯安裝gcc-c++
下為最近升級gcc4.9.2的實際操作步驟
環境: CentOS-7.2 , 當前版本為gcc-4.8.5,用root進行安裝
1、先要執行下面這一條命令,安裝g++:
yum install gcc-c++
2、 gcc 編譯需要三個額外庫gmp、mpfr、mpc,下載並按照下面的順序安裝它們,如下:
wget ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.3.tar.gz
wget ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.gz
wget http://www.multiprecision.org/mpc/download/mpc-1.0.tar.gz
tar -zxvf gmp-5.1.3.tar.gz
cd gmp-5.1.3
./configure
make && make install
cd ..
tar -zxvf mpfr-3.1.2.tar.gz
cd mpfr-3.1.2
./configure
make && make install
cd ..
tar -zxvf mpc-1.0.tar.gz
cd mpc-1.0
./configure
make && make install
cd ..
3、安裝gcc:
wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2
tar -jxvf gcc-4.9.2.tar.bz2
cd gcc-4.9.2
./contrib/download_prerequisites
cd ..
mkdir gcc-build-4.9.2
cd gcc-build-4.9.2
../gcc-4.9.2/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install
4、修改/usr/bin/下gcc版本
執行/usr/bin/gcc --version查看版本:
gcc (GCC) 4.4.7-4
/usr/local/bin/gcc --version:
gcc (GCC) 4.8.2
發現多個版本的gcc。
此時執行以下操作:
mv /usr/bin/gcc /usr/bin/gcc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++4.4.7
ln -s /usr/local/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/C++4.4.7
ln -s /usr/local/bin/c++ /usr/bin/c++
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
5、檢查動態庫:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
❺ 如何升級centos7內核並且編譯
、使用 elrepo rpm包升級
查看前系統內核版本 uname -r
1. 導入key
rpm --import
2. 安裝 elrepo yum源
rpm -Uvh
3. 安裝內核
yumelrepo源新版本內核直接yum安裝即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重啟再查看 uname -r
二、使用源碼編譯安裝升級
1 載內核源碼
載網址
wget xxx
2 解壓並進入源碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前內核配置文件拷貝前目錄
本應該執行make menuconfig自定義內核配置配置文件.config; 直接使用原系統內核配置拷貝/boot目錄配置文件前目錄
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前內核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make moles
#make moles_install
#make install
7 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重啟再查看 uname -r
-
❻ centos7怎麼編譯安裝gcc-c++
方法/步驟
1
yum install glibc-static libstdc++-static -y
安裝c和c++的靜態庫(據說如果系統中缺少libc.a和libstdc++.a編譯時會出錯,但是我沒有那麼多閑情逸致去試,實踐過的朋友可以回復一下,分享一下經驗,讓大家都長長見識)
2
下載解壓gcc,我的gcc目錄是gcc-4.8.0
3
進入gcc目錄,執行:
./contrib/download_prerequisites
這個神奇的腳本文件會幫我們下載、配置、安裝那三個依賴的庫。可以節約我們大量的時間和精力。
4
你以為這三個庫自動下載了、自動make install了就沒事了嗎?錯!
很多人在編譯gcc的時候出現各種奇奇怪怪的錯誤就是這步沒有做好。
它們還不在.so文件的搜索路徑裡面,需要加進去,最後切記切記一定要執行一下ldconfig。
大致做法為:
1,找到你的共享庫文件被install到哪個目錄了(updatedb+locate命令)。
2,如果你的庫不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享庫的路徑
3,如果在2中添加了共享庫路徑,切記要執行一下ldconfig,更新響應cache文件讓系統能找到你的共享庫。
5
建立臨時目錄,這個目錄用以存放編譯時的大量臨時文件,是文檔要求中必須的。
我是在gcc-4.8.0下建立了一個名為gcc-build-4.8.0的目錄,進入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc編譯選項
6
強烈建議閱讀INSTALL目錄下的說明文檔,尤其是configure.html,以確定你的編譯選項。
比較基本的選項有--enable-languages,說明你要讓你的gcc支持那些語言,--disable-multilib不生成編譯為其他平台可執行代碼的交叉編譯器。--disable-checking生成的編譯器在編譯過程中不做額外檢查,也可以使用--enable-checking=xxx來增加一些檢查。
網上還說了什麼--with-gmp、--with-mpfr、--with-mpc這三個選項,但是如果你3,4步做好了,就不要配了,反之你還是老實點吧別抱僥幸心理了。
調用gcc-4.8.0目錄下的configure文件:
例如:
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
7
執行
../make #不解釋
執行編譯命令(#在8核的虛擬機上進行編譯,每個核分配2個編譯任務)
make -j16
make install編譯過程CPU 核基本100%佔用,整個編譯用時11分50秒。
檢查gcc版本
#你就等吧少年,建議晚上睡覺前做
當然上面三步一定要在前一步順利結束的情況下進行,如果哪一步出錯了,結果都顯示error了,就不要再做後面的了。在shell的輸出里搜索"error"看具體的出錯點是什麼,、google一下為什麼。
如果你求穩的話,可以在make install之前先make check一下。
❼ centos 7如何獲取完整內核源碼
1. 下載內核
內核官網獲得了(不讓加鏈接,搜索linux內核官網 )
tar.xz 是完整的內核包
pgp 是.tar.sign後綴的文件,用於校驗類似於MD5
patch 是補丁包
2. 解壓文件,現在一般採用 .tar.xz 的壓縮格式(壓縮率最高,但是壓縮時間較長)。
/usr/src 一般而言、我們製做linux內核的時候源碼一般放在這個路徑下,
可以使用 # tar -Jxvf linux-3.13.2.tar.xz -C /usr/src/ 把文件解壓到 /usr/src/ 中(在root用戶下才有效)
3. 如果是第一次編譯內核,並沒有上次的殘留文件可以可以跳過
# make mrproper
這個步驟
注意:make clean 刪除大多數的編譯生成文件, 但是會保留內核的配置文件.config, 還有足夠的編譯支持來建立擴展模塊
make mrproper 刪除所有的編譯生成文件, 還有內核配置文件, 再加上各種備份文件
make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。
4. 接下來是 make config 。
具體參照 《make config 的幾種類型》
一般採用 # make menuconfig 的方式
此處需要兩個包,選擇最簡單的yum安裝
# yum -y install gcc 和
# yum install ncurses ncurses-devel。
具體選項的作用參考 《Linux-3.10-x86_64 內核配置選項簡介 》
對新的內核功能選擇,並生成一個 .config 的文件
5. 編譯內核
# make 和 # make moles_install (此處命令必須進入/usr/src/linux-x-x-x/才有效,否則會報錯)
注意:2.6內核作了優化,不必顯示的執行make dep 和make bzImage,只需要直接執行
make 就行,系統會自動完成make dep 和 make bzImage 所做的工作。
6. 安裝內核
# make install
7. 修改默認啟動的內核(把游標處的default值改成0,就為默認啟動,編譯成功後默認為1)
# vim /boot/grub/grub.conf
用 cat /boot/grub/grub.conf 驗證並測試
# cat /boot/grub/grub.conf
看是否添加成功
8. 重啟機器,查看效果
默認的內核就是剛才編譯成功的。。。
❽ centos7怎麼編譯安裝nginx1.95+mariadb10.1+php7
如果雹氏你nginx是rpm包安裝的,直接用如下命令: nginx -V 如果你是源碼包編譯安裝,假如你的安裝路徑是/usr/local/nginx,那麼你可以使用: /usr/local/nginx/sbin/nginx -V 注意是大寫的V,源皮散這握磨樣你就可以看到nginx已經載入的模塊了。
❾ CentOS 7下的C語言程序編程與執行
若要明明腔在CentOS7下執行C語言程序,首先得給系槐畢統安裝gcc編譯環境。
輸入命令:which gcc 查看系統是否有安裝gcc,
若系統沒有安裝gcc,輸入命令:yum -y install gcc automake autoconf libtool make進行安裝
安裝完gcc後,讓咱激衫們開始來編寫第一個C語言程序吧,首先在桌面新建一個文件hello.c文件,
雙擊打開,
編寫C語言程序
點擊保存,退出
在終端輸入命令:gcc hello.c -o hello回車,進行編譯
生產可執行文件
然後輸入./hello,執行可執行文件
看見,此時終端列印出hello world!,說明執行成功.
❿ CentOS7編譯安裝OpenSSL1.1.1f
通過 CPAN 工具安裝 Perl 模塊「Text::Template」,依次執行以下命令:
直接回車就好,完成後再次執行
在 cpan[1]> 命令行提示符後面輸入命令 install Text::Template ,如下
然後一路回車,安裝完成後輸入 exit 退出
編譯
測試,看是否能通過
通過後再安裝
沒有報錯則是安型慶裝成功搏昌了,可以運行卜銀握測試下有沒有問題