Answers 86

From LXF Wiki

Answers 86

<title>Mepis menu missing</title>

<question>I have just received LXF84. I tried out SimplyMepis 6.0 on the DVD, and noticed you have left out the start-up screen with F1, F2 and most important of all, F3. This is a drop-down menu that lets you choose your screen resolution ­ in my case 1,600x1,200. You can, if you know how (I do not), alter it after install by using the command line, but it is not the sort of thing a new user should have to do. </question>

<answer>The LXFDVD included SimplyMepis and Knoppix, giving a choice when you boot, so the Mepis-specific menu had to be omitted. The standard Mepis CD has the graphical boot screen with the menu you mention, but as it happens it makes no difference what I select here ­ it always boots into 1,024x768. It appears that the screen resolution is hard-coded into the boot configuration on Mepis 6.0. Fortunately, Mepis uses the Grub bootloader on the CD, and this makes it easy to change the configuration on the fly. The usual way to change Grub options is to highlight the relevant entry in the menu and press `e' twice to select the first line of that entry for editing. Change the number after `vga=' to the value for the resolution you want. Press Enter to accept the change and `b' to boot with the changed setting. Users of the Mepis Live disc, but not our DVD, can also achieve this by highlighting a menu entry and using the cursor keys to move to the VGA setting in the box at the bottom of the screen where you can change the number, then pressing Enter. The diagram above is a table of the most common values for the VGA setting. To get the 1,600x1,200 you want in a 16-bit resolution, you would use `vga=802'. </answer>

<title>Kded or KDE dead?</title>

<question>I have just installed Free Mandriva Linux 2006 from the LXF75 DVD. Every time I boot the machine, within a couple of minutes everything slows right down and it becomes difficult to use. I have GKrellM installed and this shows the CPU working flat out. Checking with top shows the culprit is kded. If I kill this, the problem is solved. What does this daemon do, and can I permanently disable it? </question>

<answer>Do you have the search tool Kat installed? If so, this is probably the real CPU hog. Kat calls kded when working, but although kded shows up in top, the problem is called by Kat, which is notorious for its ability to bring the most powerful of machines down to ZX81 levels of performance, although later versions are reported to be rather less demanding. Kded is a generic service daemon run by KDE. It handles updates to KDE's Sycoca database, which holds application information. This is probably the part that is sucking up all your CPU cycles. The most extreme solution is to remove Kat, but you can kill the program with

killall kat
killall katdaemon
killall kded

The first two lines kill all Kat processes; the third kills kded, which is still trying to process all the requests from Kat. If you check the process list, you'll see that KDE restarts kded, but that it is no longer bogging your system down. You prevent Kat restarting next time you boot with

touch ~/.mdv-no_kat

If you want to re-enable Kat so it starts automatically in future, delete ~/.mdv-no_kat.

</answer>

<title>Don't get apt-get</title>

<question>I am attempting to update the Epiphany browser in Debian 3.1 Sarge, using su && apt-get install epiphany-browser The following is what I get:

Reading Package Lists... Done
Building Dependency Tree... Done
epiphany-browser is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 2
not upgraded.
2 not fully installed or removed.
Need to get 0B of archives.
After unpacking 0B of additional disk space will
be used.
Setting up kernel-image-2.4.27-3-686 (2.4.27-
10sarge3) ...
cp: writing `/tmp/mkinitrd.MMwVww/initrd//lib/
libc.so.6': No space left on device
cp: writing `/tmp/mkinitrd.MMwVww/initrd//lib/
libe2p.so.2': No space left on device
run-parts: /usr/share/initrd-tools/scripts/e2fsprogs
exited with return code 1
Failed to create initrd image.

Hmm, `epiphany-browser is already the newest version'? I've seen Epiphany 1.7.6 available for download! Unless this is an example of Debian's infamously glacial update cycle, and Epiphany 1.4.8 is the latest version that's available for Debian distros... And what's this `no space left on device' message on about? Barely 14% of my hard disk is currently occupied! </question>

<answer>The latest release version of Epiphany is 2.14.3; the latest in the 1.x series is 1.8.5. While Debian has only v1.4.8 in its stable distribution, Debian Testing has v1.8.3 and v2.14.3. See what is available in the various releases at http://packages.debian.org. You need to add testing repositories to your sources list, either by editing /etc/apt/sources.list by hand or by running Synaptic. To do this easily, duplicate the stable entry and change it to Unstable. As for your `no space...' message, this refers to a file in the /tmp directory. Do you have /tmp on a separate partition? This is a common setup, and a good idea. It prevents a runaway process from filling up your hard disk as it writes to a temporary file. I suspect this is what has happened, resulting in a full /tmp. Run

