軟件包管理

應用程序:
程序:Architecture

C語言:源代碼-->(編譯) 二進制格式
腳本:解釋器(二進制程序)

源代碼-->編譯-->鏈接-->運行
程序:指令+數據
指令:芯片
CPU:普通指令,特權指令
指令集
C語言:
powerpc:編譯成二進制格式
x86 :無法使用
不同品牌的CPU,指令集不同
匯編語言類似于機器語言 不能跨平臺,無法移植
高級語言:
C ,JAVA 具有移植性

靜態
動態

                                            靜態鏈接動態鏈接共享庫

配置文件
程序組成部分:
二進制程序 /bin ,sbin
庫 /lib
配置文件 /etc
幫助文件 /usr/share/man
/boot
/etc
/usr
/dev
/var
/lib
/tmp
/bin
/sbin
/proc
/sys
/mnt
/media
/home
/root
/misc
/opt
/srv

/etc ,/bin ,sbin, /lib ,/usr/share/man
系統啟動就需要用到的程序,這些目錄不能掛載額外的分區,必須在根文件系統的分區上
/usr/
bin
sbin
lib
操作系統核心功能,可以單獨分區

/usr/local/
bin
sbin
lib
etc
man
第三方軟件操作,建議獨立分區
/opt 舊的第三方軟件仍然在此目錄下

/proc
/sys
不能單獨分區,默認為空;
/dev :設備,不能單獨分區;
udev 按需創建 內核識別硬件
/home 可以單獨分區
/root 不建議單獨分區
/var 建議單獨分區
/boot :內核,initrd (initramfs)
內核:建議單獨分區
POST-->BIOS(HD)-->(MBR) bootloader(文件結構系統,ext2 ,ext3 , xfs)-->內核
BIOS(ROM)--->MBR (bootloader)
軟件包管理器
打包成一文件:二進制程序 ,庫文件 ,配置文件,幫助文件
生成數據庫,追蹤所安裝的每一個文件
軟件包管理器的核心功能
1、制作軟件包
2、安裝、卸載、升級、查詢、校驗

Redhat ,SUSE ,Debian
Redhat , SUSE :RPM
Redhat Package Manager 早期名稱
RPM is Package Manager 后期名稱
Debian :dpt
依賴關系比較復雜
X-->Y-->Z-->X
前端工具:yum , apt-get
后端工具:RPM ,dpt
yum :Yellowdog Update Modififier
rpm命令:
rpm:
rpmbuild:
安裝、查詢、卸載、升級、校驗、數據庫的重建、驗證數據包等工作;

rpm命名:
包:組成部分
主包:
bind-9.7.1-1.i586.e15.rpm
子包:
bind-libs-9.7.1-1.i586.e15.rpm
bind-utils-9.7.1-1.e15.i586.rpm
包名格式:
name-version-release.arch.rpm
bind-major.minor.release-release.arch.rpm
主版本號:重大改進
次版本號:某個子功能發生重大變化
發行號:修正了部分bug,調整了一點功能
rpm包:
二進制格式:安裝方便
rpm包作者下載源程序,編譯配置完成后,制作成rpm包
bind-9.7.1-1.e15.i686.rpm
源碼格式:
一、安裝
rpm -i /PATH/TO/PACKAGE_FILE 安裝rpm包
-h :以#顯示進度,每個#表示2%;
-v :顯示詳細過程
-vv:更詳細過程
rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps:忽略依賴關系;
--force :強行安裝,可以實現重裝或降級;
--replacepkgs:重新安裝,替換原有安裝;
二、查詢

