当前位置:首页 » 操作系统 » crontab源码

crontab源码

发布时间: 2023-05-24 11:55:48

‘壹’ 源码安装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,中文化很好了(少烦很多神的),论坛也做的不错。

热点内容
编译语言全家桶软件 发布:2025-04-22 17:02:29 浏览:387
javascriptdes加密 发布:2025-04-22 17:02:11 浏览:384
python线程参数 发布:2025-04-22 17:01:01 浏览:317
卫生员什么配置 发布:2025-04-22 17:00:02 浏览:219
苹果系统搭建服务器的软件 发布:2025-04-22 16:36:29 浏览:13
房车配置怎么选择 发布:2025-04-22 16:22:14 浏览:492
编程猫gb 发布:2025-04-22 16:22:13 浏览:632
密码加密php 发布:2025-04-22 16:07:09 浏览:582
imac存储空间为什么这么小 发布:2025-04-22 15:45:30 浏览:223
上传时速是0 发布:2025-04-22 15:37:49 浏览:568