皮皮网
皮皮网

【特级指标源码是什么】【狂飙抄底指标源码】【定增公式源码】ntpdate 源码下载

来源:unity云蹦迪源码二开 发表时间:2024-12-22 09:33:58

1.centos优点?
2.linux 编译生成的码下NTP为什么不能校时
3.ntpdate失败报错“the NTP socket is in use, exiting”
4.谁有FreeBSD的使用手册啊?

ntpdate 源码下载

centos优点?

       æ¦‚述一下,centos与redhat的区别和优缺点?

       CentOS是一种基于RedHat企业级操作系统代码(RHEL)构建的操作系统,因此它与RedHat具有许多共同之处。但是,它们之间有一些主要区别:

       1.支持:RedHat是一种商业操作系统,需要订阅才能获得支持和更新。CentOS则是一个社区版的发行版,完全免费,并不需要购买订阅或付费支持计划。

       2.更新:RedHat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。

       3.品质保证:RedHat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。

       4.应用场景:RedHat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中小型企业、组织以及一些开发人员等用户群体。

       5.社区:CentOS是一个社区驱动的项目,社区用户可以对代码进行修改和分发。RedHat则更多的是企业驱动,用户只能使用其已发布的产品。

       ä»¥ä¸‹æ˜¯ä»–们各自的优缺点:

       RedHat的优点:

       -专业的技术支持和服务

       -更长的支持周期

       -一流的安全性和稳定性

       -适合企业关键任务使用

       RedHat缺点:

       -需要购买订阅才能获得支持和更新

       -软件更新速度可能较慢

       -价格相对较高

       CentOS的优点:

       -免费使用和更新

       -非常稳定和可靠

       -社区活跃,有更多的社区支持和帮助

       -拥有与RHEL相似的功能和性能

       CentOS的缺点:

       -不提供商业支持

       -更新可能比RHEL版本稍慢

       -对于一些生产环境来说,不如RedHat稳定

       centos最小化安装优点

       ï¼ˆ1)Linux系统的第一个进程(pid=1)为init:

       Linux操作系统的启动首先从BIOS开始,接下来进入bootloader,由bootloader载入内核,进行内核初始化。内核初始化的最后一步就是启动pid为1的init进程。这个进程是系统的第一个进程。它负责产生其他所有用户进程。

       ï¼ˆ2)init进程是所有进程的祖先,不可以kill(也kill不掉)

       init以守护进程方式存在,是所有其他进程的祖先。init进程非常独特,能够完成其他进程无法完成的任务。Init系统能够定义、管理和控制init进程的行为。它负责组织和运行许多独立的或相关的始化工作(因此被称为init系统),从而让计算机系统进入某种用户预订的运行模式。

       ï¼ˆ3)大多数linux发行版的init系统是和systemV相兼容的,被称为sysvinit

       sysvinit就是systemV风格的init系统,顾名思义,它源于SystemV系列UNIX。它提供了比BSD风格init系统更高的灵活性。是已经风行了几十年的UNIXinit系统,一直被各类Linux发行版所采用。

       ï¼ˆ1)CentOS5

       ï¼ˆ2)CentOS6

       ï¼ˆ1)优点

       sysVinit运行非常良好,概念简单清晰,它主要依赖于shell脚本。

       ï¼ˆ2)缺点

       æŒ‰ç…§ä¸€å®šçš„顺序执行--启动太慢、很容易夯(hang)住,fstab与nfs挂载问题

       è¯´æ˜Žï¼šCentOS6采用了Upstart技术代替sysvinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化时的启动时间,但是CentOS6为了简便管理员的操作,Upstart的很多特性并没有凸显或者直接不支持,因此在CentOS6中的服务启动脚本还是以原来的sysv的形式提供的,

       ï¼ˆ1)CentOS6

       ï¼ˆ2)Ubuntu

       è¯´æ˜Žï¼šsystemd技术的设计目标是克服sysvinit固有的缺点,提高系统的启动速度,和sysvinit兼容,降低迁移成本,

       åšä¸»è¦çš„优点:并行启动

       ï¼ˆ1)RedHat7/CentOS7

       ï¼ˆ2)Ubuntu

       æ–¹æ³•1(在装系统时修改):

       åœ¨å®‰è£…系统的时候配置,修改内核选项:net.ifnames=0biosdevname=0

       æ–¹æ³•2(装系统时忘记修改,装系统后修改):

       ï¼ˆ1)编辑网卡

       #cd/etc/sysconfig/network-scripts/#mvifcfg-ensifcfg-eth0#mvifcfg-ensifcfg-eth1#vimifcfg-eth0TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0#网卡名称改为eth0DEVICE=eth0#设备名称改为eth0ONBOOT=yesIPADDR=xxx.xxx.x.xxPREFIX=GATEWAY=xxx.xxx.x.xDNS1=xxx.xxx.x.xIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_PRIVACY=no注:删掉网卡内的UUID=f7-d-4e4f-aab0-abd通用唯一识别码和HWADDR=:0c::a5:3f:MAC地址这两行。所有网卡都需要修改

       ï¼ˆ2)编辑grub文件

       [root@localhostnetwork-scripts]#cp-a/etc/sysconfig/grub/etc/sysconfig/grub.bak#备份文件[root@localhostnetwork-scripts]#vim/etc/sysconfig/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="crashkernel=autonet.ifnames=0biosdevname=0rhgbquiet"#这行添加net.ifnames=0biosdevname=0GRUB_DISABLE_RECOVERY="true"

       ï¼ˆ3)生成启动菜单

       [root@localhostnetwork-scripts]#grub2-mkconfig-o/boot/grub2/grub.cfgGeneratinggrubconfigurationfile...Foundlinuximage:/boot/vmlinuz-3..0-.el7.x_Foundinitrdimage:/boot/initramfs-3..0-.el7.x_.imgFoundlinuximage:/boot/vmlinuz-0-rescue-7d9aacdeedee9eFoundinitrdimage:/boot/initramfs-0-rescue-7d9aacdeedee9e.imgdone

       ç„¶åŽé‡å¯æœåŠ¡å™¨ï¼šreboot,重启服务器后查看网卡信息,

       å†å®‰è£…操作系统的时候使用的最小化安装,有很多包没有安装,使用时发现好多命令没有如{ vim、wget、tree...等},下面就安装命令,可以根据需求自行调整。

       yum-yinstallwgetnet-toolsscreenlsoftcpdumpncmtropenssl-develvimbash-completionlrzsznmaptelnettreentpdateiptables-services

       rpm-ivh

       éœ€è¦å¼€æœºè‡ªå¯åŠ¨çš„脚本或者配置,可以放在/etc/rc.local里,但是发现并没有执行,下面我们看一下原因。

       #ll/etc/rc.locallrwxrwxrwx1rootrootJan:/etc/rc.local-rc.d/rc.local#发现是个软连接文件#ls-l/etc/rc.d/rc.local-rw-r--r--1rootrootOct:/etc/rc.d/rc.local#问题在这里,没有执行权限#chmod+x/etc/rc.d/rc.local#添加执行权限#ls-l/etc/rc.d/rc.local-rwxr-xr-x1rootrootOct:/etc/rc.d/rc.local注:这样添加在rc.local里的开机自启动配置就可以执行了。

       linux系统下都有一个默认的超级管理员root,ssh服务的默认端口是,圈内都知道,那么接下来我们可以修改一下我们的默认端口和禁止root用户远程登录,初步提高一下服务器的安全

       1、首先修改ssh的默认端口#sed-i"s#\#Port#Port#g"/etc/ssh/sshd_config#端口可以改成1-之间任意端口,建议改成较大的端口,因为一万以内的端口常用的服务有占用,防止冲突(需要注意的是:这个端口要记住,否则连接不上服务器)2、禁止root用户远程登陆a):添加一个普通用户并设置密码(注:这一步必须执行,否则将造成远程连接不上服务器)#useraddxxx#添加xxx用户#echo"pass"|passwd--stdinxxx#给xxx用户设置密码为passb):修改ssh服务配置文件并撑起服务#sed-i's/#PermitRootLoginyes/PermitRootLoginno/'/etc/ssh/sshd_config#systemctlrestartsshd

       æ­¤æ—¶æ–­å¼€å½“前连接或者新开一个连接就会发现使用root用户连接不上服务器了,莫慌,使用xxx用户连接然后切换到root用户即可

       SELinux(Security-EnhancedLinux)是美国国家安全局(NSA)对于强制访问控制的实现,说白了就是安全机制,当然如果会配置的话建议配置更好,这里就介绍一下如何关闭吧,哈哈哈。

       #sed-i.bak's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config#修改配置文件需要重启服务器配置才会生效,如何立即生效那?#setenforce0#关闭SELinux立即生效,重启服务器后配置失效。

       é˜²ç«å¢™ï¼Œä¸è§£é‡Šï¼Œå†…网服务建议关掉,对外开放的服务器需要配置规则,这里先关掉,关于防火墙配置规则等待后续更新。

       #systemctlstopfirewalld#临时关闭#systemctldisablefirewalld#永久关闭

       è£…机后主机名默认为localhost,这里个人想更改自己的主机名,在不搭建内网DNS的情况,能通过主机名找到本机的IP地址。

       #hostnamectlset-hostnameweb#设置主机名为web,这样设置连配置文件里都修改了

       #echo"..6.6web"/etc/hosts#..6.6为本机IP

       å¦‚果是云服务器,这步优化基本都被作了,如果是物理机需要执行此步

       #sed-i.bak's@#UseDNSyes@UseDNSno@g;s@^GSSAPIAuthenticationyes@GSSAPIAuthenticationno@g'/etc/ssh/sshd_config#systemctlrestartsshd

       è¯´æ˜Žï¼šGSSAPIAuthentication参数是用于Kerberos验证的,而对于绝大多数人来说,不可能使用这种验证机制的,所以要注意把他们停掉。然后重启服务会发现远程连接速度有明显提升

       è®¾ç½®æœåŠ¡å™¨å­—符集,国际通用utf-8,根据自身业务来定

       #localectlstatus#查看当前字符集SystemLocale:LANG=en_US.UTF-8VCKeymap:usXLayout:us#localectlset-localeLANG=zh_CN.UTF-8#修改字符集为zh_CN.UTF-8,命令行和配置文件都生效#cat/etc/locale.conf#查看配置文件LANG=zh_CN.UTF-8

       CentOS7.2系统默认最大打开文件限制为,每建立一个TCP连接既浪费一个限制(这里不细讲,后续会更新详细说明),为了提升服务器性能,所以我们要增加打开文件的最大限制

       #ulimit-n#默认大小#echo"*softnofile"/etc/security/limits.conf#xi修改最大限制为#echo"*hardnofile"/etc/security/limits.conf

       æ—¶é—´åŒæ­¥ï¼Œè¿™é‡Œä¸å¤šè¯´äº†ï¼Œå‘OpenStack的所有节点的时间不一致会导致创建不了虚拟机,也会有其他的问题,不多说,我们生产上所有服务器时间都是同步的。

       #yuninstall-yntpdate#前面已经装过了#ntpdatentp1.aliyun.com#这里同步的是aliyun的时间,公司内部建议自己搭建时间服务器(减少流量、广播等),然后加入crontab即可,内网时间服务器等待后续更新。

       TCP断开连接时会有一个等待时间为2msl(秒)对应的状态为TIME_WAIT,如果业务并发较大的话会有很多的TIME_WAIT状态(详细等待后续更新),如何来解决那?

       #cat/proc/sys/net/ipv4/tcp_timestamps#时间戳,默认是开启的#cat/proc/sys/net/ipv4/tcp_tw_reuse#连接复用,tcp_timestamps是开启的状态下是可以开启的,1为开启,默认是关闭的状态。#cat/proc/sys/net/ipv4/tcp_tw_recycle#socket快速回收,net网络状态下不可以开启,负载均衡上不可以打开,读者根据自身情况开启或关闭,默认为关闭状态。

       å¥½äº†ï¼ŒæœåŠ¡å™¨ä¼˜åŒ–就介绍到这里,以上优化不分先后顺序!!

