Thursday, December 13, 2012

Change user properties in AIX

Today I needed to change the umask value for a user in AIX. It was set to default: 022
That means that files will be created with 644 permissions. To allow the user to create files with 666 permissions by default I needed to change the umask value for the user. First I checked the current umask value:

# lsuser sneill
... umask=22 ...

Wednesday, November 28, 2012

Mount an ISO image with Solaris

Before you can mount an ISO image with Solaris you need a block device. An ISO image is only a normal file so you need to make it available as a block device. The right tool for this is lofiadm. With lofiadm you can make files available as block devices:

# lofiadm -a /root/sol-10-u10-ga2-sparc-dvd.iso

Monday, November 26, 2012

VxVM enable failed: License has expired

When you work with Veritas Storage Foundation then you need a valid key. Otherwise you might encounter the following message:

VxVM vxconfigd ERROR V-5-1-1589 enable failed: License has expired or is not available for operation
        transactions are disabled.

Tuesday, November 20, 2012

vxdisk list: state=disabled

Today I had a strange situation with VxFS. When running vxprint I saw several disks in error state. A closer look at the devices gave me a clue:

# vxdisk list stor1_42
c1t20140080E518D5C0d26s2        state=disabled  type=primary
c3t20140080E518D5C0d26s2        state=disabled  type=primary
c4t20150080E518D5C0d26s2        state=disabled  type=secondary
c2t20150080E518D5C0d26s2        state=disabled  type=secondary

Saturday, November 17, 2012

Scanning and playing DVB-T

I found a USB DVB-T adapter in my USB spare box and I thought it would be a more or less nice idea to check if it is still running. Since I haven't watch TV in years that could be interesting.The first thing I did was to plug in the adapter and check for firmware messages:

# dmesg| grep firm
[ 4501.549255] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[ 4501.550498] dvb-usb: did not find the firmware file. (dvb-usb-af9015.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)

Thursday, November 15, 2012


Yesterday I had the 'pleasure' to play with an IMM - one of these dinosaur management processors shipped by IBM. The system was still online so I couldn't do too much. Here is what I could do:

Connect and help: 

Monday, November 12, 2012

vxprint: NODEVICE

Today I had a broken Veritas mirror. In the middle of the night one path to a storage was missing and when I took look at the Veritas configuration I got the following (output truncated):

# vxprint -g oracledg
Disk group: oracledg
v  oravol03        fsgen       ENABLED 1570766848 - ACTIVE   - -
pl oravol03-01     oravol03    ENABLED 1570766848 - NODEVICE - -
sd stor1-vol003-01 oravol03-01 ENABLED 1570766848 0 NODEVICE - -
pl oravol03-02     oravol03    ENABLED 1570766848 - ACTIVE   - -
sd stor2-vol003-01 oravol03-02 ENABLED 1570766848 0 -        - -

Thursday, November 1, 2012

Sunday, October 28, 2012

Compiling VirtualJaguar: 'usleep' was not declared in this scope

I had a little trouble compiling VirtualJaguar on my Linux machine. Everytime I run make I got the following error (on different machines with different Slackware versions): 

Thursday, October 4, 2012

Linux ACL's

That root can do everything with the files and directories user created will be slightly ignored in this article. Another thing I am doing different here is the prompt of each user. In normal cases I use the # for the root prompt and $ for the user prompt. In this article I will use ajolie$ for the prompt for the user ajolie and so on. The command will be done with the user that stand in front of the $.

Thursday, September 27, 2012

Getting used memory slots in AIX

Today a customer wanted to know if he could expand his memory in one of his IBM PPC machines. Of course the customer didn't know anything (machine type, memory size etc.) so I took a look. The first thing I needed to know was the machine type:

# prtconf | head -1
System Model: IBM,9131-52A

Tuesday, September 25, 2012

Splitting a ZFS pool

Splitting a ZFS mirror is very useful when you need to create a quick copy during runtime without copying the entire file system. My current pool configuration looks like this:

# zpool status orapool
  pool: orapool
 state: ONLINE
 scrub: none requested

        NAME        STATE     READ WRITE CKSUM
        orapool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
# zpool list
orapool  1.97G   130K  1.97G     0%  ONLINE  -

Sunday, September 16, 2012

Bonding with Linux

Before you begin with bonding you need the command ifenslave. Depending on your distribution you have to compile it by yourself. I am using Slackware as usual where ifenslave is shipped as source only. You can find the source of ifenslave in the kernel sources. To install the kernel sources run installpkg with the package for the kernel source (if not done already):

# installpkg kernel-source-

Monday, September 10, 2012

Solaris disks: ssdX vs cXtXdX

When you work with disks in Solaris then you normally have to deal with disk names like cXtXdX and so on. But sometimes you will see something like ssdX, eg:

