Sep 7
   在Linux下,常使用串口进行核心调试信息的输出接口。另外,在部署HA软件的时候,也可作为备份心跳之一。在大部分情况下,硬件(服务器)的串口应该是打开的,而且操作系统也应该可以自动识别。但之前在某项目中,一台IBM x3650的服务器就出现了一些问题,特描述一下。
Tags:
Aug 12
   通常情况下,安装RDAC都是参考源码进行安装的。虽然步骤很简单,Readme也很清楚,但始终觉得不适合备份,以及大规模部署。所以,参考Dag Wieers的spec脚本,生成了一个供红旗使用的脚本。经测试,能正常使用,并自动生成mpp-%{kernel}smp.img文件。
Tags: ,
Aug 11
   我们都知道,可以使用类似dmesg、lspci、lsusb等查看硬件信息。但kernel-utils包中,还带有一个查看BIOS信息的工具:dmidecode。使用它,可以更方便的获取部分硬件信息。
Tags:
Aug 8
   在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。
一、cat和EOF
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
EOF是“end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
Tags: ,
Jul 20
   客户反应,由两套IBM x460组成的Oracle 10g RAC集群,出现ping任何IP地址,都会出现0.000ms的故障。
一、故障描述
◎硬件架构:
每套x460是由两台x460堆叠而成的,每台带1块双口的网卡,也就是一套4个口,实际使用到其中的2个口,一个接路由器,一个接交叉线连接到另外一套中,做心跳。
每套带两块HBA卡,连接到DS4300盘柜中,实现冗余。
Jul 18
   事情是这样的:公司有台七喜的喜悦800D台式机,由于机箱容量不足以存放多块硬盘,所以把其主板移到另一个大机箱中,却发现板载声卡无法正常使用?
   因原来是可以正常使用的,所以,首先排除的是硬件故障;然后重新安装了驱动,故障依旧。接着把系统更换为Windows XP平台,仍旧不能使用。在无法可用的情况下,重新把主板接回原机箱,声卡恢复正常。
   唯一的差别就是,原品牌机箱带有前置面板,可通过专门的线缆从主板把MIC和音箱插头迁移到前置面板中。故怀疑,要解决故障,应该从线缆或主板Front Panel Audio header插头入手了
Tags:
Jun 28
   前面的[原]自己制作rpm软件包(1)[原]自己制作rpm软件包(2),两篇文章比较详细的介绍了rpmbuild命令的使用,以及.spec文件的编写。而[原]关于rpm打包的一个补充也描述了,针对特定的平台如何加入变量、修改标准宏,然后再进行编译的情况。
   而实际上,通常我们都希望一个套件只针对一个.spec文件,这可以很方便的管理。所以,我们可以在.spec中加入条件判断语句,以便根据不同的条件,执行相对应的编译和打包动作。
Tags: ,
Jun 21
   需要自定义Linux发行版光盘的原因有很多,例如:想学习、想自己发布产品、为管理方便、更新Bug软件包等等。而最近由于工作的需要,也研究了一下Linux发行光盘的构造。这里主要是对沿用红帽发行方式的版本,例如CentOS等。他们都是使用anaconda安装环境的。下面的说明也只针对该环境,以组合红旗两CD光盘为1张DVD光盘为例说明
   另外,网上也有很多可以参考的资料,在附录中有链接。不过,若完全按照这些资料的步骤,会在最后执行buildinstall时出现很多的rpm依赖问题。所以,我绕过了这个脚本,使用更简单、更简单的方式处理。
Tags: , ,
Jun 16
   Linux在内核中选择支持Large Block Device时,是可以使用大于2T的块设备的。但是当使用Fdisk来查看这个块设备时,却发现最大只能显示出来2T的空间,而且使用其他的分区工具时也很难使用大于2T的块设备。
   Fdisk所使用的分区表为MBR,Master Boot Record,即主引导记录。他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。硬盘的0柱面、0磁头、1扇区称为主引导扇区,Fdisk将会写512个字节的记录在此,即MBR记录。启动过程详见How It Works : Master Boot Record (MBR),http://cang.baidu.com/lis/snap/2a0542a949b8e3b8ba4fb147.html
