11/1 Linux

Page 1

11/1

Linux

Section 8

 RPM ( Redhat Package Manager ):套件管理工具 RPM 是以一種資料庫記錄的方式來將你所需要的軟體安裝到你的 Linux 系 統的一套管理機制;將你要安裝的軟體先編譯過, 並且打包成為 RPM 機制的包 裝檔案,透過包裝好的軟體裡頭預設的資料庫記錄, 記錄這個軟體要安裝的時候 必須具備的相依屬性軟體。 /etc

一些設定檔放置的目錄,例如 /etc/crontab

/usr/bin

一些可執行檔案

/usr/lib

一些程式使用的動態函式庫

/usr/share/doc

一些基本的軟體使用手冊與說明檔

/usr/share/man

一些 man page 檔案

資料庫:/var/lib/rpm

RPM System: 

RPM Package:

element :

1.

主程式

1.

tool kit

2.

Library

2.

DB ( /var/lib/rpm )

3.

Config file

3.

Package file ( ~.rpm )

4.

Documents

5.

Metadata

Package arc: 1.

~.X86.rpm

2.

~.alpha.rpm

3.

~.pcc.rpm

4.

~.sparc.rpm

5.

~.distro.rpm

6.

~.src.rpm

( 用來描述該套件的資訊 )

( 原始碼格式 )


Retrieve sites ( 套件搜尋 ):

1.

rpmfind.net

2.

sourceforge.net

3.

Distro’s official site ( 不同流派、不同版本的網站 )

選項與參數: -i :install -U :upgrade -F :freshen ( 已安裝的 package 用 ) -e :erase 清除 -Q :Query 詢問 -q

:查詢軟體是否有安裝

-p :查詢 package file -i :列出該軟體的詳細資訊 (information),包含開發商、版本與說明等 -l :列出該軟體所有的檔案與目錄所在完整檔名 (list) -f :由後面接的檔案名稱,找出該檔案屬於哪一個已安裝的軟體 -c :列出該軟體的所有設定檔 ( 找出在 /etc/ 底下的檔名 ) -d :列出該軟體的所有說明檔 ( 找出與 man 有關的檔案 ) -R :列出與該軟體有關的相依軟體所含的檔案 ( Required 的意思 ) -a :列出所有的,已經安裝在本機 Linux 系統上面的所有軟體名稱 -v :察看更細部的安裝資訊畫面


-h :以安裝資訊列顯示安裝進度 --nodeps 使用時機:當發生軟體屬性相依問題而無法安裝,但你執意安裝時 危險性: 軟體會有相依性的原因是因為彼此會使用到對方的機制或功能,如 果強制安裝而不考慮軟體的屬性相依, 則可能會造成該軟體的無法正常使用! 

操作: 1.

網路安裝 binary rpm #w3m

http://140.115.236.8/download

#rpm

-qip

http://140.115.236.8/download/

skype-1.3.0.53-fc5.i586.rpm

2.

#rpm

-ivh

#rpm

-ql

skype-1.3.0.53-fc5.i586.rpm

安裝

skype | grep bin

Local 安裝 binary rpm # w3m

http://140.115.236.8/download/webmin-… .rpm

#rpm

-qip

webmin-1.450-1.noarch.rpm

# rpm

-ivh

webmin-1.450-1.noarch.rpm

http://127.0.0.1:10000 3.

下載前可以先查看其 package 相關資訊

Compile ( 編譯 ) source rpm S.O.P.

 a.

取得 ~.src.rpm

b.

rpm

-qip

~.src.rpm


c.

rpm

-qlp

d.

rpm

-i

e.

cd

~.src.rpm

~.src.rpm

/usr/src/package 原始碼放置位置

f. BUILD:在編譯的過程中,有些暫存的資料都會放置在這個目錄當中 RPMS:經過編譯之後,並且順利的編譯成功之後,將打包完成的檔案放置在這個目錄 當中 SOURCES:該套件的原始檔(*.tar.gz 的檔案)以及 config 這個設定檔 SPECS:該套件的設定檔,例如這個套件的資訊參數、設定項目等等 SRPMS:利用『含有 source code 的 SRPM 』來重新編譯 *.rpm 的檔案成為我們 所希望的樣式了!就因為在 SRPM 裡面含有的不是 binary 的檔案,而是含 有 source code ,因此 SRPM 是不能直接拿來安裝成為可執行的檔案的。 必需要將他重新編譯,並且打包成為類似 i386, i586, i686 等等 RPM 的檔案 之後,才能夠安裝在我們的系統當中

g.

cd

SPECS/

h.

rpm

i.

cd

j.

rpm

k.

安裝及測試

-bb

~.spec

