Tech Notes, Tips & Reviews

NIS/NFS Networking with Mandriva 2010

Mar 092010

undefinedI recently setup a network using NIS & NFS with Mandriva Linux (Running KDE) as the server and workstation OS. I chose to have Linux installed on each workstation (rather than using LTSP), as the machines are reasonable in specifications.

When completed the workstations now show the list of users on the login screen. Users can login to any of the workstations and get their desktop complete with all their settings (background, themes, email setup, etc). This makes for a very flexible setup where if one workstation fails the user can simply logon somewhere else until the workstation is fixed. It also means that all user data and configuration is stored centrally on the server.

Server Setup

These instructions refer specifically to Mandriva 2010 (or Mandriva 2009) but the setup would be very similar for other Linux flavours. You should open a console as root or su to root to issue these commands. I use ‘vi’ to edit the configuration files but you could also use ‘nano’ or ”kwrite’ if you like.

Install the packages: ‘ypserv’ and ‘rpcbind’ (or ‘portmap’ for Mandriva 2009).

urpmi ypserv rpcbind

Make sure that the services are set to start on bootup :-

chkconfig –level 345 ypserv on
chkconfig –level 345 rpcbind on (or portmap for Mandriva 2009)

Set the domain name (not the internet domain name, just the NIS domain name used internally). I just used “server” for simplicity :-

Add “NISDOMAIN=server” to the end of the “/etc/sysconfig/network” file.
Issue the command “domainname server”

(Note that I do both of the above as I noticed that just using the domainname command worked but seemed to be forgotten later. To check that your domainname is still set just issue the “domainname” command with no parameters).

Make the user home directory mount point. I use /export/home rather than /home to save confusion later on :-

mkdir -p /export
mkdir /export/home

If you have existing accounts in /home on the server that you wish to move to /export/home :-

mv /home/fred /export/home (Move Fred’s account)

For all moved users edit the /etc/passwd to set the new path. Note that I set all “exported” user ids to 600 or over so that we can selectively export only the users over 600 and excude the local users from 500 to 599 :-

ie. fred:x:600:600:Fred Flintstone:/export/home/fred:/bin/bash

Create (or add to) the /etc/exports file. The following example assumes you are using the 192.168.1.x network. The first line exports the home directories of all users, the following optional lines show how to export a few other shared directories if needed :-

/export 192.168.1.0/24(rw,no_root_squash,no_subtree_check,sync)
/data/public *(no_all_squash,sync,secure,rw)
/data/office *(no_all_squash,sync,secure,rw)
/data/admin *(no_all_squash,sync,secure,rw)

Make the NIS maps. This also needs to be run after adding, changing or removing users. Note that I set MINUID and MINGID to 600 in the /var/yp/MakeFile so that users 500 to 599 are not shown :-

cd /var/yp
make

That’s the server configuration complete. You can now add new users if required, when adding them set their home directory to /export/home/{username} (you may need to mkdir the directory before adding the user) and their userid/groupid to 600+. You can now either start the required services (ypserv, rpcbind, portmap) or just restart the server and you’re ready to go.

Client Setup

Install the packages ‘ypbind’, ‘autofs’ and ‘rpcbind’ (or ‘portmap’ for Mandriva 2009).

urpmi ypbind autofs rpcbind

Make sure that the services are set to start on bootup :-

chkconfig –level 345 ypbind on
chkconfig –level 345 autofs on
chkconfig –level 345 rpcbind on (or portmap for Mandriva 2009)

Set the domain name (not the internet domain name, just the NIS domain name used internally). I just used “server” for simplicity :-

Add “NISDOMAIN=server” to the end of the “/etc/sysconfig/network” file.
Issue the command “domainname server”

Add nis to the following entries in /etc/nsswitch.conf as follows

passwd: nis files
shadow: nis files
group: nis files
automount: files nis

Add to end of /etc/yp.conf

ypserver 192.168.1.2 (Use your servers IP address here)

