歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux維護

Debian學習 Linux系統服務器的搭建方法

Linux服務器具有穩定性好,價格低等優點。最為一個開源平台,無論是商業機構的支持還是網絡開源程序組織的技術,都達到了一個成熟的水平。因為,目前中小型企業可以考慮一下使用Linux作為Web服務器,FTP服務器等的平台,這裡我使用了Debian系統。


(一) 服務器的搭建:

有兩種方法:從市場上購買Debian的系統盤或者從網站上下載系統,然後安裝。下載地址: http://www.debian.org/CD/http-ftp/ 。Debian系統的安裝方法:請參考楊錦昌的教程,下載地址 內容很詳細,便於入門學習。

通用指令init 6重啟,init 0關機,init 1單用戶進行管理維護。


(二)、Debian學習:


1).Apt-get 命令,用於獲取軟件安裝包:


apt-setup 設置Apt源.可選擇列表或者手工導入


apt-get update 系統軟件包更新


apt-get upgrade 更新所有軟件包並且自動升級成最新


apt-get dist-upgrade 更新軟件包並解決軟件依賴關系


apt-cache search keyword 查找指定軟件包信息


apt-cache show package_name 詳細顯示指定軟件包的信息


apt-get install 安裝指定軟件包


apt-get remove 移除指定軟件包


===================================

常用配置命令:


base-config 配置基本系統


apt-get install zhcon 安裝 Zhcon 中文字符支持包.


zhcon 運行 Zhcon UC-DOS 中文系統


dpkg-reconfigure xserver-xfree86配置xfree86


apt-get remove netatalk 刪除不必要的 Appletalk.


apt-get remove exim4 刪除MTA.提高啟動速度.


vi /etc/zhcon.conf 配置 Zhcon 設置


vi /etc/apt/source.list 配置 Apt 源址


2).網絡設置:


設置IP文件: /etc/network/interfaces


-------------動態DHCP獲得 -----------------


# 啟動系統激活設備.

# Loop回環地址.

auto lo

iface lo inet loopback


# 啟動系統激活設備.

# 網卡eth0設置為DHCP類型.

auto eth0

iface eth0 inet dhcp


-------------靜態Static獲得---------------


# 啟動系統激活設備.

# Loop回環地址.

auto lo

iface lo inet loopback


# 啟動系統激活設備.

# 網卡eth0設置為Static類型.

auto eth0

iface eth0 inet static


# 指定IP地址.子網掩碼.廣播.網關.

address 192.168.0.1

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1


==================================

設置DNS服務器: /etc/resolv.conf


-------------------------------------------------

search

#首選DNS服務器地址

nameserver *.*.*.*

#備用DNS服務器地址

nameserver *.*.*.*


===================================

============================================================

用dpkg-reconfigure xserver-xfree86命令修改分辨率

vi /etc/X11/XF86Config-4

============================================================

用apt-get安裝了下列字體

ttf-arphic-bkai00mp :文鼎PL中楷(Big5 碼)

ttf-arphic-bsmi00mp :文鼎PL細上海宋(Big5 碼)

ttf-arphic-gbsn00lp :文鼎PL簡報宋(GB 碼)

ttf-arphic-gkai00mp :文鼎PL簡中楷(GB 碼)

unifont :包含了firefly點陣的, Unicode 的 pcf 字體。適用於 yudit 文本編輯器。

ttf-arphic-ukai :文鼎PL中楷Uni,AR PL KaitiM Big5 + AR PL KaitiM GB

ttf-arphic-uming :AR PL Mingti2L Big5 + AR PL SungtiL GB + firefly所建立的點陣字


再重啟就OK了!

============================================================ [NextPage]


(三)Vi的必須掌握的基本操作:


1.進入編輯狀態a,i,o,指令狀態


2.向前和後移動ctrl+f ctrl+b


刪除x,dd


3.到檔案的最後一列 G

(四)壓縮大全:

.tar

解包: tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是壓縮!)

---------------------------------------------

.gz

解壓1:gunzip FileName.gz

解壓2:gzip -d FileName.gz

壓縮:gzip FileName

.tar.gz

解壓:tar zxvf FileName.tar.gz

壓縮:tar zcvf FileName.tar.gz DirName

---------------------------------------------

.bz2

解壓1:bzip2 -d FileName.bz2

解壓2:bunzip2 FileName.bz2

壓縮: bzip2 -z FileName

.tar.bz2

解壓:tar jxvf FileName.tar.bz2

壓縮:tar jcvf FileName.tar.bz2 DirName

---------------------------------------------

.bz

解壓1:bzip2 -d FileName.bz

解壓2:bunzip2 FileName.bz

壓縮:未知

.tar.bz

解壓:tar jxvf FileName.tar.bz

