備份來源 備份地點
- 4月 07 週二 200919:39
資料同步
※本機資料同步 rsync -av --delete /home/momo /tmp/backup
備份來源 備份地點 touch /home/momo/1.txt rsync -av --delete /home/momo /tmp/backup ※遠端資料夾同步 rsync -ave ssh --delete /home/momo root@192.168.1.216:/tmp/backup
備份來源 備份地點
- 4月 07 週二 200919:31
影像檔製作和加密
- 3月 31 週二 200921:39
Manager Backup
http://learn.24hropen.net
第一次完整備
第二備份
※增量型備份
建立備份
-g /log/backup.log 產生備份記錄檔案及指定記錄檔存放路徑
-zcvf /root/bak/backup1.tar.gz /momo 指定備份檔案的存放路徑以及檔案,並指定要備份的目錄
備異
進行第二次備份時用同一個log 檔案,tar 指令會自動備份有增量的檔案
※差異型備份
第一次完整備
第二備份
tar --newer=”’stat -c%y /root/bak/backup-01.tar.gz’” -zxvf /root/bak/backup-02.tar.gz /home/momo
- 3月 31 週二 200921:19
System Backup
- 3月 31 週二 200920:45
模組的管理
- 3月 31 週二 200920:24
檔案壓縮及打包
※容量的壓縮 gzip 壓縮檔案
gunzip 解壓縮檔案
zcat 顯示壓縮檔案的內容 bzip2 壓縮檔案
bunzip2 解壓縮檔案
bzcat 顯示壓縮檔案的內容 ※數量的壓縮(打包檔案) tar -cf 打包檔.tar 要打包的檔案 打包檔案 tar -tf 打包檔.tar 測試打包檔 tar -xf 打包檔.tar 解開打包檔 ※可配合的選項 tar -v 顯示額外資料 tar -z tar 指令配合gzip 壓縮 tar -j tar 指令配合bzip2 壓縮
gunzip 解壓縮檔案
zcat 顯示壓縮檔案的內容
bunzip2 解壓縮檔案
bzcat 顯示壓縮檔案的內容
- 3月 31 週二 200920:23
包裝RPM 檔案
tar -zcvf hello-1.0.tar.gz hello-1.0/
cp hello-1.0.tar.gz /usr/src/pachages/SOURCE
#
# SPEC file for hello world program
#
Summary: Hello, World program
Name: hello
Version: 1.0
Release: 1
License: GPL
Group: Applications/Useless
Source: hello-1.0.tar.gz
Distribution: Useless Linux 1.0
Vendor: Gjun
Packager: MoMo <momo@soft-e.org>
%description
This is Hello Project
%prep
rm -rf $RPM_BUILD_DIR/hello-1.0
cd $RPM_BUILD_DIR
tar -zxvf $RPM_SOURCE_DIR/hello-1.0.tar.gz
%build
cd $RPM_BUILD_DIR/hello-1.0
make
%install
cd $RPM_BUILD_DIR/hello-1.0
make install
%files
/usr/bin/hello
%doc $RPM_BUILD_DIR/hello-1.0/README
rpmbuild -bb /usr/src/packages/SPECS/hello-1.0.spec 產生二進位的RPM檔案
rpmbuild -ba /usr/src/packages/SPECS/hello-1.0.spec 產生原始的RPM 檔,使用者可以自行編譯
Source ==> 原始檔
BUILD ==>編目錄
rpms ==> 產生出的RPM 檔案位置
- 3月 31 週二 200919:42
Mount NTFS format
※ http://www.ntfs-3g.org
※安裝ntfs-3g 解開壓縮檔案
tar -zxvf ntfs3g 看說明文件
more README 檢查環境並建立Makefile
./config 編譯
make 安裝
make install ※掛載NTFS 格式的硬碟 mount -t ntfs-3g /dev/hda1 /mnt

※安裝ntfs-3g tar -zxvf ntfs3g
more README
./config
make
make install

