Tag Cloud
Currently Reading
Latest Book Reviews
- Rancher Deep Dive Posted on March 31, 2023
- Leveraging Kustomize for Kubernetes Manifests Posted on March 24, 2023
- Automating Workflows with GitHub Actions Posted on October 13, 2022
- Deep-Dive Terraform on Azure Posted on August 30, 2022
- Effective DevOps Posted on January 5, 2022 All Book Reviews
Latest Posts
- Installing Nagios Remote Plugin Executor in Solaris 11 Posted on December 30, 2012
- Creating large files in Solaris for testing purposes Posted on December 24, 2012
- FreeBSD diskless PXE booting Posted on December 23, 2012
- PHP memory_limit stress testing Posted on December 22, 2012
- Finding the number of files inside a subdirectory Posted on December 18, 2012
December 30, 2012
Installing Nagios Remote Plugin Executor in Solaris 11
by Alpha01
Install gcc
pkg install pkg://sfe/runtime/gcc pkg://sfe/sfe/developer/gcc
Install system headers (not really sure if all listed were necessary):
pkg install SUNWhea SUNWbinutils SUNWarc SUNWgcc SUNWgccruntime SUNWlibsigsegv SUNWgm4 SUNWgnu-automake-110 SUNWaconf
Update your PATH
:
PATH=$PATH:/usr/gcc/bin:/usr/sfw/bin:/usr/ccs/bin
export PATH
Manually create nagios
user account, home directory, group, and assigned him a password.
mkdir -p /usr/local/nagios
useradd -d /usr/local/nagios -m nagios
groupadd nagios
usermod -G nagios nagios
passwd nagios
Download, extract, compile and install nrpe.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar -xvf http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
cd /opt/nrpe-2.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make install
make install-daemon-config
cp src/check_nrpe /usr/local/nagios/libexec
Update permissions.
chown -R nagios:nagios /usr/local/nagios/
Add the following entry to /etc/services
nrpe 5666/tcp # NRPE
Add the following entry to /etc/inetd.conf
nrpe stream tcp nowait nagios /usr/sbin/tcpd /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -i
Convert and add the new legacy inetd
entry to SMF.
inetconv
inetconv -e
nagios
solaris
]
December 24, 2012
Creating large files in Solaris for testing purposes
by Alpha01
In the Linux world, I use the dd
utility to create files that need to be a certain size. Even though it works perfectly fine, its kind of annoying figuring out the output file’s size of the file. This is because the size is based on the bs
(block size) value and the total number of block size count
together.
For example, the following dd
command creates a 300 mb file called 300mb-test-file. Each block size will be 1000 bytes, and I want of a total of 300,000 blocks.
Formula: ( (1000 x 300000) / 1000000 )
[tony@bashninja ~]$ dd if=/dev/zero of=300mb-test-file bs=1000 count=300000
300000+0 records in
300000+0 records out
300000000 bytes (300 MB) copied, 2.0363 s, 147 MB/s
Luckily in the Solaris world this can be easily accomplished using the mkfile
tool, without doing any conversion. We can even use this mkfile
tool to easily create test disk files to experiment with ZFS!
root@solaris:~# mkfile 300m testdisk1
root@solaris:~# mkfile 300m testdisk2
root@solaris:~# ln -s /root/testdisk1 /dev/dsk/testdisk1
root@solaris:~# ln -s /root/testdisk2 /dev/dsk/testdisk2
root@solaris:~# zpool create tonytestpool mirror testdisk1 testdisk2
root@solaris:~# zpool status tonytestpool
pool: tonytestpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tonytestpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
testdisk1 ONLINE 0 0 0
testdisk2 ONLINE 0 0 0
errors: No known data errors
solaris
zfs
testing
]
December 23, 2012
FreeBSD diskless PXE booting
by Alpha01
After a couple of trial and error tests and lots of caffeine ingested, I finally managed to install FreeBSD 9.1 over my network completely diskless using ISC’s DHCP, PXE, tftpd-hpa, and NFS.
1). Download iso image and copy over all files. (Where the /srv/tftp/freebsd/amd64
directory is the root directory of the iso files)
wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-disc1.iso
mount -o loop FreeBSD-9.0-RELEASE-amd64-disc1.iso /mnt
mkdir -p /srv/tftp/freebsd/amd64
cp -a /mnt/* /srv/tftp/freebsd/amd64
cp -a /mnt/.cshrc /srv/tftp/freebsd/amd64
cp -a /mnt/.profile /srv/tftp/freebsd/amd64
cp -a /mnt/.rr_moved /srv/tftp/freebsd/amd64
2). Create the following additional directories:
mkdir /srv/tftp/freebsd/amd64/jails
mkdir -p /srv/tftp/freebsd/amd64/conf/base/jails
mkdir /srv/tftp/freebsd/amd64/conf/default
chmod -R 777 /srv/tftp/freebsd/amd64/conf
chmod -R 777 /srv/tftp/freebsd/amd64/jails
3). Edit /srv/tftp/freebsd/amd64/etc/fstab
, comment out the entry in the file:
#/dev/iso9660/FREEBSD_INSTALL / cd9660 ro 0 0
4). Add the following entry to /srv/tftp/freebsd/amd64/etc/rc.conf
:
root_rw_mount="NO"
5). NFS configuration:
/srv/tftp/freebsd/amd64 192.168.1.1/24(ro,sync,no_root_squash,no_subtree_check)
6). dhcpd configuration (of course, IP may differ depending on your environment):
192.168.1.128
will be the IP that wil be assigned to the new FreeBSD system.192.168.1.2
is the IP of the TFTP/NFS server where the installation files are stored in.
The filename path is relative to what path you configured with tftpd-hpa.
host freebsdboot {
hardware ethernet 08:00:27:2b:f9:f8;
fixed-address 192.168.1.128;
filename "freebsd/amd64/boot/pxeboot";
option root-path "192.168.1.2:/srv/tftp/freebsd/amd64";
}
Resources
- http://forums.freebsd.org/showthread.php?t=30069
- http://lists.freebsd.org/pipermail/freebsd-questions/2012-March/238969.html
- http://box.matto.nl/disklessfreebsd.html
freebsd
]
December 22, 2012
PHP memory_limit stress testing
by Alpha01
I wrote this code a couple of years ago that I found it was very useful when I was troubleshooting PHP memory limit settings. The script essentially creates one huge array until it runs out of memory.
<?php
ini_set('display_errors', true);
while (1) {
echo 'Hello' . nl2br("\n");
$array = array(1,2);
while(1) {
$tmp = $array;
$array = array_merge($array, $tmp);
echo memory_get_usage() . nl2br("\n");
flush();
sleep(1);
}
}
?>
php
apache
]
December 18, 2012
Finding the number of files inside a subdirectory
by Alpha01
for i in `ls .`; do echo $i; ls -laR $i| grep -v ^[.dlt] | grep -v ^$ | wc -l; echo "--------------------" ; done
bash
]