Please read this updated article instead. This page remains available for archiving purposes.
I recently installed a new Microsoft WSUS server. Most of it went just fine. Except for a few updates that weren't needed according to windowsupdate.com, but were required according to WSUS.
Especially KB974417 was pretty annoying. I tried installing it a dozen times, but after each reboot, WAU came back telling the update was ready to install. I checked out the eventvwr, and got the following useless message: Event Type: Error Event Source: HotFixInstaller Event Category: None Event ID: 5000 Date: 3/16/2010 Time: 3:06:25 PM User: N/A Computer: PC1 Description: EventType visualstudio8setup, P1 microsoft .net framework 2.0-kb974417, P2 1033, P3 1642, P4 msi, P5 f, P6 9.0.40302.0, P7 install, P8 x86, P9 w2k3r2, P10 0.
Installing it manually
I downloaded the file from the Microsoft website, to find that the update itself thought itwasn't needed as well: None of the products that are addressed by this software update are installed on this computer. Click Cancel to exit setup.
A lot of websites use the right mouse button for some menu function. For instance, in Google maps, the right click is used to set destination points. Google apps uses the right click to add/remove rows/columns from the spreadsheet.
When I right-clicked, my Firefox displayed it's own menu right over the Google menu. Why?
Well, back in ±2002, when I started to use Firefox, then still named "Phoenix", a lot of sites tried to block "view source" by blocking the right mouse button. I must have configured Firefox to forbid blocking, and this config hasn't changed ever since.
Simple method
On my current version of Firefox, re-enabling sites to block right-click is configured in: Edit » Preferences » Content tab » Advanced (right to "Enable JavaScript") » Check: Disable or replace context menus
Advanced method
Another method to switch blocking of context menu's is through about:config. This is mostly for experts and extension programmers. dom.event.contextmenu.enabled=true = allow blocking the firefox context menu (default) dom.event.contextmenu.enabled=false = disallow blocking the firefox context menu
My personal Linux laptop is a real spider in the web. It's got OpenVPN connections to the office, to the datacenter, to serveral family members, etcetera. I love it. But sometimes, there are some tasks that Linux simply can't do, like running a vSphere client.
For those situations, I use the second (Windows) computer on my desk to perform those tasks. However, this computer does not have a VPN connection right to the place I'm connecting to.
The last year or so, Adobe Reader has had a whole lot of leaks. Trend Micro published a blog yesterday about the fact that Adobe released an out-of-band update to plug yet another security hole.
If you want to use Adobe Reader, update. But I have a better suggestion: ditch Adobe Reader all together, and install FoxIT Reader instead.
For business use, FoxIT is a great piece of software. Clean, faster, more secure, and just as easy to use. And unlike Adobe, FoxIT offers a ready-to-use MSI file for Active Directory deployment.
The e-commerce application magento, for some reason, expects to have a lot of permissions on every server. One thing I stumbled upon when trying to install magento, was the creation of /tmp/magento/var.
Since /tmp could be shared between all users, this may not be the safest way. That's why my servers don't allow access to /tmp, but have a personal /tmp-style directory instead.
I got the error: [Thu Feb 04 21:24:21 2010] [error] [client 1.2.3.4] PHP Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/tmp/magento/var) is not within the allowed path(s): (/blah/blah/website.com:/usr/share/pear:/var/www/error) in /blah/blah/website.com/app/code/core/Mage/Core/Model/Config/Options.php on line 214
The fix is very, very easy. But since I couldn't find anyone else posting the exact fix, I thought I'd do it.
in app/code/core/Mage/Core/Model/Config/Options.php on line 137, you find: public function getSysTmpDir() { return sys_get_temp_dir(); }
Change it to: public function getSysTmpDir() { return $_SERVER['DOCUMENT_ROOT'].'/your_secret_tmp_dir/'; }
In this article I'm covering the use of old-style dhcp and tftp, which is useful for company networks that have/need a complete dhcp server running. Personally, for smaller setups, I now prefer dnsmasq to do the job.
Booting from PXE
With most modern onboard and PCI network interface cards (NICs), it's possible to boot from the network. This system is called PXE.
Why would I want to boot from the network?
For installation of a computer without using CDs/DVD's
For thin clients
For booting diagnostic software
What is needed for PXE Boot?
a network card that supports PXE
a bios that supports plugin boot cards
a DHCP server
a TFTP server
some (open source) software you want to run
How to set up PXE boot?
As I'm running (a variant of) RedHat Linux, I only cover how to set up PXE boot using Linux components. But there are Windows solutions as well. (Google it!)
Step 1: set up DHCP
When the NIC boots, it needs to get IP settings. Setup dhcp as usual. Now add these lines to the configuration: next-server 192.168.1.254; filename "/pxelinux.0"; In the place of 192.168.1.254, you need to enter your own tftp server address.
On my RH system, I installed the dhcp server using yum install dhcp, then configured /etc/dhcpd.conf as follows: ddns-update-style ad-hoc; authoritative; log-facility local0; default-lease-time 86400; max-lease-time 86400; subnet 192.168.1.0 netmask 255.255.255.0{ range 192.168.1.100 192.168.1.200; #limited range option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.254; option domain-name "lan"; next-server 192.168.1.254; filename "/pxelinux.0"; }
Step 2: set up TFTP
Download and install a tftp server. Most Linuxes ship their own, which you can install using yum (RedHat), yast (SuSE), apt-get (debian/ubuntu) or similar.
On my RedHat, I install a tftp server by running yum install tftp-server. Then I enable it using /sbin/chkconfig tftp on and reload xinetd: /sbin/service xinetd restart.
Step 3: download and install syslinux
On my RedHat system, I install syslinux by running yum install syslinux. I then copy the syslinux.0 file to /tftpboot: cp /usr/lib/syslinux/pxelinux.0 /tftpboot
Optional: Firewall
On a default RedHat installation, the firewall is enabled. You may need to open port 67-69 for dhcpd and tftp to function and port 53 for DNS.