VI changing to lowercase

I don’t know why I can never remember this one, but here it is for reference:

:%s/.*/\L&

.* = Match line
& = What was matched

No need for /g as .* already matches the line, and .* if faster than /g

Posted in AIX, Linux | Tagged , | 1 Comment

Can’t bosboot on Veritas cluster

I had an AIX Veritas cluster using DMP disk paths which couldn’t run bosboot or much else. Rootvg seemed locked down. The two commands below fixed it.

vxdmpadm native enable vgname=rootvg

vxdmpadm native release

followed by:

vxdmpadm native aqcuire

These two pages goes through the process:

https://sort.veritas.com/public/documents/sfha/6.0.1/aix/productguides/html/dmp_admin/ch04s06s01.htm

https://www.veritas.com/support/en_US/article.100045906

Posted in AIX, Software | Leave a comment

Zoneminder upgrade

I recently had to upgrade from Debian Sid to Buster and this seemed to break Zoneminder.

The first problem was both PHP 7.0 and 7.3 were now installed and Apache was using 7.0 still. This made going to the Zoneminder URL give a one line error:


Unable to connect to ZM db.could not find driver

Removing PHP 7.0 and pointing Apache to PHP 7.3 fixed this first problem.

Next problem was seeing odd variables on the Zoneminder login page and the Apache log giving warnings such as:

PHP Warning: Use of undefined constant ZM_WEB_TITLE – assumed ‘ZM_WEB_TITLE’

This was tricky to track down, but it turns out the Debian installer script did not, nor tell you to, run ‘zmupdate.pl‘. Running this manually gave the error:

‘ERROR 1142 (42000) at line 98: INDEX command denied to user ‘zmuser’@’localhost’ for table ‘Monitors’.

This was fixed by running ‘MariaDB [mysql]> grant all on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;‘.

Posted in Software | Tagged , , | Leave a comment

AOC monitor software maximizes windows on movement

I recently purchased an AOC monitor and installing their software broke Windows. I have only just managed to fix it, NOT with help from their “support” staff!

Installing AOC’s Screen+ software, everytime I tried moving a window, both my screen got a green border around them and a big number “1” appeared in the middle of them. This is not aero snap doing it as much Googling suggested.

Even removing Screen+ doesn’t actually remove it starting up in the background. Only renaming c:\Program Files\Screen+ and rebooting fixed this problem.

Shame on AOC…

Posted in Windows | Tagged , , , , | Leave a comment

Finding SQL query in TCP stream

Just a little one to remember, as I use this occasionally, with this tcpdump you can read SQL queries, rsh commands etc:

tcpdump -i en0 -s 0 -l -w - dst port 3306 | strings

 

Posted in AIX, Linux | Tagged , , , , | Leave a comment

DHCPv6 and finding DUID

As you probably know if you are using IPv6 at home, Privacy Extentions are a pain, Apple devices are a pain, “smart” phones are a pain, etc.

The problem is that privacy extentions makes it impossible to set-up as firewall and generally keep an eye on what goes on on your network.

There is a trick though, to finding DUIDs of devices that won’t tell you, so you can set-up DHCPv6 on your network! This article assumes you already have ISC’s DHCPv6 server configured and running. I might cover that in another post some time, although that can just be Googled unlike how to find DUIDs.

Here’s the trick. In your dhcpd6.conf, insert the following at the beginning, to change the log configuration:

log-facility local7;
option dhcp6.macaddr code 193 = string;
option dhcp6.leased-address code 194 = string;
option dhcp6.macaddr = binary-to-ascii(16, 8, “:”, suffix(option dhcp6.client-id, 6));
option dhcp6.leased-address = binary-to-ascii(16,16, “:”, substring(suffix(option dhcp6.ia-na, 24),0,16));
log (info, concat (“Lease for “,config-option dhcp6.leased-address, ” leased to “, config-option dhcp6.macaddr, ” DUID: “,  binary-to-ascii(16, 8, “:”, option dhcp6.client-id)));

The last line, the one beginning with “log”, has this at the end:

binary-to-ascii(16, 8, “:”, option dhcp6.client-id)

