Saturday, August 11, 2012

Connecting to a WIndows 7 FIleShare From MAC 10.8

So I started using a MacBook Air recently running Mountain Lion.  I attempted to connect to my Windows 7 file shares but could not.  I assumed that the issue was with my Mac as my other Windows Systems had no issues, nor did my linux systems.  Through investigations it was revealed that by altering the way windows handles memory used by file sharing on the Windows 7 system, the issue is resolved.  On the Windows 7 system, I had to set HKLM\System\CCS\LanmanServer\Parameters\Size from 1 to 3.  The settings for this control how the host handles memory devoted to file shares.  There are three possible values:
  1: Minimize the Memory Used
  2: Balance
  3: Maximize throughput for file sharing.

On my windows 7 host it was set to 1, when I tried to connect to if from the Mac Finder all I get is a message connection failed.  Using the command line smbutil view //  I get a insufficient memory error.  When I changed the above setting and restarted the Windows 7 host, all my problems went away....  

Saturday, February 18, 2012

Cleanup WinSXS in Windows 7

The winsxs folder under c:\windows is used to store install and uninstall files, windows packages, and out-of-band releases. This folder should NEVER be deleted. However it can grow to an unmanageable size. Running the command:

dism /online /cleanup-image /spsuperseded

from an elevated command prompt will remove unecessary files.

Thursday, February 16, 2012

Office 2010 Group Policy Definitions

To deploy office 2010 group policy definitions, do the following:
  1. Download the templates from http://www.microsoft.com/download/en/details.aspx?id=18968
  2. Launch the downloaded executiables and choose a location to extract the files.
  3. In C:\WINDOWS\SYSVOL\domain\Policies create a folder called PolicyDefinitions.
  4. Copy all the admx files from the extracted file locations to C:\WINDOWS\SYSVOL\domain\Policies\PolicyDefinitions.
  5. Copy the language folder under the admx extracted location to C:\WINDOWS\SYSVOL\domain\Policies\PolicyDefinitions
The Office GPO options are now available via GPO.

Deactivating WIndows 7 OEM

To deactivate windows 7 OEM:
  1. Remove all files under c:\windows\system32\oem
  2. From an elevated command prompt, execute slmgr.vbs /upk
  3. Restart the pc

Saturday, November 5, 2011

Installing NVIDIA Drivers On Debian squeeze

OK... So I'm setting up my new rig. I'm running Debian Squeeze and I purchased a ASUS ENGT430 This video card uses an NVIDIA 430 chip. So the install goes well, but I'm left with a 800x600 display. Yuck. To fix here's what I did:

1. From NVIDIA's web site download the NVIDIA drivers for the Gforce 430 for Linux x64
2. Boot the OS into recovery mode
3. Log on as root
4. Go to the download location and change the downloaded run file permission to allow execute.
5. Run the install.
6. I received a message that the driver was compiled with GCC 4.3. I have GCC 4.4. I ignored the message and proceeded.
7. Installation completed successfully.
8. Rebooted

All is well....

Thursday, October 27, 2011

Installing Citrix Receiver 12 under Debian Squeeze x64

Finally! Citrix makes a deb package for x64 OS's... But of course it doesn't work out of the chute. Here's what I had to go through to get it to work...