壓縮:未知

---------------------------------------------

.Z

解壓:uncompress FileName.Z

壓縮:compress FileName

.tar.Z

解壓:tar Zxvf FileName.tar.Z

壓縮:tar Zcvf FileName.tar.Z DirName

---------------------------------------------

.tgz

解壓:tar zxvf FileName.tgz

壓縮:未知

.tar.tgz

解壓:tar zxvf FileName.tar.tgz

壓縮:tar zcvf FileName.tar.tgz FileName

---------------------------------------------

.zip

解壓:unzip FileName.zip

壓縮:zip FileName.zip DirName

---------------------------------------------

.rar

解壓:rar a FileName.rar

壓縮:r ar e FileName.rar


rar請到:http://www.rarsoft.com/download.htm 下載!

解壓後請將rar_static拷貝到/usr/bin目錄(其他由$PATH環境變量指定的目錄也可以):

[root@www2 tmp]# cp rar_static /usr/bin/rar

---------------------------------------------

.lha

解壓:lha -e FileName.lha

壓縮:lha -a FileName.lha FileName


lha請到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下載!

>解壓後請將lha拷貝到/usr/bin目錄(其他由$PATH環境變量指定的目錄也可以):

[root@www2 tmp]# cp lha /usr/bin/

---------------------------------------------

.rpm

解包:rpm2cpio FileName.rpm | cpio -div

---------------------------------------------

.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp

.arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar

.cpt .pit .sit .sea

解壓:sEx x FileName.*

壓縮:sEx a FileName.* FileName


各種軟件安裝:


使用deb打包的軟件安裝


deb是Debian Linux提供的一個包管理器,它與RPM十分類似。但由於RPM出現得早,並且應用廣泛,所以在各種版本的Linux中都常見到,而Debian的包管理器dpkg只出現在Debina Linux中。它的優點是不用被嚴格的依賴性檢查所困擾,缺點是只在Debian Linux發行版中才能見到這個包管理工具。 [NextPage]

dpkg -l 查看安裝的文件包


1. 安裝

# dpkg -i MYsoftware-1.2.-1.deb


2. 卸載

# dpkg -e MYsoftware


dpkg -l package_name ( 列出該 package 相關信息 )

dpkg -l | less ( 列出系統中所有安裝的軟件 )

dpkg -L package_name ( 列出該 package 所有檔案擺放位置 )

dpkg -S file_name ( 搜尋 file 所屬 package )

dpkg -i package_name ( 軟件安裝 )

dpkg -r package_name ( 軟件移除 )

dpkg -x package_name.deb target_dir ( 解 .deb 檔案成數個檔案 )

dpkg -i --force-overwrite-i package_name ( 強制安裝軟件 )

dpkg -i --force-all package_name ( 不顧一切的強制安裝軟件 )

dpkg -r --purge --force-deps package_name ( 強制移除軟件 )

dpkg --get-selections ( 列出系統中所有安裝的軟件 )

dpkg --pending --remove ( 移除多余的軟件 )


使用源代碼進行軟件安裝


和RPM安裝方式相比,使用源代碼進行軟件安裝會復雜一些,但是用源代碼安裝軟件是Linux下進行軟件安裝的重要手段,也是運行Linux的最主要的優勢之一。使用源代碼安裝軟件,能按照用戶的需要選擇定制的安裝方式進行安裝,而不是僅僅依靠那些在安裝包中的預配置的參數選擇安裝。另外,仍然有一些軟件程序只能從源代碼處進行安裝。


現在有很多地方都提供源代碼包,到底在什麼地方獲得取決於軟件的特殊需要。對於那些使用比較普遍的軟件,如Sendmail,可以從商業網站處下載源代碼軟件包(如http://www.sendmail.org )。一般的軟件包,可從開發者的Web站點下載。下面介紹一下安裝步驟:


1.解壓數據包


源代碼軟件通常以.tar.gz做為擴展名,也有tar.Z、tar.bz2或.tgz為擴展名的。不同擴展名解壓縮命令也不相同,見表1。


2.編譯軟件


成功解壓縮源代碼文件後,進入解包的目錄。在安裝前閱讀Readme文件和Install文件。盡管許多源代碼文件包都使用基本相同的命令,但是有時在閱讀這些文件時能發現一些重要的區別。例如,有些軟件包含一個可以安裝的安裝腳本程序(.sh)。在安裝前閱讀這些說明文件,有助於安裝成功和節約時間。


在安裝軟件以前要成為root用戶。實現這一點通常有兩種方式:在另一台終端以root用戶登錄,或者輸入“su”,此時系統會提示輸入root用戶的密碼。輸入密碼以後,就將一直擁有root用戶的權限。如果已經是root用戶,那就可以進行下一步。]


