demo控制脚本tel,150 5519 8367
Running Puppet on AIX
Puppet on AIX is… not officially supported, yet still useful (at least one site has it deployed in a production environment). It doesn’t work with the ruby packages that are available from bull at , as they lack socket functionality, however it does when ruby is built from source with openssl support (at least on 5.2 and 5.3! On early versions, mileage may very etc). Currently, as at 0.22.4 there is still some big holes in functionality, specifically:
- Mount doesn’t work. Thank you, IBM!
- Cron jobs mysteriously fail with ‘crontab: cannot access’.
- Service management via init works, however AIX by default uses something else for internal packages
- Package support for installing/removing packages via NIM and local directory
Service Management
Most things on AIX are handled using the system resource controller (SRC).
lssrc -a list all services available and their state
startsrc -s sshd start a subsystem
stopsrc -s sshd stop a subsystem
refresh -s sshd refresh a subsystem (does not work on all subsystems, ssh for instance).
You can also pass -g instead of -s to start/stop a group of systems (such as NFS).
Services to be managed via the SRC can be defined with the mkssys command. The example adds the sshd subsystem and the ssh group to the SRC. In the example the binaries reside in /usr. The -a flag allows passing of arguments.
/usr/bin/mkssys -s sshd -p /usr/sbin/sshd -a ‘-D’ -u 0 -S -f 9 -n 15 -R -G ssh
The so generated subsystem sshd can be started with the above mentioned commands.
Package Maintenance
Packages are installed one or two ways. Locally using a local collection of .bff files (native BFF filesets) or remotely using Network Install Manager (NIM), which is similar to kickstart or jump start, plus there’s client management after the fact. NIM has the ability to remotely run simple scripts, reinstalling the OS, or making a system backup (mksysb).
NIM installation
The way that seems to be most common is to deploy packages with NIM. The client is configured to communicate with the NIM server using the niminit command. This can be run on the client or server. In most cases the entry on the server should be created first.
niminit -a name=HOSTNAME -a master=NIM_SERVER_FQDN -a connect=nimsh
Packages can then be installed using the nimclient command with the CUSTomize operation.
nimclient -o cust -a lpp_source=LPP_NAME -a filesets=“package1 package2 package3”
LPP_NAME is the name of the package repository on the server, you can discover the available sources with nimclient -l -t lpp_source.
Local Installation
If the packages are local (or on NFS) they can be installed with the installp command.
installp -acgXY -d /usr/sys/inst.images package1 package2 package3
-a means to apply packages (install)
-c (optional) commit packages to the system, cannot be rejected after this
-g (optional) process dependencies. If depends are not met, install fails.
-X automatically extend filesystems if needed.
-Y automatically accept License agreements.
-d dir use install source location
Before packages can be installed from a local repository, an index of metadata must be created. This is done with the inutoc command. This generates a .toc file in the directory that installp uses to know what packages are where. The filenames of the packages are irrelevant.
Handling mounts
Mounts are dynamically created/removed by commands, instead of modifying /etc/filesystems directly.
lsfs, list filesystems with their attributes
mkfs, creates a filesystem and adds it to /etc/filesystems
rmfs, removes a filesystem (and underlying block device unless the filesystem is not JFS or JFS2)
mknfsmnt, create an NFS mount in /etc/filesystems
rmnfsmnt, remove an NFS mount from /etc/filesystems
chfs, change the mountpoint, attributes, mounting groups, etc. of a filesystem (example: chfs -An /usr causes /usr to not mount on boot)
Mounts are handled exclusively via command line or smitty, using the above commands or importvg/exportvg.
Inittab
/etc/inittab is managed by {ch,ls,mk,rm}itab commands. Do not write changes to this as a text file.