which it what puts the DUID in your log file whenever it receives a request. Now all you need to do is check your DHCPv6 log file!

Posted in Linux | Tagged , , , , | Leave a comment

rmsock bug and workaround

I found a bug in rmsock on AIX 6.1 TL9 recently which caused a server crash. If run on a socket ID that has disappeared, the server just dumps and reboots.

I came up with a work around for identifying process owners of open TCP sockets in AIX without using rmsock. Do the following using the AIX debugger kdb:

–       Run ‘netstat -A’ with any other flags you desire. Grab the socket ID from the first column and start up ‘kdb’.
–       Run ‘sockinfo <sockID from above> tcpcb’ and hit <enter> repeatedly until you get to the bottom
–       Grab the PID number right after the word ACTIVE as below:

proc/fd: fd: 14
SLOT NAME     STATE      PID    PPID          ADSPACE  CL #THS

pvproc+099400  613*oracle   ACTIVE 2650070 0000001 0000000AEF722590   0 0001

–       Run ‘hcal’ on the PID, still inside kdb, to convert to dec:

(0)> hcal 2650070
Value hexa: 02650070          Value decimal: 40173680

–       Exit out to a promt and use ‘ps’ grepping for the decimal PID to find the process.

All without risking a crash.

Posted in AIX | Tagged , , , , , | 1 Comment

NFS soft versus hard mounts

We had an “interesting” debate in the office yesterday. And when I say interesting it was more like “heated”. Soft vs. hard NFS mounts is really something that gets people going, mainly because some people has been annoyed by a process or server hanging when its NFS server has become un-available.

Soft mounting does have its uses, but it is only really safe on a proper read-only mounted NFS drive. If you do want to soft mount on a read-write drive, then, to ensure data consistency, your application must be programmed to handle un-expected situations which almost no programs using NFS drives are.

Hard mounts are always the recommended way to go! Throw in “intr” if you will, which should help allowing you to kill off hung processes, even though the Linux brigade seems to have removed the intr option for some reason.

If you do have a hung NFS mount, your main priority should be to fix the NFS server, or get the people in charge of it to fix it, and as soon as the NFS server is back, your processes will spring back to life and most importantly, you will not have suffered any data loss.

If you really do think soft mounts are the way to go, do you do this on your SAN drives as well? It’s probably not even possible and for good reason.

So, to re-iterate, never ever use soft mounting unless you really know what you are doing and have taken the appropriate precautions. (If you’re reading this post for advice on whether to use soft or hard, then you most certainly need hard!)

Posted in AIX | Tagged , , , , | Leave a comment

Entering BIOS on a Toshiba Satellite C855-2F0 laptop

I recently bought a Toshiba Satellite with the intention of putting Linux (Ubuntu) on it. The first hurdle turned out to get it to boot from a DVD or USB stick. I don’t understand why it has to be so difficult to get into BIOS on modern laptops.

This does not have anything to do with UEFI or secure boot but seems to be an attempt to stop people putting anything but Windows on their laptops. There is a trick to get in, though.

Start your laptop up. Then shut it down again, whilst holding down the left shift key. Once powered off, hold down <F2> and power it back on again. This will bring up a standard BIOS menu.

The laptop still would not boot my USB Ubuntu distro (written with LiLi USB creator) and it took disabling Secure Boot and UEFI booting in BIOS to get it to boot from the DVD. I now have both Windows 8 and Ubuntu installed but it requires switching BIOS from standard to UEFI boot to switch between them. Also, the Realtek RTL8723AE wifi adapter doesn’t work and a bit of Googling suggests that Linux 3.8 is needed for this.

Stay tuned, UEFI dual boot and wifi will be the next little projects.

Posted in Linux | Tagged , , , , | 1 Comment

IRC and ##aix

A kind of a follow-up from a well-known AIX blogger, promoting IRC and the AIX related channel ##aix.

Even though IRC is old, there really isn’t any other equivalent medium to replace it, and with its continued popularity, that is really a testimony to how well it works. Whether you’re just looking for a chat or instant support, IRC is there to help.

If you’re looking for AIX help or like-minded people, ##aix is a great place to go!

Posted in AIX | Leave a comment