Centos7系统有什么特点?

       CentOS7是一款基于RedHatEnterpriseLinux(RHEL)开发的免费开源操作系统。它具有以下特点:

       å…¼å®¹æ€§é«˜ï¼šCentOS7兼容大多数硬件,可以运行在多种计算机硬件平台上,包括x、x和ARM等处理器体系结构。

       ç¨³å®šæ€§å¥½ï¼šCentOS7采用了RHEL的源代码,在稳定性方面有很大优势。

       å®‰å…¨æ€§é«˜ï¼šCentOS7安装时会自动开启防火墙和SELinux,可以有效保护系统安全。

       æ”¯æŒè½¯ä»¶åŒ…管理:CentOS7采用了YUM包管理器,可以方便地安装、升级和卸载软件包。

       ç½‘络功能强大:CentOS7提供了丰富的网络功能,包括虚拟网络、Bonding、VLAN等,可以满足各种网络需求。

       å…è´¹å¼€æºï¼šCentOS7是一款免费开源的操作系统,可以免费下载使用。

linux 编译生成的NTP为什么不能校时

       因为你没有启动ntpd服务

       直接执行的话,应该是码下这样:

       #/usr/local/bin/ntpd &

       然后客户端校时应该这样:

       #./ntpdate ntp.fudan.edu.cn(一个时间服务器)

       (先cd到ntpdate的目录)

       -----

       每天定时校时:

       修改crontab文件:

       #crontab -e

       加入:

       5 * * * * /usr/sbin/ntpdate ntp.fudan.edu.cn

       表明每5分钟校时一次。