Add to end of /etc/autofs/auto.master

/export auto.export –timeout 30

Create auto.export with

home -fstype=nfs,rsize=8192,wsize=8192,nosuid,nolock 192.168.0.2:/export/home
mkdir -p /export

Switch off auto-login (if enabled) in Control Centre.

Mandriva 2010.0 and Cedega CD/DVD Detection

Nov 292009

undefinedHaving recently upgraded to Mandriva 2010.0, I also wanted to give Cedega a go, so I loaded up the latest Cedega and found that certain CDs and DVDs were not recognised. They would load OK but would not run, failing the “copy-protection” test in Cedega Diagnostics. The game in this case was Oblivion which installed fine but would not run.

I found that I had to manually add an entry to the end of /etc/fstab file, to specifically set the CD/DVD options:

# Entry added to allow Cedega copy-protection test to work.
/dev/sr0 /mnt/cdrom iso9660 user,unhide,noauto,ro 0 0

You will need to replace “/dev/sr0″ with the actual location of your CD/DVD drive. You can check where the /dev/cdrom and /dev/dvd links point to get this information. I’d imagine that in most cases “sr0″ will be correct.

Strangely enough the same set up on a notebook worked perfectly without any changes to the fstab file. So it’s obviously only certain hardware configurations that need this change.

 

TRS-80 Emulator for Linux

Jan 272009

undefinedI got a little nostalgic when my son started writing a game in Fenix that looked a lot like Robot Attack (Even though he's never seen it). So I thought I'd show him the original, but rather than try and setup the old System 80 (TRS-80 clone from DSE) I decided to use an emulator.

I've used Tim Manns excellent TRS-80 emulator xtrs before which I remember worked well. Unfortunately when trying this now it seems that Linux has evolved a fair bit and as a result I noticed a few issues when running xtrs.

  • xtrs would not work on my new distro without removing the -DHAVE_SIGIO from the makefile. (See Tims page for details on this).
  • Sound on xtrs would not work unless I stopped or removed the pulseaudio process.
  • To allow -autodelay to work on xtrs I had to remove the optimizations from the compiler (-O0).
  • Keyboard input tends to be flakey on newer distros also.

After a little research I came across sdltrs which is based on xtrs. The benefit of using the sdl version is that it works around the problems associated with new linux distros. Many thanks to Mark Grebe for his work on this.

So here's a summary of what I did to get sdltrs running:

  • Download the tarball from the Browse SVN under the Code menu
  • Extract the tarball tar zxvf src.tar.gz
  • cd src, cd linux, make
  • this will create a sdltrs binary file, you just need to execute this, enter ./sdltrs
  • I created a new directory with sdltrs, the level2.rom file and various disk files.
  • Once sdltrs has booted the level2.rom press F7 for configuration options.
  • Put a disk operating system into the Disk 1 slot (ie NEWDOS 80)
  • Press F10 to reset the system and it should boot the disk.
  • For those a little rusty like me try DIR :0 to show contents of disk 1 and DIR :1 for disk 2.

Works Great :)

Wireless LED on Notebooks

Dec 302007