df -h

in a terminal. If /tmp shops up as a separate filesystem at 100% full, this is what has happened. You can safely delete any file in /tmp that is older than your last reboot. </answer>

<title>Chmod bits</title>

<question>I'm new to Linux and have been a bit confused as to how the permission `bits' work with chmod. Can you help? </question>

<answer>Chmod access permissions can be expressed by either three single octal digits or three lots of letters. This trio represents permissions for the file owner, the group and `world' respectively. Take chmod 755. Each digit is a sum, added up to express the various permissions. Here is each bit with its value:

   0 = no permissions (---)
   1 = execute only (--x)
   2 = write only (-w-)
   3 = write and execute (-wx)
   4 = read only (r--)

So to set read and execute permission you'd use 5; this is 1 for execute added to 4 for read access. For full access, you'd add 4 for read, 2 for write and 1 for execute, 4+2+1=7. If you set the permissions on a file to be 755, that means the owner has full access (7) and the group for the file has read and execute access (5), as does `world' ie everyone else. There are other bits you can set for special functions but these are the main ones. </answer>

<title>Family-friendly SUSE</title>

<question>I have a PC running SUSE 10.0 that is used by everyone in my household for browsing, email, TV and playing movies and music. None of my family has any Linux user knowledge and this has caused some hassles when I am not around. The PC is connected to broadband via Wi-Fi, which works well almost all of the time. The only problem I have is that when my ISP has problems and drops me off (usually in the early hours of a Saturday) the wireless router needs to be restarted. This requires a restart of the networking on the PC ­ it's a simple process for me, but I cannot get my non techie family members to understand firstly why a terminal session is needed and secondly what all that root rubbish is about! They just want an icon to initiate the network restart. Can you help? </question>

<answer>If your family don't understand why a root password is needed, you definitely should not be giving it to them! This is exactly the sort of situation that calls for sudo, which was the subject of last month's A Quick Reference To. You need to create a script that contains the sequence of commands needed to bring your connection back up and save it somewhere safe, say /usr/local/bin/restartnetwork. Make sure root owns this script and only root can edit it with

chown root: /usr/local/bin/restartnetwork
chmod 755 /usr/local/bin/restartnetwork

Add this to your /etc/sudoers file so that anyone in your users group can execute it without a password, like so:

%users ALL = NOPASSWD: /usr/local/bin/restartnetwork

This allows all members of the users group to run your script without having a password. If you change NOPASSWD to PASSWD, the user will have to provide their own password. You could specify individual users instead of a group by using a comma-separated list, such as

ma,pa,johnboy ALL = NOPASSWD: /usr/local/bin/restartnetwork

Now any authorised user can run the script with

sudo restartnetwork

The full path is not needed here if /usr/local/bin is in $PATH, but it must be given in /etc/sudoers. Once you have your script, you can drop it on to the desktop or the panel to create an icon or button and any of your users can reset the network with a mouse click. Because sudo is executing the script as root, all of the commands you put in it will be run as root when called from the script, without giving your family permission to run those commands (or any others) directly. I use this method to add a button to my laptop's panel to start my wireless network ­ not because I don't know the root password, but because I am lazy and one click is less effort than typing my password. </answer>

<title>A space odyssey</title>

<question>My / partition is nearly full. I need more space, and have a free partition where I could put, for example, /usr/lib. But how is that done? </question>

<answer>Linux allows you to mount a new filesystem anywhere under your / directory, making it quite easy to use a separate partition for part of the overall filesystem to increase the space available. The trickiest part of the process is moving the data from the original filesystem to the new one. If you do not already use a separate partition for /home, I would strongly suggest using this, because separating /home carries several advantages. Whatever you do, back up first. If you accidentally delete the wrong data, you'll be glad you made a backup. Copying data, particularly system files, while a filesystem is in use is a risky business, so you should boot from a Live CD, such as Knoppix. This assumes that your current partition is on /dev/hda1 and you are moving home from there to /dev/hda2. Make the relevant adjustments if your system is different. The first step is to run QtParted to prepare and format the new partition. Now open a terminal and type the following:

su
mount /dev/hda1 /mnt/hda1
mount /dev/hda2 /mnt/hda2
rsync -avx /mnt/hda1/home/ /mnt/hda2/