# dmesg
Sep 08 12:15:56 sol01 scsi: [ID 112529 kern.warning] WARNING: /pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w2100001862806e43,0 (ssd1):
Sep 08 12:15:56 sol01        offline

Saturday, September 8, 2012

Bringing a Compaq StorageWorks San Switch 8 back to life

I hope I don't promise to much with this heading...
Here is the situation: I got an old unused Compaq StorageWorks San Switch 8 without any information (IP, username, password cable etc). As usual I wanted to use it, so here is a short description of what I  did to bring the machine back to life. A default serial cable does not work, when the switch was released Compaq had is own pin layout. The only chance to communicate with the switch is via network. When you open the SAN switch you should see a couple of LED's near the ethernet connector like this:

Monday, September 3, 2012

Replacing your SWAP with the memory of your graphics adapter

If you have a server with a more or less big graphics adapter (big in case that the graphics adapter has a lot of memory) than you can replace your SWAP area with it. This might be something real useful for a graphics adapter in a Linux server with no monitor attached to it.

Thursday, July 19, 2012

Which port is used by a process in AIX?

Today I installed samba and tried to starting it but it refuses to start:

# /etc/inetd/samba start
Starting SMB services
# ps -ef | grep smb
    root 811496 860488   0 14:15:39  pts/0  0:00 grep smb

Battery state of a LSI MegaSAS 9260

A few days ago a collegue asked me to check the battery status of a raid controller. He gave me the login to his machine and I found this raid controller: 

Friday, July 13, 2012

Measure network traffic with Linux

To measure your network traffic for a specific interface use netstat:

# netstat -i
Kernel Interface table
eth0   1500 0   7758072      0      0 0       3305512      0      0      0 BMRU
lo    16436 0     79946      0      0 0         79946      0      0      0 LRU

Monday, July 9, 2012

SWAP size and usage in Solaris

If you want to know how large your SWAP area is and how much space currently is consumed then you need to use the command swap:

# swap -l
swapfile                 dev        swaplo blocks   free
/dev/zvol/dsk/rpool/swap 256,2      16     8388592  8388592

Identifying hardware architecture in Solaris

If you ever need to identify your current hardware architecture in Solaris then isainfo may be the right tool:

# isainfo
sparcv9 sparc

Wednesday, June 13, 2012

Softraid with mdadm and Linux - Part II

This is the second part of my mdadm tutorial. This part covers the following topics:

Creating and failing RAID5
Creating and failing RAID6
Converting from RAID1 to RAID10
Converting from RAID01 to RAID10

Friday, June 8, 2012

Extend dump devices in AIX

If you see a message in AIX like this:


Date/Time:       Sun Jun  1 12:00:00 GMT+00:00 2012
Sequence Number: 182200
Machine Id:      XXXXXXXXXXXX
Node Id:         db03
Class:           O
Type:            PEND
WPAR:            Global
Resource Name:   dumpcheck

The largest dump device is too small.

Wednesday, May 9, 2012

Meassure disk performance

This tutorial was tested on Slackware Linux only but should work for any other Unix with some minor changes in the iostat options. Keep in mind that some file systems (zfs, vxfs etc.) have their own tools to measure disk performance. In this case you should refer to them.
To meassure the disk performance of a specific disk use iostat - not dd. You can use dd to create some load but not to meassure the performance of a disk. The usage of iostat is very easy, a simple example for /dev/sdb could look like this: 

ps -eo in HP-UX

If you try to run something like:

# ps -eo ppid,pid,comm

Saturday, May 5, 2012

Softraid with mdadm and Linux - Part I

Today I want you to show some basics about softraid with mdadm and Linux. This article features the following topics:

Creating RAID0
Creating and failing RAID1 (w/o spare disk)
Creating and failing RAID1 (w/ spare disk)
Creating and failing RAID01
Creating and failing RAID10

Sunday, April 22, 2012

Remove carriage return ^M from a text file

Sometimes I have text files with a trailing carriage return character like this:

# vi file.txt

Thursday, April 19, 2012

Creating empty files and using them as disks

If you ever needed some disks to test anything (eg. mdadm) then you can create your own harddisk in an existing filesystem. First create a 1GB file filled with zeros:

# dd if=/dev/zero of=/local/disk/vda bs=1 count=0 seek=1073741824
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.3252e-05 s, 0.0 kB/s

Sunday, April 15, 2012

Accessing CD-ROM with FreeDOS

Today I decided to get my CD-ROM in FreeDOS running. As I have a nice old machine this was somekind tricky again. First I tried to load the uide caching driver:

C:\>devload uide.sys /D:CDROM01
XMS init error; UIDE not loaded!

Friday, April 13, 2012

Check CPU in FreeDOS

