Linux使用深入(大).ppt

上传人:wuy****n92 文档编号:70794677 上传时间:2023-01-28 格式:PPT 页数:60 大小:481.50KB
返回 下载 相关 举报
Linux使用深入(大).ppt_第1页
第1页 / 共60页
Linux使用深入(大).ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《Linux使用深入(大).ppt》由会员分享,可在线阅读,更多相关《Linux使用深入(大).ppt(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、28 一月 2023Linux应用与开发Linux系统使用深入n源码编译安装软件包nrpm包从源码到制作到发布需要一定的时间,并不一定是最新的版本,可能会有bugnrpm包是制作者已经编译成二进制格式的程序,在编译的时候使用的特征禁用的特征,用户难以选择n源码安装可以获得最新版本和自主选择安装特性,但需要准备开发编译环境nyum grouplist 有个Development tools的组nyum groupinstall Development toolsLinux系统使用深入n源码编译安装C+软件包nconfigure n配置指挥文档,检查依赖的开发库,开发工具,运行环境n选择编译安装源

2、程序时的特性,尽量不编译不需要的特性,减少程序体积n用makefile.in生成makefile,同时生成config.lognmakefilen编译指挥文档,保存程序的各种配置信息,gcc依赖这个文件nmake installLinux系统使用深入n源码编译安装perl软件包nperl Makefile.PLnmakenmake installLinux系统使用深入n源码编译安装axelnpscp axel-2.4.tar.gz root192.168.23.148:/333/7/ncd axel-2.4nless READMEn./configure-helpn./configure-pr

3、efix=/usr/local/axelLinux系统使用深入n源码编译安装axeln./configuren./configure-strip=0nmakenmake installnman axelLinux系统使用深入n源码编译安装httpdnpscp httpd-2.2.29.tar.gz root192.168.23.148:/333/7/nless INSTALLn./configure-prefix=/usr/local/apachenconfig.lognmakenmake installnrpm-e-nodeps httpdnapachectl1 startLinux系统使用

4、深入n源码编译安装httpdnhash-rn./apachectl startnnetstats-tnncd config htdocsLinux系统使用深入n软件下载nsourceforge.orgLinux系统使用深入nLinux系统进阶n启动n加电自检(硬件BIOS完成)nBIOS读取引导次序nBIOS读取引导设备的主引导记录(MBR)nBIOS运行主引导记录的主引导程序(BootLoader)n主引导程序识别磁盘分区加载操作系统内核(Kernel)n内核检测硬件并加载对应驱动n内核启动/sbin/init进程,进入用户空间Linux系统使用深入nLinux系统进阶n启动n内核如何找到/

5、sbin/init?n内核如果没有驱动,是否可以访问磁盘分区?Linux系统使用深入nLinux系统进阶n启动n驱动全放在内核中会有什么问题?Linux系统使用深入nLinux系统进阶n内核的种类n单内核 Linuxn在嵌入式系统上非常有优势n微内核 Solaris WindowsLinux系统使用深入nLinux系统进阶n内核的种类n单内核采用模块化设计来解决内核庞大的问题n内核对象Kernel Object(KO)/lib/modules/内核版本号/n单内核采用动态加载外围的内核模块实现内核精简Linux系统使用深入nLinux系统进阶n内核模块Linux系统使用深入nLinux系统进阶

6、n内核模块Linux系统使用深入nLinux系统进阶n内核模块Linux系统使用深入nLinux系统进阶n内核模块Linux系统使用深入nLinux系统进阶n驱动程序都通过模块放在了内核外围,没有磁盘的驱动程序,如何去访问磁盘?Linux系统使用深入nLinux系统进阶n驱动程序都通过模块放在了内核外围,没有磁盘的驱动程序,如何去访问磁盘?Linux系统使用深入nLinux系统进阶n在内核与要访问的设备之间加一个文件,专门存储这种驱动程序nlinux系统在安装的最后,会动态收集linux系统内核运行需要的最基本模块有哪些,并根据需求动态生成一个中间文件系统,存储这些基本模块,减少体积Linux

7、系统使用深入nLinux系统进阶n内核也通过根文件系统的方式访问存储内核运行所需基础模块的中间文件系统n这个中间文件系统上有跟文件系统,磁盘上也有跟文件系统会不会冲突?Linux系统使用深入nLinux系统进阶n根切换,在内核完成加载后就进行跟切换,切换到磁盘真正的根文件系统nchroot/DIR/nmkdir/333/rootdirnmkdir/333/rootdir/binncp/bin/bash/test/rootdir/binLinux系统使用深入nLinux系统进阶n根切换,在内核完成加载后就进行跟切换,切换到磁盘真正的根文件系统nldd/bin/bash 查询bash依赖的库文件L

8、inux系统使用深入nLinux系统进阶n根切换,在内核完成加载后就进行跟切换,切换到磁盘真正的根文件系统nmkdir/mkdir/333/rootdir/lib64ncp/lib64/libtinfo.so.5/333/rootdir/lib64ncp/lib64/libdl.so.2/333/rootdir/lib64ncp/lib64/libc.so.6/333/rootdir/lib64ncp/lib64/ld-linux-x86-64.so.2/333/rootdir/lib64nchroot/333/rootdirLinux系统使用深入nLinux系统进阶nlinux内核在进行根切

9、换的时候机制类似,切换完成后,中间文件系统中的几个目录迁移进磁盘根目录n/procn/sysn/devLinux系统使用深入nLinux系统进阶n存储内核所需基本模块的文件系统存储于内存中,为内存文件系统(ramfs,也称作ramdisk),initramfs(initrd)Linux系统使用深入nLinux系统进阶n启动n加电自检(硬件BIOS完成)nBIOS读取引导次序nBIOS读取引导设备的主引导记录(MBR)nBIOS运行主引导记录的主引导程序(BootLoader)n主引导程序识别磁盘分区加载操作系统内核(Kernel)n内核读取initramfs加载启动所需模块n内核检测硬件并加载

10、对应驱动n内核启动/sbin/init进程,进入用户空间Linux系统使用深入nLinux系统进阶ninit启动后要开始加载服务和其他用户空间所需的进程了n运行级别n0 halt 关机n1 single user mode 单用户模式n2 multi user mode 多用户模式,不支持NFS系统n3 multi user mode 文本多用户模式n4 reserved 系统保留模式n5 multi user mode 图形多用户模式n6 reboot 重启Linux系统使用深入nLinux系统进阶n运行模式由/sbin/init的配置文件/etc/inittab决定Linux系统使用深入n

11、Linux系统进阶n查看运行级别的命令nrunlevelnwho-rLinux系统使用深入nLinux系统进阶n回到bootloadernLILO(Linux Loader)不能引导8G以后的磁盘空间,嵌入式系统很适用nGRUB(Grand Unified Bootloader)n阶段1:MBR,用于引导阶段2 n阶段1.5:识别不同文件系统n阶段2:/boot/grubLinux系统使用深入nLinux系统进阶n回到bootloaderLinux系统使用深入nLinux系统进阶nls-l/etc/grub.confncat/etc/grub.confLinux系统使用深入nLinux系统进阶

12、ndefault=0 默认第一个title启动项ntimeout菜单的等待时间nhiddenmenu隐藏菜单nsplashimage 背景图片ntitle 不同启动项的名字nroot(hd0,0)内核文件所在的设备,grub把所有硬盘识别为hd,光盘为cdrom,表示第一块磁盘的第一个分区nkernel 内核路径及传递给内核的参数(cat/proc/cmdline)ninitrd ramfs文件d路径Linux系统使用深入nLinux系统进阶ngrub中的内核和内存文件系统的路径为什么在“/”目录下,不是应该在/boot下吗?Linux系统使用深入nLinux系统进阶nmountn/dev/s

13、da1 on/boot说明/boot是挂在独立分区上的Linux系统使用深入nLinux系统进阶n如果/boot没有挂在独立的分区,grub中内核和内存文件系统的路径就变成了/boot/*Linux系统使用深入nLinux系统进阶n把隐藏菜单去掉,修改启动项的标题,修改超时时间为10秒n执行sync同步命令后重启看效果Linux系统使用深入nLinux系统进阶n直接在启动的时候修改grubne进入编辑界面n编辑内核传入参数,quiet后加上“single”可以直接修改启动系统的运行级别n保存后用b键bootLinux系统使用深入nLinux系统进阶ngrub密码保护n全局保护n在第一个titi

14、le前加入密码n明文 password 明文n密文 grub-md5-crypt命令生成密码npassword-md5 密文 n单个启动项保护,在启动项的后边下一个启动项的前边加入passwordLinux系统使用深入nLinux系统进阶ngrub MBR修复nfdisk-l 查看分区n破环/boot所在分区的MBRndd if=/dev/zero of=/dev/sda count=1 bs=400nsyncLinux系统使用深入nLinux系统进阶ngrubn指定boot分区 root(hd0,0)n安装grub setup(hd0)n退出grub quitLinux系统使用深入nLinu

15、x系统进阶ngrub 损坏修复n破坏grub配置文件 mv/boot/grub/grub.conf/boot/grub/grub.confbnrebootLinux系统使用深入nLinux系统进阶n指定boot所在分区 root(hd0,0)n指定内核 kernel/vmlinuz-2.6-32-358.n指定内存文件系统 initrd/initramfs-2.6.32-358.nbootLinux系统使用深入nLinux系统进阶n内核加载的过程?Linux系统使用深入nLinux系统进阶n/sbin/init upstart支持服务的并发启动n配置文件/etc/inittabn/etc/in

16、it/*.confLinux系统使用深入nLinux系统进阶n/etc/inittabnid:runlevels:action:processnid 标识符nrunlevels:运行的级别naction:运行的条件nprocess:运行的程序nsi:sysinit:/etc/rc.d/rc/XXXX?Linux系统使用深入nLinux系统进阶nactionninitdefault:设定默认的运行级别(只执行一次)nsysinit:系统初始化(只执行一次)nwait:等待级别切换完成后执行(可执行多次)nctrlaltdel:设置响应快捷键npowerfail:停电时执行的操作npowerokw

17、ait:来电时执行的操作nrespawn:一旦程序终止,重新启动nca:ctrlaltdel:/sbin/shutdown-t3-r nowLinux系统使用深入nLinux系统进阶nmore/etc/init/control-alt-delete.conf快捷键映射nmore/etc/init/rcS.conf 系统初始化脚本nexec/etc/rc.d/rc.sysinitLinux系统使用深入n/etc/rc.d/rc.sysinitn激活UDV和Selinuxn利用/etc/sysctl.conf,设定内核参数n设定时钟n加载键盘映射n启用交换分区n设置主机名Linux系统使用深入n/

18、etc/rc.d/rc.sysinitn检测根文件,并用读写模式重新挂载n激活RAID、LVM设备n启用磁盘配额n读取/etc/fstab,检查并挂载其他文件系统n清理过期的锁文件,pid文件Linux系统使用深入nLinux系统进阶nmore/etc/init/rc.conf 不同级别运行的脚本nexec/etc/rc.d/rc$RUNLEVELnmore/etc/rc.d/rc Linux系统使用深入nLinux系统进阶nmore/etc/rc.d/rcnfor i in/etc/rc$i.d/K*n$i stopnfor i in/etc/rc$i.d/S*n$i startn按数字次序

19、启动和关闭,优先级控制n关闭的服务文件都是真正服务的链接 ls-l/etc/init.d/Linux系统使用深入nLinux系统进阶nmore/etc/rc.d/rc.3/K*服务脚本n服务脚本都要求有四个参数start|stop|restart|statusn./K01smartd statusnmore K01smartdLinux系统使用深入nLinux系统进阶nmore K01smartdn#chkconfig:runlevels SS KKn可以用于chkconfig命令自动创建链接到rc.d目录下nrunlevels表示默认创建为S开头的级别,-表示没有级别为S开头的链接nSS表示

20、启动的优先级nKK表示关闭的优先级nSS和KK加起来接近99,表示先开始后关闭,后开始先关闭,防止依赖Linux系统使用深入nLinux系统进阶n写一个类似的服务脚本 myservice:n#!/bin/bashn#chkconfig:12345 20 79n#description:my servicencase$1 innstatus)necho staringntouchn;n.Linux系统使用深入nLinux系统进阶ncp myservice/etc/rc.d/init.d/myservicenchkconfig-list 显示当前所有的独立守护服务进程nchkconfig-add 脚本名 添加脚本到服务nchkconfig-add myservicenls/etc/rc.d/rc3.dnchkconfig-del myservicesnchkconfig-levelLinux系统使用深入nLinux系统进阶n/etc/rc.d/rc.localn这个脚本是系统启动后自动启动的最后一个脚本,可以存放需开机运行但不方便做为服务或守护进程的脚本END!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com