首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LINUX下 Udev详解[通俗易懂]

    如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略。在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46 内核中。Mandrake,Gentoo等Linux分发版本采用了这种方式。devfs创建的设备文件是动态的。但是devfs有一些严重的限制,从 2.6.13版本后移走了。目前取代他的便是文本要提到的udev--一个用户空间程序。 目前很多的Linux分发版本采纳了udev的方式,因为它在Linux设备访问,特别是那些对设备有极端需求的站点(比如需要控制上千个硬盘)和热插拔设备(比如USB摄像头和MP3播放器)上解决了几个问题。下面我我们来看看如何管理udev设备。 实际上,对于那些为磁盘,终端设备等准备的标准配置文件而言,你不需要修改什么。但是,你需要了解udev配置来使用新的或者外来设备,如果不修改配置,这些设备可能无法访问,或者说Linux可能会采用不恰当的名字,属组或权限来创建这些设备文件。你可能也想知道如何修改RS-232串口,音频设备等文件的属组或者权限。这点在实际的Linux实施中是会遇到的。 为什么使用udev 在此之前的设备文件管理方法(静态文件和devfs)有几个缺点: * 不确定的设备映射。特别是那些动态设备,比如USB设备,设备文件到实际设备的映射并不可靠和确定。举一个例子:如果你有两个USB打印机。一个可能称为 /dev/usb/lp0,另外一个便是/dev/usb/lp1。但是到底哪个是哪个并不清楚,lp0,lp1和实际的设备没有一一对应的关系,因为他可能因为发现设备的顺序,打印机本身关闭等原因而导致这种映射并不确定。理想的方式应该是:两个打印机应该采用基于他们的序列号或者其他标识信息的唯一设备文件来映射。但是静态文件和devfs都无法做到这点。 *没有足够的主/辅设备号。我们知道,每一个设备文件是有两个8位的数字:一个是主设备号 ,另外一个是辅设备号来分配的。这两个8位的数字加上设备类型(块设备或者字符设备)来唯一标识一个设备。不幸的是,关联这些身边的的数字并不足够。 */dev目录下文件太多。一个系统采用静态设备文件关联的方式,那么这个目录下的文件必然是足够多。而同时你又不知道在你的系统上到底有那些设备文件是激活的。 *命名不够灵活。尽管devfs解决了以前的一些问题,但是它自身又带来了一些问题。其中一个就是命名不够灵活;你别想非常简单的就能修改设备文件的名字。缺省的devfs命令机制本身也很奇怪,他需要修改大量的配置文件和程序。; *内核内存使用,devfs特有的另外一个问题是,作为内核驱动模块,devfs需要消耗大量的内存,特别当系统上有大量的设备时(比如上面我们提到的系统一个上有好几千磁盘时) udev的目标是想解决上面提到的这些问题,他通采用用户空间(user-space)工具来管理/dev/目录树,他和文件系统分开。知道如何改变缺省配置能让你之大如何定制自己的系统,比如创建设备字符连接,改变设备文件属组,权限等。 udev配置文件 主要的udev配置文件是/etc/udev/udev.conf。这个文件通常很短,他可能只是包含几行#开头的注释,然后有几行选项:

    03

    [Linux虚拟机]PPTP协议讲解

    PPTP协议,是点对点协议(PPP)为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。 PPP 最初设计是为两个对等结构之间的 IP 流量的传输提供一种封装协议。在 TCP-IP 协议集中它是一种关于同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原非标准第二层协议,即 SLIP。除了 IP 以外 PPP 还可以传送其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。 PPP 主要由以下几部分组成: 封装:一种封装多协议数据报的方法。PPP 封装提供了不同网络层协议同时通过统一链路的多路技术。(人们)精心的设计 PPP 封装,使其保有对常用支持硬件的兼容性。 链路控制协议:为了在一个很宽广的环境内能足够方便的使用,PPP 提供了 LCP。LCP 用于就封装格式选项自动的达成一致,处理数据包大小的变化,探测 looped-back 链路和其他普通的配置错误,以及终止链路。提供的其他可选设备有:对链路中对等单元标识的认证,和链路功能正常或链路失败情况下的决定。 网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。 配置:通过链路控制协议使 PPP 链路很容易配置。该机制也应用于其它控制协议如网络控制协议(NCPs) 为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立之后,LCP 可选设备才可以被认证。然后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在连路上发送了。 链路将保持通信设定不变,直到外在的 LCP 和 NCP 关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。

    00

    [Linux虚拟机]利用pptp协议连接公司内网

    PPTP协议,是点对点协议(PPP)为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。 PPP 最初设计是为两个对等结构之间的 IP 流量的传输提供一种封装协议。在 TCP-IP 协议集中它是一种关于同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原非标准第二层协议,即 SLIP。除了 IP 以外 PPP 还可以传送其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。 PPP 主要由以下几部分组成: 封装:一种封装多协议数据报的方法。PPP 封装提供了不同网络层协议同时通过统一链路的多路技术。(人们)精心的设计 PPP 封装,使其保有对常用支持硬件的兼容性。 链路控制协议:为了在一个很宽广的环境内能足够方便的使用,PPP 提供了 LCP。LCP 用于就封装格式选项自动的达成一致,处理数据包大小的变化,探测 looped-back 链路和其他普通的配置错误,以及终止链路。提供的其他可选设备有:对链路中对等单元标识的认证,和链路功能正常或链路失败情况下的决定。 网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。 配置:通过链路控制协议使 PPP 链路很容易配置。该机制也应用于其它控制协议如网络控制协议(NCPs) 为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立之后,LCP 可选设备才可以被认证。然后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在连路上发送了。 链路将保持通信设定不变,直到外在的 LCP 和 NCP 关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。

    00

    负载均衡集群介绍,LVS介绍,LVS的调度算法,LVS的NAT模式搭建

    首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。这是来自维基百科的介绍。负载均衡的目的,就在于平衡计算机的负载,给用户提供优质,可靠,稳定的服务。日常生活中到处都能看到“负载均衡”,一个超市的收营员高峰期只能服务10位顾客,当做活动时有20位顾客需要服务的话可能就会排长队,这样购物体验将会很差(就像客户抱怨系统/网站访问太慢)。最简单的办法就是再招个营业员,重新开通一个出口。负载均衡的核心就是“分摊压力”。

    01
    领券