( -bb:build binary package from ~.spec )

../RPMS/架構 -ivh

rdesktop

~.rpm

10.120.101.50

( 主機 IP )


 tarball 格式,套件管理: 

工具:tar ( tape archive ),用來打包、解包、備份

型態:○ 1 binary ( bin ) 2 ○

source

操作:○ 1 使用 binary 型態 ( bl23-bin-linux-i586.tar.gz ) #tar -zxvf bl23-bin-linux-i586.tar.gz #export

-C /opt/

BL2_HOME=/opt/bl2

#./opt/bl2/blockout 2 ○

安裝 source 型態,編譯 S.O.P. ( xpenguins-2.2.tar.gz sniffit.0.3.5.tar.gz ) a.

取得 source code

b.

解壓縮、解包

c.

cd 源碼目錄

d.

檢視 INSTALL 及 README 檔

e.

./configure

f.

make

g.

make install

h.

make clean

i.

設定及測試

OK → Makefile

編譯

( option )

&


常用參數: -c:create

-C:change 更改路徑

-v:verbose 詳細過程

-r:append 附加

-f:file 其後要指定一個 archive

-t:list 列出打包檔案

file 或 device name。 -x:extract 解壓縮、解包

-z:(gzip) -j:(bzip2)

-g:listed incremental

 系統共用函式庫的管理 在 Linux 系統上所執行的程式都會使用到函式庫,而依照應用程式與函式庫連結的方 式,可區分為靜態函式庫 ( Static Libraries ) 及動態函式庫 ( Dynamic Link Libraries、 Shared Libraries )。靜態函式庫 ( 通常為 xx.a ) 裡的函式原始碼需要被編譯到主程式裡 頭,所以主程式會顯得比較臃腫些,但好處是該程式可以獨立執行﹔動態函式庫 ( 通常為 xx.so ) 則不需整個被編譯到主程式裡,只需在程式的原始碼裡設計去呼叫動態函式庫即可。 在 Linux 中所執行的程式幾乎都是使用動態連結資料庫。 一般傳統的函式庫是安置在 /lib 及 /usr/lib 目錄中,而提供系統來搜尋的函式庫, 其所放置的目錄是定義在 /etc/ld.so.conf 裡。當執行 ldconfig 指令時,會先去讀取 /etc/ld.so.conf,以找出函式庫所放置的目錄位置,然後才能將這些函式庫資料寫入 cache 內,並存放一份在 /etc/ld.so.cache 中。不過您要是看過 /etc/ld.so.conf ,會發現 /lib 及 /usr/lib 並沒有定義在 ld.so.conf 內,因為這兩個目錄是內定值,所以不需要做設定 啦 !

出處:http://www.suse.url.tw/sles10/lesson7.htm


指令:○ 1 ldd 2 ○

ldconfig

組態檔:/etc/ld.so.conf

操作:定義新的 library 路徑 #mv /usr/X11R6/lib/libX11.so.6.2 #cat #vi

/root/

/etc/ld.so.conf /etc/ld.so.conf.d/mylib.conf

/mylib/lib #mkdir -p #ldconfig

-v

/mylib/lib verbose 詳細過程

#mv /root/ libX11.so.6.2 #ldconfig

-p

/mylib/lib

| grep mylib

瀏覽 /etc/ld.so.cache 內的資料


Section 9 

增量備份 ( Incremental backup )

#mkdir /backup #tar -g #useradd #tar -g

/backup/snapshot1.txt

-cjvf /backup/full_backup.tar.bz2

/home

-m aman /backup/snapshot2.txt

-cjvf /backup/incre1_backup.tar.bz2

#tar -tvf /backup/incre1_backup.tar.bz2

/home

瀏覽備份內容

測試: #rm -rf /home

刪除備份目錄

#tar -jxvf full_backup.tar.bz2

-C /

#tar -jxvf incre1_backup.tar.bz2

-C /

還原備份檔到指定路徑 ( 還原須從 最先備份的依序還原 )

圖片出處:http://linux.vbird.org/linux_basic/0580backup.php#full_differential


差異備份 ( Differential backup )

#tar -czvf /backup/full_backup.tgz #cal

>

#find

/srv/www/htdocs

/srv/www/htdocs/diff1.txt

/srv/www/htdocs/ -type f -newer /backup/full_backup.tgz

| tar --null

-czvf /backup/diff1_backup.tgz

-T

-print0

-

測試: #rm -rf /srv/www/htdocs/ #tar -zxvf full_backup.tgz #tar -zxvf diff1_backup.tgz

刪除備份目錄 -C / -C /

還原備份檔到指定路徑 ( 還原須從 最先備份的依序還原 )


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.