undefinedHaving just installed Mandriva Powerpack 2008 (and it is very good by the way, you can buy it at http://www.divtech.com.au), I found that all the hardware of my notebook was automatically identified and worked perfectly. With the exception of the wireless LED. I have the Intel Centrino using the ipw2200 driver, the wireless works perfectly but the LED according to the documentation is an experimental option.

In order to activate it I only had to add the line “options ipw2200 led=1″ to the /etc/modprobe.conf file. I used “vi” in order to do this (you need to have root privileges). Alternatively if you want a graphical way to do it go into “Configure your Computer”, its on the quick launch bar in Mandriva 2008, select “Hardware”, the “Browse and Configure Hardware”, the hardware list will then be compiled and displayed.

In the list you should find a category called “Ethernet Card” and as a sub-category to that you will see your wireless card listed (something like “PRO/Wireless 2915ABG” or similar). Select the card and in the right hand windows click on “Set current driver options”. The windows that comes up will show all the parameters to the ipw2200 driver, scroll down to find the “led” parameter and enter “1″ into the textbox. Click “OK” to save. You can then exit the control centre. You will probably need to reboot to activate the LED function. Even though the LED option is experimental it seems to work fine for me.

I would appreciate your feedback if you have comments, corrections or additions to this article, Thanks.

Setting up Notebook Hotkeys

Jul 272007

undefinedI recently set up the hotkeys on my notebook in Mandriva 2007 running KDE. It is fairly simple to do and consists of one script file and then appropriate entries in “Keyboard Shortcuts”.

I created the following file called “command-shortcuts” and placed it in the “bin” directory in my home directory. Make sure to make it executable using “chmod +x command-shortcuts”.

#!/bin/sh
xmodmap -e “keycode 176 = F20″ # Volume up
xmodmap -e “keycode 174 = F21″ # Volume down
xmodmap -e “keycode 160 = F22″ # Mute volume
xmodmap -e “keycode 178 = F23″ # Mail hotkey
xmodmap -e “keycode 236 = F24″ # Web hotkey
xmodmap -e “keycode 162 = F25″ # Play / Pause
xmodmap -e “keycode 164 = F26″ # Stop
xmodmap -e “keycode 144 = F27″ # Previous Track
xmodmap -e “keycode 153 = F28″ # Next Track
xmodmap -e “keycode 115 = F29″ # Win
xmodmap -e “keycode 117 = F30″ # Menu
xmodmap -e “keycode 223 = F31″ # Sleep

The keycodes should work for many notebooks. To check they are right for your notebook you can run the ‘xev’ command in a console. The keycode will be displayed for each key you press.

So that the keycodes get loaded at each login, add “/home/{username}/bin/command-shortcuts” to the end of your “.bashrc” file. Replace {username} with your login name.

Now launch “Keyboard Shortcuts” from the “System”, “Conifguration”, “KDE”, “Regional & Accessibility” Menu. Here using the “Command Shortcuts” tab you can assign the “Mail” and “Web” Keys. Using the “Shortcut Schemes” you can assign the the “Win”, “Menu” & “Sleep” Keys. I set the “Win” key to switch to the next desktop, the “Menu” key brings up the KDE Menu and the “Sleep” key issue the logout command.

Finally you can set up the Volume Down, Up and Mute by right-clicking on the Mixer and selecting “Show Mixer Windows”. Then from the “Settings” menu select “Global Shortcuts” and assign the appropriate keys. You can do the same in Amarok for the “Play/Pause”, “Stop”, “Previous Track”, “Next Track”.

Thanks go to Ubuntu user zba78 who posted info on hotkeys at http://ubuntuforums.org/showthread.php?p=1260079.

I would appreciate your feedback if you have comments, corrections or additions to this article, Thanks.

Using nVidia Twinview and mplayer

Jun 102007

undefinedI recently set up a second monitor and then managed to use it to display video whilst still working on my main monitor as usual…

Here are the main settings to add to your xorg.conf file. In the "Screen" Section Add..

Option "MetaModes" "1024×768,1280×800"
Option "TwinView"
Option "TwinViewOrientation" "DFP-0 LeftOf CRT-0"
Option "TwinViewXineramaInfoOrder" "DFP-0, CRT-0"

To find the id's of your monitors look at the /var/log/xorg.0.log file. I reversed the order of the screens using "TwinViewXineramaInfoOrder" and placed CRT-0 to the right of DFP-0 with "TwinViewOrientation".

To play a video file on either screen you specify the "-xineramascreen" parameter with "0" or "1". For example…

mplayer -aspect 16:9 -stop-xscreensaver -xineramascreen 0 video-file-1.avi
mplayer -aspect 16:9 -stop-xscreensaver -xineramascreen 1 video-file-1.avi