ntpdate失败报错“the NTP socket is 码下in use, exiting”

       今天,我被老大要求处理产品部署失败的码下问题。产品是码下云容器平台,部署中遇到了同步时间的码下特级指标源码是什么挑战。代码调用ntpdate,码下但遇到报错“the NTP socket is 码下in use, exiting”。我首先尝试搜索解决方案,码下发现在停用ntpd服务后问题得以解决。码下然而,码下为了解决根本问题,码下我深入研究了ntpdate的码下源码。

       通过访问ntpdate的码下官方网站并查看源码下载地址,我了解到ntpdate的码下代码实际上在GitHub上。这表明,使用ntpdate时应直接获取其源代码,而非依赖旧版本。

       在源码中,我找到了导致错误的NTP socket使用的端口号是。通过查阅代码,我发现此端口号是硬编码的,这表明作者在设计时可能并未考虑到代码的可维护性。

       为了定位到端口号被占用的进程,我检查了当前服务器上的所有进程。结果发现,进程与ntpd服务相关联,且该进程由父进程1启动。通过进一步的排查,我确定了正是狂飙抄底指标源码ntpd服务占用了端口号。

       最终,我关闭了ntpd服务,从而解决了ntpdate失败的问题。这个过程虽然解决了当前问题,但更重要的是,它提供了面对类似情况时的思考方式和解决策略。下次遇到类似问题时,我们就可以根据所学方法,快速定位并解决端口占用的问题。

