Linux运维工程师笔试题.doc_第1页
Linux运维工程师笔试题.doc_第2页
Linux运维工程师笔试题.doc_第3页
Linux运维工程师笔试题.doc_第4页
Linux运维工程师笔试题.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用什么命令查询指定IP地址的服务器端口?1yuminstall-y nmap2、用什么命令定义某个程序执行的优先级别?1nice renice3、如何让history命令显示具体时间?123HISTTIMEFORMAT=%Y-%m-%d %H:%M:%Sexport HISTTIMEFORMAT重新开机后会还原,可以写etcprofile14、查看Linux系统当前指定用户的邮件队列命令是?123456789101112131415161718192021roottest4 # mailqroottest4 # mail -u rootHeirloom Mail version12.47/29/08.Type ?forhelp./var/mail/root:9messages 8unread1AnacronTue Jun1806:4018/625Anacron job cron.daily U2 AnacronWed Jun1914:2918/624Anacron job cron.daily on U3AnacronThu Jun2013:3618/624Anacron job cron.daily &1Message1:From Tue Jun1806:40:092013Return-Path: X-Original-To: rootDelivered-To: From: Anacron To: Content-Type: text/plain;charset=ANSI_X3.4-1968Subject: Anacron Date: Tue,18Jun201306:40:09-0700(PDT)Status: RO/etc/cron.daily/mlocate.cron:/usr/bin/updatedb: can not open/etc/updatedb.conf: Permission denied5、查看Linux系统当前加载的库文件?1lsof6.Ext4文件系统如何恢复rm命令删除文件123456789101112131415161718192021222324252627282930Linux下删除文件并不是真实的删除磁盘分区中的文件,而是将文件的inode节点中的扇区指针清除,同时释放这些数据对应的数据块,当释放的数据块被系统重新分配时,那些被删除的数据就会被覆盖,所以误删除数据后,应马上卸载文件所在的分区。每个文件有inode和block组成,inode是文件系统组成的最基本单元,它保存着文件的基本属性(大小、权限、属主组等)和存放的位置信息。而 block用来存储数据。类似key-value,inode就是key,block对应value,通过key查找key对应的value。类似 python的字典。必须先umount要恢复文件的分区或者把分区改为只读模式,命令:mount o remount,ro 分区(例如:dev/hda1)或者mount -n -r -o remount /dba1 最好尽快将所在分区修改为只读方式,防止数据被覆盖使用。linux下面查看文件系统的方法有:1、mount命令#mount/dev/sda1 on / type ext4表示sda1 的文件系统是ext4 类型的。2、命令df# df -ThFilesystem Type Size Used Avail Use% Mounted on/dev/sda1 ext4 13G 7.6G 4.2G65% /df 的-T参数就可以显示文件系统的类型,-h参数让其显示的更人性化。3、命令 more /etc/fstab# more /etc/fstab 通过配置文件查看软件下载:wget /projects/extundelete/files/extundelete/0.2.0/extundelete-0.2.0.tar.bz2/download安装软件:yum install e2fsprogs-devel libcom_err-devel -ytar -jxfextundelete-0.2.0.tar.gbz21.cdextundelete-0.2.02./configure3.make4.makeinstall执行恢复动作:单个文件的恢复:extundelete /dev/sdaX -restore-file/*/*.*/file目录恢复:extundelete /dev/sdaX -restore-directory/*/*.*/dir恢复近期被删的所有东西:extundelete /dev/sdaX -restore-all7、使用tcpdump监听主机IP为,tcp端口为80的数据,同时将结果保存输出到tcpdump.log,请写出相应命令。1roottest4 # tcpdump tcp port 80andhost28w/root/sss8、简述IDS作用和实现原理。1入侵检测,设备放在intelnet进来的第一台路由后面。对进入路由的所有的包进行检测,如果有异常就报警。9、用sed修改test.txt的23行test为tset;1sed 23s/test/tset/g test.txt10、一个EXT3的文件分区,当使用touchtest.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大约只使用了60%的磁盘空间,为什么会出现这个情况,说说你的理由。121,用户磁盘配额的问题2,ext3文件系统设计的时候不适合很多小文件和大文件一样的文件格式,很多小文件会导致inode耗尽11、当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?(注:本机跟本地dns还没有缓存)1234567a.用户输入网址到浏览器b.浏览器发出DNS请求信息c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步d.计算机通过/etc/resolv.conf按照本地DNS的顺序,向合法dns服务器查询IP结果,e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果f.返回IP结果给浏览器g.浏览器根据IP信息,获取页面12.DNS服务器有哪三种类型1主 从 缓存二、简述题(共10题,每题7分)1、linux下如何改IP,主机名,DNS123roottest4 #vim/etc/sysconfig/network-scripts/ifcfg-eth0roottest4 #vim/etc/sysconfig/networkroottest4 # vim/etc/resolv.conf2、用shell统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前10位的IP数。以下是nginx的访问日志节选18- - 26/Mar/2006:23:59:55 +0800 GET /online/stat_inst.php?pid=d065HTTP/1.1 302 20- - Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)请写shell实现输出top10的IP列表。12roottest4logs# awkprint $1access.log |sort|uniq -c |head -n10313、简述linux下编译内核的意义与步骤123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109编译内核的意义在于让硬件设备更稳定的发挥其应有的效能;新内核可以在下载。先把linux-.tar.bz2 复制到/usr/src/的下面tar jxvf linux-.tar.bz2cd linux-make mrproper把原来编译产生的垃圾删除配置内核可以根据需要与爱好使用下面命令中的一个:make config (基于文本的最为传统的配置界面)make menuconfig (基于文本选单的配置界面)make xconfig (基于图形窗口模式的配置界面)make oldconfig (如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)进行配置时,大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。例如,如果需要内核支持DOS分区的文件系统,则要在文件系统部分选择FAT或DOS系统支持;系统如果配有网卡、PCMCIA卡等,需要在网络配置中选择相应卡的类型。选择相应的配置时,有三种选择,它们分别代表的含义如下:“Y”将该功能编译进内核“N”不将该功能编译进内核“M”将该功能编译成可以在需要时动态插入到内核中的模块。将与核心其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响。许多功能都可以这样处理,例如像上面提到的网卡的支持、对FAT等文件系统的支持。其实现在编译内核最关键的地方就是配置内核。我一般用make menuconfig配置内核。配置2.6.0内核时如果你的主板是Intel芯片的话,你用默认配制也许就可以得到一个满意的内核哦。做法是make menuconfig后离开时选择保存。这里的难点是pci,如果你硬盘是IDE的那一定要选择好你主板上南桥芯片。SCSI的话就是要选择上你的SCSI卡型号。还有就是网卡,声卡芯片的型号了,他们的型号你都可以用lspci 查找到比如我的是。rootleo boot# lspci00:00.0Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev01)00:01.0PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev01)00:07.0ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev08)00:07.1IDEinterface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev01)00:07.2USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB00:07.3Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev08)00:0f.0VGA compatible controller: VMware Inc VMware SVGA II PCI Display Adapter00:10.0SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev01)00:11.0Ethernet controller: Advanced Micro Devices AMD 79c970 PCnet32 LANCE (rev10)00:12.0Multimedia audio controller: Ensoniq ES1371 AudioPCI-97 (rev02)编译配置在这一部分涉及几个重要模块的配置请,特别注意.一般用make menuconfig命令来配置内核.输入以上命令后出现一个菜单界面,用户可以对需要的模块.下面着重讲几个重要的配置1)文件系统请务必要选中ext3文件系统,File systems-* Ext3 journalling file system support* Ext3 Security Labels* JBD (ext3) debugging support以上三项一定要选上,而且要内建(即 标*). 这个非常重要,在配置完后一定要检查一下.config文件有没有CONFIG_EXT3_FS=y这一项. 如果不 是CONFIG_EXT3_FS=y而是CONFIG_EXT3_FS=m,你在运行内核时就会遇上以下错 误: pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed2)网卡驱动请务必把自己网卡对应的驱动编译进内核,比较普遍的网卡是realtek8139,以下就是这种网卡的配置,以供参考Device Drivers-Networking support-Ethernet (10or 100Mbit) - RealTek RTL-8139C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL) RealTek RTL-8139PCI Fast Ethernet Adapter support3)声卡驱动也要选择自己声卡对应的驱动编译进内核,比较普遍的声卡是i810_audio,以下就是这种声卡的配置,以供参考Device Drivers -Sound - Sound card supportAdvanced Linux Sound Architecture - Advanced Linux Sound Architecture Sequencer support Sequencer dummy client OSS Mixer API OSS PCM (digital audio) API* OSS Sequencer API RTC Timer supportPCI devices - Intel i8x0/MX440, SiS7012; Ali5455; NForce Audio; AMD768/8111Open Sound System - Open Sound System (DEPRECATED)以上三项配置关系到新内核能否正常运行,请备加注意.其他的配置如果不是很了解,大可以按默认的选择.make dep (确保关键文件在正确的位置)2.5.*-2.6.0都不需要了。其实2.4.*某些内核也不需要了。make clean (确保所有有关文件都处于最新版本状态)make zImage (编译压缩形式的内核)在需要内核支持较多的外设和功能时,内核可能变得很大,此时可以编译大内核:make bzImage编译的时间与机器的硬件条件及内核的配置等因素有关,所获得的内核的位置在/usr/src/linux/arch/i386/boot目录下,当然这里假设用户的CPU是x86型的。如果选择了可加载模块,编译完内核后,要对选择的模块进行编译:make modules (编译选择的模块)make module_install (将编译后的模块转移到系统标准位置)# make install上面的命令make install将:(1)把压缩内核映象拷贝到/boot目录下, 并创建相应的System.map符号链接;(2)修改bootloader的配置文件;(3)调用mkinitrd程序创建内核的initrd映象. 对于GRUB而言, 将在/boot/grub/grub.conf配置文件增加如下类似的配置行:title Red Hat Linux (2.*)root(hd0,1)kernel /boot/vmlinuz-2.* ro root=LABEL=/initrd /boot/initrd-2.*.img模块在系统中的标准目录位于/lib/modules/x.y.z,后面的x.y.z是版本号,为安全起见,在运行make modules_install之前最好对/lib/modules进行备份。模块通常是带有扩展名.o的文件,使用命令lsmod可以对当前内核的模块进行列表。我一般是make bzImage;make modules;make module_install; make install运行新内核之前,请检查一下/boot/grub/grub.conf的内容,下面的配置可作参考# grub.conf generated by anaconda# Note that youdonot have to rerun grub after making changes tothisfile# NOTICE: You have a /boot partition. This means that# all kernel and initrd paths are relative to /boot/, eg.# root (hd0,0)# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00# initrd /initrd-version.img#boot=/dev/hdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Fedora Core ()root (hd0,0)kernel /vmlinuz-ro root=/dev/VolGroup00/LogVol00 rhgb quietinitrd /initrd-.imgtitle Fedora Core (2.6.18-1.2798.fc6)root (hd0,0)kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quietinitrd /initrd-2.6.18-1.2798.fc6.img现在重启机器,即可测试最新的内核。4、简述Linux启动过程12345678910111213141516171819202122计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或者错误信息。了解计算机开机过程有助于我们修复开机可能出现的问题。1) 最初始阶段:当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/OutputSystem)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。下一步,计算机将从你所选择的存储设备中读取起始的512bytes(比如光盘一开是的512bytes,如果我们从光盘启动的话)。这512bytes叫做主引导记录MBR (masterboot record)。MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核(kernel)所在位置等。常用的boot loader有GRUB和LILO。随后,boot loader会帮助我们加载kernel。kernel实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过kernel传达给硬件。Windows和Linux各自有自己kernel。狭义的操作系统就是指kernel,广义的操作系统包括kernel以及kernel之上的各种应用。(Linus Torvalds与其说是Linux之父,不如说是Linux kernel之父。他依然负责Linux kernel的开发和维护。至于Ubuntu, Red Hat, 它们都是基于相同的kernel之上,囊括了不同的应用和界面构成的一个更加完整的操作系统版本。)实际上,我们可以在多个分区安装boot loader,每个boot loader对应不同的操作系统,在读取MBR的时候选择我们想要启动的boot loader。这就是多操作系统的原理。小结:BIOS - MBR -boot loader - kernel2) kernel如果我们加载的是Linux kernel,Linux kernel开始工作。kernel会首先预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,kernel会启动一个init进程。它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,kernel就完成了在计算机启动阶段的工作,交接给init来管理。小结: kernel - init process3) initprocess(根据boot loader的选项,Linux此时可以进入单用户模式(singleuser mode)。在此模式下,初始脚本还没有开始执行,我们可以检测并修复计算机可能存在的错误)随后,init会运行一系列的初始脚本(startup scripts),这些脚本是Linux中常见的shell scripts。这些脚本执行如下功能:设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络当这些初始脚本,操作系统已经完全准备好了,只是,还没有人可以登录!init会给出登录(login)对话框,或者是图形化的登录界面。输入用户名(比如说vamei)和密码,DONE!在此后的过程中,你将以用户(user)vamei的身份操作电脑。此外,根据你创建用户时的设定,Linux还会将你归到某个组(group)中,比如可以是stupid组,或者是vamei组。所以你将是用户vamei,同时是vamei组的组员。(注意,组vamei和用户vamei只是重名而已,就好想你可以叫Dell, 同时还是Dell公司的老板一样。你完全也可以是用户vamei,同时为stupid组的组员)总结:BIOS -MBR - boot loader - kernel - init process - login用户,组。5.你说下你技术的强项和不足?6.如果给你300台服务器,你该怎么去管理?7.在一个系统架构中,我们为了避免单点故障,会怎么做?1系统集群高可用8、xen环境下,如何调整虚拟机内存及vcpu数?12更改虚拟机分配的CPU数量。要更改此设置,既可以利用虚拟机管理器(Virtual Machine Manager)进行,也可以使用xm vcpu-set命令。例如,将domain1分配的VCPU数改为4个,则:xm vcpu-set149、简述下一般调整哪些内核参数12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485linux 内核参数调整说明所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数, 后面是它们的含义:1. /proc/sys/net/core/rmem_max 最大的TCP数据接收缓冲。2. /proc/sys/net/core/wmem_max 最大的TCP数据发送缓冲。3. /proc/sys/net/ipv4/tcp_timestamps 时间戳在(请参考RFC1323)TCP的包头增加12个字节。4. /proc/sys/net/ipv4/tcp_sack 有选择的应答。5. /proc/sys/net/ipv4/tcp_window_scaling 支持更大的TCP窗口. 如果TCP窗口最大超过65535(64KB), 必须设置该数值为1。6. rmem_default 默认的接收窗口大小。7. rmem_max 接收窗口的最大大小。8. wmem_default 默认的发送窗口大小。9. wmem_max 发送窗口的最大大小。/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。建议在系统启动时自动修改TCP/IP参数:把下面代码增加到/etc/rc.local文件, 然后保存文件, 系统重新引导的时候会自动修改下面的TCP/IP参数:echo256960 /proc/sys/net/core/rmem_defaultecho256960 /proc/sys/net/core/rmem_maxecho256960 /proc/sys/net/core/wmem_defaultecho256960 /proc/sys/net/core/wmem_maxecho0 /proc/sys/net/ipv4/tcp_timestampsecho1 /proc/sys/net/ipv4/tcp_sackecho1 /proc/sys/net/ipv4/tcp_window_scalingTCP/IP参数都是自解释的, TCP窗口大小设置为256960, 禁止TCP的时间戳(取消在每个数据包的头中增加12字节), 支持更大的TCP窗口和TCP有选择的应答。上面数值的设定是根据互连网连接和最大带宽/延迟率来决定。注: 上面实例中的数值可以实际应用, 但它只包含了一部分参数。另外一个方法: 使用 /etc/sysctl.conf 在系统启动时把参数配置成您所设置的值:net.core.rmem_default =256960net.core.rmem_max =256960net.core.wmem_default =256960net.core.wmem_max =256960net.ipv4.tcp_timestamps =0net.ipv4.tcp_sack =1net.ipv4.tcp_window_scali

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论