⑴ 雙系統linux 和win7 系統怎麼把時間同步
一、首先要弄清幾個概念:
1. 「系統時間」與「硬體時間」
系統時間: 一般說來就是我們執行 date 命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬體時間的命令)都是使用的這個時間。
硬體時間: 主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬體時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設置而定)。
2. 「UTC時間」與「本地時間」
UTC時間:Coordinated Universal 8 e2 i( H7 t0 ^/ ^Time 世界協調時間(又稱世界標准時間、世界統一時間),在一般精度要求下,它與GMT(Greenwich Mean Time,格林威治標准時間)是一樣的,其實也就是說 GMT≈UTC,但 UTC 是以原子鍾校準的,更精確。
本地時間:由於處在不同的時區,本地時間一般與UTC是不同的,換算方法就是
本地時間 = UTC + 時區 或 UTC = 本地時間 - 時區
時區東為正,西為負,例如在中國,本地時間都使用北京時間,在linux上顯示就是 CST(China Standard Time,中國標准時,注意美國的中部標准時Central Standard Time也縮寫為CST,與這里的CST不是一回事!),時區為東八區,也就是 +8 區,所以 CST=UTC+(+8小時) 或 UTC=CST-(+8小時)。
二、時間命令
1. 系統時間 date
直接調用 date,得到的是本地時間。如果想得到UTC時間的話,使用 date -u。
[12-01 19:07> ~]$ date
2009年 12月 07日 星期一 14:22:20 CST
[12-01 19:07> ~]$ date -u
2009年 12月 07日 星期一 06:22:22 UTC
2. 硬體時間 /sbin/hwclock
直接調用 /sbin/hwclock 顯示的時間就是 BIOS 中的時間嗎?未必!這要看 /etc/sysconfig/clock 中是否啟用了UTC,如果啟用了UTC(UTC=true),顯示的其實是經過時區換算的時間而不是BIOS中真正的時間,如果加上 --localtime 選項,則得到的總是 BIOS 中實際的時間.
[12-01 19:07> ~]# hwclock
2009年12月07日 星期一 14時28分43秒 -0.611463 seconds
[12-01 19:07> ~]# hwclock --utc
2009年12月07日 星期一 14時28分46秒 -0.594189 seconds
[12-01 19:07> ~]# hwclock --localtime
2009年12月07日 星期一 06時28分50秒 -0.063875 seconds
3. /etc/localtime
這個文件用來設置系統的時區,將 /usr/share/zoneinfo/ 中相應文件拷貝到/etc下並重命名為 localtime 即可修改時區設置,而且這種修改對 date 命令是及時生效的。不論是 date 還是 hwclock 都會用到這個文件,會根據這個文件的時區設置來進行UTC和本地之間之間的換算。
4. /etc/sysconfig/clock
這個文件只對 hwclock 有效,而且似乎是只在系統啟動和關閉的時候才有用,比如修改了其中的 UTC=true 到 UTC=false 的前後,執行 hwclock (--utc, 或 --localtime) 都沒有變化,要重啟系統後才生效。註:如果設置 UTC=false 並重啟系統後,執行一些命令結果如下:
date 2009年 12月 07日 星期一 19:26:29 CST
date -u 2009年 12月 07日 星期一 11:26:29 UTC
hwclock 2009年12月07日 星期一 19時26分30秒 -0.442668 seconds
hwclock --utc 2009年12月08日 星期二 03時26分31秒 -0.999091 seconds
hwclock --localtime 2009年12月07日 星期一 19時26分32秒 -0.999217 seconds
可見,如果不使用UTC,BIOS時間(紅色部分)就是系統本地時間,而且注意這時執行 hwclock --utc 得到的結果沒有任何意義,因為這里我們已經禁用了UTC,而且也明顯不符合「本地時間=UTC+時區」的關系。
三、linux與windows雙系統間的時間同步
系統啟動和關閉時,硬體時間與系統時間之間的同步有兩種方式(假設在中國,用CST代表本地時間):
方式A: 使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=true)
開機: BIOS------->UTC(將BIOS中的時間看成是UTC)------(時區變化)----->CST
關機: CST -------(時區變化)----->UTC-------存儲到------>BIOS
方式B: 不使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=false)
開機: BIOS--------------------->CST(將BIOS中的時間看成是CST)
關機: CST ---------存儲到------>BIOS
通過設定 /etc/sysconfig/clock,linux可以支持這兩種方式,然而windows只支持方式B(至少是默認支持B,而我不知道怎麼能讓它支 持A),那麼在雙系統情況下,如果linux設成A方式,那麼在linux與windows系統切換時一定會造成時間混亂的,解決辦法就是將linux中 的UTC禁用,也設成B方式就可以了。
註:可以通過 hwclock --hctosys 來利用硬體時間來設置系統時間(注意不是簡單的復制BIOS中的時間為系統時間,要看是否使用UTC,如果使用的話則要做時區換算),通過 hwclock --systohc 來根據系統時間設置硬體時間(也要看是否啟用UTC來決定是否做時區換算)。
總之,不論使用 --systohc 還是 --hctosys,同步後直接運行不帶參數的 hwclock 得到的時間與直接運行 date 得到的時間應該一致,這個時間是否就是BIOS中的時間(hwclock --localtime)那就不一定了,如果啟用了UTC就不是,沒啟用UTC就是。
而且還要注意:在系統中手動使用 hwclock hwclock --set --date='yyyy-mm-dd' 來設置BIOS時間只在系統運行時有效,因為當系統關閉時,還會按設定好的方式根據系統時間來重設BIOS時間的,於是手動的設置便被覆蓋掉了。
---------------------------------------------------------------------
(二)
Linux時鍾分為系統時鍾(System Clock)和硬體(Real Time Clock,簡稱RTC)時鍾。系統時鍾是指當前Linux Kernel中的時鍾,而硬體時鍾則是主板上由電池供電的時鍾,這個硬體時鍾可以在BIOS中進行設置。當Linux啟動時,硬體時鍾會去讀取系統時鍾的設置,然後系統時鍾就會獨立於硬體運作。
Linux中的所有命令(包括函數)都是採用的系統時鍾設置。在Linux中,用於時鍾查看和設置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一個就行,只不過clock命令除了支持x86硬體體系外,還支持Alpha硬體體系。
⑵ Linux如何設置上網
linux上網設置經典二法
1、一種是linux共享區域網內的windows主機上網
如果你的網卡linux能夠識別的話在安裝的時候會有網卡配置過程。從列表中選擇網路設備,一般為eth0,點擊「編輯」,在打開的「編輯介面」對話框中,用戶可以通過DHCP來配置網路,這樣也可以,不過我更喜歡定製一個靜態IP,所以去掉「使用DHCP進行配置」前面的選項,然後在下面輸入你要定製的IP地址和子網掩碼,確定後,在下面的網關和主要DNS里輸入當前區域網上做為主機的計算機的IP地址。這樣裝完以後就搞定。
如果你是裝完後再安裝的網卡的話,那可以在「系統設置」里選擇「網路」,如果你的網卡安裝成功的話會在下面的列表裡看到你的網卡,同樣設置DNS(和上面一樣),然後再回到列表裡,選中你的網卡,點上面的編輯,選中「當計算機啟動時激活設備」,然後選擇下面的「靜態設置的IP地址」,在下面輸入和上面同樣的設置。再重新啟動就可以了。
2、另外一種就是用你的linux通過ADSL上網了
在linux下就集成著一個ADSL撥號軟體,打開終端,在裡面輸入#adsl-setup,然後進行設置:
LOGIN NAME
Enter your Login Name (default root):(輸入你的用戶名)
INTERFACE
Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0):(選擇網路設備)
Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped. If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses. You may have some problems with demand-activated links.
Enter the demand value (default no):(選擇是按需撥號,還是持續連接)
DNS
Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
Enter the DNS information here:(選擇DNS)
PASSWORD
Please enter your Password:
Please re-enter your Password:
USERCTRL
Please enter 'yes' (two letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes):(是否允許普通用戶啟動、關閉)
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
for a LAN
Choose a type of firewall (0-2):(選擇firewall的規則)
Start this connection at boot time
Do you want to start this connection at boot time?
Please enter no or yes (default no):(選擇是否隨機啟動)
** Summary of what you entered **
Ethernet Interface:
User name:
Activate-on-demand:
DNS addresses:
Firewalling:
User Control:
Accept these settings and adjust configuration files (y/n)?(確認一下是否接受設置)
以上的設置在「系統設置」里 的「網路」里選擇新建,建立一個xDSL連接,也可以實現。設置完成了以後在網路里激活連接。
上面的ADSL連接就試過一次,由於我們是區域網,所以一直用的是共享上網,如果有什麼錯誤不要罵我,還請指教!!