一、故障现象描述 NAS操作系统内核为Linux,自带的存储有16块硬盘,总共分两组,每组做了RAID5,Linux操作系统无法正常启动,在服务启动到cups那里就停止了,按键ctrl+c强制断开也没有响应,查看硬盘状态,都是正常的,没有报警或者警告现象。 二、问题判断思路 通过上面这些现象,首先判断NAS硬件应该没问题,NAS存储盘也应该正常,现在Linux无法启动,应该是Linux系统本身存在问题,因此,首先从Linux系统入手进行排查。 三、问题处理过程 1、第一次处理过程 NAS系统本身就是一个Linux内核装载了一个文件系统管理软件,管理软件可以对系统磁盘、系统服务、文件系统等进行管理和操作,正常情况下,基于Linux内核的NAS系统应该启动到init3或者init5模式下,由于NAS仅用了Linux一个内核模块和几个简单服务,所以判断NAS下的Linux系统肯定是启动到init 3模式下,那么现在无法启动到多用户字符界面下,何不让Linux直接进入单用户(init 1)模式下呢,因为单用户模式下仅仅启用系统所必须的几个服务,而cpus服务是应用程序级别的,肯定不会在“init 1”模式下启动,这样就避开了cups无法启动的问题,所以,下面的工作就是要进入Linux的单用户模式下。 很多的Linux发行版本都可以在启动的引导界面通过相关的设置进入单用户模式下,通过查看NAS的启动过程,基本判断这个Linux系统与RHEL/Centos发行版极为类似,因此,就通过RHEL/Centos进入单用户模式的方法试一试。 RHEL/Centos进入单用户模式很简单,就是在系统启动到引导欢迎界面下,按键e,然后编辑正确的内核引导选项,在最后面加上“single”选项,最后直接按键“b“即可进入单用户了。 接下来,重新启动NAS,然后硬件自检,接着开始启动Linux,一直在等待这个NAS的启动欢迎界面,但是欢迎界面一直没出来,就直接进入内核镜像,加载内核阶段了,没有内核引导界面,如何进入单用户啊,经过简单思考,还是决定在硬件检测完毕后直接按键盘”e“键,奇迹出现了,还真的可以,NAS进入到了内核引导界面,通过简单观察,发行第二个正是要引导的内核选项,于是移动键盘上下键,选择这个内核,然后在按键”e“,进入内核引导编辑界面了,在这行的最后面,输入“single”,然后按回车键,返回上个界面,接着按键“b”开始进行单用户引导,经过一分钟的时间,系统如愿以偿的进入了单用户下的shell命令行。 进入单用户模式后,能做的事情就很多了,首先要做的就是将cups服务在多用户模式下自启动关闭,执行命令如下: chkconfig --levle 35 cups off 执行成功后,重启系统进入多用户模式下,看看系统是否能正常启动。 2、第二次处理过程 将cups服务开机自启动关闭后,重启NAS,发现问题依旧,NAS还是启动到cups服务那里停止了,难道上面的命令没有执行成功吗?明明已经禁止了cups服务启动了,怎么还是启动了呢?于是,继续重启NAS,再次进入单用户模式下,看看问题究竟出在哪里了。 进入单用户后,再次执行chkconfig 命令,依旧可以成功,难道是cups服务有问题,先看看配置文件,执行如下命令: vi /etc/cups/cupsd.conf 在这里发现了一个问题,vi打开cupsd.conf时,提示“write file in swap”,文件明明真实存在,怎么说在虚拟内存中呢,经过思考,只有一种可能,NAS设备的Linux系统分区应该没有正确挂载,导致在进入单用户的时候,所有文件都存储在了虚拟内存中,要验证非常简单,执行“df”命令查看即可,如下图所示:

从这里可以看出,Linux的系统分区并未挂载,通过“fdisk -l”检查下磁盘分区状态,输出如下图所示: 通过输出可知,NAS的系统盘是/dev/sda,仅划分了/dev/sda1和/dev/sda2两个系统分区,而数据磁盘是经过做RAID5完成的,在系统上的设备标识分别是/dev/sdb1和/dev/sdc1,由于单用户默认没有挂载任何NAS磁盘,这里尝试手动挂载NAS的系统盘,执行如下命令: [root@NASserver ~]#mount /dev/sda2 /mnt [root@NASserver ~]#mount /dev/sda1 /opt 这里的/mnt、/opt是随意挂载的目录,也可以挂载到其他空目录下,挂载完成,分别进入这连个目录看看内容有什么,如下图所示: 通过这两个内容的查看,初步判断,/dev/sda2分区应该是Linux的根分区,而/dev/sda1应该是/boot分区。现在分区已经挂载上去了,再次执行df命令看看挂载情况,如下图所示: 到这里为止,发现问题了。/dev/sda2磁盘分区已经没有可用的磁盘空间了,而这个分区刚好是NAS系统的根分区,根分区没有空间了,那么系统启动肯定就出问题了。 下面再把思路转到前面介绍的案例中,由于系统cups服务在启动的时候会写启动日志到根分区,而根分区因为没有空间了,所以也就无法写日志了,由此导致的结果就是cups服务无法启动,这就解释了此案例中NAS系统每次启动到cups服务就停止的原因。 四解决问题 由于NAS系统只有根分区和/boot分区,所以系统产生的相关日志都会存储在根分区中,现在根分区满了,首先可以清理的就是/var目录下的系统相关日志文件,通常可以清理的目录有/var/log,执行如下命令查看/var/log日志目录占据磁盘空间大小: [root@NASserver ~]# du -sh /var/log 50.1G /var/log 通过命令输出发现/var/log目录占据了根分区仅70%的空间,清理这个目录下的日志文件即可释放大部分根分区空间,清理完毕,重启NAS系统,发现系统cups服务能正常启动了,NAS服务也启动正常了。

