Linux-Misc Digest #451, Volume #19               Sun, 14 Mar 99 14:13:12 EST

Contents:
  Linux Frequently Asked Questions with Answers (Part 3 of 6) ([EMAIL PROTECTED])
  Network problems... ("Janus N. Tøndering")
  bash and ldd: no such file or directory (Martin Honnen)

----------------------------------------------------------------------------

From: [EMAIL PROTECTED]
Crossposted-To: news.answers,comp.answers
Subject: Linux Frequently Asked Questions with Answers (Part 3 of 6)
Date: 14 Mar 1999 18:31:01 GMT

$ mount -t hpfs /dev/hda5 /hpfs


3.6 Can Linux access Amiga file systems?

The Linux kernel has support for the Amiga Fast File System (AFFS)
version 1.3 and later, both as a compile-time option and as a module.
The file Documentation/filesystems/affs.txt in the Linux kernel source
distribution has more information.

See "How do I upgrade/recompile my kernel?".

Linux supports AFFS hard-drive partitions only. Floppy access is not
supported due to incompatibilities between Amiga floppy controllers
and PC and workstation controllers. The AFFS driver can also mount
disk partitions used by the Un*x Amiga Emulator, by Bernd Schmidt.


3.7 Can Linux access BSD, SysV, etc. UFS?

Recent kernels can mount (read only) the UFS file system used by
System V; Coherent; Xenix; BSD; and derivatives like SunOS, FreeBSD,
NetBSD, and NeXTStep. UFS support is available as a kernel
compile-time option and a module.

See, "How do I upgrade/recompile my kernel?"


3.8 Can Linux access SMB file systems?

Linux supports read/write access of Windows for Workgroups and Windows
NT SMB volumes. See the file Documentation/filesystems/smbfs.txt of
the Linux kernel source distribution, and "How do I
upgrade/recompile my kernel?" in this FAQ.