rpm -q PACKAGE_NAME: 查詢指定的包是否已經安裝
rpm -qa : 查詢已經安裝的所有包
rpm -qi PACKAGE_NAME : 查詢指定包的說明信息
rpm -ql PACKPACKAGE_NAME : 查詢指定包安裝后生成的文件列表
rpm -qc PACKPACKAGE_NAME : 查詢指定包安裝的配置文件
rpm -qd PACKPACKAGE_NAME : 查詢指定包安裝的幫助文件
rpm -q --scripts PACKAGE_NAME : 查詢指定包中包含的腳本
rpm -qf /path/to/somefile : 查詢指定的文件是由哪個rpm包安裝生成的
如果某rpm包尚未安裝,我們需查詢其說明信息、安裝以后會生成的文件
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
三、升級
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果裝有老版本的,則升級;否則,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE: 如果裝有老版本的,則升級;否則,退出;
--oldpackage :降級
四、卸載
rpm -e PACKAGE_NAME
--nodeps
五、校驗
rpm -V PACKAGE_NAME
六、重建數據庫
rpm
--rebuilddb:重建數據庫,一定會重新建立
--initdb :初始化數據庫
七、檢驗來源合法性,及軟件完整性
加密類型:
對稱: 加密解密使用同一個密鑰
公鑰: 一對兒密鑰,公鑰,私鑰;公鑰隱含于私鑰中,可以提取出來,并公開出去
單向:
rpm -K PACKAGE_NAME 驗證合法性
dsa,gpg : 驗證來源合法性,也即驗證簽名;可以使用--nosignature,略過此項
shal,md5:驗證軟件包完整性;可以使用--nodigest,略過此項
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release : 導入密鑰文件
yum C/S架構 判斷rpm能力 元數據文件
依賴于yum repository yum倉庫
文件服務
ftp
web
file
HTML :HyperText Mark Language
XML :eXtended Mark Language

XML JSON:半結構化的數據
yum倉庫中的元數據文件:
primary.xml.gz
所有RPM包的列表;
依賴關系;
每個RPM安裝生成的文件列表;
filelists.xml.gz
當前倉庫中所有RPM包的所有文件列表;
other.xml.gz
額外信息,RPM包的修改日志
repomd.xml
記錄的是上面三個文件的時間戳和校驗和;
comps*.xml
RPM包分組信息
yum配置文件
/etc/yum.conf
repo文件位置
/etc/yum.repos.d
如何為yum定義repo文件
[Repo_Name]
name=Description
baseurl=
ftp://
http://
file:///
enabled={1 | 0}
gpdcheck={1 | 0}
gpgkey=路徑 此格式 ftp://
http://
file:///
yum [options] [command] [package ...]
list :列表
支持glob
all
available 可用的,倉庫中有但尚未安裝的
installed 已經安裝的
updates 可用的升級

      clean        :清緩存[  packages | headers | metadata | dbcache | all ]repolist   :顯示repo列表及其簡要信息all enabled  :默認disabledinstall 安裝yum install PACKAGE_NAMEupdate :升級update_to :升級為指定版本remove | erase:卸載infoprovides | whatprovides :查看指定的文件或特征是由哪個包安裝生成的;groupinfogrouplistgroupinstallgroupremovegroupupdate

如何創建yum倉庫:
createrepo 創建repo配置文件
RPM安裝:
二進制格式:
源程序--->編譯--->二進制格式
有些特性是編譯選定的,如果編譯未選定此特性,將無法使用: rpm包的版會落后于源碼包,甚至落后很多:bind-9.8.7,bind-9.7.2
定制:手動編譯安裝
編譯環境,開發環境
開發庫,開發工具
linux :C,
GNU :C
C環境 , C++
gcc :GNU C Complier ,C
g++ :

make :項目管理工具,
makefile :定義了make(gcc,g++)按何種次序去編譯這些源程序文件中的源程序

automake --> makefile.in --> makefile
autoconf --> configure
100個可選擇特性,
make install
編譯安裝的三步驟
前提:準備開發環境(編譯環境)
安裝“Development Tools”和“Development Libraries”
tar
cd
./configure
--help
--prefix=/path/to/somewhere
--sysconfdir=/PATH/TO/CONFFILE_PATH
功能:1、讓用記選定編譯特性:2、檢查編譯環境:
make
make install

