Windows與Linux不兼容
庫級別虛擬化:
Linux:WINE
Windows:Cygwin
程序包管理器:
debian:deb,dpt
redhat:rpm,rpm
Archlinux
Gentoo
獲取rpm程序包的途徑:
1、系統發行版光盤或官方的服務器
centos鏡像:
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
2、項目官方站點
3、第三方組織:
Fedora-EPEL
搜索引擎:
https://pkgs.org/
http://rpmfind.net/
http://rpm.pbone.net/
4、自己制作;
rpm命令實現程序管理:
安裝:-ivh,–nodeps,–replacepkgs
卸載:-e,–nodeps
升級:-Uvh,-Fvh,–nodeps,–oldpackage
查詢:-q,-qa,-qf,-qi,-ql,-qd,-qc,-q –scripts,-q –provides,-q –requires
校驗:-V
導入GPG密鑰:–import,-K,–nodigest(),–nosignature
數據庫重建:–initdb,–rebuilddb
CentOS的rpm前端工具:yum,dnf
yum repo:儲存了眾多的rpm包,以及包的相關的元數據文件(放置于特定目錄下:repodata);
yum客戶端配置文件:/etc/yum.conf,/etc/yum.repos.d/*.repo
倉庫的定義文件:
[repositoryid]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0}
gpgcheck{1|0}
gpgkey=URL
failovermethod=roundrobin|priority
cost=默認為1000
yum命令的用法:
顯示倉庫列表:
repolist [all|enabled|disabled]
顯示程序包:
list
安裝程序包:
install package1 [package2] […]
reinstall package1 [package2] […](重新安裝)
升級程序包:
update [package1] [package2] […]
downgrade package1 [package2] […](降級)
檢查可用升級:
check-update
卸載程序包:
remove | erase package1 [package2] […]
查看程序包信息:
info
查看指定的特性(可以是某文件)是由哪個程序包所提供:
provides | whatprovides feature1 [feature2] […]
清理本地緩存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
構建緩存:
makecache
搜索:以指定關鍵字搜索程序包及summary信息:
search string1 [string2] […]
查看指定包所依賴的capability:
deplist package1 [package2] […]
查看yum事務歷史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
包組管理的相關命令:
group list
group info
group update
group install
group remove
如何實用光盤當做本地yum倉庫:
(1)掛載光盤至某目錄,例如/media/cdrom
# mount -r -t iso9660 /dev/cdrom /media/cdrom
(2)創建配置文件
[CentOS7]
name=
baseurl=
enabled=
gpgcheck=
yum命令行的選項
–nogpgcheck:禁止進行gpg check;
-y:自動回答為“yes”;
-q:靜默模式,也自動回答為yes;
–disablerepo=repoidglob:臨時禁用此處指定的repo;
–enablerepo=repoidglob:臨時啟用此處指定的repo;
–noplugins:禁用所有插件;
yum的repo配置文件中可用的變量:
$releasever:當前OS的發行版的主版本號;
$arch:平臺;
$basearch:基礎平臺;
$YUM0-$YUM9:自定義變量
創建yum倉庫:
createrepo [options] <directory>
編譯安裝三步驟:
./configure:
(1)通過選項傳遞參數,指定啟用特性、安裝路徑等,執行時會參考用戶的指定及makefile.in文件生成makefile;
(2)檢查依賴到的外部環境;
make:
根據makfile文件,構建應用程序;
make install
開發工具:
autoconf:生成configure腳本;
automake:生成makefile.in
建議:安裝前查看INSTALL,README
開源程序源代碼的獲?。?/p>
1、官方自建站點:例如apache.org;mariadb.org
2、代碼托管:SourceForge、github.com、code.google.com
編譯C源代碼:
前提:提供開發工具及開發環境:
開發工具:gcc、make等;
開發環境:開發庫、頭文件
glibc:標準庫
通過包組提供開發組件:
centos6:“development tools”、“server platform development”
centos7:“development tools”
第一步:configure腳本
選項:指定安裝位置、指定啟用的特性等
–help:獲取其支持使用的選項
選項分類:
1、安裝路徑設定:
–prefix=:指定默認安裝位置;默認為/usr/local/
–sysconfdir=:指定配置文件的安裝位置;
2、system types:
optional feature:可選特性;
–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
重新加載下此配置文件:
# source /etc/profile.d/NAME.sh
(2)導出庫文件路徑;
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫文件所在目錄位置至此文件中;例如:/usr/local/apache2/lib
讓系統重新生產緩存:
ldconfig [-v]
(3)導出頭文件;
基于符號鏈接的方式實現:
ln -sv 頭文件目錄 /usr/include/NAME
(4)導出幫助手冊;
編輯/etc/man_db.conf文件
添加一個MANPATH
源碼制作成rpm程序包
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90824