Linux Issues & Resolution
As you'll see below, it was pretty rough going for early
RedHat users. I started on Slackware in '94, which I consider ideal
for customizability. I've also tried Suse and Mandrake with less
success than Redhat. I have been forced to admit that for most
users accustomed (or rather, inured) to windows, linux is a daunting
experience. Thought processes are assumed; drag and drool won't do
it. I myself found linux a refreshing, even mind-expanding, experience.
M$ was the first to make pc's accessible for non-technical people, and
windoze98 may still be the best gaming platform. However, its monopolistic
tentacles now stretch everywhere. It has become the greatest blight
on the computer industry, spreading grief and frustration, corruption and
resistance to progress.
Windows is a mindset. The Windows Icons
Menus Pushbuttons interface lulls the user into accepting
that all computer problems have been solved by someone else, and all you
have to do is click "OK" to share in the rewards (like any good pavlovian
conditioning). The reality is that proprietary
software is an attempt to territorialize the information landscape.
"Ease of use" is the bait for lock-in. Inevitable bugs create lucrative
support and upgrade requirements. The history of M$ is littered with
the corpses of competitors. Those that remain are "M$ partners" allowed
a share in the spoils. The extent and implications of M$ monopoly
have been described well enough elsewhere. I will just say that,
many people are mad as hell and won't take it anymore.
Linux represents community software. Millions
of people have now tried it and hundreds of thousands spread across the
internet are developing for it (far more resources than even M$ has).
Linux also progresses on internet time-scales. It encourages user
involvement. It truly is software of, by, and for the people.
M$ recognizes linux as the biggest threat it has ever faced - linux cannot
be absorbed, bought out, or under-sold. Indeed, it is only a matter
of time before companies realize how silly it is to pay the enormous M$
tax, when a free and superior alternative exists.
For what it's worth, my experience with linux has
been enormously positive. I find that on average it takes me
about 5x time longer to accomplish any system change (hardware, drivers,
os installation/upgrade)[on the same dual-booting hardware] on windoze98
than on linux. The only time I have to reboot into windoze
is for the latest game - oh, and to install some software which I will
use from wine. Every other application on windoze has a usually superior
alternative in linux. It truly amazes me that people are convinced
the "desktop belongs to windows" when I experience, using them side
by side, that linux is faster, more responsive, more intelligently designed,
more stable, and more reliable than windows. It is also nice
not having to steal software whenever I want new functionality, altho
I have paid for a few linux applications (to reward and encourage
the authors) I also refuse on principle to buy any windows software
or hardware with an implicit windows license (except the latest game -
no choice there yet).
So, words of wisdom for the linux newbie:
RTFM means Read The Fucking Manual. Linux is a zoo of infinite possibilities
- don't expect someone else working in their spare time for free to have
done all your thinking for you. Documentation comes in many
ways. The original unix way is to do man -k [search-string]
or apropos [search-string] . The gnu way is with the info
command. Desktop managers now include search tools for all
these, but you will still miss the documentation that came with the package
(usually in /usr/doc) and any other information utilities you might have
installed. Sometimes it is easier to just go to www.google.com/linux.
Every distribution has its own special way of doing things, but at least
they usually tell you how to do it. Redhat in particular has a massive
database and support groups accessible thru their website.
Learn the shell. It is far more powerful than anything that can be
done thru the WIMPS interface. While they've done a good job
accessing configuration thru menus and automatic processes, there will
always be bugs. At least in linux you can fix them.
Linux is a true internet platform. if you're having problems, chances
are someone else has too, and the solution is probably posted on the internet
somewhere. Search www.redhat.com (or whatever your distribution),
then groups.google.com, then the homepage for the software, upgrade to
the latest version. If still broken, and you've tried your best to
fix it, contact the author or support group. Unlike commercial software,
they really will want to help.
depending on how current your distribution is, you should have no problem
upgrading. So first, try to get the package for your own distribution
(rpmfind.net, etc), otherwise get a source (.src.) package and re-compile
with rpm --rebuild package.src.rpm. If no rpm's available,
get the tar-ball and try rpm -ta package.tar.gz. Last
resort, (really it's not sooo bad), untar the package to /usr/local/src
and follow the make instructions.
trying to find how to do something? here's an example:
I've got a sequence of mpg1 movies I want to turn into 1 mpg4 movie.
I first look on my box various gui apps available thru menus (ximian, gnome,
redhat, kde... check 'em all). At the shell, first I try mp[TAB][TAB]
shows me all commands starting with "mp". I type apropos mpeg,
nope. I type rpm -qa|grep mpeg looking for any mpeg packages.
Finally I search the entire file system for anything named "mpeg"
something with locate -i mpeg. If not installed, I hit
the internet, usually freshmeat.net first, and lots of others listed below.
But there it is - #2 on freshmeat.net: mpeg2divx.
Redhat 7.1 and Suse 7.3 are amazing - 400 to 500 packages on a default
install with all the functionality of many $1000's of windoze software.
Nevertheless, they represent maybe 5% of the software available for linux.
There is no One Linux like monolithic windows. For almost any conceivable
software functionality there are numerous choices available. And
if you don't like something - change it!
- Upgrade was very easy - but broke a lot of programs! Shit.
- It would be neat if there were a series of questions or steps (yes,
gag, a "wizard") to setup the system afterwards.
- Added my homepages to /etc/cron.daily/weblint-check
- Acckkk! Everything is broken! Seg faults everywhere. Turns out I had all
Requiring these fixes: upgraded libc.5 to 5.4.66 and libm.5 to 5.0.9
Added private libraries for Applixware
made a shell program to run netscape helper applications _after_ unsetting LD_PRELOAD (libBrokenLocale)
- ldd and ldconfig use different methods.
- /etc/ld.so.conf is libraries in addition to /lib & /usr/lib
- LD_LIBRARY_PATH does not work like it should.
- libc changes (the old gnu libc!) broke many binaries
- libBrokenLocale.so (RedHat's "fix" for Netscape forms and fonts)
broke most helper applications called from Netscape.
- Set up removable drives as amd.
- Grrrr! Damn /etc/cron.daily/tmpwatch was deleting important
files out of /tmp and /var/tmp!
- Installing lib's for enlightenment broke all libjpeg programs
- Get a better terminal emulation for serial access.
- Had to get latest version of xrpm (icons had disappeared, etc.)
- Need someway to add non-rpm programs to rpm database (without building
- Darn. "dumb" 3D engine for Doom, etc., core dumps...
- Applixware now requires it's own libraries.
- List of broken app's as I find them (usually "crosslinked"):
vrweb, flash, mp3menu, xaos (missing libncurses.so.2.0)
- Most others were from LPRng compiled under libc.5
- Missing libtool for making programs from CVS.
- Lost my xinit files because of the xinitrc.rpm
- Found "stty" in any bash config files will hang Xclient.
- tk8.0.3 upgrade killed enlightenment's esd.
- How do you upgrade with official patches if you've ever used unofficial
patches to anything - like de4xx drivers?! Have to save patches and back them out first.
- I see how the module setup and network interface thing is supposed
to work - but it never created an /etc/rc.d/rc.modules file to load the tulip driver.
RH fix your netconfig!
- Most tcl/tk applications were broken when tcl/tk was upgraded to 8.0.3.
Missing a symbol found in earlier libc's - had to recompile them.
- The new gs5.50 from SUSE6 was broken. LDD couldn't resolve
symbol __register_frame_info. Apparently compiled with incorrect libc. Fix is
recompile or "export LD_PRELOAD=/usr/lib/libstdc++.so"
- With local caching nameserver, why does the first hostname lookup fail?
UPGRADE to kernel 2.2.x
What broke after upgrade to dual-333's (750 MHz overclocked!)
- 1. xosview --> get the SMP version
- 2. procps utilities (also a modified version out there for SMP)
Upgraded to Redhat 6.2
All I remember is a number of problems balancing glibc2.0, glibc2.1 and
a.out programs simultaneously.
- they did put dircolors in /etc/profile.d/colors.sh, but if you want
to modify the colors in /etc/DIR_COLORS, you will have to modify this to:
eval `dircolors --sh /etc/DIR_COLORS`
Redhat, unlike Mandrake, still comes with most packages compiled for i386! After
exhaustive research and trial and error, I went with these compiler optimizations.
Copy /usr/lib/rpm/rpmrc to /etc/rpm/rpmrc and make these changes there.
Change the line that says:
optflags: i686 -O2 -march=i686
to say this:
optflags: i686 -O3 -fomit-frame-pointer -Wall -march=pentiumpro -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply -fno-strength-reduce -ffast-math
and then when you rebuild src.rpm's, use
rpm --rebuild package.src.rpm --target=i686
also consider - some things are better NOT optimized. These make significantly larger executables
and the time it takes to read them off slow hard drives should be a factor. Also, the optimizations
frequently break the build or cause unexpected executable behavior, so I drop back to i586,
or even the default, i386. It can become quite a game, finding packages that will build without too
many other dependencies.
KERNEL 2.4 UPGRADE
- Upgrade modutils, add /etc/conf.modules to /etc/modules.conf, fix references in rc files to conf.modules
- nfs-utils upgrade (lockdsvc changed in kernel)
- raid5 thought it had to re-sync drives.
- serious filesystem problems (on fsck) until I upgraded e2fsprogs
- freaking netfilter is so poorly documented and hard to run!
- nmap broke and I can't get any newer versions to work.
- WOOPS! I have now tried 2.4.1, 2.4.2, 2.4.3, & 2.4.4 - every one has caused at least
one complete lockup under heavy load. shit. feels like windoze... p.s. dammit. Turns out I had to
double the swap space in 2.4 (this little fact seems to me to be well hidden). Much more stable afterwards.
2.4.6 and 2.4.8 "only" crashed once, with memory errors.
- upgraded automounter to 4.0 (suspicion it was causing the lock ups - never worked right)
- Device3Dfx no longer works.
- Another hang with 2.4.4: unable to log back in, ctl-alt-del hung too. very sad.
- 1.4 Ximian broke a lot of things:
poor panel setup
had to build my own menus
xscreensaver (session-properties-caplet) fails to set powersaving (use ~/.Xdefaults)
session manager doesn't start non-gnome programs any more (use ~/.xsession)
- lsof 4.56 works fine now
- Great Rejoicing Thruout The Land... kernel 2.4.10 fixed the Virtual Memory Mgmt problem!
- I had to add RBL (mail-abuse.org) to sendmail.cf before enabling remote access.
- Frustration! ftp logins were automounting everything in my /etc/auto.mnt. Only
1 little mention on the web about it. Someone finally suggested it does a quotacheck on
all filesystems in the /etc/fstab file - which coincidentally contained all the /mnt targets.
Removing those (automount still works with out them) stopped ftp's delayed login.
- Fixed /dev/shm. Really lousy documentation. I already had it in the kernel
but just needed to mkdir /dev/shm. With great excess of ram, I also converted
/tmp to a tmpfs virtual filesystem.
- MTRR apparently doesn't work on SMP. When enabled box became unstable and crashed in about 20 min.
- disabled hdparm optimization - heard it was dangerous for 2.4
- Constant upgrade cycle for lm_sensors package with every kernel release. At least i2c is built-in to the kernel now - take that back; latest kernels required an upgrade to lm_sensors which required an upgrade
i2c which is not current in the kernel.
- Problem compiling newer rpm's, ie, RH7.x, traced to libtool-1.4 and changes RedHat made for it. It's
basically doing unnecessary re-linking. Error message: "libtool: install: warning: relinking..." For these
cases, use this ltmain.sh instead: ltmain.sh
- Kernels 2.4.13+ require "mount -t binfmt_misc none /proc/sys/fs/binfmt_misc" after insmod binfmt_misc.
- Fixed annoying JDK font error message (all .1 references in $JDKHOME/jre/lib/font/font.properties
refer to missing "symbol" - replace with "urw-dingbat" line (from `xlsfonts`)
- ldd or executables gave message:
BUG IN DYNAMIC LINKER ld.so:
dynamic-link.h: 57: elf_get_dynamic_info: Assertion `! "bad dynamic tag"' failed!
this happens whenever executables seem to be corrupted. In my case, guessing,
a transient bug in kernel effecting md5sum. A few hours later, error gone.
- netscape 4.7x was taking longer and longer to startup (the roaming user dialogs
opened in 2 seconds, but main didn't for 30-40 secs!) I was blaming roaming user
until I ran netscape with strace - hanging on expired newsgroup servers!