谁有FreeBSD的使用手册啊?

       .4 拨入服务

       Contributed by Guy Helmer. Additions by Sean Kelly.

        为拨入服务配置FreeBSD系统与连接到终端是非常相似的,除非您正在使用 modem来拨号而不是终端。

       .4.1 外置vs.内置modem

        外置modem看起来很容易拨号。 因为,外置 modem 可以通过储存在非易失性的RAM中的参数来配置,它们通常提供指示器来显示重要的RS-信号的状态。不停闪光的信号灯能给用户留下比较深刻的印象,而且指示器也可以用来查看modem是否正常地工作。

        内置modem通常缺乏非易失性的RAM, 所以对它们的配置可能会限制在通过 DIP 开关来设置。如果您的内置modem有指示灯,您也很难看得到。

       .4.1.1 Modem和线缆

        如果您使用一个外置的 modem,那您将需要适当的电缆线。一个标准的串口线应当足够长以至普通的信号能够连接上:

       表 -4. 信号名称

       缩写 全名

       RD 收到数据 (Received Data)

       TD 传出数据 (Transmitted Data)

       DTR 数据终端就绪 (Data Terminal Ready)

       DSR 数据集就绪 (Data Set Ready)

       DCD 数据载波检测 (Data Carrier Detect) (RS- 的收到线路信号检测器)

       SG 信号地 (Signal Ground)

       RTS 要求发送数据 (Request to Send)

       CTS 允许对方发送数据 (Clear to Send)

        FreeBSD 对速度超过 bps 的情形需要通过 RTS 和 CTS 信号来完成流控制, 通过 CD 信号来检测呼叫响应和挂机,并通过 DTR 信号来在会话结束时对调制解调器进行复位。某些电缆在连接时没有提供全部需要的信号, 这会给您带来问题, 例如在挂断时登录会话不消失,定增公式源码这就有可能是电缆的问题。

        与其它类 UNIX? 操作系统类似, FreeBSD 使用硬件信号来检测呼叫响应, 以及在挂断时挂断并复位调制解调器。 FreeBSD 避免发送命令给调制解调器, 或监视其状态。 如果您熟悉通过调制解调器来连接基于 PC 的 BBS 系统, 这可能看起来有点难用。

       .4.2 串口的考虑

        FreeBSD支持基于 NS, NS, NS 和 NSA 的EIA RS-C通讯接口。 和设备有单字符缓冲。 设备提供了一个 个字符的缓冲,可以提高更多的系统性能。 因为单字符缓冲设备比 个字符的缓冲需要更多的系统资源来工作,所以基于A的接口卡可能更好。 如果系统没有活动的串口, 或有较大的负载, 字符缓冲的卡对于低错误率的通讯来说更好。

       .4.3 快速预览

        对于终端, init 会在每个配置串口上为每个拨入连接产生一个 getty 进程。 例如, 如果一个 modem 被附带在 /dev/ttyd0 中,用命令ps ax可以显示下面这些:

        ? I 0:. /usr/libexec/getty V ttyd0

        当用户拨上modem, 并使用它进行连接时, CD 线就会被 modem 认出。 内核注意到载波信号已经被检测到, 需要完成 getty 端口的打开。 getty 发送一个登录:在指定的买入线指标源码初始线速度上的命令行。 Getty 会检查合法的字符是否被接收,在典型的配置中, 如果发现 “垃圾”, getty 就会设法调节线速度,直到它接收到合理的字符。

        用户在键入他/她的登录名称后, getty执行/usr/bin/login, 这会要求用户输入密码来完成登录,然后启动用户的shell。

       .4.4 配置文件

        如果希望允许拨入您的 FreeBSD 系统, 在 /etc 目录中有三个系统配置文件需要您关注。 其一是 /etc/gettytab,其中包含用于 /usr/libexec/getty 服务的配置信息。 其二是 /etc/ttys, 它的作用是告诉 /sbin/init 哪些 tty 设备上应该运行 getty。 最后,关于端口的初始化命令, 应放到 /etc/rc.d/serial 脚本中。

        关于在 UNIX 上配置拨入调制解调器有两种主要的流派。一种是将本地计算机到调制解调器的 RS- 接口配置为固定速率。 这样做的好处是,远程用户总能立即见到系统的登录提示符, 而其缺点则是,系统并不知道用户真实的数据速率是多少, 因而, 类似 Emacs 这样的程序, 也就无法调整它们绘制屏幕的方式, 以便为慢速连接改善响应时间。

        另一种流派将调制解调器的文华hcl指标源码 RS- 接口速率配置为随远程用户的连接速率变化。 例如, 对 V.bis (.4 Kbps) 连接, 调制解调器会让自己的 RS- 接口以 .2 Kbps 的速率运行, 而 bps 连接, 则会使调制解调器的 RS- 接口以 bps 的速率运行。 由于 getty 并不能识别具体的调制解调器的连接速率反馈信息, 因此, getty 会以初始速度给出一个 login: 提示, 并检查用户的响应字符。如果用户看到乱码, 则他们应知道此时应按下 Enter 键,直到看到可以辨认的提示符为止。 如果数据速率不匹配, 则 getty 会将用户输入的任何信息均视为 “乱码”, 并尝试以下一种速率来再次给出 login: 提示符。 这一过程可能需要令人作呕地重复下去, 不过一般而言,用户只要敲一两下键盘就能看到正确的提示符了。 显然, 这种登录过程看起来不如前面所介绍的 “锁定速率” 方法那样简单明了, 但使用低速连接的用户,却可以在运行全屏幕程序时得到更好的交互响应。

        这一节将尽可能公平地介绍关于配置的信息,但更着力于介绍调制解调器速率随连接速率变化的配置方法。

       .4.4.1 /etc/gettytab

        /etc/gettytab是一个用来配置 getty 信息的 termcap 风格的文件。 请看看 gettytab 的联机手册了解完整的文件格式和功能列表。

       .4.4.1.1 锁定速度的配置

        如果您把您的modem的数据通讯率锁定在一个特殊的速度上, 您不需要对 /etc/gettytab 文件作任何变化。

       .4.4.1.2 匹配速度的配置

        您将需要在 /etc/gettytab 中设置一个记录来告诉 getty 您希望在 modem 上使用的速度。 如果您的 modem 的速率是 bit/s, 则可以使用现有的 D 的记录。

       #

       # Fast dialup terminals, // rotary (can start either way)

       #

       D|d|Fast-Dial-:\

        :nx=D:tc=-baud:

       3|D|Fast-Dial-:\

        :nx=D:tc=-baud:

       5|D|Fast-Dial-:\

        :nx=D:tc=-baud:

        如果您有一个更高速度的 modem, 必须在 /etc/gettytab 中添加一个记录。 下面是一个让您可以以最高 .2 Kbit/s 的用在 .4 Kbit/s的modem上的接口记录:

       #

       # Additions for a V.bis Modem

       #

       um|V|High Speed Modem at ,8-bit:\

        :nx=V:tc=std.:

       un|V|High Speed Modem at ,8-bit:\

        :nx=V:tc=std.:

       uo|V|High Speed Modem at ,8-bit:\

        :nx=V:tc=std.:

       up|V|High Speed Modem at ,8-bit:\

        :nx=V:tc=std.:

       uq|V|High Speed Modem at ,8-bit:\

        :nx=V:tc=std.:

        这样做的结果是 8-数据位, 没有奇偶校验的连接。

        上面使用.2 Kbit/s的连接速度的例子,也可以使用 bit/s (for V.), bit/s, bit/s, bit/s, 直到 .2 Kbit/s。 通讯率的调节使用 nx= (“next table”) 来实现。 每条线使用一个 tc= (“table continuation”) 的记录来加速对于一个特殊传输率的标准设置。

        如果您有.8 Kbit/s的modem,或您想使用它的 .4Kbit/s 模式,就需要使用一个更高的超过 .2 Kbit/s 的通讯速度的 modem。 这是一个启动 .6 Kbit/s 的 gettytab 记录的例子:

       #

       # Additions for a V.bis or V. Modem

       # Starting at .6 Kbps

       #

       vm|VH|Very High Speed Modem at ,8-bit:\

        :nx=VH:tc=std.:

       vn|VH|Very High Speed Modem at ,8-bit:\

        :nx=VH:tc=std.:

       vo|VH|Very High Speed Modem at ,8-bit:\

        :nx=VH:tc=std.:

       vp|VH|Very High Speed Modem at ,8-bit:\

        :nx=VH:tc=std.:

       vq|VH|Very High Speed Modem at ,8-bit:\

        :nx=VH:tc=std.:

        如果您的 CPU 速度较低, 或系统的负荷很重, 而且没有 A 的串口,您可能会在.6 Kbit/s 上得到 “sio” “silo”错误。

       .4.4.2 /etc/ttys

        /etc/ttys文件的配置在 例 -1中介绍过。 配置 modem 是相似的, 但我们必须指定一个不同的终端类型。锁定速度和匹配速度配置的通用格式是:

       ttyd0 "/usr/libexec/getty xxx" dialup on

        上面的第一条是这个记录的设备特定文件 —— ttyd0 表示 /dev/ttyd0 是这个 getty 将被监视的文件。 第二条 "/usr/libexec/getty xxx" 是将运行在设备上的进程 init。 第三条,dialup,是默认的终端类型。 第四个参数, on, 指出了线路是可操作的 init。也可能会有第五个参数, secure, 但它将只被用作拥有物理安全的终端 (如系统终端)。

        默认的终端类型可能依赖于本地参考。 拨号是传统的默认终端类型,以至用户可以定制它们的登录脚本来注意终端什么时候拨号, 和自动调节它们的终端类型。 然而,作者发现它很容易在它的站点上指定 vt 作为默认的终端类型,因为用户刚才在它们的远程系统上使用的是VT模拟器。

        您对/etc/ttys作修改之后,您可以发送 init 进程给一个 HUP 信号来重读文件。您可以使用下面的命令来发送信号:

       # kill -HUP 1

       如果这是您的第一次设置系统, 您可能要在发信号 init 之前等一下,等到您的 modem 正确地配置并连接好。

       .4.4.2.1 锁定速度的配置

        对于一个锁定速度的配置,您的 ttys 记录必须有一个为 getty 提供固定速度的记录。 对于一个速度被锁定在 .2kbit/s 的 modem, ttys 记录是这样的:

       ttyd0 "/usr/libexec/getty std." dialup on

        如果您的 modem 被锁定在一个不同的数据速度, 为 std.speed 使用适当的速度来代替 std.。 确信您使用了一个在 /etc/gettytab 中列出的正确的类型。

       .4.4.2.2 匹配速度的设置

        在一个匹配速度的设置中,您的 ttys 录需要参考在 /etc/gettytab 适当的起始 “auto-baud” 记录。 例如, 如果您为一个以 .2 Kbit/s 开始的可匹配速度的 modem 添加上面建议的记录, 您的 ttys 记录可能是这样的:

       ttyd0 "/usr/libexec/getty V" dialup on

       .4.4.3 /etc/rc.d/serial

        高速调制解调器, 如使用 V.、 V.bis, 以及 V. 的那些, 需要使用硬件 (RTS/CTS) 流控制。 您可以在 /etc/rc.d/serial 中增加 stty 命令来在 FreeBSD 内核中, 为调制解调器设置硬件流控制标志。

        例如, 在 1 号串口 (COM2) 拨入和拨出设备上配置 termios 标志 crtscts, 可以通过在 /etc/rc.d/serial 增加下面的设置来实现:

       # Serial port initial configuration

       stty -f /dev/ttyd1.init crtscts

       stty -f /dev/cuad1.init crtscts

       .4.5 Modem 设置

        如果您有一个 modem, 它的参数能被存储在非易失性的 RAM 中,您将必须使用一个终端程序来设置参数 (比如 MS-DOS? 下的 Telix 或者 FreeBSD 下的 tip)。使用同样的通讯速度来连接 modem 作为初始速度 getty 将使用和配置 modem 的非易失性 RAM 来适应这些要求:

       连接时宣告 CD

       操作时宣告 DTR; DTR 消失时挂断线路并复位调制解调器

       CTS 传输数据流控制

       禁用 XON/XOFF 流控制

       RTS 接收数据流控制

       宁静模式 (无返回码)

       无命令回显

        请阅读您 modem 的文档找到您需要用什么命令和 DIP 接口设置。

        例如,要在一个 U.S. Robotics? Sportster? 的外置 modem 上设置上面的参数,可以用下面这些命令:

       ATZ

       AT&C1&D2&H1&I0&R2&W

        您也可能想要在 modem 上寻找机会调节这个设置, 例如它是否使用 V.bis 和 MNP5 压缩。

        外置 modem 也有一些用来设置的 DIP 开关, 也许您可以使用这些设置作为一个例子:

       Switch 1: UP —— DTR Normal

       Switch 2: N/A (Verbal Result Codes/Numeric Result Codes)

       Switch 3: UP —— Suppress Result Codes

       Switch 4: DOWN —— No echo, offline commands

       Switch 5: UP —— Auto Answer

       Switch 6: UP —— Carrier Detect Normal

       Switch 7: UP —— Load NVRAM Defaults

       Switch 8: N/A (Smart Mode/Dumb Mode)

        在拨号 modem 上的结果代码应该被 禁用/抑制, 以避免当 getty 在 modem 处于命令模式并回显输入时错误地给出 login: 提示时可能造成的问题。 这样可能导致 getty 与 modem 之间产生更长的不必要交互。

       .4.5.1 锁定速度的配置

        对于锁定速度的配置, 您需要配置 modem 来获得一个不依赖于通讯率的稳定的 modem到计算机 的传输率。 在一个 U.S. Robotics Sportster 外置 modem 上, 这些命令将锁定 modem 到计算机的传输率:

       ATZ

       AT&B1&W

       .4.5.2 匹配速度的配置

        对于一个变速的配置, 您需要配置 modem 调节它的串口传输率匹配接收的传输率。 在一个 U.S. Robotics Sportster 的外置 modem 上, 这些命令将锁定 modem 的错误修正传输率适合命令要求的速度,但允许串口速度适应没有纠错的连接:

       ATZ

       AT&B2&W

       .4.5.3 检查modem的配置

        大多数高速的modem提供了用来查看当前操作参数的命令。 在USR Sportster 外置modem上, 命令 ATI5 显示了存储在非易失性RAM中的设置。要看看正确的 modem 操作参数, 可以使用命令 ATZ 然后是 ATI4。

        如果您有一个不同牌子的 modem, 检查 modem 的使用手册看看如何双重检查您的 modem 的配置参数。

       .4.6 问题解答

        这儿是几个检查拨号modem的步骤。

       .4.6.1 检查FreeBSD系统

        把您的modem连接到FreeBSD系统, 启动系统, 然后, 如果您的 modem 有一个指示灯,当登录时看看 modem 的 DTR 指示灯是否亮: 会在系统控制台出现命令行——如果它亮, 意味着 FreeBSD 已经在适当的通讯端口启动了一个 getty 进程, 等待 modem 接收一个呼叫。

        如果DTR指示灯不亮, 通过控制台登录到 FreeBSD系统,然后执行一个 ps ax 命令来看 FreeBSD 是否正在正确的端口运行 getty进程。您将在进程显示中看到像这样的一行:

        ? I 0:. /usr/libexec/getty V ttyd0

        ? I 0:. /usr/libexec/getty V ttyd1

        如果您看到是这样的:

        d0 I 0:. /usr/libexec/getty V ttyd0

        modem 不接收呼叫, 这意味着 getty 已经在通讯端口打开了。这可以指出线缆有问题或 modem 错误配置, 因为 getty 无法打开通讯端口。

        如果您没有看到任何 getty 进程等待打开想要的 ttydN 端口, 在 /etc/ttys 中双击您的记录看看那儿是否有错误。 另外,检查日志文件 /var/log/messages 看看是否有一些来自 init 或 getty 的问题日志。 如果有任何信息, 仔细检查配置文件 /etc/ttys 和 /etc/gettytab,还有相应的设备文件 /dev/ttydN,是否有错误,丢失记录,或丢失了设备指定文件。

       .4.6.2 尝试接入Try Dialing In

        设法拨入系统。 确信使用8位, 没有奇偶检验, 在远程系统上的1阻止位。如果您不能立刻得到一个命令行, 试试每隔一秒按一下 Enter。如果您仍没有看到一个登录: 设法发送一个 BREAK。如果您正使用一个高速的 modem 来拨号, 请在锁定拨号 modem 的接口速度后再试试。

        如果您不能得到一个登录:prompt,再检查一下 /etc/gettytab,重复检查:

       在/etc/ttys 中指定的初始可用的名称与 /etc/gettytab 的一个可用的相匹配。

       每个 nx= 记录与另一个 gettytab 可用名称匹配。

       每个 tc= 记录与另一个 gettytab可用名称相匹配。

        如果您拨号但 FreeBSD 系统上的 modem 没有回应, 确信 modem 能回应电话。 如果 modem 看起来配置正确了, 通过检查 modem 的指示灯来确认 DTR 线连接正确。

        如果您做了好几次,它仍然无法工作,打断一会,等会再试试。 如果还不能工作,也许您应该发一封电子邮件给 FreeBSD 一般问题邮件列表 寻求帮助。

相关栏目:热点