我們在 Linux 系統開機流程的說明中提及了相當多次的系統設定檔案所在的目錄,那就是 /etc/sysconfig 這個目錄囉,您可以手動的修改一下該目錄裡面的各個檔案,以使符合您的系統環境!底下我們會介紹關於這個目錄底下各個檔案所代表的意義啦!
由於這本書當中尚未提到關於網路架設的部分(若還寫下去的話,那麼這本書也就太重了…),所以我們先以簡單的方式來說明一下如何設定網路方面的功能,這個時候,每個 distribution 所提供的一些好用的小工具軟體,就得給他瞭解一下的啦!底下我們分別介紹一下目前最流行的兩套 distribution 的工具,分別是 Mandrake 與 Red Hat 的兩個小工具呦!
在 Mandrake Linux 裡頭已經有一個相當好用的系統參數設定工具,那就是大家都耳熟能詳的『 drakconf 』囉!這工具說穿了也沒有什麼特殊的地方,就是他將一些 /etc/sysconfig 裡的設定參數給他做成圖形界面就是了!基本上,如果你對系統熟的話,那麼不需要使用 drakconf 也是可以的啦!直接修改 /etc/sysconfig 底下的東西就可以囉!好吧,閒話不多說,我們就來看一看 drakconf 的功能吧!在你輸入 [root @test root]# drakconf 之後,就會出現底下的圖樣:
- 屬性相依的套件需求:
如果您當初使用的安裝方法是比較小的安裝方式,例如鳥哥都不安裝圖形介面的,好讓我那小的可憐的硬碟還可以被拿來當作資料備份之用…這個時候,很可能 drakconf 就沒有被您安裝上來囉!此時,請將您的 Mandrake 9.0 的 CD 1 拿出來,給他放入光碟機當中,並且掛載上來,再使用 RPM 的方法,安裝一下底下的各個套件:
userdrake-0.5-3mdk.i586.rpm
menudrake-0.7.1-3mdk.i586.rpm
rxvt-2.7.8-5mdk.i586.rpm
harddrake-ui-1.1.9-53mdk.i586.rpm
drakcronat-0.1.2-9mdk.noarch.rpm
drakconf-9.0-6mdk.i586.rpm
玩過了前面幾章之後,千萬不要不曉得我上面講的是什麼內容….如果忘記了,請回到前面的章節,並且『仔細的,好好的再看一遍』吧!這樣安裝完畢之後,就會有 drakconf 在你的系統當中囉!如果您想要知道你的 Linux 系統當中有沒有 drak 為開頭的指令要怎麼尋找?別擔心!回到第三部分講 Shell 的地方,還記得 BASH 裡面關於 <tab> 按鍵的用途吧!呵呵!試試看就知道會發生什麼事情囉!
如上為 drakconf 的主要圖示,在這些畫面中,除了要您以鍵盤輸入文字的時候會有底線之外,其他的時候,只要移動『上下左右』、『空白』、『tab』及『Enter』等按鍵操作即可!drakconf 主要僅是將幾個小工具彙整成為一個啦!那麼這個 drakconf 底下彙整了哪些小工具呢?看看上面的圖示,您會發現有底下幾個個別的小工具:大概就是這樣啦!底下我們分別來說一說各個工具的內容吧:
- Add new users:新增帳號工具,您可以參考第十三章的內容;
- Boot Configuration:就是 LILO 跟 Grub 的內容,參考十七章內容;
- Connection Sharing:這個就是鼎鼎大名的 DHCP ( Dynamic Host Configuration Protocol ) 主機的設定啦!就是讓您的 Linux 成為 DHCP 主機,可以分配 IP 給同一個網域內的其他電腦呢!
- Display Configuration:設定您的顯示模式,也就是在圖形介面無法登入的時候,可以用來修正 Xfree86 這個圖形使用者介面的工具!
- Internet & Network:設定網路啦!包括您的網路卡、主機名稱等等!
- KeyBoard Configuration:鍵盤的設定,主要是鍵盤的格式;
- Mouse Configuration:設定滑鼠的類型;
- Add new users:
新增使用者的方法我們都知道直接使用 useradd 再以 passwd username 設定密碼即可!這個小工具即是幫我們進行這兩個動作,其圖示如下所示:
那個 User name 才是『帳號』,至於 Real name 則是在 /etc/passwd 當中的第五欄說明欄的內容啦!輸入完畢之後就給他 Accept user 即可!
- Boot Configuration
其實這個就是 /usr/sbin/drakboot 這支程式啦!他的功能亦即是我們在開機流程的內容所提到的 LILO 與 Grub 內容,就是進行開機管理啦!按下這個功能之後會出現如下的圖示:
事實上,這個動作可以幫我們設定兩個咚咚,第一個是分別設定 /etc/lilo.conf 或 /boot/grub/menu.lst 這兩個設定檔,第二個則是將該設定寫入 MBR 或 Super Block 當中!記得回到開機流程去瞧一瞧內容即可!當然啦!由於他還可能會幫我們寫入 MBR 或 Super Block 呢!所以還是要小心一點呢!
- Connection Sharing
這個動作是在幫我們主機進行 DHCP 設定的各個規劃,由於我們尚未提到網站架設的部分,俺可不希望這裡隨便講講,結果您照著這裡的作法也隨便作作,最後就被怪客隨便破解∼所以呢,有興趣的朋友您可以自行試做看看,其實很簡單,照著出現的圖樣一步一步輸入參數就對了!但是什麼參數才是對的?呵呵!如果您真的很急的話,那麼可以先參考底下的網站呢:
http://www.study-area.org/linux/servers/linux_dhcp.htm
http://linux.vbird.org/linux_redhat7.2/65dhcp.html
- Internet & Network
但是網路內容就得說一說了,因為如果不作的話,那麼您的 Linux 怎麼上網呢?OK!這裡就來稍微談一談吧!現在上網的方式主要有三種,分別是:
- 固定制的 IP:使用的是稱為 LAN ( Local Area Network ) 的方法;
- 浮動式的 ADSL :就是使用 ADSL 呀!
- 浮動式的 Cable :就是使用 DHCP 呀,同樣也是選擇 LAN 的方法。
我們先來談一下比較簡單的 LAN 的設定,首先,要使用 LAN 之前,請先確認您的網路參數,分別是:
- Protocol 固定( Static )或動態( Dynamic ) IP 分配
- IP 你的主機位址
- Network 你的主機網域
- Netmask 你的主機子網路遮罩
- Broadcast 你的主機的廣播位址
- Gateway 你的主機所使用的通訊閘
- Hostname 你主機的名字!
- DNS 你需要 ISP 的 DNS 的 IP
其中,在協定(Protocol)的部分要特別注意了,若以 ISP 的角度來看,那麼如果協定為 static 則是固定 IP 的設定方式,如果是 Dynamic 則是 Cable 的設定方式!這是因為 Dynamic 就是使用 DHCP 這個協定所造成的啦!好了,現在來看一看按下了 Internet & Network 這一項,會出現如下的圖示,這個時候請選擇 Configuration the connection 。
這個時候會出現是否自訂設定或專家模式,然後請按下專家模式:
OK!既然要使用 LAN 所以使用 LAN connection 喔!
然後出現了硬體的選擇項目,如下所示,在下圖中顯示了兩張網路卡的模組,這是因為我有兩張網路卡,所以上頭會顯示兩個模組。所以,如果您的主機跟我的主機網路卡的形式或者是數量不同,那麼您主機上面的圖樣就會跟我不相同囉!注意注意。好了,在下圖中問你是否還有其他的網路設備?因為我知道沒有其他的網路卡了,所以當然就選擇 No 囉!
好了,底下要開始給他設定一下你的網路囉!在這個例子中,首先我們使用固定制的方式,使用了 192.168.1.2 這個私有 IP ,然後選擇不要 bootp/dhcp ,並且設定在開機的時候啟動,因此勾選 Start at boot !
不過,如果你是使用 Cable 的話,或者是您公司有架設 DHCP 主機的話,那麼上面的圖示中,你就需要選擇『Automatic IP 』這一項!而其他的就直接設定的跟我一樣即可!這可是很重要的!然後再設定你的主機名稱與 ISP 給你的 DNS 的 IP,還有 Gateway 或者是 Gateway 的裝置!像我是以 eth1 做為對外的網路卡,因此就選擇 eth1 囉!
這樣就設定 OK 啦!其實,以上的步驟就只是設定底下幾個檔案:
- /etc/sysconfig/network
- /etc/sysconfig/network-scripts/ifcfg-eth0
- /etc/resolv.conf
我們在網路架設篇再來聊一聊如何設定這些資料,包括使用手動的方式設定固定 IP 、 Cable 與 ADSL 上網的方式!
這些就是 drakconf 的主要功能了!當然,還有 X-window 裡面的 XFree86 的硬體設定!不過,這些資料我們就在 X-Window 章節裡面再提囉!
setup:
我們先來說一說 setup 的用法吧!以 root 的身份在 command line 輸入 setup 就可以進入如下的畫面:主要有底下幾個設定的咚咚:
- Authentication configuration:這是關於系統性安全的設定項目;
- Firewall configuration :這個是關於 ipchains 的防火牆機制設定;
- Keyboard configuration :這個是鍵盤的類型設定項目;
- Mouse configuration :設定滑鼠的型態的地方啦;
- Network configuration :設定網路參數的地方,包括你的 IP 呦!
- System services :設定一些系統服務的地方;
- Printer configuration :設定印表機囉;
- Sound card configuration :就是設定音效卡啦!
- Timezone configuration :設定時區;
- X configuration :設定 X-Window 相關的硬體設定!
- Authentication configuration :
還記得我們在 帳號管理 那一篇文章裡面提到的東西嗎?對啦!我們在管理密碼的時候就是使用那個 shadow 的資料!好啦,那麼怎麼改變這些密碼資料的設定呢?呵呵!就是在這一項囉!按下他之後會出現底下兩個畫面:
那個 NIS, LDAP, Hesiod 等等都是其他類型的 ID 與 pass word 管理伺服器,這裡我們不太需要使用到這麼高級的伺服器!所以只要簡單的 Shadow 與 MD5 這兩個編碼過的安全防護即可!所以囉,您可以在這裡勾選 Shadow 與 MD5 就行了!除非後來您還想要加入上述的伺服器!( 註:這個項目完成之後,會寫入/etc/sysconfig/authconfig這個檔案當中!所以也可以直接修改這個檔案即可!)
- Firewall configuration :
這是用來設定防火牆的!
- 在設定防火牆之前需要來瞭解一下什麼是『防火牆』?簡單的說,防火牆就是資料封包的過濾機制的套件囉,目前在 2.2.xx 上面使用的是 ipchains 這個封包過濾,至於 2.4.xx 則使用的是 iptables 這個封包過濾機制。此外,這兩個封包過濾機制『不能同時開啟』!
但是在這個 setup 當中的 firewall 比較詭異一點點,就是在 Red Hat 7.1 以後的版本中(包含這一版的 Red Hat 7.2 )使用的 Kernel 是 2.4.xx 版本,這一版的適合的防火牆如前述是 iptables 這個機制,但是
- 這支程式使用來設定的卻是『 ipchains 』真是的∼∼而且,另外一點比較怪異的是,
- 這個程式啟動之後,所顯示的是『程式預設值』而不是您目前的設定值,所以每次進入都會顯示『Security Level 為 ( ) High 那一項!,不過,只要不按下 OK 的話,就不會改變您原先的設定!
基本上,這個東西用來設定 ipchains 是可以啦,但是用來設定 iptables 則『沒有辦法』,最起碼我試不出來,如果您試出來的話,可得教教我呦!按下之後顯示出來的樣子如下:
請注意,在上面的設定當中,是適合於 ipchains 的,再強調一次,所以如果您使用了 iptables 作為您的防火牆機制,那麼就不要使用這支程式了!另外,在第二個畫面中,需要特別注意的是:
- 如果您只有一張卡(例如上面的例子),那麼千萬注意『不要開啟 eth0 』這個咚咚!上面的意思是說,『來自底下的界面卡(例如 eth0)或者是底下的 port 號,則予以接受』,那麼當您接受 eth0 的請求,偏偏這個卡是對外卡,那麼由於所有的要求都是由外界來的,所以底下的設定則完全沒有用了!因為檢查到界面卡的部分就予以放行的意思!這裡請注意!
- 萬一,若您有兩張網路卡,一張對內(假設為 eth0 )一張對外(假設為 eth1 ),那麼對內信任對外不信任,則可以勾選 eth0 為信任的(溝成星號),而 eth1 則不勾!
那麼這個設定在產生什麼設定檔案呢?
- 這個設定完成之後,會在 /etc/sysconfig 產生一個名為 ipchains 的檔案,這個檔案即是開機時啟動的設定檔,您可以查詢到 /etc/rc.d/init.d/ipchains 這個啟動檔案的內容看到!!
- 同理,如果您想要一開機立即將您的 iptables 機制的規則寫上去的話,那麼就可以在 /etc/sysconfig/ 建立一個名為 iptables 的檔案囉!
- Keyboard configuration :
這是用來設定鍵盤型式的!如下圖所示:
選擇正確的即可!通常我們選擇 us 這一個就對了!(註:修改的結果會記錄在 /etc/sysconfig/keyboard 這個檔案中!)
- Mouse configuration:
這是用來設定滑鼠的!按下去之後會顯示出下面的圖示:
看到了喔!如果是 ps/2 的介面的話,那麼上面就會顯示出 Generic Mouse (PS/2) 的那一項!請依照您的硬體來設定好你的滑鼠周邊!( 這個項目會在 /etc/sysconfig/mouse當中記錄下來正確的滑鼠型態,可以直接修改這個檔案呦!)
- Network configuration :
這東西是用來設定網路的東西的!按下他之後會出現底下的咚咚:
所謂的 DHCP 是一種動態發放 IP 的主機,來分給 client 電腦 IP 的方式!那麼由於我們使用的是虛擬 IP 這一種靜態的 IP 給予方式,所以自然就將第一個取消囉!另外,需要特別留意的是,使用 Cable 的朋友就是以 DHCP 來上網的,所以其對外的卡使用的就得是 DHCP 協定囉!然後需要來設定 IP (給予虛擬 IP 即可!)子遮罩網路( netmask)及 gateway 等等,這個咚咚會修改到的檔案有:
- /etc/sysconfig/network
- /etc/sysconfig/network-scripts/ifcfg-eth0
- /etc/resolv.conf
大概就是如此吧!所以,基本上,手動修改上面這些檔案即可設定好網路的基礎架構囉!
- System services :
這個東西也蠻好玩的,其實他就是 ntsysv 這個程式啦!按下他之後會顯示出底下的框框!
這裡顯示的是,目前系統上以 RPM (或者是你自己寫的)可以進行『開機時後啟動的』服務項目,以這張圖表為例,顯示出 atd 這支服務在啟動的時候就會自動的啟動囉!所以你可以移動到你所想要啟動的項目之前,按下空白鍵使產生 * 後,再按下 OK 即可!不過需要注意的是:
- 這個設定僅是在設定『啟動的時候可以自動執行』的服務,所以當你設定好 * 之後,除非重新開機,否則仍需要直接以手動啟動才行;
- 這個設定所捉出來的服務項目,其內容都列在 /etc/rc.d/init.d 及 /etc/xinetd.d這兩個目錄內;
- 這個設定設好之後,其連結會在 /etc/rc.d/rc#.d/Sxxservername 這個檔案內,例如我以文字型態登入的,所以 run-level 為 3 ,而我要設定的是 atd 這個服務,所以就會在 /etc/rc.d/rc3.d/S95atd 這個連結檔建立到 /etc/rc.d/init.d/atd 這個執行 script 中!請注意,那麼 S 代表開機啟動的意思,而數字代表執行的順序!
- Printer configuration :
設定 printer 的步驟!按下去之後可以出現如下的咚咚:
這個我就不是很熟悉了!請有經驗的朋友來信告訴我該怎麼做吧!
- Sound card configuration :
設定音效卡囉!那就設定吧!
- Timezone configuration :
還記得我們選擇的時區嗎?呵呵!想不想改變呢?
建立的資料寫在 /etc/sysconfig/clock 裡頭!
|
|
authconfig | 系統使用者所使用的認證方式,或者說是系統使用者使用以登入主機的密碼管理方式。目前最常見的就是每部主機自己管理自己,也就是
/etc/shadow 這個檔案,以及底下會再提到的檔案認證方式 MD5 的編碼格式!通常檔案的內容為:
USELDAP=no <==是否使用 LDAP USEMD5=yes <==是否使用MD5 USENIS=no <==是否使用NIS USESHADOW=yes <==是否使用 shadow |
autofsck | 當系統出現問題的時候,通常系統會自動的執行 fsck ,但是當這個檔案存在的時候,那麼系統就會依據這個檔案的內容來決定是否需要以
fsck 來檢查硬碟資料!
AUTOFSCK_TIMEOUT=5 <==暫停時間等待輸入
|
clock | 記錄時區的檔案內容:
UTC=true
<==設定時區為以 GMT 時區的設定
|
gpm | 紀錄一些額外的周邊設備的檔案資料,例如滑鼠!這個服務可以讓您在文字模式下能使用滑鼠來進行複製、剪貼等等的功能! |
harddisks | 要開啟 IDA 模式嗎?要啟動 16 I/O 模式嗎?沒錯!使用這個檔案來設定就對了!尤其是檔案裡頭的 USE_DMA=1 ,應該是可以直接啟動的啦!(將 # 去除!)這東西與 hdparm 程式有點關係的啦! |
hwconf | 在你啟動 Linux 的時候,不是有偵測硬體的項目嗎?沒錯,偵測到的硬體就是記錄在這裡,所以,如果要瞭解你的硬體資訊,來這個檔案看一看就知道了!(註:需要對於硬體如晶片組有點瞭解的人才比較容易看懂!)這東西與 hdparm 程式有點關係的啦! |
i18n | 修改預設語系的地方!很多朋友常常提到,如果預設語系選擇中文,偏偏文字模式下無法正常顯示,那麼就修改這裡的設定即可!將 LANG 的設定改成 en_US 即可!不過,有沒有支援還是得看這個檔案裡頭的 SUPPORTED 項目才行! |
keyboard | 設定鍵盤的形式; |
kudzu | 設定開機時後偵測新裝置的方式! |
mouse | 設定滑鼠的形式 |
network | 設定你的網路狀態,例如 gateway, hostname 等等的地方!相當重要! |
network-scipts | 所有的介面卡設定檔案的地方!例如 ifcfg-eth0 !相當的重要! |
rhn | 設定一些 up2date 線上更新的註冊資料!( Red Hat 上才有!) |
iptables | (不一定會存在的檔案)這個檔案為開機時啟動防火牆規則的規則檔案! |
其他的咚咚不是不重要,而是我僅列出比較相對重要的咚咚!
註:很多檔案都必須要您的系統中有設定啟動才會存在該檔案,例如 iptables
即是一例!
大家一定都有:『咦!我某些服務在開機的時候啟動,要怎麼開始?』的疑問吧!?像我一開始玩 Linux 的時候,就對這個問題很有興趣!嘿嘿!完到最後才終於曉得,原來開機能不能執行跟你的 /etc/rc.d/init.d 裡頭的服務設定項目有關,例如我要立刻就啟動 apache ,那麼 apache 的啟動 script 稱為 httpd ,所以要啟動他就需要:/etc/rc.d/init.d/httpd start此外,一開機是否立刻啟動則是設定在 /etc/rc.d/rc[0-6].d 這總共七個目錄下的資料中!我們當然可以手動來進行連結檔案,使他符合我們所需要的特性,但是我們也可以透過 Linux 給我們的設定工具來執行呦!
- ntsysv
說明:
[root @test /root]# ntsysv [--level run-level]
參數說明:
--level :可以設定每一個 run-level 的開機啟動項目
範例:
[root @test /root]# ntsysv <== 目前的 run-level 下的設定
[root @test /root]# ntsysv --level 5 <== 不同 run-level 下的設定修改
這支工具蠻有意思的!他可以設定開機時後啟動的項目呢!就是在 setup 裡頭的 System Services 那個設定的地方!比較不一樣的地方在於,這個單獨的程式還可以執行非目前 run-level 的啟動項目。如果您回到前面提到的『開機流程』的地方,那麼就會發現在啟動的項目方面,需要取得 inittab 之後,才能在各個 /etc/rc.d/rc#.d 裡頭執行各不同的 scripts ,其中常用的 run-level 是 3 及 5 (文字與圖形!)。那麼 ntsysv 就可以依據:
- /etc/xinetd.d
- /etc/rc.d/init.d
這兩個資料夾內的 scripts ,然後配合 /etc/rc.d/rc#.d 裡頭的 scripts 來進行連結檔的設定!
- service
說明:
[root @test /root]# service [service name] [start|stop|restart]
參數說明:
service name :這個服務名稱必須要實際存在 /etc/rc.d/init.d 這個目錄下才行
start|stop.. :基本上,這個與 /etc/rc.d/init.d/service_name 所允許的啟動形式有關!
範例:
[root @test /root]# service xinetd restart <==重新啟動 xinetd
[root @test /root]# service sendmail start <==啟動 sendmail 這個服務!
這個程式就更簡單了!基本上他只是一支 script 而已!他會將 /etc/init.d (其實就是 /etc/rc.d/init.d )的東西取出來,然後進行分析啦!例如上面的例子中,[ service xinetd restart ] = [ /etc/rc.d/init.d/xinetd restart ]這兩個是完全相同的東西呦!只是 service 把他更簡化了而已!除此之外,在 ntsysv 與底下接著要說明的 chkconfig 都是『等到下次開機的時候再啟動』的方式,那麼有沒有辦法立刻啟動呢?呵呵!那就是 service 的工作啦! service 可以直接將該服務啟動呦!
- chkconfig
說明:
[root @test /root]# chkconfig [--level levels] [--list|add|del] [service name]
參數說明:
--level :同樣的說明了可以設定不同的 run-level 的咚咚!
--list :列出 run-level 情況下的該套件名稱是否有被開機啟動?!
--add :增加一個 service_name 在開機的時候啟動;
--del :刪除一個開機啟動的服務!
service name :這個服務名稱必須要實際存在 /etc/rc.d/init.d 這個目錄下才行
範例:
[root @test /root]# chkconfig --list sendmail <==列出 sendmail 的啟動!
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
上面說明, sendmail 在 run-level 0, 1, 6 的時候是 off ,而在 2,3,4,5 是 On 的情況![root @test /root]# chkconfig <==列出系統所擁有的執行服務,並且列出是否開機啟動?
keytable 0:off 1:on 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
kdcrotate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
gpm 0:off 1:off 2:on 3:off 4:on 5:on 6:off
kudzu 0:off 1:off 2:off 3:off 4:on 5:on 6:off
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netfs 0:off 1:off 2:off 3:off 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
random 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rawdevices 0:off 1:off 2:off 3:off 4:on 5:on 6:off
apmd 0:off 1:off 2:on 3:off 4:on 5:on 6:off
ipchains 0:off 1:off 2:on 3:off 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off
xinetd based services:
chargen-udp: off
chargen: off
daytime-udp: off
daytime: off
echo-udp: off
echo: off
time-udp: off
[root @test /root]# chkconfig --add gpm <==增加 gpm 這個咚咚在開機的時候啟動!
chkconfig 這個程式可以將 /etc/rc.d/init.d/ 裡面的可執行服務與 /etc/xinetd.d 裡面的相關可執行的服務,連結到目前的 run-level 裡頭去,或者是您可以定義你的 run-level 讓你的該項服務在開機的時候就給他啟動?不過請注意呦! service 是馬上讓你的該項服務立刻啟動,但是 chkconfig 則僅是設定某個服務在開機得時候可以被啟動,並不一樣,請注意ㄋㄟ!
- init
說明:
[root @test /root]# init [0-6]
參數說明:
範例:
[root @test /root]# init 5 <==轉為圖形介面登入!
說完了 /etc/rc.d/rc[0-6].d 與 /etc/rc.d/init.d 的執行序之後,呵呵!如何切換呢?是否一定要修改 inittab 這個檔案?!其實不需要,直接使用 init 這支程式就行了!