1. Download the package from here..
2. Run sudo dpkg -i icaclient_12.0.0_amd64.deb
3. Make a temp directory and run:
wget http://ftp.ubuntu.com/ubuntu/pool/multiverse/o/openmotif/libmotif3_2.2.3-2_i386.deb
4. Run sudo apt-get -f install. THis will fix errors.
5. Do NOT install this package, just extract the contents by running:
sudo dpkg -x libmotif3_2.2.3-2_i386.deb .
6. Copy the contents of ./usr/lib to /usr/lib32 by running:
sudo cp -r ./usr/lib/* /usr/lib32
7. Create a symbolic link between libXm.so.3 and libXm.so.4 by running:
sudo ln -s /usr/lib32/libXm.so.4 /usr/lib32/libXm.so.4

That should do it. Note that citrix get installed to /opt/Citrix... Also remember that if a certificate is required for the site to copy the X.509 cert into the keystore at /opt/Citrix/ICAClient/keystore/cacerts

Tuesday, March 8, 2011

Using Ubuntu 10.10 to Setup Inexpensive Network Storage

The cost of network storage can be reduced if many of the feature options offered by existing storage vendors are not required. For example if volume snapshots are not necessary. In this article, I will demonstrate how to setup a PC to act as an iscsi target to allow access to the systems storage from any designated system.



The first thing to consider when setting up a low cost storage solution is how much drive redundancy is required. Even if the end user tells you "It's no big deal if the data stored at this location gets lost," think twice about that. Ask yourself, is my company willing to risk data loss for an important file inadvertently saved in this location. Redundant Array of Inexpensive Disks (or RAID) has been a solution to single disk failures for many years. If drive redundancy is desired, do NOT implement a software based RAID solution. Many inexpensive motherboards exist on the market with RAID capabilities on-board. Additionally add-in hardware RAID controllers on todays market also very affordable. Both of these items make the decision to use a software RAID solution (when looking as robustness and performance) unsound.



All of this being said, let us assume that a system is available that has a Pentium Processor, 2GB of RAM, and a Array of hard disks. Onto this system install Ubuntu 10.10 server software. This can be obtained from their website. Once installed and patched follow the steps below


  1. Install the iscsi target software using the command

    sudo apt-get install iscsitarget

  2. Configure the storage location on the Target. The location can be a disk drive or a file:

    1. To configure the storage inside of a file, as root create the file at the desired location using the command:

      dd if=/dev/zero of=<fileloaction>/<filename> bs=1024k count=<number of 1M blocks>

    2. To configure storage as a drive, make certain that the drive is not mounted. Partition as necessary.


  3. Enable iscsitarget by editing /etc/default/iscsitarget and set the line

    ISCSITARGET_ENABLE=True

  4. Edit the ietd.conf in /etc/iet, enter the following lines

    Target iqn.<yyyy-mm>.<reversedomainname>:<global unique id>

    IncomingUser <username><secret>

    OutgoingUser <username><secret>

    Lun <#> Path=<path to drive or file>,Type=<Fileio or Blockio>

    :

  5. Edit the initiators.allow in /etc/iet, enter the following:

    Target iqn.<yyyy-mm>.<reversedomainname>:<global unique id> <IP of Initiator>

  6. Start the iscsitarget daemon by executing /etc/init.d/iscsitarget start




Review the startup messages by issuing dmesg to verify proper startup. Now configure the iscsi initiator from the client and all is good to go..


The meat of the configuration is in step 4 above. Lets look at this in more detail.


The first line identifies the target. This target name must be globally unique in the network. Typically the unique id could be configured with hostname.<some qualifier>. For example, assume a network called home.com exists. On this network an ISCSI Target host name exists called ISCT1. If this target was configured in March of 2010, we could set line 1 to:


Target iqn.2010-03.com.home:ISCT1.myid1


where myid1 is some random definition that is unique to the network.


Line 2 allows for specification of logon credentials to the device. Note that the intiators,allow setting s will limit access to the target from a specific initiator IP. If further access is restricted based on username, enter it here. If not required, enter no information after IncomingUser.


Line 3 allows for authentication of the Target to the initiator, if requried. If not enter no information after OutgoingUser.


Line 4 and on is the definition for each storage device in this target. Multiple LUNs can be defined. For example: if a entire partion (eg. /dev/sdh1) is to be presented to the initiator as well as 2 individual files (eg. /storage/lun5.img and /storage/lun6.img) The entries might appear as:


Lun 0 Path=/dev/sdh1.Type=Fileio


Lun 1 Path=/storage/lun5.img,Type=Fileio


Lun 2 Path=/storage/lun6.img,Type=Fileio


I've identified only some of the items the can be defined in the ietd.conf file. For complete information, refer to the ietd.conf man page


Finally, in step 5 above the initiators.allow file mapps the target name to the initiator IP. Thus only the IP of the specified initiator can access the Target.