首页
学习
活动
专区
工具
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 (RHEL 5.4)下安装 Oracle 10g R2

    如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2010/03/30/5431428.aspx      虽然 Oracle 10g Database Release 2 已经推出几年了,但这个版本仍然为很多初学者学习的版本,下面详细讲述了安装 Oracle 10g 的步骤。 一、 linux 的版本选用     目前 linux(RHEL) 使用的主要版本为 5.4 版,可以到下面的地址下载其安装文件。        RHEL5.4 下载   http://download.chinaunix.net/download/0013000/12623.shtml 二、关于 linux 的安装     很多初学者使用的是 XP 系统上的虚拟机来安装 Linux ,因此本文也是在虚拟机上安装 Linux 然后再安装 Oracle 10g. 至于虚拟机可以使用 VMware 6.5 Workstation 版,这个可以到百度 ,Google 找一下,比较多。安装了 linux 时,我们需要特殊的配置一下 Oracle 的安装环境,关于这个配置 Oracle 安装环境,请参考: VmWare6.5.2下安装 RHEL 5.4(配置 Oracle安装环境) 三、安装 Oracle 前的环境检查     1. 下载 Oracle 10g R2        Oracle 10g for Linux   http://www.oracle.com/technology/software/products/database/index.html     2. 查看 Linux 内核参数,有点多余,作为初学者,还是可以练习一下。请确保高于 2.6.9 -5.0.5.EL 以上内核              强烈建议大家安装 SecureCRT 或 VNC 工具,这样不必来回在 XP 和 Linux 下切换。        uname –r [root@localhost ~]# uname -r        2.6.18 -164.el5xen     3. 查看 CPU 、内存、 Swap 及磁盘可用空间        内存:至少 1GB ,下图中我的内存仅 900MB        Swap :一般为可用物理内存的 2 倍,比如设定为 2GB        /Temp 分区:至少 400MB        Oracle 安装目录所在的分区:至少 4GB [root@localhost ~]# free -m                     total       used       free     shared    buffers     cached        Mem:           900        568        331          0         56        356        -/+ buffers/cache:        154        745        Swap:         2251          0       2251 [root@localhost ~]# df -h        Filesystem            Size  Used Avail Use% Mounted on        /dev/sda2             6.4G  3.8G  2.3G  63% /        /dev/sdd1             6.8G  144M  6.3G   3% /u01        /dev/sdc2             1.2G   34M  1.1G   3% /home        /dev/sdc1             760M   17M  704M   3% /tmp        /dev/sda1             456M   18M  415M   5% /boot        tmpfs                    450M     0  450M   0% /dev/shm        none                     450M   104K  450M   1% /var/lib/xenstored        /dev/hdc               2.8G  2.8G     0 100% /media/RHEL_5.4 i386 DVD 四、配置安装环境     1. 安装补丁包        关于确认补丁包的是否已安装,可以使用下述方式来查看        rpm -q gcc make

    01

    Linux从零开始(二、基础命令(续)解决命令行无限输入,停不下来)

    重导与管道: 重导(redirect)可将某命令的结果输出导文件中, 它有两中命令: “>”和“>>”。 “>”可将结果输出到文件中, 该文件原有的内容会被删除: “>>”则将结果附加到文件中, 原文件内容不会被清除。范例如下: ls –a>dir.txt ← 将 ls –a命令执行结果输出到 dir.txt文件。 cat data1.txt >> data2.txt ← 将 data1.txt 内容附加到 data2.txt文件之后。 通道(pipe)命令的符号是“ ”,可将某命令的结果输出给另一命令,一下范例将 ls命令的输出结果传给 grep命令过滤: ls grep conf ← 搜索并显示 ls命令运行结果中包含有“conf”字符串 在举一个删除文件或目录的例子,可以利用 yes命令重复输出“y”字符的特性,将结果传给 rm命令,如此即可避免重复输入“y”: yes rm –r mydi 用光盘及软盘在 Linux的文字模式下要使用光盘或软盘, 并不是只将光盘或软盘放入即可, 用户需要运行加载的命令, 才可读写数据。 所谓加载就是将存储介质( 如光盘和软盘)指定成系统中的某个目录(如/mnt/cdrom或 mnt/floppy)。通过直接存取此加载目录,即可读写存储介质中的数据。以下就来看看文字模式下的加载及卸载命令。 加载的mount(登上、增加)命令 要使用光盘时先把光盘放入光驱, 然后执行加载的mount命令, 将光盘加载至系统中: mount /dev/mut/cdrom← 加载光盘 同理,使用软盘之前也需要和光盘一样,必须先加载后才能使用: mount /dev/mut/floppy← 加载软盘 卸载的umount命令 如果不需要使用光盘或软盘, 则需先执行卸载命令之后, 才能将光盘或软盘退出。 范例如下:umount /mnt/← 光盘卸载 在不使用软盘时执行umount 命令卸载软盘,再将软盘拿出 umount /mnt/← 软盘卸载 后台运行程序 用户有时的程序有可能要花费很多时间, 如果将它放在前台运行, 将导致无法继续做其他事情, 最好的方法就是将它放在后台运行, 甚至可能希望在用户注销系统后, 程序还可以继续运行。让我们看看那如何实现这一目的。 在后台运行程序的&、 bg命令 将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下: update db &← 在后台执行 locate 数据库更新命令 bg ← 将更新操作放到后台运行 前台运行的程序fg命令 如果用户当前已有程序在后台运行,可以输入fg命令,将它从背景中移到前台运行: fg ← 放到前台执行的命令会显示出来 在退出后让程序继续运行的nohup命令 此命令可使用户退出系统后,程序继续运行。范例如下: nohup myserver&然后用户就可以退出了, 当再次登录的时候, 可以用ps–aux命令看到程序仍在后台中运行。

    03

    unix常用命令对照表及常用命令资料

    在AIX操作系统上有很多的命令。这里介绍一些系统级的命令,它将有助于回答一些常见问题。大家以此做参考,并补充修改。以下命令在AIX 5.1上测试通过。 · 关于内核 显示AIX系统内核是32位还是64位: bootinfo -K 如何改变内核模式(32位或64位) /unix文件连接到一个可引导的映像。通过命令ls -l /unix查看: /unix ->; /usr/lib/boot/unix_up # 32 bit uniprocessor kernel /unix ->; /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel /unix ->; /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel 在AIX系统安装时,缺省安装的内核是32位。可以用如下命令更改内核模式: ln -sf /usr/lib/boot/unix_64 /unixln -sf /usr/lib/boot/unix_64/usr/lib/boot/unixbosboot -ad /dev/hdiskxxshutdown -r 注意:/dev/hdiskxx是指引导逻辑卷/dev/hd5所在的硬盘。可通过下面命令来查看xx是几: lslv -m hd5 · 关于硬件 显示机器硬件是32位还是64位: bootinfo -y 查看机器的物理内存是多少: bootinfo -r 或 lsattr -El sys0 -a realmem 查看机器是否支持64位内核(是否64位硬件) /usr/sbin/bootinfo -p 如果返回32,则表示硬件是32位的;如果返回的是chrp,则表示硬件是64位的机器。 显示当前磁带设备rmt0的属性: lsattr -l rmt0 -E 显示缺省的磁带设备rmt0的属性: lsattr -l rmt0 -D 显示终端设备tty0的登录属性: lsattr -l tty0 -a login -R 显示系统级属性: lsattr -E -l sys0 查看当前系统有多少CPU: lscfg | grep proc 查看当前系统有多少硬盘而且是否被使用: Lspv 查看当前系统的详细配置: lscfg -pv 也可以显示某一设备的配置: lscfg -vl rmt0 查看当前系统的芯片名称、系统名、节点名、型号等: uname -p # 显示芯片名称,例如:powerpc uname -r # 显示操作系统的发行号 uname -s # 显示系统名,例如:AIX uname -n # 显示节点名 uname -a # 显示系统名、节点名、版本、机器ID uname -M # 显示型号,例如:IBM,7046-B50 uname -v # 显示操作系统版本 uname -m # 显示机器ID · 关于AIX 查看AIX的版本、发行号、ML(Maintenance Level)级别: oslevel -r 或 lslpp -h bos.rte 如何改变文件系统大小,例如:将/usr文件系统增加1000000字节: chfs -a size=+1000000 /usr 如何使用CD: mount -V cdrfs -o ro /dev/cd0 /cdrom 查看本机的IP地址: Ifconfig -a 或 host Fully_Qualified_Host_Name 例如:host cyclop.austin.ibm.com 查找哪一个文件集(fileset)包含特定的文件,例如:查找/usr/bin/vmstat属于哪一个文件集。 lslpp -w /usr/bin/vmstat 显示哪一个文件集包含/usr/bin/svmon: Which_fileset svmon 查看某一级别的ML中所有文件是否都已经安装: instfix -i | grep ML 如何确定某一补丁(fix)是否安装,例如:查看IY24043是否安装 instfix -ik IY24043 显示哪些文件集需要安装或修改: lppchk -v 查看交换区(paging space)的分配和使用: lsps -a · 关于卷组和逻辑卷 创建卷组: mkvg -y name_of_volume_group -s partition_size list_of_hard_disks partition_size单位是MB,它是1到1024之间的一个数。(2的次幂,例如:1,2, 4, 8, 16, 32等,缺省是4MB。) 创建逻辑卷: mklv -y name_of_logical_volume name_of_volume_group number_of_partition 显示当前系统的所有卷组: Lsvg 显示卷组rootvg的详细信息:

    02
    领券