- 3月 26 週四 200921:31
Manage software for SLES
※rpm 的資料庫檔案 放置於 /var/lib/rpm/packages ,SLES 預設會自動備份此資料庫於/var/adm/backup/rpmdb ,若原始的package 損壞時可以透過此備份檔還原。 rpm -qa 例出系統所有已安裝套件 rpm -q 套件 列出指定的套件 rpm --rebuilddb 重置rpm DB 檔案(/var/lib/pachages)及重建索引檔 rpm -e 套件名稱 移除套件 rpm -i 套件名稱 安裝指定的套件 rpm -i --force 套件名稱 強製重新安裝已安裝過的套件 rpm -i --nodeps 套件名稱 強製安裝套件並且略過相依性 rpm -f 套件名稱 升級曾經安裝過的套件 rpm -u 套件名稱 升級安裝過的套件,若未安裝過則直接安裝 rpm -e 名稱 –allmatches 移除套件相同的全部套件 rpm -qa “套件名稱*” 查詢套件是否安裝(可搭配-p 查詢未安裝的套件資訊) rpm -qi 套件名稱 查詢套件資訊(可搭配-p 查詢未安裝的套件資訊) rpm -ql 套件名稱 查詢套件安裝的路徑(可搭配-p 查詢未安裝的套件資訊) rpm -qd 套件名稱 查詢套件說明文件(可搭配-p 查詢未安裝的套件資訊) rpm -qc 套件名稱 查詢安裝套件的設定檔位置(可搭配-p 查詢未安裝的套件資訊) rpm -qf 檔案名稱 查詢某一檔案屬於何套件安裝 rpm -qp --filesbypkg *.rpm | grep 模組名稱 查詢模組可於那個套件安裝 ※從備份檔還原資料檔 gunzip -c /var/adm/backup/rpmdb/pack日期.gz > /var/lib/rpm/packages 重整資料庫 rpm --rebuilddb ※使用PGP Key 檢查下載套件是否有被竄改 rpm --import *.asc 加入下載套件的PGP Key rpm --checksig 套件名稱 用PGP Key 檢查套件的完整性
rpm -qai “gpg-pubkey*” | grep “關鍵字” –B 10 移除key 「(-B 10)找到值後往前10行」 rpm -e gpg-pubkey-Version-Release
rpm -V 套件名稱 驗證已經安裝過後的套件有無被修改 mknod 設備檔 類型 主編號 次編號 mknod /dev/hdc b 22 0 ※建立封裝檔案 安裝gcc 套件 撰寫原始碼
mkdir hello-1.0
hello-1.0.c
#include <stdio.h>
int main()
{
printf(“hello/n”);
return 0;
}
測試
gcc hello-1.0.c -o helo 建立Makefile
vi makefile
all:hello
hello:
gcc helo.c -o hello
install:
cp –f hello /usr/bin
uninstall:
rm -f /usr/binhello
clean:
rm -f hello 測試
make
make install
hello
mkdir hello-1.0
hello-1.0.c
#include <stdio.h>
int main()
{
printf(“hello/n”);
return 0;
}
gcc hello-1.0.c -o helo
vi makefile
all:hello
hello:
gcc helo.c -o hello
install:
cp –f hello /usr/bin
uninstall:
rm -f /usr/binhello
clean:
rm -f hello
make
make install
hello
- 3月 24 週二 200920:16
核心
※系統開機的時侯會讀取kernel 的參數以及initrd 內的設定,此方式為的是減少核心太大,將其它需要載入的 設定放置於initrd 中
※核心參數 vga=0x314 800x600 解析度
vga=0x317 1024x768 解析度 s 或1 單人模式 init =/sbin/init 1 替換init進入不同的模式1~7 ※使用密碼保護,修改開機核心參數時需要輸入密碼 啟動滑鼠剪貼 service gpm restart 產生密碼: ※指定開機時自動掛上模組(使用initrd檔案) 修改模組設定 vi /etc/sysconfig/kernel 重新產生initrd 檔案 重新開機後即自動掛載新增的模組 使用lsmod 可以檢視目前載入的模組 ※修改Colsole 底圖 上傳圖片 替換圖片
cp /root/boot.jpg /etc/bootsplash/themes/SuSe-SLES/images/silent-800x600.jpg
重新產生initrd
mkinitrd 重新開機 ※手動修改initrd 複製一份initrd
cd /boot
cp initrd newinitrd.gz 解壓縮
gunzip newinitrd 解開cpio 打包
mkdir tmp
cd tmp
cpio -i <../newinitrd 修改init程式
vi init
echo helo
new 壓縮並打包
find | cpio -o -h newc > ../newinitrd
gzip ../newinitrd 修改開機選單
vi /boot/grub/menu.lst
加入新的開機項目
重新開機 ※Runlevel init 編號: 0 關機 1 單人模式 2 多人模式(不會有網路) 3 多人模式 4 保留 5 多人模式含圖形模式 6 重開機 修改runlevel vi /etc/inittab
※開機時要執行的指令可以放置到以下檔案中 /etc/init.d/boot /etc/init.d/boot.local 建議放到此檔案中以免誤改/etc/init.d/boot ※開機時啟動服務(以sshd為例) chkconfig sshd on 開機時不啟動服務(以sshd為例) chkconfig sshd off chkconfig --list 查看所有服務啟動設定 chkconfig –list sshd 查看sshd 服務的設定
※核心參數 vga=0x314 800x600 解析度 grub-md5-crypt
修改開機選單
vi /boot/grub/menu.lst
password 123(密碼)
password --md5 加密的密碼
重新開機
INITRD MODULES中加入欲加入的模組,例:ext3
mkinitrd
cp /root/boot.jpg /etc/bootsplash/themes/SuSe-SLES/images/silent-800x600.jpg
mkinitrd
cd /boot
cp initrd newinitrd.gz
gunzip newinitrd
mkdir tmp
cd tmp
cpio -i <../newinitrd
vi init
echo helo
new
find | cpio -o -h newc > ../newinitrd
gzip ../newinitrd
vi /boot/grub/menu.lst
加入新的開機項目
※開機時要執行的指令可以放置到以下檔案中 /etc/init.d/boot /etc/init.d/boot.local 建議放到此檔案中以免誤改/etc/init.d/boot ※開機時啟動服務(以sshd為例) chkconfig sshd on 開機時不啟動服務(以sshd為例) chkconfig sshd off chkconfig --list 查看所有服務啟動設定 chkconfig –list sshd 查看sshd 服務的設定
















