如何修改终端的属性以适应特殊需要
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 客户有一个自己开发的应用,其中需要对ctrl+y的响应,来完成特定功能。
但当客户实现时,却发现一按ctrl+y程序就退出了。
解答 客户使用的是telnet终端,其中需要对pty的属性进行修改。
#smit pty
Change / Show Characteristics of the PTY
STATE to be configured at boot time ---------------available -----+
Maximum number of Pseudo-Terminals ---------[256]---------------- #
Maximum number of BSD Pseudo-Terminals -----[16]
其中并没有象tty一样的许多选项:
#smit tty
POSIX special control characters:
INTERRUPT character ------------------------[^c]
QUIT character -----------------------------[^\]
ERASE character ----------------------------[^h]
KILL character -----------------------------[^u]
END OF FILE character ----------------------[^d]
END OF LINE character ----------------------[^@]
2nd END OF LINE character ------------------[^?]
DELAY SUSPEND PROCESS character ------------[^y]
SUSPEND PROCESS character ------------------[^z]
LITERAL NEXT character ---------------------[^v]
START character ----------------------------[^q]
解决办法:
将suspend process character ^y变成其他不需要的特殊按键
如:
#stty dsusp ^@
#stty -a
speed 9600 baud; 24 rows; 80 columns;
eucw 1:1:0:0, scrw 1:1:0:0:
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ^@
eol2 = ^@; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^@; reprint = ^R
discard = ^O; werase = ^W; lnext = ^V
-parenb -parodd cs8 -cstopb hupcl cread -clocal -parext
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc
-ixon -ixany -ixoff imaxbel
isig icanon -xcase echo echoe echok -echonl -noflsh
-tostop echoctl -echoprt echoke -flusho -pending iexten
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3
这样当客户的应用再按ctrl+y时,程序就不会异常退出了。
如何利用grep的一些高级选项更好地管理系统
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 如何利用grep的一些高级选项更好地管理系统
解答 较下面两个命令的输出,我们不难发现grep -p的优秀功能。
它不止把我们要找的关键字的当前行列出来,还列出了相关信息。
#lscfg -vp|grep cpu
Device Type: cpu
Device Type: cpu
#lscfg -vp|grep -p cpu
Name: PowerPC,604
Node: PowerPC,604@0
Device Type: cpu
Physical Location: P1-C1
Name: PowerPC,604
Node: PowerPC,604@1
Device Type: cpu
Physical Location: P1-C1
另一个非常实用的功能grep -i
#lslpp -l|grep xlc
none
#lslpp -l|grep -i xlc
xlC.aix43.rte 4.0.2.1 COMMITTED C Set ++ Runtime for AIX 4.3
xlC.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.rte 4.0.2.0 COMMITTED C Set ++ Runtime
xlC.msg.zh_CN.rte 4.0.2.0 COMMITTED C Set ++ Runtime
xlC.rte COMMITTED 4.0.2.0 COMMITTED C Set ++ Runtime
这样,我们就不用再死记硬背很多大小写的内容,提高工作效率。
相信grep还有很多强大的功能等待我们去应用。
AIX 与 LINUX 的结盟
内容
提要 本文将就AIX Affinity with Linux的发展以及在AIX操作系统下如何进行Linux的开发和如何将自由开发的Linux应用移植到AIX操作系统做介绍,目的是让更多的朋友在AIX系统平台上使用Linux, 并同时感受到AIX操作系统在整体性能上的魅力。我们期待着有更多更好的Linux应用被移植到AIX操作平台,使AIX操作系统更加丰富多彩,让我们工作得更轻松自如。
第一部分 AIX Affinity with Linux 的发展情况
第二部分 AIX Affinity 的其本原理介绍
第三部分 AIX Toolbox for Linux 最新版的获得、安装、包含工具和基本使用
第四部分 对开发的建议
说明 任何机型,操作系统 AIX 4.3.3 or AIX 5L
正文
第一部分 AIX Affinity with Linux 的发展情况
IBM对AIX Affinity with Linux的发展分为以下两个阶段。
第一个阶段,发布AIX Toolbox for Linux Applications, 它主要包含GNU和其他一些常用开发工具,来帮助开发人员在AIX系统上编译程序,并在两种行业内开放性最好的操作系统平台,即AIX和Linux之间,进行平滑技术移植。由于应用程序运行于AIX环境中,因此客户可以同时得到Linux的灵活性和AIX操作系统的先进性能,包括工作负载管理、先进系统管理工具以及高安全性。
第二个阶段是,在最新发布的AIX 5L Version 5.1 操作系统中提供更多的兼容Linux的API和头文件,来支持源文件的兼容性,使两个不同操作系统有更强的互操作性,从而达到更高程度的兼容。
那么我们能用AIX Affinity for Linux做什么呢?
1。在AIX系统上使用众多Linux上开发的自由软件,例如,运行流行的 Gnome
and KDE 图形桌面,运行其他的多媒体工具,等等。
2。用功能强大的RedHat Package Manager包工具管理应用。
3。在AIX 系统上,使用GNU和Linux开发工具进行新应用的开发。
第二部分 AIX Affinity 的其本原理介绍
AIX Affinity with Linux的目的并不是在系统中提供一个模拟层供Linux应用来运行,它的意义在于通过重新编译Linux应用后,得到AIX的兼容的二进制本地代码,并能使用所有系统的特性,如可靠性、扩展性、以及可用性。这就是说,我们提供了一个强大的跨平台编译器以及众多的兼容API来保证Linux应用在AIX系统上的成功移植。
由于AIX的设计开发从网络、主机硬件系统,到操作系统完全遵守开放系统的原则,所以在目前的AIX 4.3.3 和 AIX 5L Version 5.0, 使用AIX Toolbox for Linux,只需通过简单的编译就能在AIX平台上实现Linux的很多应用。这样,我们就不用浪费许多人力、物力去重新开发很多已经很成熟的应用。我们不断地重用经典代码,就可以把我们有限的精力投入到更精彩、更需要的地方。 当使用AIX Affinity with Linux时,我们还会想到的它对性能的影响。AIX Affinity with Linux在设计阶段,就希望提供最优化的性能给应用,其中包括让Linux应用和本地应用享有同样访问资源的权利。尤其是AIX 5L Version 5.1操作系统,会提供更高级别的应用与操作系统间的兼容性。当我们考虑性能时,还应该想到我们要开发什么样的应用,前端的还是后台的。后台的大型应用还是比较适合AIX应用,但前端的人机界面用Linux则更能发挥其特长,也减少了可能的性能影响。
第三部分 AIX Toolbox for Linux 最新版的获得、安装和基本使用
许多GNU开发工具已经被移植到AIX 4.3.3 和 AIX 5L Version 5.0,而界在新的AIX 5L Verison 5.1 操作系统中有更多的开发工具被成功移植。
其中包括(并非全部):
应用开发类:gcc, g++, gdb, rpm, cvs, automake, autoconf, libtool
开发库:ncurses, readline, libtiff, libpng, libjpeg, slang, fnlib,
db, gtk+, qt
编程语言:guile, python, tcl/tk, rep-gtk
桌面环境类:Gnome and KDE
GNU 工具:gawk, m4, indent, sed, tar, diffutils, fileutils
系统Shell:bash2, tcsh, zsh
系统工具:emacs, vim, bzip2, gzip, git, elm, ncftp, rsync, wget,
lsof, less, samba, zip, unzip, zoo
图形应用:ImageMagick, transfig, xfig, xpdf, ghostscript, gv,
mpage,Gimp
这些工具为Linux开发者提供了非常棒的开发环境。值得一提的是,他们绝大多数使用了易于安装的文件格式,这就是RedHat发展的rpm包。它的主要作用就是架起了一座通畅的桥梁,把AIX和Linux两个不同的操作系统紧密地联合起来,发掘它们更大的潜力。
AIX Toolbox for Linux 的下载网址:
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
此网页上有众多大家梦寐以求的工具等大家来使用。
前面已经提到过,我们是要用RedHat Package Manager(RPM)来管理应用,所以我们必须首先要安装RedHat Package Manager。
RedHat Package Manager从下面连接下载:
/tupian/2005/12/24/200512242317513409e.ibm.com/aix/freeSoftware/ aixtoolbox/INSTALLP/ppc/rpm.rte安装时,以root用户登录,运行installp -qacXgd rpm.rte rpm.rte安装过程会收集共享链接库的信息,将会持续几分钟。要耐心等候,不要中断。如果发生错误没有装完,那么在下次安装之前,记得要运行installp -C去清除上回不完全安装。(我在一台F50,4.3.3上共用时10min35sec.)
RedHat Package Manager安装完后,就可以安装其他 AIX Toolbox for Linux
基本使用和Linux上一样,详细使用及相关信息,可以到 www.rpm.org 上查看。
简单参数如下,
-i: install
-e: erase
-q: query
--help help
举例:要安装gcc 2.9,那么先到
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
下载rpm包 gcc-2.9.aix43.010216-1.aix4.3.ppc.rpm
上传到机器后,运行rpm -ivh gcc-2.9.aix43.010216-1.aix4.3.ppc.rpm
其中参数v是要在安装过程中显示详细信息。
其中参数h是要在安装过程中显示安装进度。
一分钟过后,就已经可以享受gcc 2.9的强大功能了。
其余的就不用我赘述了,大家各自体会吧。
第四部分 对开发的建议
1。由于AIX是符合POSIX标准和UNIX98认证的,但Linux却没有通过认证,所以
我们要尽量在开发过程中使用标准的API,那么应用只要使用GCC,G++等编译器重新编译就可以在AIX中使用了。非常重要的是,检查哪些API是只被Linux支持,但却不被AIX支持,这样可以避免不必要的麻烦。
2。由于AIX 5L是同时支持 Power系列 CPU和 Itanium CPU, 所以我们在开发程序,另外要注意的是在处理一些和硬件底层打交道的代码。在这些程序中我们需要采用通用的字节处理调用来处理,以保证应用可以很快速在不同的平台间移植,比如从Power系列的CPU平台移植到以INTEL CPU的平台,这样就可以确保应用的更强的可用性。
3。如果你的应用与路径有关,而在AIX系统中没有程序中指定的路径存在,那么必须修改应用的源码并指向正确的路径。所以建议你在开发是确认你的代码是否是可行的并进行相应的测试。
IBM RS/6000 CPU 与IBM INFORMIX数据库CPU虚处理器的设置
环境 产品: IBM INFORMIX 7.x,9.x
平台: AIX
问题 目前在IBM RS/6000多数机型为对称多处理器结构, 而IBM INFORMIX数据库服务器的配置参数中有CPU VP(即CPU虚处理器)的设置, 那么在实际应用中如何对CPU与CPUVP进行设置以达到比较好的性能呢?
解答 CPU VP是多线索进程, 它一直在CPU上执行除非以下情况发生
1. 没有任务做, 例如就绪队列中没有等待执行的线索.
2. 操作系统强迫CPU VP让出CPU 给其它进程.
为优化吞吐量, 将NUMCPUVPS设置为能够处理承接任务的最小的数, 这个数目小于或等于系统中可利用的CPU数, 建议不要将CPU VP数设置成大于可用CPU数目. 通常对于OLTP应用: NUMCPUVPS=TOTAL CPUS-1 VP; 对于OLAP应用: NUMCPUVPS=TOTAL CPUS.
如果CPU VP不能承受要执行的任务, 这就表示需要提高CPU性能来解决问题. 只有存在另外的处理器, 才能通过增加CPU VP来解决问题. 也可以从系统上移走其它任务, 为虚处理器释放CPU周期, 从而改善性能.
增加CPU VP的数目而不增加CPU资源只会使问题更严重, 产生更多的CPU周期竞争, 这样操作系统要有更多的工作来做均衡, 争夺CPU时间的CPU VP使其负担增加. 结果, 上下文切换增加, 这不仅消耗时间而且要使用更多的CPU.
由于系统不光是CPU VP, 还有其它进程申请CPU周期, 在一些多处理器系统上, NUMCPUVPS应小于或等于全部CPU数. 当然, 我们应根据实际应用的状况, 在系统上进行试验和监测, 以检测吞吐量和CPU使用情况, 最终找到比较好的配置方案.
通过命令onstat ?g rea 来检测就绪队列, 确认CPU是否不能承担任务. 就绪队列的线索是将要执行的线索, 如果就绪队列线索数开始加速增长, 这就表示CPU VP已不能承接如此繁重的任务. 在调整好的系统上看到几个就绪线索, 或是在测试工作开始时有些线索增加是正常的. 每个CPU VP上有一个就绪线索是合理的.
另外, 查看CPU VP的使用情况, 如CPU VP跟不上任务的增长, 就会看到虚处理器处于饱和, 可以用onstat ?g glo监视虚处理器的使用情况. 如果系统和用户CPU VP时间之合接近于测试花费时间, 那么CPU VP就饱和了, 如果设置NUMCPUVPS低于系统中CPU数, 可以增加一个CPU VP, 但不要超出系统中的全部CPU数.
注意: 在多处理器系统中, 全部可利用CPU时间等于处理器数乘以测试时间, 一个CPU VP不能在某一时刻消耗多于一个处理器的能力, 因此一个CPU VP的全部CPU比率不会超过测试时间的100%.
如果整个系统中CPU资源已饱和, 而且不能再减轻工作负荷或增加资源, 可以通过减少NUMCPUVPS来改善性能. 但这种变化只有在CPU VP急需其它虚处理器或进程的CPU资源时才起作用. 每次减少一个CPU VP, 而NUMCPUVPS必须设置为大于0的数值.
在多处理器系统中, 如果观察到CPU负载不均衡, 可以考虑将CPU VP捆绑到CPU上以均衡负载. 一般而言, IBM INFORMIX数据库服务器会自动动态调节均衡CPU VP在CPU上的执行.
哪里可以下载AIX上的JDK?
环境 产品: JDK for AIX
平台: AIX
问题 哪里可以下载AIX上的JDK?
解答 请在下列网址下载IBM的JDK
http://www.ibm.com/developerworks/java/jdk/index.html
如何在 AIX 中设置 tftp server
环境 平台, RS6000, IBM Pseries,
软件版本, AIX
问题 如何在 AIX 中设置 tftp server
解答 在 AIX 中带有TFTP服务,缺省是处于非活动状态. 若要使其可用,需做如下设置.
设置TFTP服务器的具体步骤如下:
1. 将 /usr/samples/tcpip 目录下的 tftpaccess.ctl 文件拷贝到/etc
#cp /usr/samples/tcpip/tftpaccess.ctl /etc
2. 根据需要修改/etc/tftpaccess.ctl文件, 使客户端可访问指定的目录. 如 allow /tmp.
#vi /etc/tftpaccess.ctl
3. 启动 tftp 服务. 使其对外服务.
#startsrc -s tftpd
4. 若以后每次开机都要自动启动该服务,请修改/etc/inetd.conf
#vi /etc/inetd.conf
将tftp前的#号去掉
为什么用CD-ROM有时不能引导AIX 5L
环境 产品: AIX
平台: rs 6000 , e Server Pseries
软件版本: aix5l v5.1
问题 用CD-ROM不能引导AIX 5L
解答 AIX5L 的第一张光盘是可引导盘.应当能引导系统.
当AIX5L 不能从CD-ROM引导时,请检查CD-ROM属性,若同时满足下列条件,则需将 CDROM 的 firmware 升级.
检查步骤是:
1.在命令行提示符下键入:
# lscfg -vl cd0
2. 检查返回的数据, 如果
a. Partnumber 是 04N2964, 且
b. ROS Level and ID 小于 1.04 (例如,是 1.02,1.01, 1.00等)
可从 http://www.rs6000.ibm.com/support/micro 站点下载CDROM firmware和升级步骤
AIX 5L 5.1中的64位内核?
环境 AIX 5L 5.1, RS/6000, pSeries
问题 AIX 5L 5.1中的64位内核
解答 以下是对AIX 5L 5.1中的64位内核的一些说明:
1. Itanium的硬件是64位的,AIX 5L 5.1中只有64位的内核。
2. POWER的硬件平台有32位和64位两种,AIX 5L 5.1中有32位 和64位两种内核
(请参见哪种型号的RS/6000是64位的)。
3. 64位的Itanium平台+64位的内核支持32位和64位的应用。
4. 64位的POWER平台+64位的内核支持32位和64位的应用。
5. 64位的POWER平台+32位的内核支持32位和64位的应用。
6. 32位的POWER平台+32位内核只支持32位的应用。
注:在AIX 4.3上编译的64位程序需在AIX 5L 5.1重新编译才能运行,32位程序不需要重新编译。
在AIX 5L中,EtherChannel有何增强?
环境 AIX 4.3.3, AIX 5L 5.1
问题 在AIX 4.3.3中,引入了EtherChannel的功能,对网络功能进行了增强,那么在AIX 5L V5.1 中又有哪些增强呢?
解答 Cisco 公司的网络带宽聚合及负载均衡(Network Bandwidth Aggregation and Load Balancing)技术,也称为EtherChannel (TM), 建立在802.3 快速以太网标准之上,提供了把多个以太网接口的带宽聚合起来的能力。
IBM 在AIX上对 Cisco的 EtherChannel 的实现是,把2至4个物理接口(或适配器)定义为一个逻辑接口或通道。这个逻辑接口或通道对上层应用来讲就象是一个以太网接口,任何通过AIX 通用数据连接接口(CDLI)的上层应用(IP, SNA, DLPI, etc.)都可以不加任何改变,直接使用EtherChannel。AIX的 EtherChannel可以实现与Cisco的EtherChannel技术兼容以太网交换机协同工作。发送到通道的工作负荷被发送到作为通道一部分的网络设备上。对于IP 流量, 对流出设备的选择是通过对目的IP地址的进行hash算法得出的;对于其他上层流量,对流出设备的选择是通过对目的MAC地址的进行hash算法得出的。对地址的Hash算法选择可以帮助在特定源和目的地址之间的流量使用相同的物理接口或适配器。这就避免了到达目的地的包次序颠倒,因为一些高层的协议在处理次序颠倒的包时会出现问题。从任一接口接收到的包被送到高层去做处理,不论它是从哪个设备上收到的。
在AIX 4.3.3中引入EtherChannel的功能时,只能支持以太网和快速以太网,在AIX 5.1 中,增加了对千兆 EtherChannel 的支持,允许对多达4个千兆以太网端口进行聚合,从而大大增加了带宽的吞吐量。
AIX常见问题整理 (1)
0
相关文章