The first line gives you root access, the next two mount your old and new partitions, and the third replicates everything from the old home directory to the new partition. You could use tar or cp to copy the files, but I find rsync to be the most reliable method of producing an exact copy, including all permissions and timestamps. Now you need to add a line to /etc/fstab so that the new partition will be used. Knoppix comes with the Nano text editor, among others, so do

nano /mnt/hda1/etc/fstab

and add a line like

/dev/hda2 /home ext3 defaults 0 0

This assumes you formatted the partition with the ext3 filesystem, the default in QtParted. If you used ReiserFS instead, change ext3 to reiserfs. If you reboot into your distro and type

df -h

in a terminal, you will see that /home (or whichever directory you decided to move) is on its own partition. "But," you are shouting at the monitor, "my / partition is still full!" That is because you copied the data to the new partition, so it is still in the old location too. This was deliberate, so you could go back if something went wrong. The data is there, but invisible because the new partition is mounted on /home, obscuring the original files. You could reboot Knoppix to remove these files, once you are sure you want to, but here is a little trick to save you having to reboot:

mkdir /mnt/tmp
mount --bind / /mnt/tmp
rm -fr /mnt/tmp/home/*

This lets you see and delete the files in the old home directory. Make sure you only delete the contents, not the directory itself. That is needed to mount to the new partition. You could do this with /usr/lib as you suggest, but /home is a better choice if not already mounted elsewhere (otherwise look at moving /usr/local). A lot depends on how much space you want to free up, so it helps to know how much space each directory is using. My favourite tool for this job is Filelight, available from www.methylblue.com/filelight and included in some distros' package repositories. You can also use LVM to combine disks for more space, as described in LXF83. </answer>

<title>Moving Money</title>

<question>I have been using Linux for about three years; two years running Mandrake and one running Ubuntu. I am trying to convert my other half to use it as well ­ she already uses OpenOffice.org on her XP machine. I have loaded a disc for her with Ubuntu Dapper Drake but there are two snags. One is that I cannot successfully export MS Money files to KMyMoney: the data files will export to QIF files, but KMyMoney will not import them no matter what I do. It says it is an unrecognised format, probably the Microsoft version of a QIF file. The other problem is that she also uses MS AutoRoute and I cannot find an equivalent for Linux. I was thinking of using Wine as an alternative but I know nothing about running Wine, or how one installs a Microsoft program using it. Any help that you could give to me would be most gratefully received. </question>

<answer>The answer to your first question is to use a different program to convert the files. GnuCash will import Microsoft QIF files, which you can then save out in GnuCash's own format. GnuCash has options to handle several variations on the QIF format (I've successfully imported files from MS Money in the past). KMyMoney has an option to import GnuCash files ­ I use this because I keep my accounts in GnuCash but like KMyMoney's reporting options. The reason for using GnuCash's own format for saving is that this is a fixed format, whereas QIF files come in quite a variety of flavours. You could also try the latest version of KMyMoney, released recently ­ it mentioned improved QIF support. There is a route-planning package for Linux called Navigator, from www.directions.ltd.uk. This is a commercial product that works on x86 Linux and Windows. There's no demo version, so check with the manufacturer for compatibility first. Installing Wine is easy with Ubuntu, there is a package in the Universe repository. Select Settings > Repositories in Synaptic and tick the box for `Ubuntu 6.06 LTS (binary) Community maintained (Universe)' close the repository windows and hit Reload. Once the reload is complete, use the Search button to find Wine. You only need select the wine package itself. Once Synaptic has installed the package, run winecfg to set things up, although the defaults are fine for most uses. Now you can run a Windows program with

wine /path/to/someprogram.exe

Andy Channelle has written an extensive beginners' Wine tutorial on page 80. Also try the Wine Applications Database at http://appdb.winehq.org for information on compatibility with various programs. You could consider, too, CrossOver Linux, the commercial derivative of Wine from www.codeweavers.com. </answer>

<title>WebDAV daemon</title>

<question>I've got WebDAV access to my Hotmail account. Is there anyway I can get it into my POP3 server? </question>

<answer>There are a few things out there that will do the job for you. I prefer to use Hotwayd. It runs as a simple inetd service and can be used in conjunction with Fetchmail. Get the source from http://hotwayd.sourceforge.net and once you've expanded the archive, simply install it with your favourite configure options. When you've done that and Hotwayd is installed, you need to activate it. To do this with xinetd, create a file in /etc/xinetd.d called hotwayd and populate it as follows:

service hotwayd
{
only_from = 127.0.0.1
disable = no
type = unlisted
socket_type = stream
protocol = tcp
wait = no
user = nobody
groups = yes
server = /usr/sbin/hotwayd
port = 1100
}

Restart xinetd and you're sorted! From there you can use Fetchmail. Simply create a .fetchmailrc file in your home directory containing:

 poll localhost protocol pop3 port 1100 username
"username@somemail.com" password
"yourpassword"

Now run Fetchmail. It will poll and pull down your mail from Hotmail to your local POP3 server. </answer>

<title>Wherefore art thou admin?</title>

<question>I have been a bit of a fool and removed admin privileges from all three users on my Ubuntu system. This cut down the System-Administration menu to only a few items. At the moment, I do not have a user in the admin group that I can log in as to manage system items. I can use Gnome Terminal as sudo but cannot work out how to add one of the users back in to the admin group. I tried to use the usermod -g command but cannot get it right. That is, of course, if I am using right command. How can I add my user `master' to the admin group again? </question>

<answer>First, don't worry about having made a mistake, we all do it. The two most important aspects of making a mistake are learning from it and not letting anyone else know you've done it. The command to add your user to the admin group is

gpasswd -a master admin

However, only the root user can manipulate the password and group databases, so you have a Catch 22 situation here: you need to use gpasswd to add yourself to the admin group, but you need to be a member of the admin group to do this.

Do not despair, there is a simple solution. The installation disc is also a Live distro, set up so you can run root commands with sudo. Boot from the disc, open a terminal and run
sudo bash
mount /dev/hdaN /mnt
nano /mnt/etc/group

Replace hdaN with whichever partition contains your Ubuntu installation. Nano is an easy-to-use console text editor. Scroll down to the line beginning `admin:x:112:' and add `master' to the end, so it reads

admin:x:112:master

You can add more than one user if you wish by separating them with commas, for example:

admin:x:112:master,slave

Don't worry if the number is not 112; leave it as is. Press Ctrl-X to save the file and exit, then reboot from your hard disk. You should now have your admin privileges again. </answer>

<title>NIC and easy</title>

<question>My box has really poor network performance. Someone recently mentioned I might be set to half duplex (whatever that is). How can I find this out and what speed I am connected at? </question>

<answer>Firstly I'll explain half duplex. In a nutshell this means that your network card has negotiated with your network hardware and is not sending and receiving packets at the same time; in essence it's a one-way conversation. If you are using any modern piece of network hardware you should be able to achieve full duplex easily. When a NIC is connected to a network device it has to negotiate a compatible speed and duplex setting at the physical layer. On most cheaper switches this is done through a process known as autonegotiation: the switch `advertises' what link modes it supports, the NIC chooses one and informs the switch. This is the default behaviour for most NICs. On more expensive managed switches this setting can be fixed to ensure optimal performance. Often, if this is configured on the switch but your machine is still set to Autonegotiate you'll end up with a duplex mismatch, which causes network performance to be poor. To find out what your NIC is currently set to you need to use the ethtool command:

[root@dan ~]# ethtool eth0

This will show you various details. Note the Duplex and Speed entries; you'll also see what advertised modes the switch supports. Assuming your duplex is the issue and your switch is hard set to, say, 100Mbps for speed and Full Duplex, you can change eth0's setting by executing

 ethtool ­s eth0 speed 100 duplex full autoneg off

Be aware, though, that this will revert when you reboot the system. To set it permanently you should set the options for your NIC driver in modules.conf when it's loaded. If this doesn't solve the issue there are a number of things you can look at, but first you need to narrow down the issue. Is it a particular service that is slow? Your network connection could be fine but a service could be slow to respond for a number of reasons. Run ifconfig and see if you have any Tx/Rx errors or collisions ­ is it just your machine? Could it be affecting several machines due to a saturated switch? In essence, you need to track down where the issue lies to define your problem and resolve it! </answer>

<title>Linux 4 Video</title>

<question>Is it possible to use Linux to create a web-based TV station, broadcasting over the internet, mixing live feeds from webcams or video cameras? Secondly, if it is, is it possible to do this totally with open source? </question>

<answer>Yes, it is possible, and all with open source software. You haven't given us much detail about your intended project, so it is difficult to give specific help, but the (LS)3 Open Media Streaming Project looks to be a suitable starting point. This includes Fenice, a multimedia streaming server, and plenty of documentation to help you. It specifically mentions streaming from live video feeds. Fenice supports Video4Linux devices, so any webcam that works with Linux should be suitable. The (LS)3 website is at http://streaming.polito.it and includes discussion forums where you can exchange information with the developers and other users. Another server worth investigation is Flumotion, from www.fluendo.com. This is a commercial project, but the basic server is free under the GPL. You may also find a use for FreeJ, for mixing images and effects in real time. Its website is at http://freej.dyne.org. Finally, you should look at Dynebolic, a distro aimed at multimedia production and broadcast. It can be used as a Live CD, enabling you to try it out before installation. You can get the latest version from www.dynebolic.org. Good luck with your project and let us know when it goes public! </answer>

<title>Removing Linux</title>

<question>I purchased Fedora Core 5 on DVD from a publication and installed it on my Acer notebook, thinking I would always have access to my programs already installed on my Windows desktop. That was a wrong assumption on my part. As you can tell I'm new to this Linux OS. I realise there is the Wine software that allows one to incorporate Windows with Linux. Unfortunately, when I partitioned my hard drive, I lost my wireless connection to the internet and I can't seem to reconnect. Also, I have important software that I have to use on my Windows XP Pro but can no longer access. My question to you is: how do I undo the partition, thus removing Fedora Core 5 until I'm ready to reinstall it? I've tried to upload Partition Magic 8.0 software that I have but it won't work since it's an .exe file. I should also mention that my notebook came pre-installed with Windows XP and therefore I don't have the Windows XP CD. I've gone to different websites from my PC but to no avail since they all mention having the XP CD. </question>

<answer>There are two possibilities here. The first is that you deleted your Windows partition when installing Fedora Core by choosing the option to Remove All Partitions On Selected Drives. If this is the case, you have lost Windows and will have to reinstall. You should be able to obtain an installation CD from your laptop's supplier or manufacturer. The second, and hopefully correct, possibility, is that you still have Windows installed but have lost the option to boot it. Most distros' installers have the option to set up a dual-boot with Linux, where you get to choose your operating system each time you boot up. When you see the message `booting Fedora Core... in n seconds' shortly after booting, press a key and you will see a menu. If Windows is on this menu, select it and you'll have Windows working again. To remove the Fedora Core bootloader and have your system boot straight into Windows needs a Windows rescue disc. As it does not need a full XP installation CD, you can usually fix things with one of the boot discs available from www.bootdisk.com. It will be easier if you have access to a working Windows computer to download a disc image from here and write it to a floppy drive. Boot into the rescue system and run fixmbr to restore the Windows bootloader and remove the Grub menu. Fedora Core will still be there, but you can now run Partition Magic to reclaim the space it uses. </answer>

<title>Move over NFS</title>

<question>I've been using NFS between two boxes but have noticed that it's not the fastest transport in the world. Is there anything else you can recommend? </question>

<answer>Indeed, there's a great project that has developed something called the Network Block Device (http://nbd.sourceforge.net). It's something that has been compiled into the kernel for some time now and essentially presents a remote filesystem as a local device. The only downside is that you can only have it mounted read/write by one machine. Assuming that this wouldn't cause you any problems, I'd suggest you give Network Block Device a go ­ it's much faster than NFS and is really straightforward to configure. First of all, because NBD uses a file rather than a directory as its device you need to create a file to the size you require. To create a 1GB NBD you can do the following on the server:

 Dd if=/dev/zero of=/mnt/nbd-drive bs=1gb count=1

This will create a 1GB file as /mnt/remote. Next up you need to tell the NBD server to start up, listen to a certain port and use the file we just created. In this example we are using port 1077:

nbd-server 1077 /mnt/ndb-drive

Once this is done, ensure the nbd-client module is loaded on the client machine:

modprobe nbd.o
nbd=client 192.168.1.2 1077 /dev/nd0

Obviously you need to replace the IP given here with that of your server. You can use any filesystem you want to with NBD ­ because this is the first time we have accessed it, we'll format it ext2:

mke2fs /dev/nd0

And finally we can mount it:

mount -text2 /dev/nd0 /mnt/nbd-drive

If your server has multiple network cards you can start NBD on multiple ports to provide extra capacity or resilience:

nbd-server 1077 1078 1079 1080 /mnt/ndb-drive

And then on the client you can specify multiple IPs and ports:

nbd-client 192.168.1.2 1077 1078 192.168.2.2 1079
1080 /dev/nda

</answer>