linux服务无法启动
㈠ 怎样修复linux无法启动故障
1、在系统启动过程中,会出现图1所示画面,按任意键,进入GRUB菜单选项。
2、按“e”键编辑GRUB引导菜单选项,图2显示为按“e”键后的GRUB屏幕。
GRUB引导菜单选项
通过箭头键下移到kernel行,并按“e”键,得到图3中显示的编辑界面:
kernel行编辑界面
在尾行光标处添加single或者s,按回车键返回前一个屏幕,按“b”键进行引导,则系统自动进入单用户模式,如果要改变root密码,则执行命令:
sh-3.1# passwd root
更改成功后,执行命令exit退出重启即可。
㈡ linux 下mysql 服务无法开启
linux 下mysql 服务无法开启
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,把它删除掉
㈢ 如何修复Linux无法正常启动故障
没有操作系统能够确保100%可靠。终有一天,即使Linux也会无法启动。本文为你提供一些在Linux工作站无法正常启动时所采用的策略。
不管你多么喜爱你的Linux机器,有时候你都必须恢复你的系统。是的,即使一台Linux机器也可能遭受系统崩溃:不管是由于视频配置错误、内核更新出错、或是由于init脚本配置错误,这种情况都是必然的。我看到过大量这种情况——即使在我自己的机器上,大多数是由于X配置出错——这确实令人沮丧。
在我看来,重新安装系统并不是最佳救援计划。有时候,最佳救援计划甚至不需要从救援磁盘启动。本文将为如何避免系统崩溃提供一些提示和诀窍,帮助你建立恢复崩溃的Linux机器所需的工具。
使用正确的运行级别
安装好一个新的Linux系统后,我立即采取措施以确保灾难不会轻易发生。其中一个措施就是编辑系统的运行级别。运行级别告诉系统离采用引导过程还有多远。运行级别分为六个等级:
0级:停止(不设置initdefault)
1级:单用户模式
2级:多用户模式,没有NFS(与3级相同,如果你没有建立网络)
3级:完整的多用户模式
4级:不使用
5级:X11
6级:重新启动(不设置initdefault)
新型的Linux系统几乎总是默认使用运行级5(X11),表示系统在引导完成后,将会在图形登录界面处停止。在某物(或某人)使用X配置前,系统一切正常。
然后你必须找到一个登录方法。你可以按下[Ctrl][Alt][F7]进入一个基于文本的虚拟窗口,但为什么要这么麻烦呢?相反,我总是在/etc/inittab文件中将运行级更改为3级。你更改的代码为:
id:5:initdefault:
它被更改为:
id:3:initdefault:
当X出错时,这是一个非常简单的系统恢复方法。
多内核
另一个明显的磁盘恢复方法是总是安装一个正常运转的内核。我通常在一个通过yum更新的内核上工作。有时候,内核会出现一些错误,使得我的一台或几台机器无法启动。
为避免这种情况,我一直保证在机器上使用至少一个正常运行的内核。要解决这个问题,首先应在/etc/yum.conf文件中添加plugins=1,然后应用这段脚本(由RedHat的Jeremy Katz编写),并将它命名为n-installonly.py,保存在/usr/lib/yum-plugins文件中。你可以通过修改tookeep变量(默认为2)的方法更新系统所使用内核的数量。
知道系统上有一个正常运转的内核,你就可以进行安全升级。如果新内核出错,只需启动旧内核就可以解决新内核上的问题(不管是删除、重新编译还是升级)。
救援模式
如果你在使用Red Hat和LILO引导加载器,你就可以插入产品光盘1,并在引导提示符下输入Linuxrescue进入救援模式。启动机器后,你就会看到bash#提示符。在这个模式下,你可以使用许多工具。
如你所见,有检查硬盘完整性、修复硬盘、检查内核模块、装配设备、以及创建文件系统等的工具。此时是进行救援尝试的最佳时机(如果你使用的是一个Red Hat,或基于Red Hat的系统)。
另一个救援方法是进入单用户模式,这里你的计算机引导进入运行级1。系统装配你的本地文件系统,但不激活网络。你得到一个可用的系统维护外壳。要进入单用户模式,在LILO提示符下输入:
Linuxsingle
或
Linuxemergency
建立一张救援CD
如果你正在使用LILO引入加载器,可以使用一个叫做mkrescue的强大工具。这个工具一般用于创建引导软盘,但也可用来创建ISO。其用法如下。
如果你使用Mandriva:
mkrescue --iso --initrd /boot/initrd-KERNEL-NUMBER.img --
kernel /boot/vmlinuz-KERNEL-NUMBER
注意:这里的KERNEL-NUMBER指内核的版本号。
如果你不能确定内核的版本,可以用以下命令找到intrd和vmlinuz的号码:
uname –r
运行这个命令后,你就会在运行mkrescue命令的目录中发现一个rescue.iso文件。现在你可以用以下命令建立镜像:
首先,检查建立CD的设备号码:
cdrecord –scanbus
然后用以下命令建立镜像:
cdrecord dev=0,0,0 rescue.iso
注意:这里的dev=0,0,0是用上面的scanbus命令查出的号码。
如果你使用Slackware,使用这些步骤建立一张引导CD:
mkrescue –iso
注意:Slackware自动获知在ISO中放入何种内核。
然后,你可以用建立Mandriva镜像同样的方法建立镜像。
SystemRescueCD
SystemRescueCD是一个保存在可引导光盘上的Linux系统,用于在系统崩溃后修复系统和数据。它还可在计算机上方便地执行管理任务,如建立和编辑硬盘分区。它由许多系统实用工具(parted、partimage、fstools)和基本实用工具(编辑器、midnight commander文件管理器和网络工具)构成。
它使用起来非常简单。只需要从光盘启动你就可以执行一切操作,就像从硬盘启动一样。系统内核支持大多数重要的文件系统(ext2/ext3, reiserfs, reiser4, xfs, jfs, vfat, ntfs, iso9660)和网络(samba和nfs)。
SystemRescueCD可能是市面上最优秀的救援系统。你不仅可以从光盘上使用这种救援方法,还可以将这个救援系统放在U盘上使用。
要在一个U盘上建立一个SystemRescueCD,你需要大于256MB的磁盘空间。从Sourceforge下载iso镜像并把它烧制到光盘上。现在你必须在U盘上创建文件系统。使用dmesg命令找出U盘名称,然后用以下代码擦写U盘:
dd if=/dev/zero of=/dev/sda
这里的/dev/sda是U盘的名称。
现在在U盘上安装主引导记录:
install-mbr /dev/sda
或
install-mbr --force /dev/sda(如果命令出错)
现在建立分散分区:
parted /dev/sda
(parted) mkpartfs primary fat32 0 100% // use help or help mkpartfs command to see help
(parted) print // check if the write was ok
(parted) quit
现在已经建立好文件系统,然后将用SystemRescueCD镜像烧制的CD中的文件复制到U盘中。保证你复制的文件等级和CD上的相同。
现在,使得U盘可以用sysLinux命令启动:
sysLinux/dev/sda1
这里的/dev/sda1是磁盘的名称。
现在你已经建立了一个你可以整天随身携带的救援U盘。由于你使用Linux,你并不需要经常用到它。
最后总结
Linux是一个非常稳定的环境,但由于该系统中还有许多其它系统,它们可能会出现错误。虽然我们很容易会由于使用Linux而洋洋自得(因为它存在诸多优点),但了解如何拯救一个系统崩溃的机器也不失为一种明智的做法。
当然,不是世界上所有的救援系统都能100%地恢复你的系统,因此你可能希望考虑为你的Linux服务器和桌面系统实施一个灾难恢复计划。
㈣ linux 无法启动 怎么解决
一台linux主机重启后再也启动不了,远程看了下,出现以下报错,failed to load selinux policy ,然后就僵死了,好吧,小编也知道之前改过selinux配置文件了,但怎么进系统恢复呢。
在出现linux启动选择时,用上下键先暂停启动,然后移至第一行,就是平时正常启动那行,键入e进行修改。
如下图所示,在相关位置键入enforcing=0,注意下图0后面是一个空格,而不是下划线,然后再用CTRL+X强行启动
终于进系统了,下图贴出来的就是小编当时错误的配置文件,果然稍微一想当然就要出事情;
还是要搞定作的孽呵,selinux的配置文件位于 /etc/selinux目录下,配置文件为config。
6
正常情况下关闭selinux,应该是配置为selinux=diabled,小编写成了selinuxtype=disabled,结果就导致悲剧发生。
㈤ linux系统mysql服务启动失败
解决“linux系统mysql服务启动失败”问题的具体步骤如下:
1、首先我们查找mysql.sock的文件位置,如果忘记了文件的位置,首先查看/etc/my.cnf文件。
6、mysql启动的时候错误可以通过日志进行判断,日志的路径同样在my.cnf中可以看出。
这样就解决了“linux系统mysql服务启动失败”的问题。
㈥ kali linux虚拟机dhcp服务启动不了
kali linux虚拟机dhcp服务启动不了的解决方法如下:
运行的是Kali Linux, 希望用桥接模式通过路由器获取动态IP, 但是无论如何也不能正确获取IP地址.
一点点排查
1. 排查DNS
root@kali:~# cat /etc/resolv.conf
nameserver 192.168.1.1nameserver 114.114.114.114
192.168.1.1在里面, DNS设置没有问题
2. 排查网卡
123456789101112root@kali:~# cat /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interface#allow-hotplug eth0auto eth0iface eth0 inet dhcp
网卡自动激活, 并配置dhcp获取IP方式
3.排查VMWare 桥接设置
㈦ Linux不能正常启动了,怎么办
对于使用Linux的人来说,迟早都可能在某一阶段遇到这个问题:你正在兴高采烈得探索你的系统,调整,优化以挖掘其最大的潜力,突然,omg,你发现,系统不能启动了!如果你之前已经习惯了使用Windows系统,我打赌,这是一个经常性的问题,而你最初闪出的念头就是格式化并重装系统。而对于Linux而言,重装系统绝对是最后的选择,只有在我们其它努力都作废之后,才需要考虑这一点。我个人认为,唯一能让人不得不重装系统的情况就是,不幸的你以root身份敲下了不幸的命令rm -rf /。恩,千万别模仿!虽然你可以通过“ctrl c”来终止这该死的自杀操作。 对于Linux,一旦出现无法启动系统情况的时候,也许你知道错误大概出在哪里,有比较明确的修复方向,比如调整屏幕分辨率,或者修改某个脚本,等等。但是,现在问题的关键,是需要能够启动或者访问Linux系统,这样才能修复它。下面就是一些应急措施的介绍。 最先应该想到,也许也是最简单的办法,就是当boot loader—通常都是grub—开始执行时,通过它调整系统运行级别。在出现菜单项后,按下键盘上的“e”按键,这样,菜单项能显示一个或者多个启动命令,找到有关内核的这一行,将光标移到上面,高亮这一行,再按下“e”,grub就会将这行内容用一个简单的编辑器环境打开,让我们能够对其做出改变。那么,到底怎么改变呢?很简单,只需要告诉init程序,我们希望通过那个级别启动即可。在内核命令行的最后加上“init X”参数,其中X表示你所希望的运行级别,举个实际例子,如果你判断可能是因为显卡驱动或者分辨率导致的启动错误,就可以启动到命令行模式来修复它,那么,就应该把运行级别改为纯命令行模式,假设是4,改动后的内核命令行就应该是类似于这样的。 /boot/vmlinuz-2.6.17-11-generic root=UUID=5cc79966-969d-4cd0-abb2-74a132efbd7c ro vga=794 quiet splash init 4 这样,就等于告诉了init程序,我要以运行级别4启动,而不是默认的运行级别。 如果这些招数都无法奏效了,怎么办?难道我们就坐以待毙了?no。这里还有一个偏门可以供你使用。我们知道,在默认情况下,内核启动时会执行init程序,但是你可以指定不同的程序让内核来执行,只需要在后面添加参数“init=/some/program”即可。“/some/program”通常表示诸如/bin/bash或者/bin/sh这种shell程序。注意这里的等于符号,它的作用是告诉内核,你别启动init程序了,而是启动我等号后面所指定的任意程序吧。大体命令行如下: /boot/vmlinuz-2.6.17-11-generic root=UUID=5cc79966-969d-4cd0-abb2-74a132efbd7c ro vga=794 quiet splash init=/bin/bash 这样,你就可以直接启动到所指定的shell中,对发生的错误进行分析,修复等操作。 如果这样做都还是不行……好吧,我觉得你人品有问题!那么,还是拿出恢复cd,通常就是你的安装光盘,它允许你在启动时选择是否进入rescue修复模式。进入这个模式之后,他会自动找到你的硬盘安装的系统,并将它们挂载到一个临时目录下,这样,你就能进行修改配置文件或者其它修复操作了。 如果还是不行呢?恭喜你,回到Windows时代,还是老老实实重新安装吧。
㈧ linux无法启动系统
一般来说,如果系统管理员不能正常进入系统,就需要考虑使用急救盘组进入急救模式排除系统的故障。但在没有制作急救盘组的情况下,Linux系统不能启动,该怎么办呢?
在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9X或MS Windows NT并存的。
由于重新安装其他的操作系统,经常会导致原有的Linux不能启动。这主要是因为,这些操作系统默认为计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),覆盖掉了Linux的LILO系统引导程序。
如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系统引导程序写回硬盘的主引导记录,再次开机即可。
如果没有系统启动盘,如果知道Linux在硬盘上的确切安装分区,且有loadlin程序,就可以重新返回Linux。loadlin是DOS下的程序,运行它可以从DOS下直接启动Linux,快速进入Linux环境。在 Red Hat Linux 6.0光盘的 dosutil目录下就有这个程序。除此之外,还需要一个 Linux启动内核的映像文件vmlinuz,在 Red Hat linux 6.0光盘的 images目录下就有这个文件。
例如,在Windows 98系统下面,进入DOS的单用户模式,然后运行下述的loadlin命令,即可重新进入Linux系统:
loadlin vmlinuz root=/dev/hda8
/dev/hda8是Linux的root文件系统所在的硬盘分区位置。命令执行后,就开始引导Linux系统。用root身份登录后,运行LILO命令,则重新将LILO装入MBR,回到以前多操作系统并存使用的状态。
Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持3
㈨ NAS存储故障导致Linux不能正常启动该如何处理
一、故障现象描述
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”命令查看即可,如下图所示:
到这里为止,发现问题了。/dev/sda2磁盘分区已经没有可用的磁盘空间了,而这个分区刚好是NAS系统的根分区,根分区没有空间了,那么系统启动肯定就出问题了。
下面再把思路转到前面介绍的案例中,由于系统cups服务在启动的时候会写启动日志到根分区,而根分区因为没有空间了,所以也就无法写日志了,由此导致的结果就是cups服务无法启动,这就解释了此案例中NAS系统每次启动到cups服务就停止的原因。
四解决问题
由于NAS系统只有根分区和/boot分区,所以系统产生的相关日志都会存储在根分区中,现在根分区满了,首先可以清理的就是/var目录下的系统相关日志文件,通常可以清理的目录有/var/log,执行如下命令查看/var/log日志目录占据磁盘空间大小:
[root@NASserver ~]# -sh /var/log
50.1G /var/log
通过命令输出发现/var/log目录占据了根分区仅70%的空间,清理这个目录下的日志文件即可释放大部分根分区空间,清理完毕,重启NAS系统,发现系统cups服务能正常启动了,NAS服务也启动正常了。