Tuesday, April 01, 2014

OSX Mavericks client AD Binding. Little "gotcha's" to look out for.

Make sure your OSX client is using the same time server (NTP) as the AD server(s) else you will get an error, such as:

"Unable to add server
Node name wasn't found

Also helpful is having the OSX client machine already in the DNS that the AD uses (Forward and reverse).

You're welcome. 

Sunday, February 09, 2014

RDP in Ubuntu 13.04/13.10 (How to install xrdp and connect from Windows/OSX)

On the Ubuntu machine, install xrdp (via a terminal):
  • sudo apt-get install xrdp
Install XFCE:
  • sudo add-apt-repository ppa:xubuntu-dev/xfce-4.10
  • sudo apt-get update
  • sudo apt-get install xfce4
Configure your session to use XFCE:
  • echo xfce4-session >~/.xsession  
Restart xrdp:
  • sudo service xrdp restart
There. Quick and relatively easy fix.

Thursday, December 26, 2013

Ubuntu 13.10 32bit Lib packages....

In case you need 'em (I did):

root@WorkDell-M6600# sudo apt-get install bluez-alsa:i386 esound-common gcc-4.7-base:i386 glib-networking glib-networking:i386 glib-networking-common glib-networking-services gstreamer0.10-plugins-base:i386 gstreamer0.10-plugins-good:i386 gstreamer0.10-x:i386 gtk2-engines:i386 gtk2-engines-murrine:i386 gtk2-engines-oxygen:i386 gtk2-engines-pixbuf:i386 gvfs gvfs:i386 gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-fuse gvfs-libs gvfs-libs:i386 ibus-gtk:i386 libaa1:i386 libacl1:i386 libaio1:i386 libao-common libao4:i386 libasn1-8-heimdal libasn1-8-heimdal:i386 libasound2 libasound2:i386 libasound2-plugins:i386 libasyncns0:i386 libatk1.0-0:i386 libattr1:i386 libaudio2 libaudio2:i386 libaudiofile1:i386 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 libavc1394-0:i386 libbz2-1.0:i386 libc6:i386 libcaca0:i386 libcairo-gobject2:i386 libcairo2:i386 libcanberra-gtk-module:i386 libcanberra-gtk0:i386 libcanberra0:i386 libcap2:i386 libcapi20-3:i386 libcdparanoia0:i386 libcomerr2:i386 libcroco3:i386 libcups2:i386 libcupsfilters1 libcupsfilters1:i386 libcupsimage2:i386 libcurl3 libcurl3:i386 libdatrie1:i386 libdb5.1:i386 libdbus-1-3 libdbus-1-3:i386 libdbus-glib-1-2:i386 libdrm-intel1 libdrm-intel1:i386 libdrm-nouveau2 libdrm-nouveau2:i386 libdrm-radeon1 libdrm-radeon1:i386 libdrm2 libdrm2:i386 libdv4:i386 libegl1-mesa libegl1-mesa-drivers libesd0:i386 libexif12:i386 libexpat1:i386 libffi6:i386 libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgail-common:i386 libgail18:i386 libgcc1:i386 libgconf-2-4:i386 libgcrypt11 libgcrypt11:i386 libgdbm3:i386 libgdk-pixbuf2.0-0:i386 libgettextpo0:i386 libgl1-mesa-dri libgl1-mesa-dri:i386 libgl1-mesa-glx libgl1-mesa-glx:i386 libglapi-mesa libglapi-mesa:i386 libglib2.0-0:i386 libglu1-mesa:i386 libgnome-keyring0:i386 libgnutls26 libgnutls26:i386 libgpg-error0:i386 libgphoto2-6:i386 libgphoto2-l10n libgphoto2-6 libgpm2:i386 libgssapi-krb5-2:i386 libgssapi3-heimdal libgssapi3-heimdal:i386 libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libgtk2.0-0:i386 libgudev-1.0-0 libgudev-1.0-0:i386 libharfbuzz0a libharfbuzz0a:i386 libhcrypto4-heimdal libhcrypto4-heimdal:i386 libheimbase1-heimdal libheimbase1-heimdal:i386 libheimntlm0-heimdal libheimntlm0-heimdal:i386 libhx509-5-heimdal libhx509-5-heimdal:i386 libice6:i386 libicu48 libicu48:i386 libidn11:i386 libiec61883-0:i386 libieee1284-3:i386 libjack-jackd2-0:i386 libjasper1:i386 libjbig0:i386 libjpeg-turbo8:i386 libjpeg8:i386 libjson0:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-26-heimdal libkrb5-26-heimdal:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 libldap-2.4-2 libldap-2.4-2:i386 libllvm3.2:i386 libltdl7:i386 liblzma5:i386 libmad0:i386 libmikmod2:i386 libmng1:i386 libmpg123-0:i386 libmysqlclient18:i386 libncurses5:i386 libncursesw5:i386 libnspr4:i386 libnss3:i386 libodbc1:i386 libogg0:i386 libopenal-data libopenal1:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpango1.0-0:i386 libpciaccess0:i386 libpcre3:i386 libpixman-1-0:i386 libpng12-0:i386 libproxy1:i386 libpulse-mainloop-glib0:i386 libpulse0:i386 libpulsedsp:i386 libqt4-dbus libqt4-dbus:i386 libqt4-declarative libqt4-declarative:i386 libqt4-designer libqt4-designer:i386 libqt4-help libqt4-network libqt4-network:i386 libqt4-opengl libqt4-opengl:i386 libqt4-qt3support:i386 libqt4-script libqt4-script:i386 libqt4-scripttools libqt4-scripttools:i386 libqt4-sql libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-sql-sqlite libqt4-svg libqt4-svg:i386 libqt4-test libqt4-test:i386 libqt4-xml libqt4-xml:i386 libqt4-xmlpatterns libqt4-xmlpatterns:i386 libqtcore4 libqtcore4:i386 libqtgui4 libqtgui4:i386 libqtwebkit4:i386 libraw1394-11:i386 libroken18-heimdal libroken18-heimdal:i386 librsvg2-2:i386 librsvg2-common:i386 librtmp0:i386 libsamplerate0:i386 libsane:i386 libsasl2-2 libsasl2-2:i386 libsasl2-modules libsasl2-modules:i386 libsdl-image1.2:i386 libsdl-mixer1.2:i386 libsdl-net1.2:i386 libsdl-ttf2.0-0:i386 libsdl1.2debian:i386 libsecret-1-0:i386 libselinux1:i386 libshout3:i386 libslang2:i386 libsm6:i386 libsndfile1:i386 libsoup-gnome2.4-1:i386 libsoup2.4-1:i386 libspeex1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl0.9.8:i386 libssl1.0.0 libssl1.0.0:i386 libstdc++5:i386 libstdc++6:i386 libtag1-vanilla:i386 libtag1c2a:i386 libtasn1-3:i386 libtdb1:i386 libthai0:i386 libtheora0:i386 libtiff5 libtiff5:i386 libtinfo5:i386 libtxc-dxtn-s2tc0:i386 libudev1 libudev1:i386 libunistring0:i386 libusb-0.1-4:i386 libusb-1.0-0:i386 libuuid1:i386 libv4l-0:i386 libv4lconvert0:i386 libvisual-0.4-0:i386 libvisual-0.4-plugins:i386 libvorbis0a:i386 libvorbisenc2:i386 libvorbisfile3:i386 libwavpack1:i386 libwebp4:i386 libwhoopsie0 libwind0-heimdal libwind0-heimdal:i386 libwrap0:i386 libx11-6 libx11-6:i386 libx11-xcb1 libx11-xcb1:i386 libxau6:i386 libxaw7:i386 libxcb-dri2-0 libxcb-dri2-0:i386 libxcb-glx0 libxcb-glx0:i386 libxcb-render0 libxcb-render0:i386 libxcb-shm0 libxcb-shm0:i386 libxcb1 libxcb1:i386 libxcomposite1:i386 libxcursor1 libxcursor1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6 libxext6:i386 libxfixes3 libxfixes3:i386 libxft2:i386 libxi6 libxi6:i386 libxinerama1 libxinerama1:i386 libxml2 libxml2:i386 libxmu6:i386 libxp6 libxp6:i386 libxpm4:i386 libxrandr2 libxrandr2:i386 libxrender1 libxrender1:i386 libxslt1.1:i386 libxss1:i386 libxt6 libxt6:i386 libxtst6 libxtst6:i386 libxv1 libxv1:i386 libxxf86vm1 libxxf86vm1:i386 mysql-common odbcinst odbcinst1debian2 odbcinst1debian2:i386 qdbus whoopsie xaw3dg:i386 zlib1g:i386

Monday, September 30, 2013

Recover a file with LSOF....

Just a quick and dirty of how to recover a file in LSOF.

lsof (List Open Files) is a *nix tool that will show open files and network connections. Of course, it's also available for OS X.
You can recover deleted files with it.
If you have ever deleted a file by mistake you can recover the deleted file. 
For example, to recover a missing messages log used by Syslog you can search for it via this command:
bash:~  lsof | grep messages
You should see something similar to:
syslogd   15328      root    2w      REG              253,2   1419873               983175 /var/log/messages.5 (deleted)
You want to find what is marked as deleted in parenthesis.  The process (15328) still has the file open. Without this process keeping the file open we would have lost the file permanently. This is important. Once the process stops, you won't be able to trace the file this way, so avoid rebooting or stopping the process entirely, until after you've recovered the lost file.

We can view the missing info by looking inside the proc filesystem, the process id (15328), and in the file descriptor (fd). The fd is found in the 4th entry, above (2w in this example):
bash:~  cat /proc/15328/fd/2
This outputs the contents the deleted messages.5 file. As you can see, the data is still there. Now, just redirect the contents back to /var/log/messages.5:
bash:~  cat /proc/15328/fd/2 > /var/log/messages.5
That's all there is to it. You have recovered the file with all the data back to its original location. You should also restart the process, writing to the file(s) recovered.
This is just one of many examples of how lsof can be very useful. Be sure to check out the Man pages and other docs.

Thursday, January 17, 2013

Ah, the good ole days....

I happened across a site today, featuring my old Aliens desktop theme that I created for the Enlightenment Window Manager, back in DR 13 days:


Ah, the memories. lol.

Thursday, July 19, 2012

Virtualbox r18 blah...

I've been running Oracle's VirtualBox, instead of VMware, for some time now. I liked the "free" aspect of it, along with it's availability to almost everything I run as a host OS (Solaris, Linux and yes, even Windows, on occasion).

The latest upgrade (on the windows side) is a piece of work (POS, in other words) as upgrading, was a bear.

If it fails to upgrade and you get the odd (MSI not found error) when upgrading from r16 to r18, here's a fix that may work for you (did for me):

(Stolen from https://forums.virtualbox.org/viewtopic.php?f=6&t=45536&sid=a10eb1d37e85adc7b814470463b4b314&start=15)

After trying everything and having made sure that all certificates were in order and that all drivers could be installed perfectly fine, I finally found a solution for this problem that worked for me. It had nothing to do with the driver certificates, and all to do with the driver verification done by the installer.

To install VirtualBox with that error, do the following:

  1. Download the Orca MSI editor. http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&sqi=2&ved=0CFUQFjAA&url=http%3A%2F%2Fwww.technipages.com%2Fdownload-orca-msi-editor.html&ei=zxcIUIuiFePs2QWWm5DeBA&usg=AFQjCNGXxLvTAxxEIQiKhNrV3gWCn_paVg
  2. Start "cmd.exe" via the Start->Run and navigate to the directory you put your setup.exe.
  3. Execute "VirtualBox-4.1.16-78094-Win.exe -x"; adjust this to whatever version of Virtualbox you wish to install.
  4. The installer will tell you where it has extracted the files to. Go there and move them somewhere more accessible.
  5. Start Orca
  6. Open the MSI file for your platform that you've just extracted & copied. In my case this is "VirtualBox-4.1.16-r78094-MultiArch_amd64.msi"
  7. Enter the table "InstallExecuteSequence"
  8. Drop the row "MsiProcessDrivers"
  9. Save the MSI file.
  10. Verify that the MSI file's modified-date has changed (for some reason Orca sometimes does not save the file)
  11. Run the changed MSI.

After that, the install should work perfectly fine and ask you whether you really do want to install the drivers, even though they're not WHQL certified. Say yes to them all and enjoy using VirtualBox.

Orca MSI Editor: 

Oracle VirtualBox:

Sunday, June 10, 2012

Disable SeLinux

This always seems to bit me in the ass, so here's some simple instructions on disabling SeLinux.

(ganked from:
http://www.thegeekstuff.com/2009/06/how-to-disable-selinux-redhat-fedora-debian-unix/#more-518 )

Method 1: Disable SELinux Temporarily

To disable SELinux temporarily you have to modify the /selinux/enforce file as shown below. Please note that this setting will be gone after the reboot of the system.
# cat /selinux/enforce

# echo 0 > /selinux/enforce

# cat /selinux/enforce
You can also use setenforce command as shown below to disable SELinux. Possible parameters to setenforce commands are: Enforcing , Permissive, 1 (enable) or 0 (disable).
# setenforce 0

Method 2: Disable SELinux Permanently

To disable the SELinux permanently, modify the /etc/selinux/config and set the SELINUX=disabled as shown below. One you make any changes to the /etc/selinux/config, reboot the server for the changes to be considered.
# cat /etc/selinux/config
Following are the possible values for the SELINUX variable in the /etc/selinux/config file
  • enforcing – The Security Policy is always Encoforced
  • permissive - This just simulates the enforcing policy by only printing warning messages and not really enforcing the SELinux. This is good to first see how SELinux works and later figure out what policies should be enforced.
  • disabled - Completely disable SELinux
Following are the possible values for SELINUXTYPE variable in the /etc/selinux/config file. This indicates the type of policies that can be used for the SELinux.
  • targeted - This policy will protected only specific targeted network daemons.
  • strict - This is for maximum SELinux protection.

Method 3: Disable SELinux from the Grub Boot Loader

If you can’t locate /etc/selinux/config file on your system, you can pass disable SELinux by passing it as parameter to the Grub Boot Loader as shown below.

# cat /boot/grub/grub.conf
title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-92.el5PAE.img
title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-92.el5.img

Method 4: Disable Only a Specific Service in SELinux – HTTP/Apache

If you are not interested in disability the whole SELinux, you can also disable SELinux only for a specific service. For example, do disable SELinux for HTTP/Apache service, modify thehttpd_disable_trans variable in the /etc/selinux/targeted/booleans file.
Set the httpd_disable_trans variable to 1 as shown below.
# grep httpd /etc/selinux/targeted/booleans
Set SELinux boolean value using setsebool command as shown below. Make sure to restart the HTTP service after this change.
# setsebool httpd_disable_trans 1
# service httpd restart

So you want a fresh Ubu install and don't want to hunt-down all you currently packages....

..and reinstall them all one-by-one or write a silly script to handle them all. Well, here's a simple solution: 

Save currently installed packages:
 # dpkg --get-selections > packages.installed 

Save this off and then copy to new machine or back to re-installed, then do:

 # dpkg --set-selections < packages.installed
(* Note: You may want to prune the list of software that you don't want to install or is incompatible if newer version of OS, before doing import above.)

 Then do: # dselect

Also, don't forget to save and copy over your /etc/apt/sources.list of course.

 That's it! Simple, eh?