答案来源网络,供参考,希望对您有帮助

cups linux 升级_linux cups版本相关推荐

  1. Centos(Linux)升级git最新版本

    在Linux/Centos服务器上,如果使用的git版本过低,使用的时候可能会由于低版本不支持遇到各种问题,比如Centos7系统自带的git版本一般是1.8.3.1的,比较旧,通常建议升级git后再 ...

  2. gtk linux 升级_Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)

    Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例) 发布时间:2018-05-27 12:30, 浏览次数:424 , 标签: Linux Ubuntu Linux基础:htt ...

  3. VirtualBox 在Linux升级后不能用的解决办法实践

    virtualbox是个跨平台的虚拟机软件,不仅免费而且好用效率也很高但它有个缺点就是每当linux升级的系统版本的时候,你必须要跟着更新驱动,否则会在当你打开一个虚拟机的时候报错,提示运行 '/et ...

  4. linux5.5内核,一条命令就可以升级到Linux 5.5内核或Linux 5.5以上版本

    升级Linux内核其实很简单,本文介绍的方法只需要一条命令,至少能够升级到Linux 5.5内核版本.当然,脚本当中要是加入新的Linux内核,你就能够升级到那个新内核,也就是说可以升级到Linux ...

  5. 解决linux 升级高版本python3.7后yum不能使用的问题

    解决linux 升级高版本python3.7后yum不能使用的问题 参考文章: (1)解决linux 升级高版本python3.7后yum不能使用的问题 (2)https://www.cnblogs. ...

  6. linux下载哪个python版本-Linux下python版本的升级步骤

    1.先下载,你要升级的python版本(我升级的是python3.3.0) 可使用系统自带下载工具wget下载: wget http://www.python.org/ftp/python/3.3.0 ...

  7. 在Linux上安装其他版本的cmake 或 升级cmake

    文章目录: 1 问题出现原因 2 升级cmake的版本 3 最简单的升级cmake命令的方法,直接使用pip 3.1 使用pip安装cmake的过程 3.2 编译的时候没有使用pip安装的cmake进 ...

  8. linux sudo 版本,Linu下如何升级当前sudo版本

    Sudo 的全称是"superuserdo",它是Linux系统管理指令,允许用户在不需要切换环境的前提下以其它用户的权限运行应用程序或命令,通常是以 root 用户身份运行命令, ...

  9. 2019ug最新版本是多少_宝塔Linux面板7.4.2版本/Windows面板6.8版本请尽快升级到最新版本...

    宝塔Linux面板7.4.2版本/Windows面板6.8版本请尽快升级到7.4.3版本,因为这两个版本目前存在一个漏洞可能会被利用,如果你正好使用这两个版本的话请尽快升级到 Linux面板7.4.3 ...

  10. Linux升级gcc到最新版本gcc-11.2.0

    Linux升级gcc到最新版本gcc-11.2.0 当前环境 更新方法 1. 下载最新的源码包并解压缩 2.下载依赖及配置文件 3. 配置 4. 编译 5. 安装 6. 验证gcc版本 7. 删除旧版 ...

最新文章

  1. java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...
  2. java jsp转html_JSP页面转换为HTML页面,动态转静态
  3. MySQL为表添加外键约束
  4. 如何在mac版本的python里安装pip
  5. Oracle导入到不同的角色,oracle 不同版本之间的导入导出
  6. java 文件 字符串_java将字符串写入到txt文件中
  7. Python Django中,页面改变但链接地址没有跳转,解决方法
  8. MySQL调优系列基础篇
  9. margin:auto实现绝对定位元素的水平垂直居中
  10. php去掉数字前的符号,php导出excel如何处理使得表格数字值前面的0不被去掉
  11. 2020 年 6 月编程语言排行榜,Rust 第一次进入榜单前 20。
  12. 软件测试流程、测试过程模型(V、W)
  13. 图像处理之常见二值化方法汇总
  14. 嵌入式linux设置屏幕亮度
  15. php根据手机号码获取归属地,PHP通过API获取手机号码归属地,手机号码
  16. party_bid_core三种数据结构总结
  17. 每天做不完的分析报表,什么时候才能熬出头?
  18. 微信菜单 html页面添加的,微信公众号添加菜单栏外部链接(微信添加外部链接方法)...
  19. PCI Express总线技术分析*
  20. aix 服务器型号,AIX 查看所有硬件设备的PN和SN:

热门文章

  1. 如果局域网当中两台电脑互相ping不通
  2. 【转】浏览器中的data类型的Url格式,data:image/png,data:image/jpeg!
  3. 桃李春风一杯酒,江湖夜雨十年灯。
  4. 东田纳西州立大学计算机排名,东田纳西州立大学排名在2020年USNEWS美国最佳综合大学排名第293-381...
  5. MIPI扫盲——DSI介绍(一)
  6. html5都能干嘛种花,把这19种花种起来,整个家都能变成大花园!
  7. 第一章--多媒体技术概述
  8. 参加2022 年第四届齐鲁工业大学(山东省科学院)与山东师范大学ICPC 大学生程序设计竞赛的总结
  9. 如何实现2019新年愿望:梦想还是要有的,但不能靠“万一实现了呢
  10. 《管理的常识》7-“什么是计划”读后感及读书笔记