Kubuntu and the reluctant upgrader, pt. 2: CVS and Telnet

Despite the vague sense of dis-ease that accompanied my Kubuntu upgrade from Hardy Heron (8.04) to Jaunty Jackalope (9.04), I had, after my earlier struggles with the death of Kaudiocreator and general crapping up of Adept, finally gotten to the point where the system was behaving more or less as I expected. All was right in the land of the penguin.

Until 3 days ago.

A while ago, a co-worker had turned me on to the virtues of CVS -- Concurrent Versions System, a revision control system. I now use it for a variety of things: several writing projects and websites.

I know it sounds dorky, but I swear it's not.

I went to update the local CVS repository on one of the several XP boxes scattered around the house. I use Tortoise CVS, where the sound of breaking glass means a bad thing has happened. It sounded like I fell through a freaking window. The CVS server on the upgraded Kubuntu box is now busted to all bloody hell. The files in the repository are all apparently safe and sound but I can't get to them, defeating the purpose of setting all this crap up in the first place.

In the course of my investigations, I discover Hey presto! Telnet is busted, too!

Quick aside: many people on forums, when asked about setting up telnet, have the annoying habit of pointing out that the person asking the question shouldn't be using telnet anyway--they should be using ssh. Right, dickhead. I'm well aware of telnet's shortcomings. Telling me I should be using ssh though is about as useful as telling me I should be eating vegetarian when I ask how to find the steakhouse.

After another couple of hours screwing (without success) trying to get CVS or a telnet daemon running I decided to call it a night. I slept fitfully, once again questioning what had possessed me to upgrade.

Today I dragged in and confessed my failure to the guy who'd originally turned me on to CVS in the first place. A quick conversation and a few suggestions later I decided to give it another whack this evening.

The main suggestion: use xinetd rather than the default, which was inetutils-inetd. Apparently in Kubuntu 9.04, inetutils-inetd is installed by default (as a successor to inetd). I know that's what I had installed.

After a little more research, I found instructions on how to set up services for xinetd. So armed, I dropped to the shell (sorry folks), ran a few command lines, and, after a reboot, was off and running. Everything is now working like a charm.
_______________________________

For those facing a similar dilemma, here's what I did.

First, back up any config files. For inetd (inetutils-inetd) this means making a copy of /etc/inetd.conf and putting it in a safe place (such as your home directory).

The run the following from the command line:
    sudo apt-get install xinetd
If asked if you want to do this (it will cause the uninstalling of several files, including the nefarious inetutils-inetd) type "Y" and hit enter. You will be informed of the uninstalled files, including inetutils-inetd and some version of telnetd.

Again, from the command line, type or paste:
    sudo apt-get install telnetd
and type "Y" to any prompt about things being uninstalled. apt-get will now install the version of telnetd that runs under xinetd.

To install cvs, type:
    sudo apt-get install cvs sudo apt-get install cvsd
...that last one may not be necessary, but it won't hurt to install it. If you are told it's already installed type:
    sudo apt-get install --reinstall cvsd
Now that you've installed the software, you'll need to add these to the xinetd config.

cd to /etc/xinetd.d and create the files needed to start the cvs server and telnetd.

If it doesn't exist, create a file called cvspserver in /etc/xinetd.d/ by typing sudo vi cvspserver, then paste the following in the file:

service cvspserver
{
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
server_args = -f --allow-root=/path/to/CVS_repository pserver
}

...and type [ESC] :x

This will save the file. In the above, change "/path/to/CVS_repository" to the location of your repository.

If you want telnet (it is insecure, but occasionally useful if you are behind a firewall in the privacy of your own home)

If it doesn't exist, create a file called telnet in /etc/xinetd.d/ by typing sudo vi telnet, then paste the following in the file:

service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}


...and type [ESC] :x

When you've finished, restart your machine. You should be off and running.

Comments

Popular posts from this blog

Contact Fedex Delivery Dept For Your Package....

Ten phrases that tell me you're an asshole

Random Thoughts on AI-generated images