There are a lot of tools to get information and to measure the speed of your CPU, here is one which I think is compact and useful: CHKCPU    
It can be downloaded from Copy it to your FreeDOS machine and start it like this: 

Thursday, April 12, 2012

Basic networking with FreeDOS

Setting up a network with FreeDOS can be a little bit frustrating when you don't know how to do it (just like me). Here is a short description how I installed my network under FreeDOS. I am using my old 386 again with a 3COM EtherLink III (3C509B) ISA NIC. 

Monday, April 9, 2012

PS2/Serial mouse in FreeDOS

I have a PS/2 mouse connected to PS/2-Serial converter which is plugged in my old 386 FreeDOS machine. Using the mouse with ctmouse gave me a little trouble but here is how I did it:

First I loaded ctmouse with the /M option (Mouse System / Genius):

Saturday, April 7, 2012

SoundBlaster (CT1350B and CT2960) in FreeDOS


The first soundcard I tested with FreeDOS was a SoundBlaster CT1350B which operates in 8Bit mode only, but it works out of the box. There is nothing more to tell, just set the correct BLASTER variable according as the jumpers on the soundcard. There is a tool called SBCHECK.EXE (which seems to be a virus too so be careful when downloading it - I don't have any link for it) which will check your hardware:

Monday, April 2, 2012

Measure network traffic in Solaris

Today I got stuck with a customer who was complaining that his local network was slow. Or as he said: "It feels slow"... What ever this means.
My task was to measure his network traffic on his Solaris 10 database machine and here is what I did. First I took a look at his network card: 

Sunday, March 18, 2012

Migrating /usr to a new disk in NetBSD

Today I added another 18GB hard disk to my NetBSD machine. The goal is to migrate /usr on it. After I have connected the disk and booted the machine I ran fdisk to create a partition on the disk. I want to use the complete disk for /usr so I only created one partition. The -u option for the fdisk command runs fdisk in interactive mode which make things very easy: 

Sunday, March 4, 2012

Obtaining CPU information in NetBSD

If you need to know what CPU your are currently using then run cat on /proc/cpuinfo (just like in Linux):

Available, used and free memory in NetBSD

To see how much memory is consumed in NetBSD use cat on /proc/meminfo:

Obtain PCI hardware information in NetBSD

To get information about your installed PCI hardware on a freshly installed NetBSD machine run dmesg and grep for "at pci": 

Setting up a simple firewall with pf and NetBSD

Today I deceided to setup a simple firewall for my NetBSD machine. The following output shows my network interfaces:

# ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33192

Saturday, March 3, 2012

Password status

Today I needed to check a old web server running a few simple web sites. The owner of the server asked me to check all non system users and their access rights. The first thing I did was checking for all available users: 

Thursday, March 1, 2012

Display HBA and WWN in HP-UX

First display the available HBA's installed in your system:

# ioscan -kfnC fc
Class I  H/W Path     Driver S/W State   H/W Type     Description
fc    0  0/3/0/0/0/0  fclp   CLAIMED     INTERFACE    HP AD355-60001
fc    1  0/3/0/0/0/1  fclp   CLAIMED     INTERFACE    HP AD355-60001
fc    2  0/7/0/0/0/0  fclp   CLAIMED     INTERFACE    HP AD355-60001
fc    3  0/7/0/0/0/1  fclp   CLAIMED     INTERFACE    HP AD355-60001

Monday, February 20, 2012

WORM media with mhvtl and bacula

WORM (write once read multiple) media is necessary if you need to make sure that special backups are kept forever (or as long as possible). How long a backup must kept alive depends on the data to backup, company needs, government regulations and so on. To play a little with WORM media you can use mhvtl (I used the web gui to create a new media). If you are lazy then you can spare this step, you can use any other media as WORM. The advantage of a real WORM media is that it won'toverwrite in other libraries, environments or even accidently. A cheap example with less capacity for a WORM media are writable CD's and DVD's - not rewritable!

umount: /mnt busy

When trying to unmount a file system you may got the typical error like:

# umount /mnt
umount: /mnt busy

DNS lookup in AIX

To configure AIX for use with DNS create the /etc/resolv.conf first:

Saturday, February 18, 2012

Configuring NTP in NetBSD

To configure the NTP client in NetBSD edit ntp.conf file end jump to the end of the file. Then uncomment all servers and add your own NTP server like this:

Sunday, February 12, 2012

Migration with bacula

Imagine you have the following situation: two database servers each with a large database. To backup each database you need 12 hours but you only have one tape drive. How to backup both databases to one tape drive without running the backup at daytime? As the topic says it: using bacula migration. When using migration you can start both backups at eg. 20:00, one backup writes directly to the single tape drive, the other backup to a disk storage. In this case both backups are accomplished between 20:00 and 08:00 the next day.

Tuesday, February 7, 2012

Sun StorEdge 6120 password reset

Got a few Sun StorEdge 6120 without any password (the shipped one was not right). To access the 6120 I have to reset the password first. Here is a way how I accomplished it. First shutdown the 6120 and disconnect all power cables. Then use a screw driver to open the screw that holds the U1 controller on the back of the 6120. Then pull the U1 controller out of the 6120. In the top right corner there are a few jumpers gathered to J10. Use a jumper to connect the pins 14 and 16 like the image:

Sunday, February 5, 2012

Using bacula with mhvtl

In a prior article I showed you how to setup a virtual tape library with mhvtl. I configured a MSL600 with 48 tapes. This device I want to use with bacula now. My current setup is the bacula director running on a Solaris 10 X86 machine, but the mhvtl is running on a Slackware X86 machine. To continue I have to install the bacula storage daemon on the Slackware machine first. To install the storage daemon you have to build the complete bacula software. Download a copy of the source and store them under /usr/src. Then extract the source package and change into the new directory: 

Saturday, February 4, 2012

LDAP backup with bacula

To backup your LDAP with bacula is very easy. You only need to create a script that exports the DIT in a file. Then create a job that backups this file. To start go into the bacula configuration directory and define a new job:

Using a Sun StorEdge D240 as bacula storage

Yesterday I got a Sun StorEdge D240. Completely with cables, SCSI card etc. The D240 has two 36GB harddisks, a DDS4 tape drive and a DVD-ROM. Perfect to use it in my bacula server.
After installing the SCSI card and connecting the D240 I booted my Solaris 10 X86 machine and installed all devices (I'm using the Split Bus configuration). To install the necassery devices run the devfsadm command and use the iostat command to check the devices:

Saturday, January 28, 2012

Add a new bacula client

To add a new client to bacula you have to let the director know the new client first. Go into the bacula configuration directory and add the client to the client resource: 

Friday, January 27, 2012

Creating a new bacula job

This time I want you to show how to create a new job within bacula to backup your files. In this article I will setup a job to backup /etc from my master server which is very easy. To do this go into the bacula configuration directory and edit the jobs resource file to add the new job: 

Thursday, January 26, 2012

Using a stand alone tape with bacula

This time I want you to show how to use a stand alone tape drive with bacula. I have a couple of DDS-3 tape drives which all work with Solaris 10 X86 and bacula. Before you begin you need to know the device file for your tape drive. Under Solaris use iostat:

# iostat -En
rmt/0            Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SONY     Product: SDT-9000         Revision: 0400 Serial No: 03/05/98

Sunday, January 22, 2012

Basic bacula installation and configuration

With this article I want you to show how to install bacula from source and how to create a basic configuration. The topics in this artice will be the following:

Install bacula from source under Solaris 10 x86
Create the bacula database under Slackware Linux 13.1
Configure the bacula director
Configure the bacula storage daemon
Configure the bacula file daemon
First start
Configure the bacula console
Run a backup job
Run a restore job

Saturday, January 21, 2012

mhvtl - Virtual Tape Library

A few days ago I discovered a pretty cool software for creating a virtual tape library. You can use the virtual tape library as a real library with the robot, drives, tapes etc. Best of all: the tapes are flat files within their own directory. That means that you can setup a HP MSL6000 tape library with 4 drives and 52 tapes and keeping the tape size at 50MB. With this article I want you to show the following:

Install mhvtl from source
Configure a virtual HP MSL6000 tape library
Perform a simple backup
mhvtl Web Gui

Wednesday, January 18, 2012

Slackware package and patch server

With this article I want you to show how to setup a package and patch server for Slackware. When you have multiple Slackware servers running and you need to install updates then every single server has to download each update from the internet:

Monday, January 9, 2012

Replacing tabs/spaces with expand/unexpand

To replace tabs with spaces in a text file use expand.
To replace spaces with tabs in a text file use unexpand. 

Friday, January 6, 2012

Fun with pam

With this article I want you to show how to use several more or less useful pam modules. This is not an explanation to pam in general. This article is also based on the the prior released LDAP articles for Slackware and Solaris. I didn't test all modules under Solaris or else but with some brain you should be able use them under any Unix too.
The following modules are currently described here:

pam_nologin: Deny user log in
pam_securetty: Deny root log in Deny log in after X failed log in attempts
pam_cracklib: Strengthen passwords

Tuesday, January 3, 2012

Available, used and free memory in AIX

Use lsattr to get the size of your memory:

# lsattr -E -l sys0 | grep realmem
realmem         32636928           Amount of usable physical memory in Kbytes        False

Monday, January 2, 2012

Joining text files

Sometimes I get a couple of text files with various data about the capacity of disks, memory etc. Here are two examples: