Friday, January 08, 2016

Happy New Year....and stuff

Figured since I haven't given any love to my Blog in over a year, I'd stop by and tap it on the ass.

Tuesday, December 02, 2014

Mac OS X Mavericks and Yosemite running out of memory "fix"

Silly Mac OSX.

Clean up memory cache easily this way:

Add the following entry in your root's crontab:
# Clean up memory
30 * * * * /usr/sbin/purge &

Use at your own risk, but I have not had issues with it.

If you don't know how to update your root crontab, well, then you have no business running this. Use some 3rd party graphical app or something to clean up.

FYI: Some people are having issue with Chrome and Flash and other programs not "letting go" of reserved memory, after use. This will help alleviate the issue. Developers are arguing over it's use, claiming memory management is just fine in OS X 10 Mavericks and later. I beg to differ as I have seen memory run out several times myself with using Chrome web browser and it not letting resources go.

You can read more about it, here:

Friday, June 20, 2014

Flush your bash command history

Lose your terminal session? Did your VPN drop? Did you have a bunch of work you were doing in your bash session and because you lost connection, your session closed uncleanly and you wanted to retrieve your command history?

Yeah. Sucks, huh?

Here's a simple fix:

insert the following in your ~/.bashrc :

# vi ~/.bashrc

export PROMPT_COMMAND='history -a'

and resource:

# .~/.bashrc


Now your commands will "flush" to the history file immediately.

You're welcome.


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.