通常的安裝方法是從安裝包的目錄執行以下命令:

 

  gunzip soft1.tar.gz
  cd soft1
  #. /configure #配置#
  make #調用make#
        make install #安裝源代碼#


  刪除安裝時產生的臨時文件:

 

  #make clean


  卸載軟件:

 

  #make uninstall


有些軟件包的源代碼編譯安裝後可以用make uninstall命令卸載。如果不提供此功能,則軟件的卸載必須手動刪除。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除干淨,應該在編譯前進行配置。


.bin文件安裝


擴展名為.bin文件是二進制的,它也是源程序經編譯後得到的機器語言。有一些軟件可以發布為以.bin為後綴的安裝包,例如,流媒體播放器 RealONE。如果安裝過RealONE的Windows版的話,那麼安裝RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常簡單了:


#chmod +x r1p1_linux22_libc6_i386_a1.bin

./ r1p1_linux22_libc6_i386_a1.bin


接下來選擇安裝方式,有普通安裝和高級安裝兩種。如果不想改動安裝目錄,就可選擇普通安裝,整個安裝過程幾乎和在Windwos下一樣。


.bin文件的卸載,以RealONE for Linux為例,如果采用普通安裝方式的話,在用戶主目錄下會有Real和Realplayer9兩個文件夾,把它們刪除即可。 [NextPage]

 

RPM格式軟件包的安裝

1.簡介


幾乎所有的Linux發行版本都使用某種形式的軟件包管理安裝、更新和卸載軟件。與直接從源代碼安裝相比,軟件包管理易於安裝和卸載;易於更新已安裝的軟件包;易於保護配置文件;易於跟蹤已安裝文件。


RPM全稱是Red Hat Package Manager(Red Hat包管理器)。RPM本質上就是一個包,包含可以立即在特定機器體系結構上安裝和運行的Linux軟件。RPM示意圖見圖1。


大多數Linux RPM軟件包的命名有一定的規律,它遵循名稱-版本-修正版-類型-MYsoftware-1.2 -1.i386.rpm 。


2.安裝RPM包軟件

# rpm -ivh MYsoftware-1.2 -1.i386.rpm


RPM命令主要參數:


-i 安裝軟件。

-t 測試安裝,不是真的安裝。

-p 顯示安裝進度。

-f 忽略任何錯誤。

-U 升級安裝。

-v 檢測套件是否正確安裝。

  

這些參數可以同時采用。更多的內容可以參考RPM的命令幫助。


3.卸載軟件


# rpm -e 軟件名


需要說明的是,上面代碼中使用的是軟件名,而不是軟件包名。例如,要卸載software-1.2.-1.i386.rpm這個包時,應執行:

#rpm -e software


4.強行卸載RPM包


有時除去一個RPM是不行的,尤其是系統上有別的程序依賴於它的時候。如果執行命令會顯示如下錯誤信息:


  ## rpm -e xsnow

  error: removing these packages would break dependencies:

  /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1

  

在這種情況下,可以用--force選項重新安裝xsnow:


  ## rpm -ivh --force xsnow-1.41-1.i386.rpm

  xsnow

  

這裡推薦使用工具軟件Kleandisk,用它可以安全徹底清理掉不再使用的RPM包。


5.安裝.src.rpm類型的文件


目前RPM有兩種模式,一種是已經過編碼的(i386.rpm),一種是未經編碼的(src.rpm)。


rpm --rebuild Filename.src.rpm


這時系統會建立一個文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目錄下,一般是i386,具體情況和Linux發行版本有關。然後 執行下面代碼即可:


rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm


Linux綠色軟件


Linux也有一些綠色軟件,不過不是很多。Linux系統提供一種機制:自動響應軟件運行進程的要求,為它設定好可以馬上運行的環境。這種機制可以是一種接口,或者是中間件。程序員編寫的程序可以

直接拷貝分發,不用安裝,只要點擊程序的圖標,訪問操作系統提供的接口,設定好就可以工作。若要刪除軟件,直接刪除就可以,不用鏈接文件。這是最簡單的軟件安裝、卸載方式。


上面介紹了Linux軟件安裝的方法,對於Linux初學者來說,RPM安裝是一個不錯的選擇。如果想真正掌握Linux系統,源代碼安裝仍然是Linux下軟件安裝的重要手段。


(五)系統啟動腳本說明:

1.There are two styles for the booting scripts, they are BSD and SysV init.


Slackware 使用BSD風格的init腳本,而很多別的發行版使用System V風格的init腳本。SysV和BSD腳本都是能讓人讀懂的,即它們都是shell腳本,而不是已編譯的程序。主要的區別在於腳本是如何設計的。