There is also a suite of programs called Samba which provide support
for WfW networked file systems (provided they're for TCP/IP).
Information is available in the README file at
metalab.unc.edu/pub/Linux/system/network/samba/.

There is a SMB Web site at samba.anu.edu.au/samba/.


3.9 Can Linux access Macintosh file systems?

There is a set of user-level programs that read and write the
Macintosh Hierarchical File System (HFS). It is available at
metalab.unc.edu/pub/Linux/utils/disk-management.


3.10 Can I run Microsoft Windows programs under Linux?

WINE, a MS Windows emulator for Linux, is still not ready for general
distribution. If you want to contribute to its development, look for
the status reports in the comp.emulators.ms-windows.wine newsgroup.

There is also a FAQ, compiled by P. David Gardner, at
metalab.unc.edu/pub/Linux/docs/faqs/Wine-FAQ/.

In the meantime, if you need to run MS Windows programs, the best
bet--seriously--is to reboot. LILO, the Linux boot loader, can boot
one of several operating systems from a menu. See the LILO
documentation for details.

Also, LOADLIN (a DOS program to load a Linux, or other OS, kernel is
one way to make Linux co-exist with DOS. LOADLIN is particularly handy
when you want to install Linux on a 3rd or 4th drive on a system (or
when you're adding a SCSI drive to a system with an existing IDE).

In these cases, it is common for LILO's boot loader to be unable to
find or load the kernel on the "other" drive. So you just create a
C:\LINUX directory (or whatever), put LOADLIN in it with a copy of
your kernel, and use that.

LOADLIN is a VCPI compliant program. Win95 will want to, "shutdown
into DOS mode," to run it (as it would with certain other DOS
protected-mode programs).

Earlier versions of LOADLIN sometimes required a package called
REALBIOS.COM, which required a boot procedure on an (almost) blank
floppy to map the REALBIOS interrupt vectors (prior to the loading of
any software drivers). (Current versions don't seem to ship with it,
and don't seem to need it).

[Jim Dennis]


3.11 Can I use True Type Fonts with Linux?

Yes. There are a number of True Type font servers for the X Window
System. One of them is xfsft. Its home page is
http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/. There are also
instructions for configuration.

People have reported success with other True Type font servers. There
are links from the xfsft Home Page to them as well.

You can also compile True Type Font support into your X server
directly. Again, refer to the xfsft Home Page for details.


3.12 How can I boot Linux from MS-DOS?

If LILO doesn't work, and if the machine has MS-DOS or Microsoft
Windows, you may be left with a computer that won't boot. This can
also happen on an upgrade to your Linux distribution. Re-installing
LILO is the last thing that the installation does. So it is vitally
important when installing or upgrading Linux on a dual boot machine,
to have a MS-DOS or Windows rescue disk nearby so you can FDISK -MBR.
Then you can go about using LOADLIN.EXE instead of LILO.

This config.sys file is one possible way to invoke LOADLIN.EXE and
boot MS-DOS or Linux.
[menu]
menuitem=DOS, Dos Boot
menuitem=LINUX, Linux Boot

[LINUX]
shell=c:\redhat\loadlin.exe c:\redhat\autoboot\vmlinuz vga=5 root=/dev

[DOS]
STACKS = 0,0
rem all the other DOS drivers get loaded here.

This creates a menu where you can direcly jump to loadlin before all
of the MS-DOS drivers get loaded.

The paths and options are peculiar to one machine and should be
intuitivly obvious to the most casual observer. See the LOADLIN.EXE
docs for options. They are the same as LILO, and options are just
passed to the kernel, anyhow.

[Jim Harvey]


3.13 How can I boot Linux from OS/2's Boot Manager?

 1. Create a partition using OS/2's FDISK.EXE (Not Linux's fdisk).
 2. Format the partition under OS/2, either with FAT or HPFS. This is
    so that OS/2 knows about the partition being formatted. (This step
    is not necessary with OS/2 `warp' 3.0.)
 3. Add the partition to the Boot Manager.
 4. Boot Linux, and create a file system on the partition using mkfs
    -t ext2 or mke2fs. At this point you may, if you like, use Linux's
    fdisk to change the code of the new partition to type 83 (Linux
    Native)--this may help some automated installation scripts find
    the right partition to use.
 5. Install Linux on the partition.
 6. Install LILO on the Linux partition--NOT on the master boot record
    of the hard drive. This installs LILO as a second-stage boot
    loader on the Linux partition itself, to start up the kernel
    specified in the LILO configuration file. To do this, you should
    put
boot = /dev/hda2
    (where /dev/hda2 is the partition you want to boot from) in your
    /etc/lilo/config or /etc/lilo.config file.
 7. Make sure that it is the Boot Manager partition that is marked
    active, so that you can use Boot Manager to choose what to boot.
    
There is a set of HOWTO's on the subject of multi-boot systems on the
LDP Home Page, http://metalab.unc.edu/LDP/.


3.14 How can I share a swap partition between Linux and MS Windows?

See the Mini-HOWTO on the subject. The Mini-HOWTO is currently
unmaintained but is available at
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini/unmaintained.



4. File systems, disks, and drives


4.1 How can I get Linux to work with my disk?

If your disk is an IDE or EIDE drive, you should read the file
/usr/src/linux/drivers/block/README.ide (part of the Linux kernel
source code). This README contains many helpful hints about IDE
drives. Many modern IDE controllers do translation between `physical'
cylinders/heads/sectors, and `logical' ones.

SCSI disks are accessed by linear block numbers. The BIOS invents some
`logical' cylinder/head/sector fiction to support DOS.

An IBM PC-compatible BIOS will usually not be able to access
partitions which extend beyond 1024 logical cylinders, and will make
booting a Linux kernel from such partitions using LILO problematic at
best.

You can still use such partitions for Linux or other operating systems
that access the controller directly.

It's recommend that you create at least one Linux partition entirely
under the 1024 logical cylinder limit, and boot from that. The other
partitions will then be okay.

Also there seems to be a bit of trouble with the newer Ultra-DMA
drives. I haven't gotten the straight scoop on them--but they are
becoming a very common problem at the SVLUG installfests. When you can
get 8 to 12 Gig drives for $200 to $300 it's no wonder.

[Jim Dennis]


4.2 How can I undelete files?

In general, this is very hard to do on Unices because of their
multitasking nature. Undelete functionality for the ext2fs file system
is being worked on, but don't hold your breath.

There are a number of packages available which instead provide new
commands for deleting and copying which move deleted files into a
`wastebasket' directory. The files can be recovered until cleaned out
automatically by background processing.

Alternatively, you can search the raw disk device which holds the file
system in question. This is hard work, and you will need to be logged
in as root to do this. But it can be done. Run grep on the raw device;
e.g.:
grep -b 'bookmarks' /dev/hda

If the data has not been overwritten, you should be able to recover it
with a text editor.

[Dave Cinege]


4.3 How do I resize a partition (non-destructively)?

Use the FIPS.EXE program, included with most Linux distributions,
under MS-DOS.


4.4 Is there a defragmenter for ext2fs etc.?

Yes. There is defrag, a Linux file system defragmenter for ext2,
Minix, and old-style ext file systems. It is available at
metalab.unc.edu/pub/Linux/system/filesystems/defrag-0.70.tar.gz.

Users of the ext2 file system can probably do without defrag, because
ext2 contains extra code to keep fragmentation reduced even in very
full file systems.


4.5 How do I format and create a file system on a floppy?

To format a 3.5-inch, high density floppy:
$ fdformat /dev/fd0H1440
$ mkfs -t ext2 -m 0 /dev/fd0H1440 1440

For a 5.25 inch floppy, use fd0h1200 and 1200 as appropriate. For the
`B' drive use fd1 instead of fd0.

The -m 0 option tells mkfs.ext2 not to reserve any space on the disk
for the superuser--usually the last 10% is reserved for root.

The first command performs a low-level format. The second creates an
empty file system. You can mount the floppy like a hard disk partition
and simply cp and mv files, etc.

Device naming conventions generally are the same as for other Unices.
They can be found in Matt Welsh's Installation and Getting Started
Guide. (See "Where can I get the HOWTO's and other
documentation?") A more detailed and technical description is Linux
Allocated Devices by H. Peter Anvin, [EMAIL PROTECTED], which is
included in LaTeX and ASCII form in the kernel source distribution
(probably in /usr/src/kernel/Documentation), as devices.tex and
devices.txt.


4.6 Does Linux support virtualized file systems like RAID?

The most recent Linux kernels support software RAID, and they will
work with RAID disk controllers.

An automounter for NFS partitions is part of most Linux distributions.

In addition, several virtual file system projects exist. One of them,
the Linux Logical Volume Manager, is located at
http://linux.msede.com/lvm/.


4.7 Does Linux support file system encryption?

Yes. One file system, ppdd, is archived at
http://pweb.de.uu.net/flexsys.mtk/.


4.8 I get nasty messages about inodes, blocks, and the like.

You may have a corrupted file system, probably caused by not shutting
Linux down properly before turning off the power or resetting. You
need to use a recent shutdown program to do this--for example, the one
included in the util-linux package, available on sunsite and tsx-11.

If you're lucky, the program fsck (or e2fsck or xfsck as appropriate
if you don't have the automatic fsck front-end) will be able to repair
your file system. If you're unlucky, the file system is trashed, and
you'll have to re-initialize it with mkfs (or mke2fs, mkxfs, etc.),
and restore from a backup.

NB: don't try to check a file system that's mounted read/write--this
includes the root partition, if you don't see
VFS: mounted root ... read-only

at boot time.


4.9 My swap area isn't working.

When you boot (or enable swapping manually) you should see
     Adding Swap: NNNNk swap-space

If you don't see any messages at all you are probably missing
swapon -av

(the command to enable swapping) in your /etc/rc.local or /etc/rc.d/*
(the system startup scripts), or have forgotten to make the right
entry in /etc/fstab:

/dev/hda2       none       swap       sw

for example.

If you see
Unable to find swap-space signature

you have forgotten to run mkswap. See the manual page for details; it
works much like mkfs.

Running, 'free' in addition to showing free memory, should display:
          total       used       free
Swap:        10188       2960       7228

[Andy Jefferson]

Take a look also at the Installation HOWTO for detailed instructions
of how to set up a swap area.


4.10 How do I remove LILO so my system boots DOS again?

Using DOS (MS-DOS 5.0 or later, or OS/2), type FDISK /MBR (which is
not documented). This will restore a standard MS-DOS Master Boot
Record. If you have DR-DOS 6.0, go into FDISK in the normal way and
then select the `Re-write Master Boot Record' option.

If you don't have MS-DOS or DR-DOS, you need to have the boot sector
that LILO saved when you first installed it. You did keep that file,
didn't you? It's probably called boot.0301 or some such. Type
dd if=boot.0301 of=/dev/hda bs=445 count=1

(or /dev/sda if you're using a SCSI disk). This may also wipe out your
partition table, so beware! If you're desperate, you could use
dd if=/dev/zero of=/dev/hda bs=512 count=1

This will erase your partition table and boot sector completely: you
can then reformat the disk using your favorite software. But this will
render the contents of your disk inaccessible--you'll lose it all
unless you're an expert.

Note that the DOS MBR boots whichever (single!) partition is flagged
as `active'. You may need to use fdisk to set and clear the active
flags on partitions appropriately.


4.11 Why can't I use fdformat except as root?

The system call to format a floppy can only be done as root,
regardless of the permissions of /dev/fd0*. If you want any user to be
able to format a floppy, try getting the fdformat2 program. This works
around the problems by being setuid to root.


4.12 My ext2fs partitions are checked each time I reboot.

See "EXT2-fs: warning: mounting unchecked file system.".


4.13 My root file system is read-only!

Remount it. If /etc/fstab is correct, you can simply
mount -n -o remount /

If /etc/fstab is wrong, you must give the device name and possibly the
type, too: e.g.
mount -n -o remount -t ext2 /dev/hda2 /

To understand how you got into this state, see, "EXT2-fs:
warning: mounting unchecked file system."


4.14 I have a huge /proc/kcore! Can I delete it?

None of the files in /proc are really there--they're all, "pretend,"
files made up by the kernel, to give you information about the system
and don't take up any hard disk space.

/proc/kcore is like an `alias' for the memory in your computer. Its
size is the same as the amount of RAM you have, and if you read it as
a file, the kernel does memory reads.


4.15 My AHA1542C doesn't work with Linux.

The option to allow disks with more than 1024 cylinders is only
required as a workaround for a PC-compatible BIOS misfeature and
should be turned `off' under Linux. For older Linux kernels you need
to turn off most of the `advanced BIOS' options--all but the one about
scanning the bus for bootable devices.



5. Porting, compiling and obtaining programs


5.1 How do I compile programs?

Most Linux software is written in C and compiled with the GNU C
compiler. GCC is a part of every Linux distribution. The latest
compiler version, documentation, and patches are on
ftp://ftp.gnu.org/pub/gnu/.

Programs that are written in C++ must be compiled with the GNU G++
compiler, which is also included in Linux distributions and available
from the same place as GCC.

To build version 2.0.x kernels, you will need GCC version 2.7.2.x.
Trying to build a Linux kernel with a different compiler, like GCC
2.8.x, EGCS, or PGCC, may cause problems until the kernel developers
changed change the code so it will compile correctly with compilers
other than GCC 2.7.2.x.

Information on the EGCS compiler is at http://egcs.cygnus.com.

Note that at this time, the kernel developers are not answering bug
requests for 2.0.x version kernels, but instead are concentrating on
developing 2.1.x version kernels.

[J.H.M. Dassen]


5.2 How do I install GNU software?

On a correctly installed system, installing a GNU software package
requires four steps.
  * With the source .tar.gz archive in the /usr/src/ directory, or
    wherever you maintain your source files, untar and uncompress the
    package with the command:
tar zxvf package-name.tar.gz
  * Run the ./configure script in the untarred source archive's
    top-level directory with whatever command line arguments you need.
    The options that configure recognizes are usually contained in a
    file called INSTALL or README.
  * Run make. This will build the source code into an executable
    program (or programs) and may take a few minutes or a few hours,
    depending on the speed of the computer and the size of the
    package.
  * Run make install. This will install the compiled binaries,
    configuration files, and any libraries in the appropriate
    directories.
    

5.3 How do I port XXX to Linux?

In general, Unix programs need very little porting. Simply follow the
installation instructions. If you don't know--and don't know how to
find out--the answers to some of the questions asked during the
installation procedure, you can guess, but this tends to produce buggy
programs. In this case, you're probably better off asking someone else
to do the port.

If you have a BSD-ish program, you should try using -I/usr/include/bsd
and -lbsd on the appropriate parts of the compilation lines.


5.4 What is ld.so and where do I get it?

Ld.so is the dynamic library loader. Each binary using shared
libraries used to have about 3K of start-up code to find and load the
shared libraries. Now that code has been put in a special shared
library, /lib/ld.so, where all binaries can look for it, so that it
wastes less disk space, and can be upgraded more easily.

Ld.so can be obtained from tsx-11.mit.edu/pub/linux/packages/GCC/
and mirror sites. The latest version at the time of writing is
ld.so.1.9.5.tar.gz.

/lib/ld-linux.so.1 is the same thing for ELF ("What's all this
about ELF?") and comes in the same package as the a.out loader.


5.5 How do I upgrade the libraries withough trashing my system?

Note: You should always have a rescue disk set ready when you perform
this procedure, in the likely event that something goes wrong!

This procedure is especially difficult if you're upgrading very old
libraries like libc4. But you should be able to keep libc4 on the same
system with libc5 libraries for the programs that still need them. The
same holds true for upgrading from libc5 to the newer-yet glibc2
libraries.

The problem with upgrading dynamic libraries is that, the moment you
remove the old libraries, the utilities that you need to upgrade to
the new version of the libraries don't work. There are ways around
around this. One is to temporarily place a spare copy of the run time
libraries, which are in /lib/, in /usr/lib/, or /usr/local/lib/, or
another directory that is listed in the /etc/ld.so.conf file.

For example, when upgrading libc5 libraries, the files in /lib/ might
look something like:

libc.so.5
libc.so.5.4.33
libm.so.5
libm.so.5.0.9

These are the C libraries and the math libraries. Copy them to another
directory that is listed in /etc/ld.so.conf, like /usr/lib/.

cp -df /lib/libc.so.5* /usr/lib/
cp -df /lib/libm.so.5* /usr/lib/
ldconfig

Be sure to run ldconfig to upgrade the library configuration.

The files libc.so.5 and libm.so.5 are symbolic links to the actual
library files. When you upgrade, the new links will not be created if
the old links are still there, unless you use the -f flag with cp. The
-d flag to cp will copy the symbolic link itself, and not the file it
points to.

If you need to overwrite the link to the library directly, use the -f
flag with ln.

For example, to copy new libraries over the old ones, try this. Make a
symbolic link to the new libraries first, then copy both the libraries
and the links to /lib/, with the following commands.
ln -sf ./libm.so.5.0.48 libm.so.5
ln -sf ./libc.so.5.0.48 libc.so.5
cp -df libm.so.5* /lib
cp -df libc.so.5* /lib

Again, remember to run ldconfig after you copy the libraries.

If you are satisfied that everything is working correctly, you can
remove the temporary copies of the old libraries from /usr/lib/ or
wherever you copied them.


5.6 Has anyone ported / compiled / written XXX for Linux?

First, look in the Linux Software Map--it's at
metalab.unc.edu/pub/Linux/docs/linux-software-map, and on the
other FTP sites. A search engine is available on the World Wide Web at
http://www.boutell.com/lsm/.

Check the FTP sites ("Where can I get Linux material by FTP?")
first--search the ls-lR or INDEX files for appropriate strings.

Also look at the Linux Projects Map,
ftp.ix.de/pub/ix/Linux/docs/Projects-Map.gz.

There's a search engine for Linux FTP archives at
http://lfw.linuxhq.com/.

Also check out the Freshmeat Web site http://www.freshmeat.net,
which is really cool, even if the logo does look like cat food. ("
What online/free periodicals exist for Linux?" Freshmeat is
basically a site index that continuously updates the notices of new or
upgraded software for Linux.


-- 
[EMAIL PROTECTED]

------------------------------

From: "Janus N. Tøndering" <[EMAIL PROTECTED]>
Subject: Network problems...
Date: Sun, 14 Mar 1999 15:16:22 +0100

Hi!

After I installed the 2.2.2 kernel my network stopped functioning.
I have to adapters, one ISA and one PCI. I HAVE to use my ISA card
at home. Linux can locate and install the drivers without any problems.
I assign it an IP address (eth0) and start it (ifconfig eth0 up).

Now I can even ping myself....what is going on?

I have M$ Win on another partition and here the network works out fine....

Any suggestions...?
Janus N. Tøndring




------------------------------

From: Martin Honnen <[EMAIL PROTECTED]>
Subject: bash and ldd: no such file or directory
Date: Sun, 14 Mar 1999 15:12:36 +0100

I am throughly confused that I am unable to execute a file which is
listed with ls, which is found and examined with file but about which
both bash and ldd claim that it is not existing while naming it. bash
has no problems completing the name/path to the file.

bash# /usr/local/src/signtool/signtool 
bash: /usr/local/src/signtool/signtool: No such file or directory
bash# ldd /usr/local/src/signtool/signtool
ldd: can't execute /usr/local/src/signtool/signtool (No such file or
directory)
bash# file /usr/local/src/signtool/signtool
/usr/local/src/signtool/signtool: ELF 32-bit LSB executable i386 (386
and up) Version 1
bash# cd /usr/local/src/signtool/
bash# ./signtool 
bash: ./signtool: No such file or directory
bash# ldd ./signtool
ldd: can't execute ./signtool (No such file or directory)
bash# file ./signtool
./signtool: ELF 32-bit LSB executable i386 (386 and up) Version 1
bash# ls -al ./signtool
-rwxr-xr-x   1 root     wheel      627656 Jun 17  1998 ./signtool

Anyone having an idea what could be causing that trouble and how to
remedy it. System is slackware with an rather outdated 2.0.something
kernel but ELF should be ELF as far as I understand. 

That signtool is netscape's object signing tool version 1.1. 
 
http://developer.netscape.com/software/signedobj/signtool11/signtool11LinuxELF20.tar.gz

I am hearing a lot about libc5/glib versions of executables. But should
bash/ldd fail with such a no such file/directory message if that
signtool is glib linked and my system libc5?
Is anyone knowing how I could check the executable for the linked libs
besides using ldd?


CC of answers appreciated.

-- 

        Martin Honnen

        mailto: [EMAIL PROTECTED]
        http://www.sector27.de/martin.honnen



------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.misc) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Misc Digest
******************************

Reply via email to