Translate

Archives

Exploring NetApp Simulate ONTAP

This post demonstrates how to obtain root access to the internals of the NetApp Simulate ONTAP virtual machine and discusses certain features of the product. Simulate ONTAP is a fairly complete simulator of the Data ONTAP operating system used in NetApp filers and vservers. It is based on FreeBSD.

OpenVZ

OpenVZ is OS containerization like Solaris Zones or FreeBSD Jails. It is virtualization at the OS level whereby all containers share the same architecture and kernel version. It uses a single patched kernel called the Linux Containers (LXC) kernel. Its one real advantage is that containers can be faster and more efficient compared with true virtualization because it does not have the overhead of a true hypervisor such as VMware or KVM. Older versions of OpenVZ uses a common file system so each virtual environment is just a directory of files that is isolated using chroot as also occurs in

GNU Coreutils Epoch Date Support

GNU coreutils 5.3.0 added the very useful @ operator to the date command to enable users to easily convert seconds since the Unix Epoch into date strings. $ date Mon Mar 17 21:31:15 EDT 2014 $ date +%s 1395106277 $ date -d’@1395106277′ Mon Mar 17 21:31:17 EDT 2014 $ date –date=’@1395106277′ Mon Mar 17 21:31:17 EDT 2014 $

EFI Stub "/etc/os-release missing"

When I updated my Fedora 20 installation today I ran into trouble booting my system using the EFI Stub mechanism even though it booted fine using GRUB. I ended up in the Emergency Shell. Looking at the logs using journalctl, here are the relevant entries (with times and irrelevant entries removed): [ ]: Reached target Switch Root. [ ]: Started Plymouth switch root service. [ ]: Starting Switch Root… [ ]: Not switching root: /sysroot does not seem to be an OS tree. /etc/os-release is missing. …. [ ]: Failed to start Switch Root. [ ]: Startup finished in 211ms

Differences in Variable Scope in Shell Functions

Ksh93 and bash have subtly different scopes for variables defined in shell functions as the following example shows: # POSIX function syntax testme2() { printf “Function testme2 invokedn” var21=testme21 typeset var22=testme22 } function testme1 { printf “Function testme1 invokedn” var11=testme11 typeset var12=testme12 } testme1 echo “VAR11=$var11” echo “VAR12=$var12” Here is the output when run under ksh93: Function testme1 invoked VAR11=testme11 VAR12= Function testme2 invoked VAR21=testme21 VAR22=testme22 and here is the output when run under bash: Function testme1 invoked VAR11=testme11 VAR12= Function testme2 invoked VAR21=testme21 VAR22= Note the different output for var22! Ksh93 has lexical scoping. A variable is normally global