Saturday, September 11. 2004
Ever wonder what's keeping that device in use so you can't unmount it? It's
happened to me a few times. The tool to discover this information?
lsof.
Basically, you type something like: lsof /mnt/cdrom and it gives
you a ps-style output detailing the PID and process of the
processes that are using the cdrom. You can then go and manually stop those
programs, or kill them yourself.
Tuesday, April 27. 2004
I'd read that you could get binary packages for gentoo, thus alleviating the
need to compile everything. (Of course, then you lose some of the benefits
of compiling everything, but you gain in speed...) Unfortunately, I mistook
this with ebuilds, and never quite figured it out.
The key is to throw the -g flag:
% emerge -g gnumeric # which is like 'emerge --getbinpkg gnumeric'
I also learned how to update packages tonight:
% emerge sync # to sync your mirror with the gentoo mirrors
% emerge --update portage # if necessary
% emerge --update system # updates core system files
% emerge --update world # updates all packages
Thursday, April 22. 2004
I've had a bunch of problems with my new computer -- it uses ACPI, but if I
load the ACPI modules, it won't boot; if I don't load them, I have to go
through contortions to get the ethernet working, and it won't power down;
and a bunch of other little stuff.
So, a few weeks ago, I thought, what the heck? Why not try Gentoo? I've been reading about it
since it first came out, and I remember talking with Duane about it once,
and it has a reputation for both being cutting edge and stable. Heck, even
Wil Wheaton's endorsing it... it can't be all bad, right?
I had a few misstarts -- bad CDs, not quite getting how the chroot thing
worked, problems with DNS (which I still don't understand; and Rob
has them as well, so it's not just me). But once I got it installed... well,
I'm impressed.
The thing about Gentoo is, it compiles everything from source. It's
like Debian, in that it fetches all
dependencies and installs those... but it's all source. So it's not exactly
fast. But because everything is compiled, and because you setup C flags
specific to your machine, what you get is incredibly optimized for your own
machine. This 1.6GHz machine simply flies. And the memory usage just
stays low.
I'd like to use it for my server... but I can't really take the server down
at this point when it's making both my mom and myself money. But what a
great system... I only wish I'd used it for the mail server at work.
Monday, March 29. 2004
I just read coverage
of a panel of programming luminaries on Salon; the topic of
discussion was about the state of programming. In the course of the
discussion, the subject of Open Source came up. Several of the luminaries --
which included architects of the Mac OS and Windows, as well as others --
derided the community for basically reinventing the wheel, and wheels that
need to be re-thought entirely anyways. One questioned, "Why is hte idealism
just about how the code is shared -- what about idealism about the code
itself?"
Andy Hertzfeld (who helped develop the original Mac OS) was sitting on the
panel, and jumped in. He has been working with Eazel and Chandler in recent
years, and thus has an inside view of open source. His initial comment:
"It's because they want people to use the stuff!" Basically, they program
Windows- or Mac-like interfaces because then people will be willing to try
it out. They program office suites because people "need" an office suite to
be productive. Such offerings hook them into the OSS movement.
Another participant, Dan Bricklin (of VisiCalc, a pioneering spreadsheet
program) shared an anecdote from Bill Gates. Evidently, Gates gave an
interview (with Lammers -- look up this person) in which he explained that
his work on MS's BASIC compiler was done by looking at how other programmers
had accomplished the task. In his own words, "The best way to prepare is to
write programs, and to study great programs that other people have written.
In my case, I went to the garbage cans at the Computer Science Center and I
fished out listings of their operating systems."
So basically, Gates was an early adopter of OSS methodologies... Interesting
to see that today he's so protective of MS code. Guess money might do that
to you.
Thursday, March 11. 2004
Last night, I created my first RAID array from the commandline. It was quite
simple, I discovered.
- Create your partitions using fstab. Remember, primary partitions must be
created before extended partitions.
- Look in /proc/partions and note the new partition IDs.
- Edit /etc/raidtab and create a new RAID array. If unsure of
the syntax, look up the Linux Software
RAID HOWTO for more details.
- Type mkraid /dev/md?, where ? is the id of the
RAID device you just entered in /etc/raidtab.
- Format the new RAID device with your favorite filesystem, assign it a
mount point, and start using it!
I was impressed with how easy it was; the choices that the Anaconda
installer present for creating a RAID array made it seem like the underlying
process must be difficult, when in fact it may have been almost the same
complexity if not easier.
Monday, February 16. 2004
Linux.com has had a running series on CLI
commands for Newbies. Most of it has been very basic, but there are still a
few gems within. For instance, today I was introduced to apropos
and whatis. Give a search term to the former, and it will list
all programs in which the search term is found in the manpages; give a
program name to the latter, and it will tell you which man page addresses
it.
Wednesday, February 4. 2004
I've had occasion to need to grab a specific set of files from a large
directory -- most recently, I needed to grab some specific access logs from
our Apache logfiles at work.
Enter find.
I needed to get all files newer than a specific date, and with the pattern
'sitename-access_log.timestamp.gz'. I then needed to tar up these files and
grab them for processing. So, here's what I did:
- The -newer filename tells find to locate files newer than
filename.
- The -regex flag tells find to locate files matching the
regular expression. The regex that find uses is a little strange,
however, and didn't follow many conventions I know; for one thing, it's
assumed that the pattern you write will match against the entire string,
and not just a portion of it. What I ended up using was
-regex '.*access_log.*gz', and that worked.
- The -printf flag tells find to format the printing. This is
useful when using the output of find in another program. For instance,
tar likes a list of filenames... so I used printf "%p ",
which separated each filename with a space.
I then backticked my full find statement and used it as the final argument
to a tar command; voila! instant tar file with the files I need!
Sunday, January 25. 2004
I just ran into this not long ago, and wish I'd discovered it years ago.
Basically, Ctrl-S suspends a process, while
Ctrl-Q resumes it. This is useful when in g/vim
or screen and you manage to lock up your application because you
accidently hit Ctrl-S when reaching for another key combo.
Friday, January 23. 2004
I wrote up a short tutorial today on the IT wiki about SSH tunneling. What I
didn't know is that you can start a tunnel after you've already
ssh'd to another machine. Basically, you:
and you're at an ssh> prompt. From there, you can issue the
tunnel command of your choice: -R7111:localhost:22, for instance.
I was just reading an article
about the Dean campaign's IT infrastructure, and there's an
interesting quote from their IT manager, Harish Rao:
"I believe in three principles", he said. "First I always make sure I hire
people I can trust 100%. Second, I always try to hire people who are smarter
than I am. Third, I give them the independence to do as they see fit as long
as they communicate about it to their other team members. We've had a lot of
growing pains, a lot of issues; but we've been able to deal with them
because we have a high level of trust, skill and communication."
I know for myself that when I (1) don't feel trusted, and/or (2) am not
given independence to do what I see as necessary to do my job, I don't
communicate with my superiors about my actions, and I also get lazy about my
job because I don't feel my work is valued.
Fortunately, I feel that in my current work situation, my employers followed
the same principles as Rao, and I've felt more productive and appreciated
than I've felt in any previous job.
|
|