Tags: ,
Jun 12
   正如前面日志中写到的,我们在编写.spec脚本的时候,应该尽量使用对应操作系统平台的标准宏命令。但有些时候,标准的宏中定义的写法未必可以满足我们的要求,此时就需要给标准的宏添加参数。下面以maildrop这个套件为例说明。
一、举例
  maildrop是一个邮件投递代理(MDA)软件,其可搭配postfix实现过滤和强大的功能。maildrop的邮箱大小限额是用off_t来表示,而off_t在32平台上是32位有符号整数。所以最大只能为2^31次方。也就是最大2GB。如果要突破这个限制,需要在编译的时候增加下述的环境变量:
引用
CPPFLAGS="-D_FILE_OFFSET_BITS=64"
Tags: ,
Jun 4
   上一篇日志写到,为什么要制作rpm包,以及如何使用.src.rpm文件生成rpm包。最后部分还看到.src.rpm的内容,实际上就是由.tar.gz源码、补丁软件和.spec脚本组成的。由此知道,使用.spec生成rpm包是比较简单的,因为.src.rpm通常都是由软件开发者或者第三方的专业制作人根据源码调试好的,所以,只要处理好平台兼容性和相关的版本,不会遇到太大的问题。
   但我觉得单纯明白用.spec生成rpm是不够的。常见有两个原因值得我们去了解用如何用源码制作rpm:
引用
1、并不是所有的软件都提供.rpm方式的。
这是最常见的原因。负责任的开发者应提供rpm方式的二进制软件包,以便用户选择使用。但也很常见就是软件作者只是发布了源码,最后一部分的编译和安装需要用户自行解决。我不想深究对错问题,反正知道有这样的情况就可以了;
2、自行打包一些文件或自己开发了一套软件
当然,使用tar包或cpio等也可以打包文件,甚至比制作rpm要简单很多。但如果您想在安装的过程中就把一套额外的软件部署完毕,那使用rpm方式通常是是唯一的方法。而且rpm还有数据库协助软件升级、文件校验等,结合yum升级方式,没有理由不选择rpm,特别是对于最终用户,我认为提供rpm包是最佳的方法。
Tags: ,
Jun 1
   我们都知道,在目前的Linux环境下,要安装新软件,通常有两种方式:一是使用源码安装;二是使用rpm软件包。使用源码安装可以让用户了解编译过程,及定制一些模块,和修改编译参数,但其工作量通常都很大,而且要求用户有足够的计算机知识。而rpm软件包方式则相对来说比较简单,也易于管理和升级。所以,当前Linux发行版的前十中,有八个都是使用基于二进制软件包方式的(deb和rpm格式可以互转)。同样的,红旗也是基于rpm的打包方式。
  下面要写的,就是如何制作自己的rpm包。这通常是为了减轻工作上带来的麻烦,例如分发软件到客户手上,或统一版本升级等。
一、关于rpm包
引用
1、rpm包:简单来说,就是把已经编译好的二进制代码整合到一个文件里面,并且加入一些判断,如安装位置、依赖或冲突的软件包、安装前或后自动运行的脚本等等;
2、兼容性:由于rpm包在制作的时候,是在特定的发行版或硬件上编译的,所以,不同发行版、或同一发行版不同版本号的rpm包一般都是不能互相兼容的,甚至由于spec宏的问题,使用.src.rpm编译也未必可以成功;
3、大部分的软件作者在发布源代码的同时,也会提供rpm或.spec文件,除非没有.spec文件,否则不建议自行编写,并且在编写的时候,应使用标准宏,以提高可读性。
Tags: ,
分页: 9/13 第一页 上页 4 5 6 7 8 9 10 11 12 13 下页 最后页 [ 显示模式: 摘要 | 列表 ]