1. 程式人生 > >linux-基礎知識-第16天

linux-基礎知識-第16天

linux-基礎知識

1、備份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下載新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之後運行yum makecache生成緩存

yum命令本身就可以用來下載一個RPM包,標準的yum命令提供了--downloadonly(只下載)的選項來達到這個目的。

如果你想要將一個包下載到一個指定的目錄(如/tmp):

yum install --downloadonly --downloaddir=/tmp <package-name>

程序包編譯安裝:

testapp-VERSION-release.src.rpm --> 安裝後,使用rpmbuild命令制作成二進制格式的rpm包,而後再安裝;

源代碼 --> 預處理 --> 編譯(gcc) --> 匯編 --> 鏈接 --> 執行

源代碼組織格式:

多文件:文件中的代碼之間,很可能存在跨文件依賴關系;

C、C++: make (configure --> Makefile.in --> makefile)

java: maven

C代碼編譯安裝三步驟:

./configure:

(1) 通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makefile;

(2) 檢查依賴到的外部環境;

make:

根據makefile文件,構建應用程序;

make install

開發工具:

autoconf: 生成configure腳本

automake:生成Makefile.in

建議:安裝前查看INSTALL,README

開源程序源代碼的獲取:

官方自建站點:

apache.org (ASF)

mariadb.org

...

代碼托管:

SourceForge

Github.com

code.google.com

c/c++: gcc (GNU C Complier)

編譯C源代碼:

前提:提供開發工具及開發環境

開發工具:make, gcc等

開發環境:開發庫,頭文件

glibc:標準庫

通過“包組”提供開發組件

CentOS 6: "Development Tools", "Server Platform Development",

第一步:configure腳本

選項:指定安裝位置、指定啟用的特性

--help: 獲取其支持使用的選項

選項分類:

安裝路徑設定:

--prefix=/PATH/TO/SOMEWHERE: 指定默認安裝位置;默認為/usr/local/

--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安裝位置;

System types:

Optional Features: 可選特性

--disable-FEATURE

--enable-FEATURE[=ARG]

Optional Packages: 可選包

--with-PACKAGE[=ARG]

--without-PACKAGE

第二步:make

第三步:make install

安裝後的配置:

(1) 導出二進制程序目錄至PATH環境變量中;

編輯文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

(2) 導出庫文件路徑

編輯/etc/ld.so.conf.d/NAME.conf

添加新的庫文件所在目錄至此文件中;

讓系統重新生成緩存:

ldconfig [-v]

(3) 導出頭文件

基於鏈接的方式實現:

ln -sv

(4) 導出幫助手冊

編輯/etc/man.config文件

添加一個MANPATH


linux-基礎知識-第16天