linux 系统文件改错,进不了系统怎么办我用的是netbook版本 的!

linux 系统文件改错,进不了系统怎么办我用的是netbook版本 的!,第1张

可以进入linux的救援模式恢复。

系统在引导期间,很重要的一个过程就是init进程读取其配置文件/etc/inittab,启动系统基本服务程序及默认运行级别的服务程序完成系统引导,如果/etc/inittab误删除或修改错误,Linux将无法正常启动。此时,只有通过救援模式才可以解决此类问题。

1、有备份文件的恢复办法

进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc、/boot等要进行备份),直接将备份文件拷贝回去,退出重启即可。如果是配置文件修改错误,如比较典型的/boot/grub/grubconf及/etc/passwd的文件修改错误,也可以直接修正恢复。假设有备份文件/etc/inittabbak,则在救援模式下执行:

sh-31# chroot /mnt/sysimage

sh-31# cp /etc/inittabbak /etc/inittab

2、没有备份文件的恢复办法

如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab属于哪一个RPM包(即便文件丢失,因为存在RPM数据库,一样可以查找到结果):

sh-31# chroot /mnt/sysimage

sh-31# rpm -qf /etc/inittab

initscripts-8453-1

退出chroot模式:

sh-31# exit

挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source目录下):

sh-31# mount /dev/hdc /mnt/source

Fedora系统的RPM包存放在光盘Fedora/RPMS目录下,其他Linux存放位置大同小异,这里不一一列举;另外,因为要修复的硬盘系统的根目录在/mnt/sysimage下,需要使用--root选项指定其位置。覆盖安装/etc/inittab文件所在的RPM包:

sh-31# rpm -ivh --replacepkgs --root /mnt/sysimage /mnt/source/Fedora/RPMS/ initscripts-8453-1i386rpm

其中的rpm命令选项“--replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此文件。

如果想只提取RPM包中的/etc/inittab文件进行恢复,可以在进入救援模式后,执行命令:

sh-31# rpm2cpio /mnt/source/Fedora/RPMS/initscripts-8453-1i386rpm

| cpio -idv /etc/inittab

sh-31# cp etc/inittab /mnt/sysimage/etc

注意此命令执行时不能将文件直接恢复至/etc目录,只能提取到当前目录下,且恢复的文件名称所在路径要写完整的绝对路径。提取文件成功后,将其复制到根分区所在的/mnt/sysimage目录下相应位置即可。

不使用yum补包将是一个非常痛苦的过程

否则就不会出现yum了

可以根据提示的库文件名称 查供应商名

yun whatprovider lib名称

然后再安装盘里找对应rpm安装

但是安装子包也同样可能出现依赖问题

可以试试整个安装系统的开发工具组

yun groupinstall develop tools

-q代表query,-a代表all

虽然现在N多人都使用yum去替代rpm了,但是rpm在一些特俗场合下还是有其作用的,比如查询跟验证已安装的rpm包,rpm全称Redhat Package Manager,是一种用于包的打包及安装工具,它包含在某些Linux分发版中,它生成具有RPM扩展名的文件,与Dpkg类似。

1安装软件包

rpm -ivh rpm 其中i表示安装,v表示输出,h表示用#作进度标记

2升级软件包

rpm -Uhv rpm

3删除软件包

rpm -e package_name

rpm -e –nodeps package_name 不考虑依赖包

rpm -e –allmatches package_name 删除所有跟package_name匹配的所有版本的包

4查询软件包

rpm -q package_name

rpm -qp rpm 获取当前目录下的rpm包相关信息

rpm -qa | less 列出所有已安装的软件包

rpm -qf /etc/sysctlconf 查看某个文件属于哪个软件包

rpm -qi package_name 列出已安装的这个包的标准详细信息

rpm -qlp package_name 列出rpm包的文件内容

rpm -q –scripts kernel | less 列出已安装rpm包自带的安装前和安装后脚本

rpm -qa –queryformat ‘Package %{NAME} was build on %{BUILDHOST}\n’ | less queryformat强大的查询

rpm –querytags | less 可以列出queryformat可以使用的所有变量从而组合成更强大的查询

5检查已安装软件包

rpm -Va | grep bin

检查失败的字符:

S:文件大小不符,M:模式不符,5:MD5校验和不符,U:用户所有权不符,G:用户组所有权不符,T:mTime不符

6重建rpm数据库

rm /var/lib/rpm/__db00

rpm –rebuilddb 在rpm数据库已破坏且不能安装软件包的时候使用此大发

7从rpm提取文件

rpm2cpio rpm | cpio -idv /路径/文件名

yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,后经杜克大学的 Linux@Duke开发团队进行改进,遂有此名。yum是软件的仓库,它可以是>

一般Linux软件安装有这么几种方式:

那么其中rpm与yum有什么区别呢?

RPM管理支持事务机制。增强了程序安装卸载的管理。

RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。

1、RPM的缺点

由于Linux中的程序大多是小程序。程序与程序之间存在非常复杂的依赖关系。RPM无法解决软件包的依赖关系。

2、RPM包

用RPM工具可以将二进制程序进行打包,包被称为RPM包。RPM包并不是跨平台的。RedHat的RPM包与SUSE的RPM包不能混用。实际上RedHat的安装,初始软件也都是使用RPM包进行安装的。

源程序的命名规范 : name-versiontar{gz|bz2|xz}

版本号:majorminorrelease

例:bash-431tarxz

RPM包的命名规范 : name-version-releaseosarchrpm

name:程序名称。

version:程序版本号。

release(发行号):用于标识RPM包本身的发行号,与源程序的release号无关。

os:即说明RPM包支持的 *** 作系统版本。如el6(即rhel6)、centos6、el5、suse11。

arch:主机平台。如i686、x86_64、amd64、ppc(power-pc)、noarch(即不依赖平台)

例:bash-432-5el6x86_64rpm

3、安装RPM包

命令格式: rpm -i /PATH/TO/RPM_FILE

一般组合起来使用:-ivh

命令格式: rpm -ivh PATH/TO/RPM_FILE

4、卸载RPM包

命令格式: rpm -e 包名

查询RPM相关信息

命令格式: rpm -q 包名

查询所有已经安装包: rpm -qa

5、RPM的数据库

数据库文件位于: /var/lib/rpm

若库损坏,很多RPM的查询将无法使用。

YUM客户端基于RPM包进行管理,可以通过>

以上就是关于linux 系统文件改错,进不了系统怎么办我用的是netbook版本 的!全部的内容,包括:linux 系统文件改错,进不了系统怎么办我用的是netbook版本 的!、linux下安装rpm缺少库的问题。、Linux rpm -qa | grep vsftpd 中的 rpm的 -q 和 -a 参数分边代表什么!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9877132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存