导读:某客户单位数据库出现异常,大致现象是:数据库状态是open的,但是其中一个数据文件无法访问,本文分享排查原因与解决问题的整个过程。 通过ls 查看文件都报错,如下所示:[oracle@oracledata01 oracle]$ lsls: 无法访问zf4.dbf: 输入/输出错误 同时dd命令也无法读取该文件:[oracle@oracledata01 fd]$ dd if=zf4.dbf bs=8192 count=1 skip=1|od -x|header -1bash: header: command not founddd: 正在打开"zf4.dbf": 没有那...
目录 向 rootfs 的“/lib ”目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试向 rootfs 的“/lib ”目录添加库文件 接下来就可以向根文件系统添加 lib库了 在Ubuntu系统中在rootfs文件夹中新建一个lib文件夹接下来进入到gcc编译器中libc/lib文件夹中路径为 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib 然后将将此目录下所有的*so*和....
文件系统|inode|block|ext和xfs类型文件恢复 一、文件系统概述1.文件、扇区2.块(block)3.文件数据4.inode(索引节点)5.super block (超级块)6.结论 二、模拟inode节点耗尽实验代码图解1.关闭虚拟机,编辑虚拟机设置,添加新硬盘,这里我们随便给10G,点击下一步并确认,开启虚拟机2.查看磁盘列表3.管理磁盘,创建磁盘4.进行挂载之前需先确定文件系统类型,进行格式化,格式华为ext35.在根目录下创建一个子目录/sdb1用于挂载,并查...
Linux的文件系统比较庞大,笔者从实现pwd命令入手,来加深对文件系统的理解,起到以小见大的效果pwd命令的作用Linux的文件系统比较庞大,所以笔者从pwd这一命令入手,在实现的过程中加深对文件系统的了解。输入:man pwd从指导文档中可以看到,pwd命令的作用是显示出当前所处位置,以路径的形式打印出来。举例如下:笔者首先输入pwd命令,显示出/home/lularible,说明我当前就处在该位置。当笔者进入其中的一个子目录"bin"时,再次...
Linux内核中的各种文件系统:proc、tmpfs、devfs、sysfs 背景 刚学完proc文件系统在内核驱动 中的使用,就看到另外的sysfs的有关接口。很好奇proc文件系统和sysfs文件系统有啥区别。 proc 虚拟文件系统,在linux系统中被挂载与/proc目录下。里面的文件包含了很多系统信息,比如cpu负载、 内存、网络配置和文件系统等等。我们可以通过内部文本流来查看进程信息(正在运行的各个进程的PID号也以目录名形式存在/proc目录下)和机器的状...
上一节S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统我们构建了根文件系统,这节我们修改内核支持yaffs2文件系统文章目录获取yaffs2源码并给内核打补丁编译内核make uImage修改yaffs2源码移植Linux3.4.2内核其他文章链接:S3C2440移植linux3.4.2内核之内核框架介绍及简单修改S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统S3C2440移植linux3.4.2内核之支持YAFFS文件系统S3C2440移植linux3.4.2内核之内核裁剪获取...
上一节S3C2440移植linux3.4.2内核之内核框架介绍及简单修改我们简单配置了内核,这节来根据继续修改内核。文章目录启动内核修改内核分区烧写yaffs2文件系统烧写jffs2文件系统构造根文件系统安装busybox安装glibc库构造etc目录构造其它文件/目录制作jffs2映像文件配置EABI移植Linux3.4.2内核其他文章链接:S3C2440移植linux3.4.2内核之内核框架介绍及简单修改S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统S3C2440移植linu...
一、目的 内核加载完initrd文件后,为挂载磁盘文件系统做好了必要的准备工作,包括挂载了sysfs、proc文件系统,加载了磁盘驱动程序驱动程序等。接下来,内核跳转到用户空间的init程序,由init完成创建磁盘设备文件、加载磁盘文件系统、从rootfs切换到磁盘根文件系统等工作。 由于在不同的linux发行版中,init的实现方式差异很大,不能将所有的发行版都分析一遍,因此本文选取ubuntu12.04发行版来描述如何从rootfs切换到磁盘根...
一、目的 上文详细介绍了CPIO格式的initrd文件,本文从源代码角度分析加载并解析initrd文件的过程。 initrd文件和linux内核一般存储在磁盘空间中,在系统启动阶段由bootload负责把磁盘上的内核和initrd加载到指定的内存空间中;然后,再由内核读取和解析initrd文件,在VFS(目前只有rootfs的根目录)中新建目录、常规文件、符号链接文件以及特殊文件;这样VFS就从根目录"/"成长为一棵枝繁叶茂的大树了。 二、函数调用过程 ...
一、目的 本文主要讲述linux3.10文件系统初始化过程的第二阶段:加载initrd。 initrd是一个临时文件系统,由bootload负责加载到内存中,里面包含了基本的可执行程序和驱动程序。在linux初始化的初级阶段,它提供了一个基本的运行环境。当成功加载磁盘文件系统后,系统将切换到磁盘文件系统并卸载initrd。 如果是嵌入式设备,那么最终的文件系统就是initrd。 二、cpio文件格式 initrd常用的的文件格式是cpio,cpio格...
一、目的 本文主要讲述linux3.10文件系统初始化过程的第一阶段:挂载rootfs文件系统。 rootfs是基于内存的文件系统,所有操作都在内存中完成;也没有实际的存储设备,所以不需要设备驱动程序的参与。基于以上原因,linux在启动阶段使用rootfs文件系统,当磁盘驱动程序和磁盘文件系统成功加载后,linux系统会将系统根目录从rootfs切换到磁盘文件系统。 二、主要函数调用过程 图1描述了挂载rootfs的函数调用关系(图中红色部...
术语表:struct task:进程struct mnt_namespace:命名空间struct mount:挂载点struct vfsmount:挂载项struct file:文件struct super_block:超级块struct dentry:目录struct inode:索引节点 一、目的 linux文件系统主要分为三个部分:文件系统调用;虚拟文件系统(VFS);挂载到VFS的实际文件系统。 其中,VFS是核心,linux文件系统的本质就是在内存中创建一棵VFS树。当根目录被创建后,用户就可以使用系统调用在VFS上创...
Linux的一切皆文件Linux 中的各种事物比如像文档、目录(Mac OS X 和 Windows 系统下称之为文件夹)、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端,还有进程间通信(IPC)和网络通信等输入/输出资源都是定义在文件系统空间下的字节流。 一切都可看作是文件,其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具、实用程序和 API。你可以使用同一套api(read, write)和工具(cat , 重...
前言 前几日有个小老弟找我哭诉,挤破脑袋进Alibaba,三轮技术下来倒在了**缓存技术(Redis+MongDB)**上。听完我这小老弟的一番肺腑之言,这…缓存架构技术:Redis+MongDB,不就是阿里P7面试必跳的坑?跳不过去那就只能say godbye了,在坑里“等死”呀…紧接着…吾日三省吾身,突然发现自己掌握的好像也不咋滴,不得不回家好好“补一补”。熬了三天三夜,四处收集缓存架构相关的:Redis+MongDB面试、实战等等笔记资料,完事之后感...
文章目录1)fsck详解:fsck使用举例1)检查磁盘/dev/sdb1的文件系统2) 强制检查/dev/sdb1的文件系统3) 检查/dev/sdb1的ext4文件系统是否正常,如果有异常自动修复1) 系统出现只读的情况的解决方案2) 系统文件受损,可以使用fsck命令a. 创建一个1G的分区b. 对分区进行格式化c. 破坏文件系统并重新挂载d. 修复超级快e.查看修复成功的效果前言:实验环境解决方案fsck 命令详解总结大家好,我是高胜寒,本文是Linux运维-循序渐进学运...