Linux
shell脚本或多或少的在影响着很多程序员的工作。有不少的问题都需要我们进行深入的解答,接下来我们就先看看有关Linux
shell脚本的问题介绍。并且你会有所收获。

Linux引导遇到的常见问题无外乎三种:MBR被破坏、boot分区文件丢失或密码忘却。针对这三种问题,下面介绍相应的三种解决方法。

现在有很多人都在使用Linux操作系统,对于在Linux操作系统中各种命令的掌握就显得格外的重要。虽然现在N多人都使用yum去替代Linux
rpm命令了,但是rpm在一些特俗场合下还是有其作用的。

Sppence Murray 是 Linux 开发高手之一,同时长期以来他一直是 UNIX
的坚定支持者。本文介绍的是 Murray 和他在 Codemonks Consulting
的同事在日常的 Linux 开发以及应用服务工作中用到的基本技术: shell
脚本,相信 Linux 的开发人员都会受益于这项有用而且通用的技术。

1、关于MBR被破坏的解决:

比如查询跟验证已安装的rpm包,Linux rpm命令全称Redhat Package
Manager,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,与Dpkg类似。

Spence Murray 是 Codemonks Consulting 的创始人之一,自从 20 世纪 80
年代最早在 SunOS 上编写代码到现在,一直致力于 UNIX/Linux
的开发。从那时起,他曾在 IBM 公司的 AIX、SGI 公司的 Irix
工作,长时间地编写跨平台的 UNIX 代码,包括
HP/UX,Irix,Solaris/SunOS,SCO UNIX,各种 BSD,MacOS X,当然,还有
Linux。从图形/视频设备驱动程序到 UI 代码,他什么工作都做过。Murray
编写的跨平台代码包括 X Window System Xserver 代码,以及作为 Netscape
Navigator 一部分的核心浏览器代码。

MBR 位于硬盘的零磁道零扇区占512字节。

1.Linux rpm命令安装软件包

Murray 最经常使用的 Linux 工具是 vi、bash 和 Emacs。“不论我是在写
C、C++、Java、shell 脚本,还是
HTML,大部分的时间我都在这些工具中来回切换”,他说。

0字节————–446字节———-510字节———512字节

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

Linux shell脚本秘密武器

Grub引导程序存放位置

2.升级软件包

Murray 认为,对一个 Linux 开发人员来说,shell
是一个强大的软件开发工具,无论怎么评价都不过分。“在我做的每一项工作中都要用到
shell
脚本,不论是快速地阅读和修改普通文本还是编写代码”,他说。“它轻便而快捷,它短小的命令使得来回移动代码称为一个迅速而没有痛苦的过程。作为一名编辑,它很快就会成为第二本能”。

硬盘分区表

rpm -Uhv ***.rpm

对 Murray 来说,Emacs 作为一个开发工具出现的晚了一些。“在 90
年代早期,我尝试使用 Emacs 作为一个 IDE,并很快就转换门厅。Emacs
非常强大,在那些日子里,我会一直开着一个 Emacs
窗口,经常打开几十个源文件,每个都有我编辑的上下文、使用 gdb
的调试会话以及在不同的源目录下运行的 bash 脚本。有很多关于 Emacs
的资料,可以说,这是个可怕的工具…再者,您可以在任何您想要花时间去做开发的系统上运行
Emacs。

结束标志

3.删除软件包

自从 20 世纪 80 年代中期第一次使用 SunOS支持的 vi
这个简洁的环境以来,Emacs 编辑器已经成为了 Murray
的标准工具。”它在各种流派的 UNIX
上都可以使用,这是我在致力于跨平台的开发工作时选择它的主要原因之一”,他说。

如果前446字节被破坏,则可修复,如果分区表出问题则不可修复。

rpm -e package_name

Linux 开发人员:了解您的Linux shell脚本

1)打命令:dd if=/dev/zero of=/dev/sda bs=1
count=446;用空填充前446字节,不能多打!只能少打。多了要重装系统。

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

Murray 要求您要了解您的 shell。“Bash、tcsh、csh――shell
是您最基本的软件开发工具”,他强调说。“它可以做许多了不起的事情。所有的工作都要依赖于它……和它的强大功能”。作为说明通用的
shell 脚本功能强大的例子,在
参考资料部分中有一个可以下载的文件,其中有一组脚本,用于获得 Red Hat
发行的更新 RPM
软件包并将它们合并到原来的软件包和定制的软件包。下载文件并解压缩后,您可以在
/developerworks/rpm_update_scripts
目录下找到脚本。最终结果是一个包括所有软件包最新版本的目录和一个用于网络安装的升级的
hdlist 文件。

2)执行命令后运行reboot重新启动计算机。dd

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

下面的代码片段实现的是对 Red Hat RPM
软件包的自动更新,以创建一个使用最新的 RPM
的可以安装的版本。这对任何一个维护公共 Linux
服务器的人来说是一个基本的步骤。就我们而言,我们通常是维护许多公共 Linux
服务器上的大量网络服务。下面是可以自动完成更新最新的安全和功能的过程的部分脚本。

3)出现光标一直在左上角闪烁电脑就是启动不了。

4.查询软件包

下面的脚本样例证明了普通的 shell
编程技术可以广泛应用于各种系统配置和程序设计应用。脚本使用的是 bourne
shell,它是在不同的 UNIX 系统中最为常见的
shell。这样就可以保证这些非常轻便的代码可以稍加修改或者不加修改地在不同的
UNIX 系统上使用。修改 Red Hat 软件包的规范以应用于其它 Linux
发行版本是很容易的。

4)放入安装光盘的第一张光盘;提示安装的界面输入 linux
rescue;根据提示完成相关设置。

rpm -q package_name

freshen.sh 使用指定的 RPM ftp 更新站点上的 RPM 软件包来更新原有的 RPM
列表。执行过滤器来替换更新 RPM
软件包。最后,长长的发行列表根据从更新镜像站点上得到的新 RPM
软件包完成更新。

5)然后输入chroot /mnt/sysimage

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注