To find out what version of a distro you're running, do
cat /etc/redhat-release
cat /etc/fedora-release
cat debian_version
/usr/share/doc. HOWTOs are maintained by the
Linux Documentation Project.
I downloaded their single-page set (each HOWTO is a single web
page) and stored them
here.
To do this, you first "defragment" your Windows data, which compresses it into the beginning of the existing Windows partition. Then you use FIPS or PartitionMagic to change the end-of-partition marker, effectively creating two partitions on the disk drive. Then you install Linux into the second partition, perhaps with multiple Linux partitions in the second partition.
Using FIPS to partition a disk
Using PartitionMagic to partition a disk
chkconfig smartd off
chkconfig sendmail off
nagman# at 5:45am tomorrow warning: commands will be executed using /bin/sh at> /sbin/shutdown -h now at>job 1 at 2005-10-08 05:45 nagman# atq 1 2005-10-08 05:45 a root nagman#
You set the hardware clock using the BIOS or from inside an OS. There are two basic times you might want to set the clock to: to GMT or local time.
If the hardware clock is set to Greenwich Mean Time or GMT, then when the OS sets the software clock, it adds an offset to make the current time displayed by the system be correct. Thus, the hardware clock is different than the software clock.
If the hardware clock is set to the current local time, then when the OS sets the software clock, no offset is added.
It's natural to set the hardware clock to GMT and let the OS supply an offset at boot time. Once again, we can thank Microsoft for screwing this up: Windows 2000 requires the hardware clock to be set to local time. Since the hardware clock is a shared resource used by both Windows 2000 and Linux on the laptop, we have to configure Linux to behave with a hardware clock set to local time.
To tell Linux that the hardware clock is local time instead of
GMT, use the timeconfig tool. Hit the space bar until the
"Hardware clock set to GMT" field is a space (unset) and not an
asterisk (true). Set the zone to "US/Mountain". FYI,
timeconfig just edits /etc/sysconfig/clock.
When you set the above variables, they don't necessarily propagate
where they need to. For instance, setting FROM_HEADER in the
rc.config file has no effect until SuSECOnfig is run. SuSEConfig
uses the value to edit the sendmail.cf file. I don't know how to
run SuSEConfig directly, but I know that if I use YAST to delete a
package, YAST will run SuSEConfig before it exits. So whenever
you edit the rc.config file, run YAST to make SuSEConfdig run,
then reboot.
Some variables to possibly set in rc.config, via YAST:
Set up system startup variables
As root, edit the /etc/rc.config
file. Set the following values:
We always use DHCP to set up networking - see
DHCP configuration under SUSE Linux. The
dhcpcd daemon will edit the
/etc/resolv.conf file as needed, so
we don't need the SuSE startup code to mess with it. With
CREATE_RESOLVCONF set to "no", the NAMESERVER and SEARCHLIST
parameters have no meaning, so set them to "" to avoid confusion.
If you don't set SMTP to yes, you get "post: problem initializing
server: [BHST] No server" when you try to send mail.
INITRD_MODULES="usbcore" ???
NETCONFIG="_0" (we have just the 3com dock card)
START_USB="yes" ???
ntop?
START_FBB="no" ???
CREATE_RPLAY_CONF="yes" ???
localhost.localdomain or
linux. This isn't real useful,
because a unique hostname is needed for things like conditional
shell or emacs startup files. The hostname should relate to the
system's DNS name, if possible.
Under Red Hat Linux, edit the /etc/sysconfig/network file. Change localhost.localdomain to, like, "ibex". Don't put in the domain part. If you do only this, GNOME will complain when it starts, so you have to edit the /etc/hosts file to add a line like
128.117.11.101 ibex.ucar.edu
So I don't understand what a machine's hostname is when it's not
connected to a network and therefore doesn't have an IP address.
On my home RedHat system, this is hard, because I get a different
IP address from NCAR's terminal server every time I dial in. So
set the hostname to, I dunno, peteshome.
emacs /etc/sysconfig/network
HOSTNAME=peteshome
On the laptop, the host name was be set up when you set the FQHOSTNAME parameter in the /etc/rc.config file. See Set up system startup variables section of this page.
. /usr/local/bin/getscheme.sh
getscheme
if [[ ${SCHEME} = 'home' || ${SCHEME} = 'work' || ${SCHEME} = 'ucarnet' ]]; then
/root/fixresolv.pl
fi
Note: if Netscape has trouble resolving "linux.local" or
"localhost", the problem is probably due to a dead Apache web
server, not a name resolving problem.
Note also that the "host" command uses DNS, just like the "nslookup" command. There doesn't seem to be a command-line program that does a "gethostbyname" call, so it's not obvious how to be sure that the /etc/hosts file is being accessed before DNS. One way to do it is to run strace on your program and look for it trying to open /etc/hosts. Sigh.
The home system connects through the ISDN router, so it can't
learn DNS servers, so I have to configure DNS servers
explicitly. Put the following in the
/etc/resolv.conf file:
domain ucar.edu
nameserver 128.117.64.250
nameserver 128.117.8.94
search ucar.edu scd.ucar.edu
groupadd -g 96 datacomm
useradd siemsen -u 5462 -g 96 -c "Pete Siemsen" -m
passwd siemsen
visudo to edit the
/etc/sudoers file. Add this line to
the end of the file:
siemsen ALL = NOPASSWD: ALL
Do man 5 sudoers for more info.
I rarely use locate. By default, my Red Hat system runs updatedb daily. To make it run much more rarely, I did
as root
mv /etc/cron.daily/slocate.cron /etc/cron.monthly
To turn the feature off competely under SUSE, set the
RUN_UPDATEDB parameter in the /etc/rc.config file. See Set up system startup variables section.
When RUN_UPDATEDB is set to "no", the
/etc/cron.daily/aaa_base_updatedb script,
which runs daily, will skip updating the database.
setbrightness 255
To make this be locked in all the time, add the line to the end of
/etc/rc.d/emperor.
Booting into Windows will reset the brightness to the highest value.
sudo mount /dev/fd0 /mnt
cd /mnt
sudo umount /mnt
mount /win
umount /win
cd /usr/src/pbm2ppa-0.8.6
make 720
cp pbm2ppa /usr/local/bin
cp pbmtpg /usr/local/bin
Then, as described in the README.REDHAT file,
edit the file named
/usr/lib/rhs/rhs-printfilters/printerdb
and add the following block of text:
StartEntry: DeskJet720C
GSDriver: pbm
Description: {HP DeskJet 720C}
About: { \
This driver supports the HP DeskJet 720C inkjet printer. \
It does does not support color printing. \
IMPORTANT! Insert \
"- | pbm2ppa -" \
in the "Extra GS Otions" field.\
}
Resolution: {600} {600} {}
EndEntry
Then run printtool, select Add,
select Select,
select HP DeskJet 720C, and as described in the
README.REDHAT file, in the Extra GS
Options field, put this:
- | pbm2ppa -
then select OK to exit printool.
The result of all this is that printtool has edited
the /etc/printcap file to define a printer named
lp0.
As root, print a calibration page with
pbmtpg | pbm2ppa > /dev/lp0
The result should be a grid, as explained in the file named
/usr/local/pbm2ppa-0.8.6/CALIBRATION. Then, as
explained in the INSTALL-MORE file, set up the
rest of the mess. First, set up a script to print PostScript
files:
cat >/usr/local/bin/print
#!/bin/sh
cat $1 | \
gs -sDEVICE=pbmraw -q -dNOPAUSE -r600 -sOutputFile=- - | \
/usr/local/bin/pbm2ppa - - >/dev/lp0
^D
chmod 755 print
Then, set up a similar script to print text files:
cat >/usr/local/bin/printascii
#!/bin/sh
enscript -p- $1 | \
gs -sDEVICE=pbmraw -q -dNOPAUSE -r600 -sOutputFile=- - | \
/usr/local/bin/pbm2ppa - - >/dev/lp0
^D
chmod 755 printascii
This is fine, but doesn't allow "standard" printing using the
lpr command. This means, for instance, that
Netscape won't know how to print to the printer.
To print from Netscape, tell Netscape to use the new print script
that you just created. Don't follow the last set of instructions
in the INSTALL-MORE file, because that'll do
stuff that's incompatible with printtool. I
tried and failed.
cd /home
chown -R siemsen *
chgrp -R datacomm *
cd /usr/src
mkdir KDE
cd KDE
ftp gate.ucar.edu
anonymous@ftp.varesearch.com
Pete Siemsen
cd pub/mirrors/kde/stable/latest
cd distribution/rpm/RedHat/Official-RH-6.x/i386
* get aktion-0.3.6-3.i386.rpm
* get kdeadmin-1.1.2-3.i386.rpm
* get kdebase-1.1.2-11.i386.rpm
* get kdebase-lowcolor-icons-1.1.2-11.i386.rpm
* get kdegames-1.1.2-2.i386.rpm
* get kdegraphics-1.1.2-2.i386.rpm
get kdelibs-1.1.2-9.i386.rpm
get kdelibs-devel-1.1.2-9.i386.rpm
get kdemultimedia-1.1.2-3.i386.rpm
get kdenetwork-1.1.2-4.i386.rpm
get kdesupport-1.1.2-3.i386.rpm
get kdetoys-1.1.2-2.i386.rpm
get kdeutils-1.1.2-2.i386.rpm
get kdpms-0.2.7-6.i386.rpm
get korganizer-1.1.1-2.i386.rpm
get kpilot-3.1b9-3.i386.rpm
get kpppload-1.04-6.i386.rpm
get qt1x-1.44-4.i386.rpm
get qt1x-devel-1.44-4.i386.rpm
quit
cd /usr/src
gunzip scotty-2.1.10.tar.gz
tar xf scotty-2.1.10.tar
rm scotty-2.1.10.tar
cd scotty-2.1.10
From the README file, you'll find that scotty requires at least
Tcl8.0.3 and Tk8.0.3. To find out what version of Tcl you have
installed, use
rpm -q tcl
Next,
cd unix
./configure
make
make install
make sinstall
chmod +x /usr/src/scotty-2.1.10/unix/tkined
/usr/lib/tnm2.1.10 and
/usr/lib/tkined1.4.10 and
/usr/bin.
Now that this is finished, you'd expect the
scotty and
tkined binaries to be in some
usual place. They aren't. Instead they're in
/usr/src/scotty-2.1.10/unix/scotty
and
/usr/src/scotty-2.1.10/unix/tkined.
Strange.
Log in as a normal user to run them. A tutorial for getting started with tkined is available from the tkined main page. A PostScript version of a paper describing all of Scotty is also available.
Modify the .bashrc to make it convenient to halt or reboot even if you're not root.
chmod a+s /sbin/halt /sbin/reboot
(in .bashrc)
alias halt='/sbin/halt'
alias reboot='/sbin/reboot'
As of April 2004, I use KDE. See my KDE page for more info.
I used GNOME for years. When I upgraded from Red Hat 7.3 to Red Hat Fedora Core 1 in 2004, GNOME was upgraded to 2.4. Amazingly, it became less useful. For instance, the menu editor disappeared. Google searches turned up only piss-poor documentation for the new manually-edit-files method for making menus. Also, GNOME people4b apparently began pretending that window managers don't exist, maybe to be more friendly to computer illiterates. GNOME 2.4 came with a built-in window manager named "metacity", but it wasn't documented as far as I could tell. Metacity was much less capable than sawfish. For instance, there seems to be no way to make windows pop to the top by clicking mouse button 1 on the window. These changes happened with the standard lack of decent documentation that GNOME has always had. I decided to see if KDE is less unfriendly.
What do you know - KDE behaves almost as I like by default. Focus follows mouse, button 1 pops windows to the top, and there's a menu editor available by right-clicking on the "start" button. I made the switch from GNOME to KDE, but I forgot how. It seems that I should run "switchdesk kde", but my brad-new Fedora Core 2 distro says KDE isn't installed, even though the release notes say it is.
mv /etc/cron.daily/aaa_base_clean_core /etc/cron.monthly
service portmap start
service iptables stop
mount linstall.ucar.edu:/install2 /mnt
cd /mnt/rhfc1/Fedora/RPMS
rpm -Fvh *.rpm
umount /mnt
service portmap stop
service iptables start
as root
tune2fs -c 51 /dev/hda7
tune2fs -c 53 /dev/hda1