SysV腳本傾向於接受諸如start、stop、restart之類的參數,依它所啟動的程序而定。所以你可以用 /etc/init.d/bind start 這樣的命令來啟動BIND,並用 /etc/init.d/bind stop 來停止BIND。


SysV的啟動還傾向於使用符號鏈接來組織啟動進程,例如在 /etc/rc.d/rc.4/中,可能會有指向別的目錄中的真正的腳本的各種各樣的符號鏈接。這些鏈接的命令會像是 S10network、S25xdm之類,其中的S表示啟動(start)該項服務(如果是K,則表示kill),而數字指定了腳本執行的順序。


SysV風格的啟動腳本的主要優點在於能夠設置成自動配置許多東西。例如,若你進入runlevel 6,你可以建立一個鏈接叫K75bind來終止BIND,前提是鏈接所指向的文件已經設置好來做這件事。


SysV風格腳本的主要缺點是太過彎彎繞。假如我想增加一個服務,我要先寫一個SysV風格的腳本(不是容易的事),它至少要處理“start” (還可能有“stop”)。然後,我必須確保在每個要運行這個服務的runlevel中正確地設置好符號鏈接。如果恰好這個服務需要在已經連續編號的兩個腳本之間運行,我就需要做一些對符號鏈接重新編號的工作(例如,S10xxx和S11yyy已經存在,而我想讓zzzz在它們之間運行,我就需要對前兩者之一重新建立符號鏈接來把zzzz擠進去)。


想暫時改變SysV的啟動進程也是非常痛苦的事情。假如我不想在下次啟動時運行xxx服務,最簡單的辦法是刪除S10xxx這個鏈接,不算難吧?但如果我想在每個runlevel中都去掉它,我就需要從每個有關目錄中刪除S10xxx這個鏈接。然後,假如我改了主意,想重新運行xxx,我需要手工重新建立所有的符號鏈接。


這樣子無疑是在已經很復雜的啟動進程上疊床架屋,而Slackware是不會這麼做的:它用BSD風格的啟動腳本。


BSD風格的腳本是直接了當的shell腳本,它們傾向於順序運行,而不需要start或stop之類參數。只要系統進入了它們的runlevel就會執行,就這麼簡單。


BSD風格的主要缺點是你需要一些其他方法來控制後台服務。例如,若我要停止BIND,我要先用命令 ps ax|grep named 找出 named的PID,然後kill這個PID(或者用這個pid的文件名)。但是我不能簡單地下個命令 /etc/init.d/bind stop (除非我已經寫了個這樣的SysV腳本)。


BSD風格腳本的主要優點是它們非常容易閱讀和編輯。例如,若我想增加一個服務zzzz,我可以在 /etc/rd.d/rc.local中增加一行 /usr/local/bin/zzzz,這樣只要是執行rc.local的runlevel,zzzz就會隨之運行。假如我只想在runlevel 4執行zzzz,我可以把它放在 /etc/rc.d/rc.4 (不是目錄,而是一個腳本)中。如果我要改變執行順序,我只要把zzzz放在適當的服務之間,多數編輯器都支持在文件中間插入文本(就算ed都支持)。還有,你可以用注釋的方式停止一個服務,然後去掉注釋讓它重新運行。


因此,當多數發行版采用SysV風格時,Slackware采用了BSD風格。對於許多Slackware用戶,BSD風格的易用性勝過SysV風格的強大功能。當然,你可以有自己的意見。


與普遍的觀點相反,從一種風格轉到另一種並不那麼困難,只要把inittab和rc文件從一個系統拷貝到另一個系統即可。init程序自身沒有改變,所謂“風格”多是在inittab和它所調用的腳本中設置的。


譯注:現在slackware為了提高兼容性,在/etc/rc.d/提供了rc.sysvinit腳本以適應某些基於SysV啟動過程的商業程序的需要。另外,在許多設置服務的腳本中,也接受start、stop、restart這一類參數,例如rc.sendmail、rc.sshd等。


2.a sample:


1).In /etc/initab ,we found it the runlevel is set to 2.so it will use rc2.d directory for SysV init.


2).create a file named apache.sh. vi /etc/init.d/apache.sh:

#! /bin/sh


echo "Starting Apache Web Server: httpd."

/usr/apache2/bin/apachectl start


3).chmod +x apache.sh


4).change to /etc/rc2.d/

ln -s ../init.d/apache.sh S96apache


5).comments:

順便解釋一下 S96apache 的意思,以 S 開頭表明是開機時會執行的文件,96 是執行的優先順序。

目錄中 S 開頭的檔案為執行該服務, K 為開頭的檔案則是殺掉該服務的意思。那麼那些數字代表的意義為何?那就是激活的順序啦!例如S12syslog 會比S90crond 更早被執行呢!

 

Copyright © Linux教程網 All Rights Reserved