crontab源碼
『壹』 源碼安裝postfix 啟動的時候日誌 報的錯,請問是哪裡出問題了。.第一次架設postfix...請多多指教。。。
解答如下:
其實沒有必要源碼安裝。如果非要這樣升級最新的,下面是之前操作過程,參考:
1,一般情況是停止和卸載Sendmail。再來安裝。
2,其次根據我之前在Centos上安裝經驗,因系統默認安裝了Postfix。你安裝源碼的話,如果卸載
比如用yum -y remove postfix這樣會將Crontab一起卸載。而且後面折騰不上。
所以,源碼安裝我選擇是在現有基礎上安裝升級。命令如下:
cdpostfix-src
make-fMakefile.initmakefiles
'CCARGS=-DHAS_MYsql-I/usr/local/mysql/include-DUSE_TLS
-DUSE_SASL_AUTH-DDEF_SERVER_SASL_TYPE="dovecot"'
'AUXLIBS=-L/usr/local/mysql/lib-lmysqlclient
-lz-lm-lssl-lcrypto'
####interactive,updateandnon-interactiveinstallpostfix
make&&shpostfix-install-non-interactivetempdir=/tmp||exit1
#################################################
你現在的問題,用下面的三段嘗試一下:如果不行可以用yum -y install postfix 然後再下載最新的Postfix包,加上上面的內容肯定可以。裡面參數是配合Mysql和Dovecot。並且整個安裝是成功的。
# /etc/init.d/sendmail stop
# mkfifo /var/spool/postfix/public/pickup
# /etc/init.d/postfix restart
『貳』 源碼包安裝ntp後找不到/etc/ntp.conf配置文件
NTP伺服器在我這里,我想做客戶端連接,但是當我通過終端想打開etc/ntp.conf時,提示我沒有許可權!
找到文件能打開,但是是只讀的,不能修改,懇請高人指點如何修改這個文件。
三、什麼是NTP
為了實現時間同步,我們就需要用戶NTP(Network Time Protocol)這個協議。如圖1所示。簡單地說,NTP是用來使系統和一個精確的時間源保持時間同步的協議。筆者建議管理員最好在自己管理的網路中建立至少一台時間伺服器來同步本地時間。
如 果在一個公司的區域網中,如果讓每個員工通過手動的方式每隔一段時間去校準時間,不但不利於管理,而且校準目標時間源也不一定準確。公司區域網絡中不同計 算機的時間偏差尤其是客戶機/伺服器之間的時間偏差,就會對一些要求時間同步的服務產生影響。比如,為了管理方便,伺服器設置了一到下班時間便 賬號過期,用戶無法訪問Internet網路。而如果你的電腦時間與伺服器的時間不同步,當你為你下班時間未到,正准備發送郵件時,或許在伺服器的時間 上,你的賬號便過期了,從而導到無法發送郵件。解決這種問題的方法很簡單,就是建立一個能提供精確時間的伺服器,區域網內的所有電腦統一通過這台時間服務 器進行時間同步、校準。
四、NTP伺服器安裝
現在,我們就來介紹一下,如何在linux系統下,建立一個NTP伺服器吧。在本文中,我們採用的是Fedora 2操作系統作為例子 (其它版本Linux也可以,系統的配置類似)。
使用 RPM 安裝
首先輸入如下指令
rpm -q ntp
查詢本機是否安裝了NTP軟體包。如果沒有安裝的話,找到您的 Linux 的安裝光碟,mount 上後,查找以NTP開頭的軟體包名,然後安裝上去,就可以了!
rpm –ivh ntp-4.1.2-5.i386.rpm
五、NTP服務的設置
1.NTP軟體包的結構
NTP服務的配置文件:
/etc/ntp.conf :這個是 NTP 服務的主要配置文件,不同的Linux版本文件所在的目錄可能會不同!
與NTP服務有關的Linux 系統文件及目錄:
/usr/share/zoneinfo:這是個目錄,在這個目錄下是規定了各主要時區的時間設定文件,例如中國大陸地區的時區設置文件是 /usr/share/zoneinfo/Asia/Shanghai 。
/etc /sysconfig/clock:這個文件是Linux 的主要時區設定文件。每次啟動後,Linux 會自動讀取這個文件來設定系統預設要顯示的時間!比如這個文件內容為「ZONE=Asia/Shanghai」,這表示我們的時間設定使用 /usr/share/zoneinfo/Asia/Shanghai 這個文件!
/etc/localtime:這個文件是本地系 統的時間設定文件! 假設clock 文件裡面規定了使用的時間設定文件為 /usr/share/zoneinfo/Asia/Shanghai, Linux 系統就會將 Shanghai那個文件復制一份為 /etc/localtime ,所以系統的時間顯示就會以 Shanghai 那個時間設定文件為准。假設這台主機到了美國紐約,您只要將 /etc/sysconfig/clock 裡面的ZONE 設定成為ZONE="America/New_York" 並且將/usr/share/zoneinfo/America/New_York復製成為 /etc/localtime ,其它什麼設置都不需要改動,系統的顯示時間就是美國紐約當地的時間了!
與 NTP 及系統時間有關的執行文件:
/bin/date: Linux 系統上面的日期與時間修改及輸出命令。
/sbin /hwclock:因為主機的 BIOS 時間與 Linux 系統時間是分開的,所以使用 date 這個指令調整了時間之後,只是調整了linux的系統時間,還需要使用 hwclock 才能將修改過後的時間寫入 BIOS。這個命令必須root用戶才能執行 。
/usr/sbin/ntpd:NTP服務的守護進程文件,需要啟動它才能提供NTP服務。
/usr/sbin/ntpdate:NTP客戶端用來連接NTP伺服器命令文件。
2.NTP服務端的設置
編輯 /etc/ntp.conf 文件
關於許可權設定部分
許可權的設定主要以 restrict 這個參數來設定,主要的語法為:
restrict IP地址 mask 子網掩碼 參數
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
參數有以下幾個:
ignore:關閉所有的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網路校時。
notrust :客戶端除非通過認證,否則該客戶端來源將被視為不信任子網
noquery :不提供客戶端的時間查詢
注意:如果參數沒有設定,那就表示該 IP (或子網)沒有任何限制!
上級時間伺服器的設定
由於我們配置的NTP 伺服器需要網路上面時間比較准確的NTP伺服器來更新自己的時間,所以在我們的 NTP 伺服器上面要配置一部上級時間伺服器來進行校準!在 Internet 上面提供了許多時間伺服器,從下面地址找一個離你最近的
用server這個參數設定上級時間伺服器,語法為:
server IP地址或域名 [prefer]
IP地址或域名就是我們指定的上級時間伺服器,如果 Server 參數最後加上 prefer,表示我們的 NTP 伺服器主要以該部主機時間進行校準。
解決NTP伺服器校準時間時的傳送延遲
使用driftfile參數設置:
driftfile 文件名
在與上級時間伺服器聯系時所花費的時間,記錄在driftfile參數後面的文件內。
注意: driftfile 後面接的文件需要使用完整的路徑文件名,不能是鏈接文件,並且文件的許可權需要設定成 ntpd守護進程可以寫入。
ntp.conf文件舉例:
設置要求:不對 Internet 提供服務,僅對內部子網 192.168.0.0/24 提供服務,NTP 伺服器的上級時間主機為:clock.nc.fukuoka-u.ac.jp和ntp.nasa.gov,內部子網的客戶端不能修改NTP伺服器的時間參數。
在ntp.conf中增加以下內容:
restrict default ignore# 關閉所有的 NTP 要求封包
restrict 127.0.0.1 # 開啟內部遞歸網路介面 lo
restrict 192.168.0.0 mask 255.255.255.0 nomodify #在內部子網裡面的客戶端可以 進行網路校時,但不能修改NTP伺服器的時間參數。
server 133.100.9.2 prefer #用133.100.9.2做上級時間伺服器
server 198.123.30.132 #198.123.30.132作為上級時間伺服器參考
restrict 133.100.9.2 #開放server 訪問我們ntp服務的許可權
restrict 198.123.30.132
driftfile /var/lib/ntp/drift
保存退出後。啟動NTP服務
service ntpd start
如果想每次系統啟動,NTP服務自動啟動,請輸入下面命令: chkconfig -level 35 ntpd on 注意:
1.NTP服務的埠是123,使用的是udp協議,所以NTP伺服器的防火牆必須對外開放udp 123這個埠。
2.Ntpd啟動的時候通常需要一段時間進行時間同步,所以在ntpd剛剛啟動的時候還不能正常提供時鍾服務,最長大概有5分鍾吧,如果超過了這個時間請檢查一下您的配置文件。
六、NTP客戶端的使用
Linux系統
在Linux 上面進行網路校時非常簡單,執行 ntpdate 即可:
ntpdate 192.168.0.1 #192.168.0.1是NTP伺服器的IP
不要忘了使用hwclock命令,把時間寫入bios
hwclock -w
如果想定時進行時間校準,可以使用crond服務來定時執行。
編輯 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w #192.168.0.1是NTP伺服器的IP地址
然後重啟crond服務
service crond restart
這樣,每天 8:30 Linux 系統就會自動的進行網路時間校準。
Windows 系統
在 Windows XP上面使用NTP進行時間校準也很簡單:
雙擊桌面任務欄上的時間,彈出「日期和時間」屬性窗口,如圖所示:
選擇Internet時間,在伺服器中填入你的NTP伺服器的IP地址或者域名,然後點擊立即更新,您的系統時間就會立即更新。如果想定時更新,把左上角的自動與Internet時間伺服器同步選中,然後點擊右下角的應用即可。
yy-2-3.tif
如 果不是Windows XP系統,但是NTP伺服器同時也是samba伺服器的話,則對Windows來說,不需要安裝任何時間同步軟體,因為Windows客戶端可以用net time\\時間伺服器IP或伺服器netbios名/set/yes來同步。可以把該命令放在開始菜單的啟動項中,啟動windows時自動同步。
由於net time命令是利用Netbios over TCP/IP協議來同步時間,所以NTP伺服器不同時是samba 伺服器的話,就需要Windows客戶端安裝時間同步軟體。這方面的軟體很多,使用也很簡單,讀者可以上網查找一下。
『叄』 求演算法:根據Linux的Crontab時間規則算出下一時間點
少年,哥只能幫你到這兒了。其實java有個第三方的類庫。名稱叫做quartz。你可以看看。如果直接用這個類庫的話,分分鍾就能解決你的察源問題。敗笑態既然,你要真正的演算法。沒辦法,我看了一下類庫中的源碼,把其中針對你需要的部分給摳出來了。可以滿足你的要求。
代碼太長,貼不進去。。。升芹。怎麼給你?
『肆』 Jenkins 自動構建部署tomcat項目
Jenkins 是一個開源的、功能強大的應用程序,可持續集成並且持續交付項目。Jenkins自動構建項目的流程原理如下圖所示:
用戶通過將源碼push到svn或者git等倉庫上,然後Jenkins會定期pull檢查倉庫中的源碼是否有變化。如發生變化則會重新構建測試項目並打包生成相應的文件存放在指定的目錄,這過程中的完成情況可設置以郵件的形式反饋給管理員,並且管理員可登陸到Jenkins上查看相應項目的構建情況。接著項目構建成功後,Jenkins會把相應的項目包推送到指定的伺服器上的指定目錄下, 然後執行相應的命令進行項目的部署。
接著我們就來看看如何使用Jenkins完成tomcat項目的自動構建部署。
Jenkins的安裝可參考: https://www.jianshu.com/p/f2da45e2bac7
在Jenkinsweb界面中的系統管理->系統配置 添加相應的SSH Servers:
如上圖所示,添加相應的SSH Server的Ip、用戶密碼等信息,並設置遠程主目錄為根目錄,也可以配置SSH key 實現免密認證訪問。
因為本次實驗中我需要構建 https://github.com/charliewch/game-of-life 此項目,因此在構建之前需要保證Jenkins能夠連接上GitHub。此實驗中,我的Jenkins運行在tomcat應用上,因此其運行用戶為tomcat,所以需要使用tomcat用戶生成相應的ssh key 然後設置到github 的 setting中。
把上述的id_rsa.pub內容復制粘貼到github的setting中的SSH and GPG keys上:
配置完成後,能夠出現下述信息,說明tomcat 用戶連接到github已經成功。
在系統管理->系統設置中找到下圖的設置,並配置相關的郵件伺服器信息
點擊新建任務,輸入項目名後選擇構建一個自由風格的軟體項目並確定保存。
在源碼管理中添加git作為源碼倉庫。
設置輪詢SCM為每15分鍾輪詢一次,此處的編寫規則遵循crontab 任務的周期編寫規則。
在構建增加調用頂層Maven模板的步驟,添加目標為clean package,用於將相應的java項目打包成war包,存放在target目錄下。
在構建後的步驟中,新增Editable Email Notification,並在高級中配置觸發郵件報警的條件:
此處設置的recipient List 為上一步設置的收件人列表
繼續在構建後操作添加步驟:Send build artifacts over SSH
配置完成後點擊保存即可
在Gameoflife任務的工作空間中,點擊立即構建按鈕觸發新的構建,點擊Build history可查看相應的構建情況:
另外在相應的構建任務中點擊查看控制台輸出,能夠查看構建的結果及相應信息輸出,有助於排查錯誤。
從下圖看到,報警郵件也觸發成功了。
最後,此時如果用戶對修改相應的git倉庫的中源碼,在下一次git輪詢Jenkins會自動觸發相應的項目構建並進行推送部署,用戶可查看相應的git輪詢日誌來查看輪詢的情況。
『伍』 如何使用crond在Linux下跑定時任務
crond是linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啟動crond進程,crond進程每分鍾會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
crontab文件的含義:
用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個欄位代表一項設置,它的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute hour day month week command
其中:
minute: 表示分鍾,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,「1,2,5,7,8,9」
中杠(-):可以用整數之間的中杠表示一個整數范圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鍾執行一次。
默認的情況我們安裝完系統後,系統都會自帶一個crond守護進程並啟動,如果系統沒有帶的話,我們可以使用yum命令來安裝一個
yum install crontabs
一些有關Crond服務的命令:
service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置
service crond status //查看服務狀態
<pre name="code" class="java">查看crontab服務是游派否已設置為開機啟動,執行命令:
ntsysv
加入開機自動啟動:
chkconfig –level 35 crond on
三、crontab命令詳解
1.命令格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
2.命令功能:
通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鍾、小時、日、月、周及以上的任意組合。這個命令非常設合周期性的日誌分析或數猛指據備份等工作。
3.命令參數:
-u user:用來設定某個用戶的crontab服務,例如,「-u ixdba」表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。
file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標准輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。</pre>
上面,補了一些枝磨配有關crond的基礎知識後,下面,散仙來看下該如何實現一個簡單的定時任務.
任務描述:使用pyhon寫的一個小腳本,要求使用crond服務每隔1分鍾執行一次,並把輸出的結果存放到/root的根目錄下任意一個txt下,方便校驗腳本是否執行成功,(因為腳本裡面的輸出,默認是不會在linux shell界面顯示的,所以需要我們輸出到一個文件裡面方便查看。)
我們先來看下,散仙的python腳本的源碼內容:
<pre name="code" class="python">
#! /usr/bin/env python
#coding:utf-8
import sys
import time
reload(sys)
sys.setdefaultencoding('utf-8')
print("123在中國"+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
</pre>
下面執行crontab -e進入編輯模式
添加定時執行任務的命令,注意最後寫入的路徑是一個txt。
然後,保存,退出,執行下 service crond restart重啟啟動crond服務。
然後使用tail -f abc.txt命令,監控這個文件可以查看,任務是否被定義執行,截圖如下:
可以使用 service crond stop 來停止定時服務或我們這個測試的job給刪掉,以免影響一些服務。如果是生產機器,請慎重操作!
『陸』 大數據分析應該掌握哪些基礎知識呢
前言,學大數據要先換電腦:
保證電腦4核8G內存64位操作系統,盡量有ssd做系統盤,否則卡到你喪失信心。硬碟越大越好。
1,語言要求
java剛入門的時候要求javase。
scala是學習spark要用的基本使用即可。
後期深入要求:
java NIO,netty,多線程,ClassLoader,jvm底層及調優等,rpc。
2,操作系統要求
linux 基本的shell腳本的使用。
crontab的使用,最多。
cpu,內存,網路,磁碟等瓶頸分析及狀態查看的工具。
scp,ssh,hosts的配置使用。
telnet,ping等網路排查命令的使用
3,sql基本使用
sql是基礎,hive,sparksql等都需要用到,況且大部分企業也還是以數據倉庫為中心,少不了sql。
sql統計,排序,join,group等,然後就是sql語句調優,表設計等。
4,大數據基本了解
Zookeeper,hadoop,hbase,hive,sqoop,flume,kafka,spark,storm等這些框架的作用及基本環境的搭建,要熟練,要會運維,瓶頸分析。
5,maprece及相關框架hive,sqoop
深入了解maprece的核心思想。尤其是shuffle,join,文件輸入格式,map數目,rece數目,調優等。
6,hive和hbase等倉庫
hive和hbase基本是大數據倉庫的標配。要回用,懂調優,故障排查。
hbase看浪尖hbase系列文章。hive後期更新。
7,消息隊列的使用
kafka基本概念,使用,瓶頸分析。看浪尖kafka系列文章。
8,實時處理系統
storm和spark Streaming
9,spark core和sparksql
spark用於離線分析的兩個重要功能。
10,最終方向決策
a),運維。(精通整套系統及故障排查,會寫運維腳本啥的。)
b),數據分析。(演算法精通)
c),平台開發。(源碼精通)
自學還是培訓?
無基礎的同學,培訓之前先搞到視頻通學一遍,防止盲目培訓跟不上講師節奏,浪費時間,精力,金錢。
有基礎的盡量搞點視頻學基礎,然後跟群里大牛交流,前提是人家願意,
想辦法跟大牛做朋友才是王道。
『柒』 誰能提供LINUX下crontab指令的源代碼
linux下crontab基本上辯山遲以攜李vixie-cron為標准唯野 源碼下載地址
http://61.135.158.199/distfiles/vixie-cron-4.1.tar.bz2
『捌』 誰能提供LINUX下crontab指令的源代碼
linux下的定時訪問可以使用corntab來實現
1、首先編輯corntab,添加如下命令
#每兩個小時
0 */2 * * * sometask.sh
上面的這段代碼是每兩個小時 執行sometask.sh,這樣我們可以在sometask.sh里
實現訪問網路地址;
2、sometask.sh代碼
#!/bin/sh
curl www.some123.com
經過以上兩部就可以實現定時訪問了。
或者:
加一個定時執行一個指定腳本的功能,而這個指定的腳本,就是我寫的,悄漏代碼很簡單如下:
#!/bin/sh
php -f example.php
這是使用的php解析器的一個功能。寫完這個腳本,可以現在終端窗口裡測試一下。如果有找不到php的錯誤出現,說明在系統里沒有知道php這個執行文件,需要加上指定的路徑。example.php就啟物爛是本地的一個php腳本,可以在這個腳本里用php做任何php能做的事情了。
總的方案有些羅螞賣嗦,比如本來可以在crontab裡面直接執行自己寫的腳本裡面的內容,畢竟只有一行。我考慮的是,把要執行的部分獨立出來,而不是全部放到crontab裡面去。本來看man php,說是php可以直接寫成腳本由crontab裡面的命令執行的,但是發現語法不對,也不去研究了,算了。
『玖』 linux系統和 windows系統相比,有什麼優勢和不足
(1)Linux速度比較快,安全性比windows好
(2)有很多軟體只能在windows里運行 ,與Linux兼容的軟體正在開發中.
(3)Linux適用在網路方面.
(4)Linux的操作比較復雜,windows的比較簡單.
Linux 的應用目標是網路而不是列印
Windows最初出現的時候,這個世界還是一個紙張的世界。Windows的偉大成就之
一在於您的工作成果可以方便地看到並列印出來。這樣一個開端影響了 Windows
的後期發展。
同樣,Linux 也受到了其起源的影響。Linux 的設計定位於網路操作系統。它的
設計靈感來自於 Unix 操作系統,因此它的命令的設計比較簡單,或者說是比較
簡潔。由於純文本可以非常好地跨網路工作,所以 Linux 配置文件和數據都以文
本為基礎。
對那些熟悉圖形環境的人來說,Linux伺服器初看可能比較原始。但是Linux開發
更多關注的是它的內在功能而不是表面上的東西。即使是在純文本的環境中,Lin
ux同樣擁有非常先進的網路、腳本和安全能力。執行一些任務所需的某些表面上
看起來比較奇怪的步驟是令人費解的,除非您認識到 Linux 是期望在網路上與其
他 Linux系統協同執行這些任務。Linux的自動執行能力也很強,只需要設計批處
理文件就可以讓系統自動完成非常詳細的任務。Linux 的這種能力來自於其基於
文本的本質。
可選的 GUI
Linux有圖形組件。Linux支持高端的圖形適配器和顯示器,完全勝任圖形相關的
工作。現在,許多數字效果藝術家在Linux工作站上來進行他們的設計工作,而以
前這些工作需要使用IRIX系統來完成。但是,圖形環境並沒有集成到 Linux 中,
而是運行於系統之上的單獨一層。這意味著您可以只運行 GUI,或者在需要時才
運行 GUI。如果您的系統主要任務是提供Web應用,那麼您可以停掉圖形界面,而
將其所用的內存和CPU資源用於您的服務。如果您需要在 GUI 環境下做一些工作
,可以再打開它,工作完成後再將其關閉。
Linux 有圖形化的管理工具,以及日常辦公的工具,比如電子郵件、網路瀏覽器
和文檔處理工具等。不過,在 Linux 中,圖形化的管理工具通常是控制台 (命令
行) 工具的擴展。也就是說,用圖形化工具能完成的所有工作,用控制台命令同
樣可以完成。同樣,使用圖形化工具並不妨礙您對配置文件進行手工修改。其實
際意義可能並不是特別顯而易見,但是,如果在圖形化管理工具中所做的任何工
作都可以以命令行的方式完成,這就表示那些工作也可以由一個腳本來實現。腳
本化的命令可以成為自動執行的任務。Linux 同時支持這兩種方式,並不要求您
只用文本或者只用 GUI。您可以根據您的需要選擇最好的方法。
Linux 中的配置文件是人類可讀的文本文件,這與過去的 Windows 中的 INI 文
件類似,但與 Windows 的注冊表機制在思路上有本質的區別。每一個應用程序都
有其自己的配置文件,而且通常不與其他的配置文件放在一起。不過,大部分的
配置文件都存放於一個目錄樹 (/etc) 下的單個地方,所以看起來它們在邏輯上
是在一起。文本文件的配置方式使得不通過特殊的系統工具就可以完成配置文件
的備份、檢查和編輯工作。
文件名擴展
Linux不使用文件名擴展來識別文件的類型。相反,Linux根據文件的頭內容來識
別其類型。為了提高人類可讀性您仍可以使用文件名擴展,但這對 Linux 系統來
說沒有任何作用。不過,有一些應用程序,比如 Web 伺服器,可能使用命名約定
來識別文件類型,但這只是特定的應用程序的要求而不是 Linux 系統本身的要求
。
Linux通過文件訪問許可權來判斷文件是否為可執行文件。任何一個文件都可以賦予
可執行許可權,這樣程序和腳本的創建者或管理員可以將它們識別為可執行文件。
這樣做有利於安全。保存到系統上的可執行的文件不能自動執行,這樣就可以防
止許多腳本病毒。
重新引導是最後的手段
如果您使用Windows已經很長時間了,您可能已經習慣出於各種原因(從軟體安裝
到糾正服務故障)而重新引導系統。在Linux思想中您的這一習慣需要改變。Linu
x在本質上更遵循「牛頓運動定律」。一旦開始運行,它將保持運行狀態,直到受
到外來因素的影響,比如硬體的故障。實際上,Linux系統的設計使得應用程序不
會導致內核的崩潰,因此不必經常重新引導(與Windows系統的設計相對而言)。
所以除了Linux內核之外,其他軟體的安裝、啟動、停止和重新配置都不用重新引
導系統。
如果您確實重新引導了 Linux 系統,問題很可能得不到解決,而且還會使問題更
加惡化。學習並掌握 Linux 服務和運行級別是成功解決問題的關鍵。學習 Linux
最困難的就是克服重新引導系統的習慣。
另外,您可以遠程地完成Linux中的很多工作。只要有一些基本的網路服務在運行
,您就可以進入到那個系統。而且,如果系統中一個特定的服務出現了問題,您
可以在進行故障診斷的同時讓其他服務繼續運行。當您在一個系統上同時運行多
個服務的時候,這種管理方式非常重要。
命令區分大小寫
所有的 Linux 命令和選項都區分大小寫。例如, -R 與 -r 不同,會去做不同的
事情。控制台命令幾乎都是小寫的。我們將在「 第 2 部分. 控制台速成班」中
對命令進行更詳細的介紹。
廣泛的硬體支持可能是任何流行操作系統最基本的要求,也是可伸縮性的一個重要方面。Windows操作系統在這個方面做得的確非常出色:一方面,Windows的廣泛使用使得任何硬體廠商在推出新的硬體時都會把Windows當作標準的平台加以支持,並且不斷為新的Windows版本更新驅動程序;另一方面,大量的硬體支持又反過來推動了Windows平台的進一步普及。
Linux的硬體驅動程序通常都是由那些需要這些硬體的用戶自己來開發的. Linux的共享性能夠很快地給那些常用的硬體提供驅動程序,這些驅動程序需要後續的支持和幫助,來克服潛在的不穩定性。至於一些尚未普及的組件,如各式各樣的USB設備,其驅動程序的開發將需要更多的支持,來滿足不同用戶的需要。
SMP(對稱多處理器)支持
CPU是計算機系統的核心部分,是否具有良好的SMP支持將直接影響大型應用下的性能。
Windows 2000 Advanced Server的零售版本最多支持四路SMP,OEM版可以支持最多達32路的SMP。對CPU的支持級別和Windows 4.0相比沒有什麼變化,但是對SMP的實現代碼進行了改進,使得高性能的縮放可以更為「線性」地進行。Windows NT Server 4.0企業版已經實現了創紀錄的性能價格水平,隨著對SMP縮放的改進,這一趨勢將在Windows 2000 Advanced Server和Datacenter Server中得到延續。在採用八路設計或者多於八路設計的系統中,性能的提高最為明顯。
而Linux正致力於解決核心部分中的SMP支持,以提高Linux在大型應用下的性能。盡管Linux不是為SMP而設計的,Linux Torvalds也曾經說過Linux的SMP評測表現很差,但是我們期望這些問題能夠在2.4版本內核中得到解決,使更多的學校或者企業可以使用經過考驗的Linux來實現他們的核心程序。
對群集的支持
Windows 2000 Server具有強大的群集功能。Compaq最近之所以能在TPC-C比賽中傲視群雄,擊敗所有對手,靠的就是一個巨大的有著12個節點,96個處理器的群集,而它們運行的是Windows 2000 Server。
盡管Linux沒有在高端系統中運行關鍵性應用程序方面有出色記錄,但最近Linux在群集項目也發布了不少東西,希望Linux的開發者大軍可以開發出更完善的群集功能
對特定計算環境的支持
使每一個系統都有適合於自己的工作場合,這就是系統對特定計算環境的支持。
微軟開發了不同的操作系統來完成不同類型的任務。Windows CE適用於小型的手持式電腦和筆記本電腦,Windows 95/98和Windows 2000 Professional適用於桌面計算機,而Windows NT 4.0和Windows 2000 Server則適用於大型伺服器應用程序。作為一個系列操作系統家族,Windows對各種不同的工作環境提供了良好的伸縮性支持。
由於Linux大部分可用的平台處於開發的初始階段,對於各種不同計算環境的支持將是Linux系統的下一步目標。
文檔編制
眾所周知,隨著系統變得越來越復雜,功能越來越強大,編制一個好的文檔是非常重要的。這有助於用戶對系統的理解和管理。詳盡的文檔說明,有助於我們熟練地掌握它所有的功能和特性。
微軟通常為其產品提供了深入細致的文檔說明,在文檔的本地化方面也做得很好。Linux產品的文檔說明需要進一步的規范。
回答者:可愛的小剛絲 - 試用期 一級 9-6 13:12
1、從系統構成上來說,linux是開源軟體,而windows不是。那就意味著,如果你喜歡你可以對linux系統做你想做的任何改動。而這點對於windows來說,是想也不要想的。
2、從運行的穩定性來說。各有利弊。但linux的任何程序都是相對獨立的,哪怕gnome和kde(圖形界面)也是獨立的。而軟體的崩潰只是軟體的崩潰,很少造成系統的癱瘓(死機)。只有重新運行程序就好了。windows嗎,就不用說了,沒見過windows死機的人,我沒見過。
3、從多用戶來說,linux是真正的多用戶系統。可以多個用戶真正登錄,這對於windows來說,雖然也有了雛形,但太兒戲化了,擺設而已。
4、對於中文的支持來說。windows的多個版本對於windows的支持是很強的。字體也很漂亮。而linux雖然也支持中文,但要完全支持中文是要手動做很多設置的,不過就算做的再好。總有機會看到中文亂碼的(因為幾乎每個軟體都要設置字體和字元編碼的)。而且中文的字體比較煩,不是很好看。(好看的基本都不是開源的。ps:如果你都不想為操作系統花錢,還會去買幾個字體嗎。當然也有盜版@不是用linux的初衷了。)
5、對於系統更新來說,apt是目前linux不二的選擇了,快捷普遍、簡單。而且無什麼正版驗證之虞的。windows也不錯,可以漏洞總比補丁來的快,更何況我沒用過正版的呢。
6、從安全性來說。其實上一條也說過這個問題了。我們用windows時,殺毒軟體、防火牆、防垃圾軟體、防間諜軟體佔去了大部分的系統資源。可這樣還是防不勝防的。有誰沒中過毒或木馬、流氓軟體呢?
linux?不用這些煩人的東西。
7、從應用軟體來說,雖然linux下的軟體有很多,但和windows來說,真的沒辦法比的。誰讓windows幾乎成了操作系統的代名了呢。
8、從易用性來說,我自我的感覺,在常用的windows、mac、linux中,無論界面、滑鼠操作、文件格式,windows都是相當容易上手的。其他的操作系統,幾乎都要是摸索中探索的。更何況linux的很多配置都是基於文檔的,也就是要手工的修改一些配置文件。對於想我這樣的老人來說,厄長的代碼,明天還能記得否?
windows幾乎一支滑鼠就能解決所有問題。呵呵
9、綜述:當然各種的優缺點遠不至就這些,就不過說了。
如果要出於個人應用的話,還是用windows吧。學習容易,資料好早。
如果出於學習的話,還是用用linux吧,但你要做好不厭其煩的心理准備!對於混亂的linux版本來說,你要記得同樣的問題,可以有n種解決辦法,但可能只有一種合適你的。網上資料相對比較匱乏,比較單一,而且抄襲嚴重。
linux我推薦用新華linux,中文化很好了(少煩很多神的),論壇也做的不錯。