tar xf tengine-1.4.2.tar.gz
cd tegnine-1.4.2
./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf
make
make install
/usr/local/tengine/sbin/nginx
1、修改PATH環境變量,以能夠識別此程序的二進制文件路徑 修改/etc/profile文件
在/etc/profile.d/目錄建立一個以.sh為名稱后綴的文件,在里面定義export PATH=$PATH:/path/to/somewhere
2、默認情況下,系統搜索庫文件的路徑/lib ,/usr/lib; 要增添額外搜尋路徑:在/etc/ld.so.conf.d/中創建以.conf為后綴名的文件,而后把要增添的路徑直接寫此文件中:
#ldconfig 通知系統重新搜索尋庫文件
-v : 顯示重新搜尋庫的過程
3、頭文件 :輸出給系統
默認: /usr/include
增添頭文件搜尋路徑,使用鏈接進行:
/usr/local/tengine/include /usr/indclude
兩種方式 :
In -s /usr/local/tengine/include/* /usr/include/ 或
In -s /usr/local/tengine/include /usr/include/tengine

4、man文件路徑 :安裝在--prefix指定的目錄下的man目錄:/usr/share/man
1、man -M /PATH/TO/MAN_DIR COMMAND
2、在/etc/man.config中添加一條MANPATH
netstat 命令
-r :顯示路由表
-n: 以數字方式顯示
-t : 建立的tcp連接
-u :顯示udp連接
-l :顯示監聽狀態連接
-p :顯示監聽指定的套接字的進程的進程與及進程名

kill 端口號  關閉應用

perl , java ,python

轉載于:https://blog.51cto.com/14087650/2343041

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537080.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537080.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537080.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

工業機器人碼垛教學實施_工業機器人應用案例碼垛詳解

工業機器人應用案例碼垛詳解隨著科技的進步以及現代化進程的加快,人們對搬運速度的要求越來越高,傳統的人工碼垛只能應用在物料輕便、尺寸和形狀變化大、吞吐量小的場合,這已經遠遠不能滿足工業的需求,機器人碼垛機應運而生。機器…

第一家云創大數據產業學院在佛山職業技術學院掛牌

2019年1月10日,“云創大數據產業學院揭牌暨戰略合作協議簽署儀式”在佛山職業技術學院電子信息學院會議室舉行。云創大數據總裁劉鵬教授、市場部經理單明月,佛山職業技術學院電子信息學院院長唐建生、副院長田鈞、學院辦公室主任趙雪章、信息工程系主任喬…

String與StringBuffer和StringBuilder的根本區別

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

16進制 ksh_AIX系統中如何統計進程打開的文件數目

作者:李燁楠 中國建設銀行來自微信公眾號:平臺人生環境: AIX 6.1 AIX7.1前言:用戶有時需要統計一個進程打開的文件數目,比如,在當前打開文件句柄使用量是否超過用戶資源限制(/etc/security/limits)中 nofiles的取值時。那么&#…

前端Http協議緩存初解

[TOC] 簡介 用戶獲取網絡資源,需要通過非常長的網絡去服務器上請求資源,另外服務端為了應對大量的用戶請求而不斷的提升硬件性能與帶寬。這對用戶與服務端都非常的不友好。而緩存就是為了解決用戶請求速度與釋放服務器壓力而生的。 為什么我會寫Http緩存&#xff0c…

詳解java訪問修飾符

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

educoder 二進制數據的位運算_二進制與位運算實用操作匯總(基礎篇)

位運算是最高效而且占用內存最少的算法操作,但也是最難看懂的操作。然而,關于位運算的用法,筆者查了許多資料,似乎都沒有找到詳細而系統的講解資料。筆者對位運算的操作相當感興趣,因此斗膽嘗試對位運算來一個的總結。…

企業為什么要做SEO,它的重要性有哪些?

對于SEO工作而言,我們知道一個網站做SEO的基礎訴求就是讓用戶和搜索引擎更好的理解網站內容,雖然隨著搜索引擎算法技術的迭代,目前SEO面臨更大的挑戰與競爭,但基于搜索營銷,它目前仍然顯得十分重要。 那么&#xff0…

白話說編程之java線程

白話說編程之java線程線程和進程:進程:線程:線程和進程的區別:詳解多線程:并發為什么使用并發并發的執行原理并行線程的五種狀態:創建狀態:就緒狀態:運行狀態:阻塞狀態:死…

powerdesigner顯示工具面板_photoshop教程-畫筆工具預設與選項設置

定義畫筆預設在打開的“畫筆”面板中,單擊左側的“畫筆筆尖形狀”名稱,可顯示筆尖形狀圖案。單擊“畫筆”面板左側其他不同的選項名稱,在右側就會顯示其對應的調節項。只單擊不同選項前面的方框,可使此選項有效,但右側…

C#屬性的聲明和使用演示源碼片段

工作閑暇時間,將代碼過程重要的一些代碼做個收藏,如下代碼是關于C#屬性的聲明和使用演示片段的代碼,應該對碼農有一些好處。 using System; class Person {private string myName "N/A";private int myAge 0;public string Name{g…

深入理解== 和 equals 的區別

深入理解 和 equals 的本質區別簡介區別:圖解:注意點:源碼分析:總結分享一波:程序員賺外快-必看的巔峰干貨簡介 初學者常常被" “和‘equals ’所折磨,為什么,因為他們的大概意思相同,都是…

rsem比對_RSEM方法比對和表達量計算

分析模塊,封裝了Trinity程序包中的“align_and_estimate_abundance.pl”腳本,進行原始數據與轉錄本序列的比對和表達量計算。其中,核心程序為,Bowtie或Bowtie2進行原始數據與轉錄本序列的比對,RSEM根據比對結果進行表達…

java sleep和wait區別

為什么80%的碼農都做不了架構師?>>> 關于sleep和wait區別解析: sleep只是釋放CPU資源,并不釋放資源鎖對象,wait是會釋放掉資源鎖對象。 比如,有個鎖對象object,線程1和線程2都會鎖住object對象…

u8轉完看不到菜單_web網頁有錯誤,無法看到操作菜單-用友U8

文章摘要:本文提供在用友U8V8.51erp軟件財務會計管理的WEB財務模塊中客戶在使用WEB功能時,沒有使用默認的設置,是將WEB功能設置在自己的網站上面,訪問WEB功能沒有問題,界面出來了,輸入用戶名、密碼、選擇帳…

.Net Core 項目引用本地類庫方式(二)

上篇文章有詳細的介紹.Net Core 項目中引用本地類庫通過打包,然后Nugety引用方式,這里再介紹一種引用包的方式 轉載于:https://www.cnblogs.com/wangshitou/p/10283800.html

深入理解equals和hashCode關系和區別

深入理解equals和hashCode關系和區別直入主題:區別:1.他們判斷對象相同的方式不一樣:2.他們判斷對象是否相等的準確率不一樣:改寫equals時總是要改寫hashcode分享一波:程序員賺外快-必看的巔峰干貨為什么要說equals和hashCode這兩…

lol韓服游戲內設置_韓服LOL進去了還不能玩?教你如何玩韓服!

領取免費韓服LOL安全號,百度搜索韓服LOL微博關注即可!上圖錯誤為常識性錯誤,LOL韓服游戲的安裝文件路徑有中文所導致的錯誤 解決方法:將安裝路徑里的中文改成英文即可 舉例 包含中文漢字的文件夾都是錯誤的 Program FilesLOL韓服 …

Jdk 和 jre 的 關系和區別

Jdk 和 jre 的 關系和區別 區別: JDK:是Java Development Kit 的簡稱–>翻譯過來就是:Java 開發工具包。是程序員使用java語言編寫java程序所需的開發工具包,是提供給程序員使用的。 JRE:是Java Runtime Environm…