updatng fork

Merge https://github.com/tLDP/LDP
This commit is contained in:
Jason S. Evans 2016-02-08 14:15:32 +00:00
commit 7f28c38fcb
514 changed files with 407544 additions and 4620 deletions

280
LDP/builder-2016/Makefile Normal file
View File

@ -0,0 +1,280 @@
# -- Makefile for handling TLDP documentation
#
#
default: all
DESTDIR := output
NODESTDIR := $(shell stat 2>/dev/null -t $(DESTDIR))
ifeq ($(NODESTDIR),)
$(error ENOENT (2): $(DESTDIR); please create or specify alternate DESTDIR directory)
endif
WORKING := working
NOWORKING := $(shell stat 2>/dev/null -t $(WORKING))
ifeq ($(NOWORKING),)
$(error ENOENT (2): $(WORKING); please create or specify alternate WORKING directory)
endif
ifeq ($(OBJ),)
$(error OBJ not specified, please supply a DocBook SGML source file)
endif
FLAVOR=$(shell awk -F= '/^ID=/{print $$2}' /etc/os-release)
ifeq ($(FLAVOR),ubuntu)
# -- Ubuntu:
# -- for DocBook SGML (DSSSL) processing
LDPDSL := /usr/share/sgml/docbook/stylesheet/dsssl/ldp/ldp.dsl
DBDSL := /usr/share/sgml/docbook/stylesheet/dsssl/modular/html/docbook.dsl
COLLATE := /usr/bin/collateindex.pl
# -- for DocBook XML (XSLT layer) processing
XSLCHUNK := /usr/share/xml/docbook/stylesheet/ldp/html/tldp-sections.xsl
XSLSINGLE := /usr/share/xml/docbook/stylesheet/ldp/html/tldp-one-page.xsl
XSLPRINT := /usr/share/xml/docbook/stylesheet/ldp/fo/tldp-print.xsl
else ifeq ($(FLAVOR),opensuse)
# -- OpenSUSE-13.2
# -- for DocBook SGML (DSSSL) processing
DBDSL := /usr/share/sgml/docbook/dsssl-stylesheets-1.79/html/docbook.dsl
COLLATE := /usr/share/sgml/docbook/dsssl-stylesheets-1.79/bin/collateindex.pl
LDPDSL := /home/mabrown/vcs/LDP/LDP/builder/dsssl/ldp.dsl
# -- for DocBook XML (XSLT layer) processing
XSLCHUNK := /home/mabrown/vcs/LDP/LDP/builder/xsl/ldp-html-chunk.xsl
XSLSINGLE := /home/mabrown/vcs/LDP/LDP/builder/xsl/ldp-html.xsl
XSLPRINT := /home/mabrown/vcs/LDP/LDP/builder/xsl/ldp-print.xsl
else
$(error Sorry, unknown/untested flavor of Linux, $(FLAVOR))
endif
# -- standard definitions and other little tools
#
XML_CATALOG_FILES := /etc/xml/catalog
PERL := $(shell which perl 2>/dev/null)
VERBOSE :=
OBJDIR := $(dir $(OBJ))
OBJFORMAT := $(lastword $(subst ., ,$(suffix $(OBJ))))
OBJFILE := $(notdir $(OBJ))
OBJSTEM := $(OBJFILE:.$(OBJFORMAT)=)
OBJINDEX := $(abspath $(OBJDIR)/index.sgml)
ifeq ($(OBJFORMAT),sgml)
LINUXDOC := $(shell head -n 5 "$(OBJ)" | tr A-Z a-z | awk '/doctype linuxdoc system/{ print $$2}')
ifeq ($(LINUXDOC),linuxdoc)
OBJFORMAT = linuxdoc
endif
endif
OUTDIR = $(abspath $(abspath $(WORKING))/$(OBJSTEM))
FO = $(abspath $(OUTDIR)/$(OBJSTEM).fo)
PDF = $(abspath $(OUTDIR)/$(OBJSTEM).pdf)
HTML = $(abspath $(OUTDIR)/$(OBJSTEM).html)
HTMLS = $(abspath $(OUTDIR)/$(OBJSTEM)-single.html)
TEXT = $(abspath $(OUTDIR)/$(OBJSTEM).txt)
# - - - - - - - - - - - - - - - - - - - - - - -
# generic targets
# - - - - - - - - - - - - - - - - - - - - - - -
all: announce clear_$(OUTDIR) $(OBJFORMAT)-all
rsync $(VERBOSE) --archive --delay-updates --delete-after --partial $(OUTDIR)/ $(DESTDIR)/$(OBJSTEM)/
clear_$(OUTDIR):
(test ! -d $(OUTDIR) || ( cd $(dir $(OUTDIR)) && rm -rf $(VERBOSE) -- $(notdir $(OUTDIR))))
$(OUTDIR): $(WORKING)
mkdir $(OUTDIR)
$(OUTDIR)/images $(OUTDIR)/resources: $(OUTDIR)
(cd $(OBJDIR) && test ! -d $(notdir $@) || rsync -aL $(VERBOSE) ./$(notdir $@) $(OUTDIR))
.PHONY: announce
announce:
$(info Detected $(OBJ) file as $(OBJFORMAT).)
# - - - - - - - - - - - - - - - - - - - - - - -
# specific handling for DocBook SGML documents
# - - - - - - - - - - - - - - - - - - - - - - -
.PHONY: sgml-all
sgml-all: sgml-$(OBJINDEX) sgml-$(HTMLS) sgml-$(TEXT) sgml-$(PDF) sgml-$(HTML)
rm -f -- "$(OBJINDEX)"
.PHONY: sgml-$(OBJINDEX)
sgml-$(OBJINDEX): $(OUTDIR)/images $(OUTDIR)/resources
(cd $(OUTDIR) \
&& $(PERL) $(COLLATE) -N -o "$(OBJINDEX)" \
&& openjade -t sgml -V html-index -d "$(DBDSL)" "$(OBJ)" \
&& $(PERL) $(COLLATE) -g -t Index -i doc-index -o "$(notdir $(OBJINDEX))" HTML.index "$(OBJ)" \
&& mv -f $(VERBOSE) -- $(notdir $(OBJINDEX)) $(dir $(OBJINDEX)) \
&& find . -mindepth 1 -maxdepth 1 -type f -print0 | xargs --null --no-run-if-empty -- rm -f --)
.PHONY: sgml-$(HTMLS)
sgml-$(HTMLS): $(OUTDIR)/resources $(OUTDIR)/images $(INDEX)
# -- note the mv -vu $(notdir $(HTML)) $(notdir $(HTMLS))
# the docbook2html processor will create a single-page
# HTML file called $(OBJSTEM).html. We want to name it
# $(OBJSTEM)-single.html, so that, later, $(OBJSTEM).html
# can be the main output for chunked HTML
#
(cd $(OUTDIR) \
&& jw -f docbook -b html \
--dsl "$(LDPDSL)#html" \
-V nochunks \
-V '%callout-graphics-path%=images/callouts/' \
-V '%stock-graphics-extension%=.png' \
-V '%stylsheet-type%=freddie.css' \
--output . \
$(OBJ) \
&& mv --update $(VERBOSE) -- $(notdir $(HTML)) $(notdir $(HTMLS)))
.PHONY: sgml-$(TEXT)
sgml-$(TEXT): sgml-$(HTMLS)
(cd $(OUTDIR) && html2text -style pretty -nobs $(notdir $(HTMLS)) > $(notdir $@))
.PHONY: sgml-$(PDF)
sgml-$(PDF): $(OUTDIR)
( cd $(OUTDIR) \
&& jw -f docbook -b pdf --output . $(OBJ) \
|| dblatex -F sgml -t pdf -o sgml-$(PDF) $(OBJ))
.PHONY: sgml-$(HTML)
sgml-$(HTML): $(OUTDIR)
# -- the jade DocBook processing toolchain produces an HTML output
# file called index.html in the chunked output; therefore, we want
# to create a link from Some-Name.html to index.html; if TLDP
# wishes to do something else with index.html, this is the place
# to change it (for SGML DocBook inputs, anyway).
#
( cd $(OUTDIR) \
&& jw -f docbook -b html \
--dsl "$(LDPDSL)#html" \
-V '%admon-graphics-path%=images/' \
-V '%callout-graphics-path%=images/callouts/' \
-V '%stock-graphics-extension%=.png' \
--output . \
$(OBJ) \
&& ln -snf $(VERBOSE) -- index.html $(notdir $(HTML)))
# - - - - - - - - - - - - - - - - - - - - - - -
# specific handling for DocBook XML documents
# - - - - - - - - - - - - - - - - - - - - - - -
.PHONY: xml-all
xml-all: xml-$(HTMLS) xml-$(TEXT) xml-$(PDF) xml-$(HTML)
.PHONY: xml-$(HTMLS)
xml-$(HTMLS): $(OUTDIR) $(OUTDIR)/images $(OUTDIR)/resources
# -- note the mv -vu $(notdir $(HTML)) $(notdir $(HTMLS))
# the docbook2html processor will create a single-page
# HTML file called $(OBJSTEM).html, which we will want
# to create as a symlink, later
(cd $(OUTDIR) \
&& XML_CATALOG_FILES="$(XML_CATALOG_FILES)" \
xsltproc > "$(notdir $(HTMLS))" \
--nonet \
--stringparam admon.graphics.path images/ \
--stringparam base.dir . \
"$(XSLSINGLE)" "$(OBJ)")
# -- what about images and other resources?
.PHONY: xml-$(TEXT)
xml-$(TEXT): xml-$(HTMLS)
(cd $(OUTDIR) && html2text -style pretty -nobs $(notdir $(HTMLS)) > $(notdir $@))
.PHONY: xml-$(FO)
xml-$(FO): $(OUTDIR)
(cd $(OUTDIR) \
&& XML_CATALOG_FILES=/etc/xml/catalog \
xsltproc > "$(notdir $(FO))" \
--nonet \
"$(XSLPRINT)" "$(OBJ)")
.PHONY: xml-$(PDF)
xml-$(PDF): xml-$(FO)
(fop -fo $(FO) -pdf $(PDF) && rm -f $(FO) \
|| dblatex -F xml -t pdf -o $(PDF) $(OBJ))
xml-$(HTML): xml-$(HTMLS)
(cd $(OUTDIR) \
&& XML_CATALOG_FILES=/etc/xml/catalog \
xsltproc \
--nonet \
--stringparam admon.graphics.path images/ \
--stringparam base.dir . \
"$(XSLCHUNK)" "$(OBJ)" \
&& ln -snf $(VERBOSE) -- index.html $(notdir $(HTML)))
# -- what about images and other resources?
# - - - - - - - - - - - - - - - - - - - - - - -
# specific handling for LinuxDoc documents
# - - - - - - - - - - - - - - - - - - - - - - -
.PHONY: linuxdoc-all
linuxdoc-all: linuxdoc-$(HTMLS) linuxdoc-$(TEXT) linuxdoc-$(PDF) linuxdoc-$(HTML)
.PHONY: linuxdoc-$(HTMLS)
linuxdoc-$(HTMLS): $(OUTDIR)/images
# -- note the mv -vu $(notdir $(HTML)) $(notdir $(HTMLS))
# the docbook2html processor will create a single-page
# HTML file called $(OBJSTEM).html, which we will want
# to create as a symlink, later
(cd $(OUTDIR) \
&& sgml2html --split=0 $(OBJ) \
&& mv --update $(VERBOSE) -- $(notdir $(HTML)) $(notdir $(HTMLS)))
# -- what about images and other resources?
.PHONY: linuxdoc-$(TEXT)
linuxdoc-$(TEXT): linuxdoc-$(HTMLS)
(cd $(OUTDIR) && html2text -style pretty -nobs $(notdir $(HTMLS)) > $(notdir $(TEXT)))
.PHONY: linuxdoc-$(PDF)
linuxdoc-$(PDF): linuxdoc-$(HTMLS)
( cd $(OUTDIR) \
&& htmldoc \
--size universal \
-t pdf \
--firstpage p1 \
--outfile $(notdir $(PDF)) $(notdir $(HTMLS)))
.PHONY: linuxdoc-$(HTML)
linuxdoc-$(HTML): $(OUTDIR)
# -- LinuxDoc processing tools create the output document file as
# Some-Name.html (and Some-Name-1.html, Some-Name-2.html), so we
# should create a symlink from index.html to the Some-Name.html.
( cd $(OUTDIR) \
&& sgml2html $(OBJ) \
&& ln -snf $(VERBOSE) -- $(notdir $(HTML)) index.html)
# -- what about images and other resources?
# - - - - - - - - - - - - - - - - - - - - - - -
# more general fragments for Makefile degubbing
# - - - - - - - - - - - - - - - - - - - - - - -
vars:
@printf "%s\n" \
"OBJ = $(OBJ)" \
"OBJDIR = $(OBJDIR)" \
"OBJINDEX = $(OBJINDEX)" \
"OBJFORMAT = $(OBJFORMAT)" \
"OBJFILE = $(OBJFILE)" \
"OBJSTEM = $(OBJSTEM)" \
"OUTDIR = $(OUTDIR)" \
"PDF = $(PDF)" \
"HTML = $(HTML)" \
"HTMLS = $(HTMLS)" \
"TEXT = $(TEXT)" \
"DESTDIR = $(DESTDIR)" \
.PHONY: help
help:
@printf "%s\n" \
"There will be help here in the future."
#
# -- end of file

42
LDP/builder-2016/README Normal file
View File

@ -0,0 +1,42 @@
produce-ldp-outputs README
--------------------------
The produce-ldp-outputs is a shell script (and Makefile) which operates on an
LDP checkout and generates text, PDF and HTML (single-page and chunked)
outputs into a flat hierarchy.
Software dependencies:
----------------------
* Package load to allow functioning on Ubuntu-14.04.3
- git{,-core,-doc,-man}
- docbook{,-dsssl,-xsl,-utils}
- htmldoc{,-common}
- xsltproc
- fop
- sgml2x
- openjade
- opensp
- ldp-docbook-xsl
- ldp-docbook-dsssl
- html2text
- linuxdoc-tools{,-text,-latex}
- make
- rsync
- coreutils
* Package load to allow functioning on OpenSUSE-13.2
- docbook_{3,4,5}
- docbook5-xsl-stylesheets
- docbook-dsssl-stylesheets
- docbook-{simple,toys,utils,utils-minimal}
- docbook-xsl-stylesheets
- openjade
- sgmltool
- htmldoc
- html2text
- make
- rsync
- coreutils

21
LDP/builder-2016/TODO Normal file
View File

@ -0,0 +1,21 @@
TODO produce-ldp-outputs
------------------------
* instead of requiring directory, working, use mktemp -d
* add support for varied verbosity levels
* figure out the TLDP XSL stylesheet support question)
(no such package for OpenSUSE; Frank Lichtenheld's upstream Debian
packages require minor changes to generate FOP outputs)
XSL changes:
------------
Fundamentally, we simply need to turn off fop.extensions and turn on
fop1.extensions in order to be able to generate PDFs from our DocBook sources.
<!-- fop extensions for outline and label are unknown; turn off -->
<xsl:param name="fop.extensions" select="0"/>
<!-- https://lists.oasis-open.org/archives/docbook-apps/201110/msg00080.html -->
<!-- fop1 extensions fix table handling; turn on -->
<xsl:param name="fop1.extensions" select="1"/>

View File

@ -0,0 +1,343 @@
#! /bin/bash
#
# -- Program to locate all DocBook and LinuxDoc files in The Linux
# Documentation Project (TLDP) Version Control System (VCS) and
# produce HTML, PDF and text outputs (with companion Makefile)
#
# -- License: GPLv2
#
# -- written for TLDP in January 2016; Martin A. Brown <martin@linux-ip.net>
#
set -e
# set -x
SELFNAME="$( readlink --canonicalize ${0})"
ME="${SELFNAME##*/}" # -- basename
DIR="${SELFNAME%/*}" # -- dirname
MAKEFILE="${DIR}/Makefile"
VCSBASE="${1:-$HOME/vcs/LDP/LDP}" && shift
DESTDIR="${1:-$PWD/output}" && shift
SOURCES=""
SOURCES="${SOURCES} ${VCSBASE}/faq/linuxdoc"
SOURCES="${SOURCES} ${VCSBASE}/guide/linuxdoc"
SOURCES="${SOURCES} ${VCSBASE}/howto/linuxdoc"
SOURCES="${SOURCES} ${VCSBASE}/faq/docbook"
SOURCES="${SOURCES} ${VCSBASE}/guide/docbook"
SOURCES="${SOURCES} ${VCSBASE}/howto/docbook"
SOURCES="${SOURCES} ${VCSBASE}/ref/docbook"
# -- my favorite shell functions (and their offspring)
#
gripe () { printf >&2 "%s\n" "$@"; }
debug () { : ; } # -- NOOP for now
notice () { gripe "${ME}[$$]: $@"; }
abort () {
EXIT_CODE="${1}" && shift;
gripe "E: $@";
exit $EXIT_CODE;
}
# -- defaults for logging output; override these in environment
# if you care
#
: "${LOG_FACILITY:=daemon}"
: "${LOG_PRIO:=err}"
: "${LOGGER_OPTS:=-t ${ME}[$$] -p ${LOG_FACILITY}.${LOG_PRIO}}"
# -- if we are connected to a terminal, then send logging output
# to STDERR, as well
# -- create logger as a shell function
#
logger () {
tty -s && LOGGER_OPTS="-s $LOGGER_OPTS"
command logger $LOGGER_OPTS -- "$@" ;
}
usage () {
gripe "usage: ${ME} [<ldp_checkout> [<destdir>]]" \
" default ldp_checkout=${VCSBASE}" \
" default destdir=${DESTDIR}" \
""
abort 1 "$@";
}
# - - - - - - - - - - - -
function select_source_files () {
# - - - - - - - - - - - -
#
# -- return a list of filenames in any directory which are (likely)
# to be documents for TLDP
# args 1: file extension sought
# args +2: base directories in which to seek
local ext=${1} && shift
for d in $@; do
test -e "$d" || abort 2 "ENOENT (2): No such file or directory: ${d}"
test -d "$d" || abort 20 "ENOTDIR (20): Not a directory: ${d}";
# -- locate each solo text document, e.g. XWindow-User-HOWTO.xml
#
find "$d" -mindepth 1 -maxdepth 1 -type f -name \*."${ext}" -printf "%p\n"
# -- locate each document owning a directory, e.g. 8021X-HOWTO/8021X-HOWTO.sgml
#
{
find "$d" -mindepth 1 -maxdepth 1 -type d -printf "%p\n" | while read DIR; do
# -- get just the stem of the document name from the directory, e.g. 8021X-HOWTO
stem=${DIR##*/}
# -- construct an abspath, e.g. /full/path/to/8021X-HOWTO/8021X-HOWTO.sgml
doc="${DIR}/${stem}.${ext}"
# -- see if file exists, and if so, print its name
# File existence test logic is reversed, because this script runs
# with "set -e". If the test for existence fails, then the script
# stops (this should be familiar to those who have written
# Makefiles).
#
test ! -e "${doc}" || printf "%s\n" "${doc}"
done
}
done
}
# - - - - - - - - - - - -
list_output_documents () {
# - - - - - - - - - - - -
#
# -- by definition, each directory in the output tree
# is named by the STEM, so this produces a list of the
# stem names of the documents that have been produced
#
find "$@" -mindepth 1 -maxdepth 1 -printf "%P\n";
}
# - - - - - - - - - - - -
list_source_documents () {
# - - - - - - - - - - - -
#
select_source_files xml "$@";
select_source_files sgml "$@";
}
# - - - - - - - - - - - -
get_stem () {
# - - - - - - - - - - - -
#
# -- filter filenames and produce stem names
# - no args
# - STDIN: A filename (can be full filename)
# - STDOUT: Just the stem name.
#
while read FULLNAME ; do
fn="${FULLNAME##*/}"
printf "%s\n" "${fn%.*}";
done
}
# - - - - - - - - - - - -
sort_by_stem () {
# - - - - - - - - - - - -
#
# -- typical decorate, sort, undecorate pattern, though,
# admittedly, not common in shell
# - no args
# - STDIN: stream of strings with full path
# - STDOUT: stem-sorted stream of strings with full path
#
{
{
while read OBJ; do
stem=$( printf "%s\n" "$OBJ" | get_stem )
printf "%s %s\n" "${stem}" "$OBJ"
done;
} | sort;
} | awk '{print $2}';
}
# - - - - - - - - - - - -
find_sort_by_mtime () {
# - - - - - - - - - - - -
#
local SOURCE="${1}" && shift
local OUTPUT="${1}" && shift
{
# -- directory age does not count, only file age!
#
test -e "${SOURCE}" \
|| abort 2 "ENOENT (2): we thought this directory just existed: ${SOURCE}"
find "$SOURCE" -type f -printf "%T@ SOURCE %p\n";
test -d "${OUTPUT}" \
&& find "$OUTPUT" -type f -printf "%T@ OUTPUT %p\n";
} | sort -gr;
}
# - - - - - - - - - - - -
function is_output_current () {
# - - - - - - - - - - - -
#
# -- return a list of filenames in any directory which are (likely)
# to be documents for TLDP
# args 1: input file name
# args 2: DESTDIR
#
# -- there are two (probable) cases for the input, A) a single standalone
# file or B) the main document source file in a dedicated directory;
# below is a description of the logic....
#
# Case A) single standalone file; we don't want to find all files from
# the parent directory
#
# OBJ=/home/fred/vcs/LDP/LDP/howto/docbook/Software-Release-Practice-HOWTO.xml
# DESTDIR=/home/fred/wip/tldp/output
# fn=Software-Release-Practice-HOWTO.xml
# stem=Software-Release-Practice-HOWTO
# parentdir=/home/fred/vcs/LDP/LDP/howto/docbook
# parentstem=docbook
#
# Case B) main document source file in a dedicated directory; we do want
# to look for all files starting from the parent directory
#
# OBJ=/home/fred/vcs/LDP/LDP/howto/docbook/Jabber-Server-Farming-HOWTO/Jabber-Server-Farming-HOWTO.xml
# DESTDIR=/home/fred/wip/tldp/output
# fn=Jabber-Server-Farming-HOWTO.xml
# stem=Jabber-Server-Farming-HOWTO
# parentdir=/home/fred/vcs/LDP/LDP/howto/docbook/Jabber-Server-Farming-HOWTO
# parentstem=Jabber-Server-Farming-HOWTO
#
local stem="${1}" && shift
local OBJ="${1}" && shift
local DESTDIR="${1}" && shift
local parentdir="${OBJ%/*}"
local parentstem="${parentdir##*/}"
startloc="$OBJ"
test "${stem}" == "${parentstem}" \
&& startloc="${parentdir}"
local outdir="${DESTDIR}/${stem}"
result=$( find_sort_by_mtime "$startloc" "$outdir" ) \
|| abort 1 "Could not retrieve files for $stem sorted by mtime."
newest=$( head -n 1 <<<"$result" ) \
|| abort 1 "Could not get first result for $stem files."
DECISION=$( sed -e '/ OUTPUT /,$d' <<<"$newest" ) \
|| abort 1 "Could not check if the SOURCE files are newest...."
if test -z "$DECISION" ; then
debug "${stem} No new source files"
return 0
else
# -- squawk about it, to the user
#
while read TS SOURCE FNAME ; do
ts=$( date +%F-%T --date @"$TS" )
notice "${stem} updated file found ($ts): $FNAME"
done <<< "$DECISION"
return 1
fi
}
# - - - - - - - - - - - -
generate_new_content () {
# - - - - - - - - - - - -
#
local stem="${1}" && shift
local OBJ="${1}" && shift
local DESTDIR="${1}" && shift
#local makefile="${1}" && shift
# -- make a stab at processing the document, but don't let the driver
# stop just because a single document has an error
#
{
{
exec 2>&1;
make -f "$MAKEFILE" OBJ="${OBJ}" DESTDIR="${DESTDIR}";
test $? -eq 0 \
|| gripe "FAILURE" "FAILURE producing all outputs from $OBJ" "FAILURE";
} | sed -ue "s/^/${stem} /";
} | command logger -s ${LOGGER_OPTS} --
}
# - - - - - - - - - - - -
list_orphaned_outputs () {
# - - - - - - - - - - - -
#
local DESTDIR="${1}" && shift
local SOURCES="$@"
{
SOURCEDOCS=$( list_source_documents "${SOURCES}" | get_stem | sort )
OUTPUTDOCS=$( list_output_documents "${DESTDIR}" | sort )
# -- list documents in source tree that do not have corresponding
# output directory
#
diff -Nur -- <( printf "%s\n" "$SOURCEDOCS" ) <( printf "%s\n" "$OUTPUTDOCS" ) \
| tail -n +2 \
| grep -- '^-' \
| sed -e 's|^-|Unbuilt source document |';
# -- list documents in output tree that do not have corresponding
# input directory
#
diff -Nur -- <( printf "%s\n" "$OUTPUTDOCS" ) <( printf "%s\n" "$SOURCEDOCS" ) \
| tail -n +2 \
| grep -- '^-' \
| sed -e 's|^-|Extra output document |';
} | command logger -s ${LOGGER_OPTS} --;
}
# - - - - - - - - - - - -
produce_ldp_outputs () {
# - - - - - - - - - - - -
#
local DESTDIR="${1}" && shift
local SOURCES="$@"
list_source_documents "$SOURCES" | sort_by_stem | while read OBJ; do
stem=$( printf "%s\n" "$OBJ" | get_stem )
notice "${stem} checking if rebuild required for $OBJ"
# -- N.B. there's a dangerous looking ||: at the end of the line
# calling the Makefile. This is intentional. The Makefile
# may not be able to process the input successfully, but we
# would like to continue, if possible, and process the next
# available document.
#
is_output_current "${stem}" "$OBJ" "$DESTDIR" \
|| (generate_new_content "${stem}" "${OBJ}" "${DESTDIR}" || :)
done
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# main
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
test -d "${DESTDIR}" \
|| usage "Output directory must already exist, quitting."
produce_ldp_outputs "$DESTDIR" "$SOURCES"
list_orphaned_outputs "$DESTDIR" "$SOURCES"
# -- end of file

View File

@ -379,7 +379,7 @@ wrong version of WordPerfect?</title>
<para>You may install it only on two machines at a time, for use by only a single user. You may not reverse-engineer or modify it. You must be in compliance with export laws and not associated with countries the USA considers naughty, like Cuba. You mustn't be on the USA Treasury or Commerce Department's lists of naughty people (drug smugglers, terrorists, export-regs violators, etc.). You mustn't allow use of the program to violate USA law.</para>
<para>Please note that, unlike WP 8.0 DPE, WP 8.1 is licensed for commercial usage.<para>
<para>Please note that, unlike WP 8.0 DPE, WP 8.1 is licensed for commercial usage.</para>
<para>The full licence text may be studied here: <ulink url="http://linuxmafia.com/pub/linux/apps/corel-wordperfect-8.1-licence">http://linuxmafia.com/pub/linux/apps/corel-wordperfect-8.1-licence</ulink></para>
</sect2>
@ -542,9 +542,9 @@ Linux?</title>
<listitem><para>Sophist Solutions, Inc. <ulink url="http://www.sophists.com/Led/LedIt/">LedIt</ulink> word processor. Small, fast. GTK+-based. Supports RTF. No .wpd support.</para></listitem>
<listitem><para>SoftMaker Software GmbH <ulink url="http://www.softmaker.de/tml_en.htm">TextMaker for Linux</ulink> is the initial component of the planned SoftMaker Office Anywhere suite. Fast, light. Full-featured. Supports MS-Word, Pocket Word, RTF, HTML, Unicode. No .wpd support.</listitem>
<listitem><para>SoftMaker Software GmbH <ulink url="http://www.softmaker.de/tml_en.htm">TextMaker for Linux</ulink> is the initial component of the planned SoftMaker Office Anywhere suite. Fast, light. Full-featured. Supports MS-Word, Pocket Word, RTF, HTML, Unicode. No .wpd support.</para></listitem>
<listitem><para>ThinkFree Corp.'s <ulink url="http://www.thinkfree.com/">ThinkFree Office</ulink> is an integrated word processor, spreadsheet, and presentation graphics application available in Java bytecode. Accordingly, it requires the Sun Java Runtime Environment 1.1.8 or later. Supports MS-Word, HTML, RTF formats. No .wpd support.</listitem>
<listitem><para>ThinkFree Corp.'s <ulink url="http://www.thinkfree.com/">ThinkFree Office</ulink> is an integrated word processor, spreadsheet, and presentation graphics application available in Java bytecode. Accordingly, it requires the Sun Java Runtime Environment 1.1.8 or later. Supports MS-Word, HTML, RTF formats. No .wpd support.</para></listitem>
</itemizedlist>
@ -575,7 +575,7 @@ Linux?</title>
<listitem><para>Axene, Inc. <ulink url="http://xibios.free.fr/english/">Xclamation (DTP) and XAllWrite (word processor)</ulink> programs. Motif / Lesstif-based. GPLed C++ source code available at <ulink url="http://xibios2.free.fr/">http://xibios2.free.fr/</ulink>. Supports its own format, HTML, and ASCII; no .wpd support.</para></listitem>
<listitem><para><ulink url="http://web2.altmuehlnet.de/fschmid/">Scribus</ulink>. Qt-based destkop publishing program reminiscent of Adobe PageMaker (not a word processor, per se). File format is XML-based. Appears to import unformatted text, only.
<listitem><para><ulink url="http://web2.altmuehlnet.de/fschmid/">Scribus</ulink>. Qt-based destkop publishing program reminiscent of Adobe PageMaker (not a word processor, per se). File format is XML-based. Appears to import unformatted text, only.</para></listitem>
<listitem><para><ulink url="http://www.lyx.org/">LyX</ulink> (slick graphical front-end to LaTeX). Implements ASCII + TeX markup in a quasi-WYSIWYG graphical environment. You write structured documents (discussed below), but the process is made graphical and fairly easy. Produces reliable, high-quality output. Excellent built-in help. Supports LinuxDoc, DocBook, LaTeX, PostScript, DVI, ASCII. XForms or Qt-based, with GTK+ integration pending. No .wpd support.</para></listitem>

View File

@ -0,0 +1 @@
abook.xml

View File

@ -66,9 +66,9 @@
<section id="intro_01">
<title>Why this guide?</title>
<para>The primary reason for writing this document is that a lot of readers feel the existing <ulink url="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html">HOWTO</ulink> to be too short and incomplete, while the <ulink url="http://tldp.org/LDP/abs/html/">Bash Scripting</ulink> guide is too much of a reference work. There is nothing in between these two extremes. I also wrote this guide on the general principal that not enough free basic courses are available, though they should be.</para>
<para>The primary reason for writing this document is that a lot of readers feel the existing <ulink url="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html">HOWTO</ulink> to be too short and incomplete, while the <ulink url="http://tldp.org/LDP/abs/html/">Bash Scripting</ulink> guide is too much of a reference work. There is nothing in between these two extremes. I also wrote this guide on the general principle that not enough free basic courses are available, though they should be.</para>
<para>This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples. I partly wrote it because I don't get excited with stripped down and over-simplified examples written by people who know what they are talking about, showing some really cool Bash feature so much out of its context that you cannot ever use it in practical circumstances. You can read that sort of stuff after finishing this book, which contains exercises and examples that will help you survive in the real world.</para>
<para>From my experience as UNIX/Linux user, system administrator and trainer, I know that people can have years of daily interaction with their systems, without having the slightest knowledge of task automation. Thus they often think that UNIX is not userfriendly, and even worse, they get the impression that it is slow and old-fashioned. This problem is another one that can be remedied by this guide.</para>
<para>From my experience as UNIX/Linux user, system administrator and trainer, I know that people can have years of daily interaction with their systems, without having the slightest knowledge of task automation. Thus they often think that UNIX is not user-friendly, and even worse, they get the impression that it is slow and old-fashioned. This problem is another one that can be remedied by this guide.</para>
</section>
@ -205,7 +205,6 @@ the maintainer of this document.
</section>
<section id="intro_07">
<title>Copyright information</title>
<title>Copyright information</title>
<screen>
* Copyright (c) 2002-2007, Machtelt Garrels
* All rights reserved.

View File

@ -1,4 +1,5 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" [
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!-- Include macros -->
<!ENTITY about SYSTEM "about.xml">
@ -139,7 +140,14 @@ try to avoid clutter and feel free to waste space in the code to make it more re
&glossary;
<!-- Index -->
&index;
<!--
xsltproc and friends will happily generate the index in one
pass, obviating the need for the separate index.xml file, which
must be generated using the jade toolchain; thus commenting out
the (missing) external index and generating it on the fly
-->
<!-- &index; -->
<index id="bookindex"></index>
</book>

View File

@ -103,7 +103,7 @@ Updated document with new grammatical review. Re-ordered the entire Text section
<date>20th April 2004</date>
<authorinitials>GA</authorinitials>
<revremark>
Attempted to fix document according to TLDP criticisms. Added notes and tips more sectioning. Now complying to the open group standards for the <productname>UNIX</productname> system trademark. Document should be ready for TLDP site.
<remark>Attempted to fix document according to TLDP criticisms. Added notes and tips more sectioning. Now complying to the open group standards for the <productname>UNIX</productname> system trademark. Document should be ready for TLDP site.</remark>
</revremark>
</revision>
<revision>
@ -154,10 +154,9 @@ This is the initial draft release (the first release to be converted from LyX to
<screen>enable -a</screen>
</para>
</tip>
</sect1>
<sect1 id="who-would-want-to-read-this-guide"><title>Who would want to read this guide?</title><para>Anyone who is interested in learning <indexterm><primary>learning</primary></indexterm>about the tools (also known as commands) available to them when using their GNU/Linux based operating system.</para><para>Why would you want to learn <indexterm><primary>learn</primary></indexterm>how to use the command-line<indexterm><primary>command-line</primary></indexterm> (and available tools)? The <emphasis>C</emphasis>ommand <emphasis>L</emphasis>ine<emphasis>-I</emphasis>nterface (CLI)<indexterm><primary>CLI</primary></indexterm><indexterm><primary>command line-interface</primary></indexterm>, while difficult to learn, is the quickest <indexterm><primary>quickest</primary></indexterm>and most efficient <indexterm><primary>efficient</primary></indexterm>way to use a computer for many different tasks. The CLI <indexterm><primary>CLI</primary></indexterm>is the normal method of use for most <productname>UNIX</productname> <indexterm><primary>UNIX system</primary></indexterm>system administrators,<indexterm><primary>administrators</primary></indexterm> programmers <indexterm><primary>programmers</primary></indexterm>and some power users<indexterm><primary>power users</primary></indexterm>. While a <acronym>GUI</acronym> <indexterm><primary>GUI</primary></indexterm>is better suited <indexterm><primary>suited</primary></indexterm>to some tasks, many operations are best suited to the CLI.<indexterm><primary>CLI</primary></indexterm></para><para>The major motivation<indexterm><primary>motivation</primary></indexterm> behind learning <indexterm><primary>learning</primary></indexterm>the GNU/Linux CLI <indexterm><primary>CLI</primary></indexterm>is the authors <indexterm><primary>authors</primary></indexterm>idea<indexterm><primary>idea</primary></indexterm> that, with software <indexterm><primary>software</primary></indexterm>in general, the more time spent learning something equals less time spent performing that particular task <emphasis>(authors opinion only<indexterm><primary>authors opinion</primary></indexterm>)</emphasis>.</para><para>This guide is aimed at beginners<indexterm><primary>beginners</primary></indexterm> to intermediate <indexterm><primary>intermediate</primary></indexterm>users who want to learn<indexterm><primary>learn</primary></indexterm> about the command-line <indexterm><primary>command-line</primary></indexterm>tools available to them. Advanced users may wish to use it as a command reference,<indexterm><primary>reference</primary></indexterm> however this document aims to list <indexterm><primary>list</primary></indexterm>commands of interest, as judged <indexterm><primary>judged</primary></indexterm>by the authors opinion,<indexterm><primary>authors opinion</primary></indexterm> it is not designed <indexterm><primary>designed</primary></indexterm>to be completely comprehensive,<indexterm><primary>comprehensive</primary></indexterm> see the appendix,<indexterm><primary>appendix</primary></indexterm> <xref linkend="general-further-reading"> for further information. Or if you are not looking for a command reference <indexterm><primary>reference</primary></indexterm>guide, but a more gentle introduction to GNU/Linux you may be interested in the <ulink url="http://www.tldp.org/LDP/intro-linux/html/">Introduction to <productname>Linux</productname> guide</ulink><indexterm><primary>Introduction to <productname>Linux</productname> guide</primary></indexterm> authored <indexterm><primary>authored</primary></indexterm>by Machtelt Garrels.<indexterm><primary>Machtelt Garrels</primary></indexterm></para><para>This guide could also be considered a summarised <indexterm><primary>summarised</primary></indexterm>version of the <productname>Linux</productname> Cookbook.<indexterm><primary>Linux Cookbook</primary></indexterm> If you are looking for a book <indexterm><primary>book</primary></indexterm>with more detailed descriptions of each tool have a look at the <ulink url="http://dsl.org/cookbook/">Linux Cookbook Homepage</ulink>, also check out the <ulink url="http://www.onlamp.com/linux/cmd/">command list from "Linux in a Nutshell 3rd Edition"</ulink><indexterm><primary>command list</primary></indexterm><indexterm><primary>Linux in a Nutshell 3rd Edition</primary></indexterm> for an index <indexterm><primary>index</primary></indexterm>of 300+ commands and their explanations.<indexterm><primary>explanations</primary></indexterm></para></sect1>
<sect1 id="who-would-not-want-to-read-this-guide"><title>Who would not want to read this guide?</title><para>Anyone who is not interested in the command-line<indexterm><primary>command-line</primary></indexterm>, or anyone looking for a detailed reference to all available GNU/Linux tools should look elsewhere. This is only a summary,<indexterm><primary>summary</primary></indexterm> while it does list many commands, it's not a complete<indexterm><primary>complete</primary></indexterm> listing <indexterm><primary>listing</primary></indexterm>(I don't think it's possible to make a complete listing anyway).</para><para>This document would not be of interest to those who already have an expert <indexterm><primary>expert</primary></indexterm>knowledge <indexterm><primary>knowledge</primary></indexterm>of the command-line interface <indexterm><primary>command-line interface</primary></indexterm>and do require any reference <indexterm><primary>reference</primary></indexterm>information.<indexterm><primary>information</primary></indexterm> Or those readers <indexterm><primary>readers</primary></indexterm>who require detailed <indexterm><primary>detailed</primary></indexterm>lists <indexterm><primary>lists</primary></indexterm>of options <indexterm><primary>options</primary></indexterm>for each command, the man pages<indexterm><primary>man pages</primary></indexterm> are better suited <indexterm><primary>suited</primary></indexterm>to this purpose.<indexterm><primary>purpose</primary></indexterm></para></sect1>
<sect1 id="sources-of-document"><title>Availability of sources</title><para>The modifiable <indexterm><primary>modifiable</primary></indexterm>sources <indexterm><primary>sources</primary></indexterm>of the original <indexterm><primary>original</primary></indexterm>book <indexterm><primary>book</primary></indexterm>(in english), are available<indexterm><primary>available</primary></indexterm> in LyX <indexterm><primary>LyX</primary></indexterm>format <indexterm><primary>format</primary></indexterm>(LyX Document Processor) or Machine-translated <indexterm><primary>Machine-translated</primary></indexterm>SGML <indexterm><primary>SGML</primary></indexterm>(SGML markup language<indexterm><primary>markup language</primary></indexterm>). </para><para>LyX is a completely free document processor <indexterm><primary>document processor</primary></indexterm>based on LaTeX,<indexterm><primary>LaTeX</primary></indexterm> downloadable<indexterm><primary>downloadable</primary></indexterm> from <ulink url="http://www.lyx.org">the LyX homepage.</ulink>.</para><para>See <xref linkend="formats"> for the modifiable <indexterm><primary>modifiable</primary></indexterm>sources <indexterm><primary>sources</primary></indexterm>of this document. These are the official <indexterm><primary>official</primary></indexterm>versions.<indexterm><primary>versions</primary></indexterm> We (the translators <indexterm><primary>translators</primary></indexterm>and current maintainers<indexterm><primary>maintainers</primary></indexterm>) plan to continue work on this document and add new chapters and enhancements.<indexterm><primary>enhancements</primary></indexterm> If you want to see the version <indexterm><primary>version</primary></indexterm>we are currently working on (the &quot;bleeding edge&quot; version), check the <ulink url="http://www.karakas-online.de/gnu-linux-tools-summary/">GNU/Linux Command-Line Tools Summary Homepage</ulink><indexterm><primary>GNU/Linux Tools Summary Homepage</primary></indexterm> from time to time (kindly hosted <indexterm><primary>hosted</primary></indexterm>by <ulink url="http://www.karakas-online.de">Chris Karakas</ulink><indexterm><primary>Chris Karakas</primary></indexterm>).</para></sect1>
<sect1 id="sources-of-document"><title>Availability of sources</title><para>The modifiable <indexterm><primary>modifiable</primary></indexterm>sources <indexterm><primary>sources</primary></indexterm>of the original <indexterm><primary>original</primary></indexterm>book <indexterm><primary>book</primary></indexterm>(in english), are available<indexterm><primary>available</primary></indexterm> in LyX <indexterm><primary>LyX</primary></indexterm>format <indexterm><primary>format</primary></indexterm>(LyX Document Processor) or Machine-translated <indexterm><primary>Machine-translated</primary></indexterm>SGML <indexterm><primary>SGML</primary></indexterm>(SGML markup language<indexterm><primary>markup language</primary></indexterm>). </para><para>LyX is a completely free document processor <indexterm><primary>document processor</primary></indexterm>based on LaTeX,<indexterm><primary>LaTeX</primary></indexterm> downloadable<indexterm><primary>downloadable</primary></indexterm> from <ulink url="http://www.lyx.org">the LyX homepage.</ulink>.</para><para>See <!-- <xref linkend="formats"> --> for the modifiable <indexterm><primary>modifiable</primary></indexterm>sources <indexterm><primary>sources</primary></indexterm>of this document. These are the official <indexterm><primary>official</primary></indexterm>versions.<indexterm><primary>versions</primary></indexterm> We (the translators <indexterm><primary>translators</primary></indexterm>and current maintainers<indexterm><primary>maintainers</primary></indexterm>) plan to continue work on this document and add new chapters and enhancements.<indexterm><primary>enhancements</primary></indexterm> If you want to see the version <indexterm><primary>version</primary></indexterm>we are currently working on (the &quot;bleeding edge&quot; version), check the <ulink url="http://www.karakas-online.de/gnu-linux-tools-summary/">GNU/Linux Command-Line Tools Summary Homepage</ulink><indexterm><primary>GNU/Linux Tools Summary Homepage</primary></indexterm> from time to time (kindly hosted <indexterm><primary>hosted</primary></indexterm>by <ulink url="http://www.karakas-online.de">Chris Karakas</ulink><indexterm><primary>Chris Karakas</primary></indexterm>).</para></sect1>
<sect1 id="conventions"><title>Conventions used in this guide</title><para>The following conventions <indexterm><primary>conventions</primary></indexterm>are used within this guide:</para><variablelist><varlistentry><term>italic
</term><listitem><para><indexterm><primary>italic</primary></indexterm>Anything appearing in italic, <emphasis>like&nbsp;this </emphasis>is either an executable <indexterm><primary>executable</primary></indexterm>command or emphasized <indexterm><primary>emphasized</primary></indexterm>text. Tools (executable commands) are in italics <indexterm><primary>italics</primary></indexterm>to prevent confusion. Some tools have names which are real english <indexterm><primary>english</primary></indexterm>words, such as the &ldquo;locate&rdquo; tool.</para></listitem></varlistentry><varlistentry><term>key&nbsp;combinations
</term><listitem><para><indexterm><primary>key combinations</primary></indexterm>Are represented by using a '-' (dash sign)<indexterm><primary>dash sign</primary></indexterm> in-between the key(s), which must be used in combination.<indexterm><primary>combination</primary></indexterm> All combinations <indexterm><primary>combinations</primary></indexterm>are also printed <indexterm><primary>printed</primary></indexterm>in italics <indexterm><primary>italics</primary></indexterm>to improve clarity.<indexterm><primary>clarity</primary></indexterm> For example
@ -207,7 +206,7 @@ This will inform you of something that you shouldn't do (because it probably wil
<title>Note</title>
<para>Note that some tools do not accept options.</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>wildcards
</listitem></varlistentry><varlistentry><term>wildcards
</term><listitem><para><indexterm><primary>wildcards</primary></indexterm>Also note that most commands, even when not explicitly <indexterm><primary>explicitly</primary></indexterm>stated, will work with standard wildcards <indexterm><primary>standard wildcards</primary></indexterm> (or globbing patterns<indexterm><primary>globbing patterns</primary></indexterm>) such as *, [A-Z] and various other standard wildcards. Refer <indexterm><primary>Refer</primary></indexterm>to <xref linkend="standard-wildcards"> for further information.</para></listitem></varlistentry><varlistentry><term>access&nbsp;keys
</term><listitem><para><indexterm><primary>access keys</primary></indexterm>Access keys enable <indexterm><primary>enable</primary></indexterm>navigation through the document, without relying on a mouse.<indexterm><primary>mouse</primary></indexterm> The following keys have been given special <indexterm><primary>special</primary></indexterm>meaning in this document:</para><variablelist><varlistentry><term>P
</term><listitem><para>Previous <indexterm><primary>Previous</primary></indexterm>page.<indexterm><primary>page</primary></indexterm></para></listitem></varlistentry><varlistentry><term>N
@ -235,7 +234,7 @@ to come back. In other browsers such as IE6, the access keys just give focus to
</keycombo>
<keycap>Enter</keycap>
</keycombo>
. Try it, you'll like it! <inlinemediaobject> <![ %output.print.png; [ <imageobject> <imagedata fileref="icon_smile.png" format="PNG"> </imageobject> ]]> <![ %output.print.pdf; [ <imageobject> <imagedata fileref="icon_smile.pdf" format="PDF" scale="65"> </imageobject> ]]> <![ %output.print.eps; [ <imageobject> <imagedata fileref="icon_smile.eps" format="EPS"> </imageobject> ]]> <![ %output.print.bmp; [ <imageobject> <imagedata fileref="icon_smile.bmp" format="BMP"> </imageobject> ]]> <textobject> <phrase>Inline graphic</phrase> </textobject> </inlinemediaobject></para>
. Try it, you'll like it! <!-- <inlinemediaobject> <![ %output.print.png; [ <imageobject> <imagedata fileref="icon_smile.png" format="PNG"/> </imageobject> ]]> <![ %output.print.pdf; [ <imageobject> <imagedata fileref="icon_smile.pdf" format="PDF" scale="65"/> </imageobject> ]]> <![ %output.print.eps; [ <imageobject> <imagedata fileref="icon_smile.eps" format="EPS"/> </imageobject> ]]> <![ %output.print.bmp; [ <imageobject> <imagedata fileref="icon_smile.bmp" format="BMP"/> </imageobject> ]]> <textobject> <phrase>Inline graphic</phrase> </textobject> </inlinemediaobject> --></para>
</sect1>
<sect1 id="resources-used-to-create-this-document"><title>Resources used to create this document </title><para>To create the GNU/Linux Command-Line <indexterm><primary>Command-Line</primary></indexterm>Tools Summary,<indexterm><primary>Summary</primary></indexterm> I used <ulink url="http://www.lyx.org">LyX</ulink>, the document processor.<indexterm><primary>document processor</primary></indexterm> To convert <indexterm><primary>convert</primary></indexterm>the LyX files to DocBook <indexterm><primary>DocBook</primary></indexterm>SGML <indexterm><primary>SGML</primary></indexterm>I used the <ulink url="http://www.karakas-online.de/mySGML/">lyxtox Scripts</ulink><indexterm><primary>lyxtox</primary></indexterm> created by <ulink url="http://www.karakas-online.de">Chris Karakas</ulink><indexterm><primary>Chris Karakas</primary></indexterm>.</para><para>You may also want to check out the <ulink url="http://bgu.chez.tiscali.fr/">db2lyx </ulink><indexterm><primary>db2lyx</primary></indexterm> package,<indexterm><primary>package</primary></indexterm> created by Dr. B Guillion<indexterm><primary>Dr. B. Guillion</primary></indexterm>, which can be used to convert LyX files to XML <indexterm><primary>XML</primary></indexterm>DocBook and XML DocBook <indexterm><primary>DocBook</primary></indexterm>back to LyX. </para><para>I also had assistance <indexterm><primary>assistance</primary></indexterm>from various <ulink url="http://www.tldp.org">The <productname>Linux</productname> Documentation Project</ulink><indexterm><primary>The <productname>Linux</productname> Documentation Project</primary></indexterm> volunteers <indexterm><primary>volunteers</primary></indexterm>(see the contributors <indexterm><primary>contributors</primary></indexterm>section <indexterm><primary>section</primary></indexterm><xref linkend="contributors"> for specific <indexterm><primary>specific</primary></indexterm>details).</para></sect1>
<sect1 id="feedback"><title>Feedback</title><para>Feedback <indexterm><primary>Feedback</primary></indexterm>is necessary for the advancement <indexterm><primary>advancement</primary></indexterm>of this guide. Positive,<indexterm><primary>Positive</primary></indexterm> constructive criticism <indexterm><primary>criticism</primary></indexterm>is encouraged.<indexterm><primary>encouraged</primary></indexterm> If you have ideas,<indexterm><primary>ideas</primary></indexterm> suggestions,<indexterm><primary>suggestions</primary></indexterm> advice,<indexterm><primary>advice</primary></indexterm> or problems <indexterm><primary>problems</primary></indexterm>with this guide, please send <indexterm><primary>send</primary></indexterm>an email <indexterm><primary>email</primary></indexterm>to the author <indexterm><primary>author</primary></indexterm><ulink url="mailto:somecsstudent(at)gmail.com">Gareth Anderson</ulink><indexterm><primary>Gareth Anderson</primary></indexterm>. </para><important>
@ -377,7 +376,7 @@ Typing: <emphasis>echo command(s) </emphasis>could<emphasis> </emphasis>save you
Using <emphasis>echo</emphasis> allows you to expand the wildcards to understand what will happen before you actually run the command.
</para>
</tip>
</listitem></listitem></varlistentry></variablelist></sect1>
</listitem></varlistentry></variablelist></sect1>
<sect1 id="the-command-line-history"><title>The command-line history</title><variablelist><varlistentry><term>Using&nbsp;the&nbsp;command&nbsp;history
</term><listitem><para><indexterm><primary>command history</primary></indexterm>Use the up and down key's to scroll <indexterm><primary>scroll</primary></indexterm>through previously typed commands. Press [Enter] to execute <indexterm><primary>execute</primary></indexterm>them or use the left and right arrow <indexterm><primary>arrow</primary></indexterm>keys to edit<indexterm><primary>edit</primary></indexterm> the command first. Also see <emphasis>history</emphasis> (below).</para></listitem></varlistentry><varlistentry><term>The&nbsp;history&nbsp;command
</term><listitem><para>The<emphasis> history <indexterm><primary>history</primary></indexterm></emphasis> command can be used to list Bash's log <indexterm><primary>log</primary></indexterm>of the commands you have typed:</para><para>This log <indexterm><primary>log</primary></indexterm>is called the &ldquo;history&rdquo;. To access <indexterm><primary>access</primary></indexterm>it type:</para><screen><![CDATA[history n
@ -605,7 +604,7 @@ man 2 time
This will show you the man page called time in section 2, the equivalent page in section 1 is completely different
</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>man&nbsp;-K&nbsp;keyword
</listitem></varlistentry><varlistentry><term>man&nbsp;-K&nbsp;keyword
</term><listitem><para><indexterm><primary>man -K</primary></indexterm>Search the manual <indexterm><primary>manual</primary></indexterm>pages for a string,<indexterm><primary>string</primary></indexterm> as in it will search<indexterm><primary>search</primary></indexterm> all manual <indexterm><primary>manual</primary></indexterm>pages for a particular string within each individual <indexterm><primary>individual</primary></indexterm>man page, it will then prompt <indexterm><primary>prompt</primary></indexterm>whether you would like to view <indexterm><primary>view</primary></indexterm>each page it will find. Use double <indexterm><primary>double</primary></indexterm>quotes &ldquo; and &rdquo; if there are spaces <indexterm><primary>spaces</primary></indexterm>in the string you are typing.</para><caution>
<title>Speed issue</title>
<para> Please be warned that this method is going to be really, really slow. You are searching *all* man pages for a string </para>
@ -631,7 +630,7 @@ This will show you the man page called time in section 2, the equivalent page in
<title>Equivalent to...</title>
<para> <emphasis>apropos</emphasis> is the same as doing <emphasis>man -k</emphasis> (lowercase k).</para>
</note>
</listitem></listitem></varlistentry></variablelist><note>
</listitem></varlistentry></variablelist><note>
<title>Please note</title>
<para>
You need to run <emphasis>makewhatis</emphasis> (as root) so <emphasis>whatis</emphasis>, <emphasis>man -f </emphasis>and <emphasis>apropos </emphasis>will work.
@ -696,7 +695,7 @@ Using a program with the <emphasis>-?</emphasis>,<indexterm><primary>-?</primary
The back-quote key is usually located at the same place as the tilde, above the [Tab] key.
</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>Method&nbsp;Two&nbsp;(dollars&nbsp;sign)<anchor id="command-substitution-dollars-sign"></term>
</listitem></varlistentry><varlistentry><term>Method&nbsp;Two&nbsp;(dollars&nbsp;sign)<anchor id="command-substitution-dollars-sign"></term>
<listitem><para>&nbsp;</para><para>Simply type:</para><screen><![CDATA[command_1 $(command_2)
]]></screen><para>This will execute &ldquo;command_2&rdquo; and it's output will become the input to &ldquo;command_1&rdquo;.</para></listitem></varlistentry><varlistentry><term>Using&nbsp;the&nbsp;pipe&nbsp;instead<anchor id="command-substitution-pipe"></term>
<listitem><para>&nbsp;</para><para>You can of course use pipes <indexterm><primary>pipes</primary></indexterm>to do the same thing, if you don't know what a pipe <indexterm><primary>pipe</primary></indexterm>is, please see <xref linkend="usage-input-output">. For example instead of doing:</para><screen><![CDATA[less $cat file1.txt file2.txt
@ -712,7 +711,7 @@ The back-quote key is usually located at the same place as the tilde, above the
<title>More than two commands</title>
<para>You can continue to use ';' (semicolon) characters to do more and more commands on the one line.</para>
</tip>
</listitem></listitem></varlistentry></variablelist></sect1>
</listitem></varlistentry></variablelist></sect1>
</chapter>
<chapter id="Working-with-the-file-system"><title>Working with the file-system</title><para>The working with the file-system <indexterm><primary>file-system</primary></indexterm>chapter explains a number <indexterm><primary>number</primary></indexterm>of commands that you use to move around the file system <indexterm><primary>file system</primary></indexterm>hierarchy <indexterm><primary>hierarchy</primary></indexterm>and manipulate <indexterm><primary>manipulate</primary></indexterm>the files. Also explained are finding <indexterm><primary>finding</primary></indexterm>files and how to mass-rename <indexterm><primary>mass-rename</primary></indexterm>files.</para><sect1 id="using-filesystem"><title>Moving around the filesystem</title><variablelist><varlistentry><term>cd
</term><listitem><para><indexterm><primary>cd</primary></indexterm>Change directory. Use <emphasis>&ldquo; cd ..&rdquo;</emphasis> to go up one directory. </para><para>One dot <indexterm><primary>dot</primary></indexterm>'.' represents <indexterm><primary>represents</primary></indexterm>the current directory <indexterm><primary>current directory</primary></indexterm>while two dots <indexterm><primary>dots</primary></indexterm>'..' represent<indexterm><primary>represent</primary></indexterm> the parent directory.<indexterm><primary>parent directory</primary></indexterm> </para><para><emphasis>&ldquo; cd -&rdquo;</emphasis> will return <indexterm><primary>return</primary></indexterm>you to the previous <indexterm><primary>previous</primary></indexterm>directory (a bit like an &ldquo;undo&rdquo;). </para><para>You can also use <emphasis>cd absolute&nbsp;path</emphasis> or <emphasis>cd relative&nbsp;path</emphasis> (see below):</para><variablelist><varlistentry><term>Absolute&nbsp;paths
@ -731,7 +730,7 @@ The back-quote key is usually located at the same place as the tilde, above the
Depending on how your aliases (see <xref linkend="Shell-Tips">) are setup you can also use <emphasis>l</emphasis>, <emphasis>la</emphasis> (list all) and <emphasis>ll</emphasis> (list long) to perform the above commands
</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>pwd
</listitem></varlistentry><varlistentry><term>pwd
</term><listitem><para><indexterm><primary>pwd</primary></indexterm>Print working directory<indexterm><primary>print working directory</primary></indexterm>. Print <indexterm><primary>Print</primary></indexterm>the absolute <indexterm><primary>absolute</primary></indexterm>(complete) path <indexterm><primary>path</primary></indexterm>to the directory the user is currently in. </para><para>Command syntax:</para><screen><![CDATA[pwd
]]></screen><para>This will tell you the full path <indexterm><primary>path</primary></indexterm>to the directory you are in, for example it may output <indexterm><primary>output</primary></indexterm>&ldquo;/usr/local/bin&rdquo; if you are currently in that directory.</para></listitem></varlistentry><varlistentry><term>tree
</term><listitem><para><indexterm><primary>tree</primary></indexterm>Outputs <indexterm><primary>Outputs</primary></indexterm>an <acronym>ASCII</acronym> <indexterm><primary>ASCII</primary></indexterm>text tree/graph <indexterm><primary>graph</primary></indexterm>starting at a given directory (by default <indexterm><primary>default</primary></indexterm>the current <indexterm><primary>current</primary></indexterm>directory). This command recursively lists <indexterm><primary>lists</primary></indexterm>all files and all directories.<indexterm><primary>directories</primary></indexterm></para><para>In other words, it will list files within the directories <indexterm><primary>directories</primary></indexterm>below the current one, as well as all files in the current directory.</para><para><emphasis>tree</emphasis> has a large number of options, refer <indexterm><primary>refer</primary></indexterm>to the manual <indexterm><primary>manual</primary></indexterm>page <indexterm><primary>page</primary></indexterm>for details.<indexterm><primary>details</primary></indexterm></para><para>Command syntax:</para><screen><![CDATA[tree
@ -772,8 +771,8 @@ command_to_be_executed <co id="command"> then '{}'<emphasis> </emphasis>(curly
You need to run either <emphasis>updatedb</emphasis> (as root) or <emphasis>slocate -u<indexterm><primary>-u</primary></indexterm> </emphasis>(as root) for slocate to work.
</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>whereis<emphasis>
</term><listitem><para>whereis<indexterm><primary>whereis</primary></indexterm></emphasis> locates <indexterm><primary>locates</primary></indexterm>the binary,<indexterm><primary>binary</primary></indexterm> source,<indexterm><primary>source</primary></indexterm> and manual page for a particular program, it uses exact <indexterm><primary>exact</primary></indexterm>matches only, if you only know part <indexterm><primary>part</primary></indexterm>of the name use <emphasis>slocate</emphasis><indexterm><primary>slocate</primary></indexterm>.</para><para>Command syntax:</para><screen><![CDATA[whereis program_name
</listitem></varlistentry><varlistentry><term><emphasis>whereis</emphasis>
</term><listitem><para>whereis<indexterm><primary><emphasis>whereis</emphasis></primary></indexterm> locates <indexterm><primary>locates</primary></indexterm>the binary,<indexterm><primary>binary</primary></indexterm> source,<indexterm><primary>source</primary></indexterm> and manual page for a particular program, it uses exact <indexterm><primary>exact</primary></indexterm>matches only, if you only know part <indexterm><primary>part</primary></indexterm>of the name use <emphasis>slocate</emphasis><indexterm><primary>slocate</primary></indexterm>.</para><para>Command syntax:</para><screen><![CDATA[whereis program_name
]]></screen></listitem></varlistentry><varlistentry><term>which
</term><listitem><para><indexterm><primary>which</primary></indexterm>Virtually the same as whereis,<indexterm><primary>whereis</primary></indexterm> except it only finds <indexterm><primary>finds</primary></indexterm>the executable<indexterm><primary>executable</primary></indexterm> (the physical <indexterm><primary>physical</primary></indexterm>program). It only looks in the PATH <indexterm><primary>PATH</primary></indexterm>(environment variable) of a users shell.<indexterm><primary>shell</primary></indexterm> </para><para>Use the <emphasis>-a<indexterm><primary>-a</primary></indexterm></emphasis> option to list all occurances <indexterm><primary>occurances</primary></indexterm>of the particular program_name <indexterm><primary>program_name</primary></indexterm>in your path<indexterm><primary>path</primary></indexterm> (so if theres more than one you can see it).</para><para>Command syntax:</para><screen><![CDATA[which program_name
]]></screen></listitem></varlistentry></variablelist></sect2>
@ -793,7 +792,7 @@ You need to run either <emphasis>updatedb</emphasis> (as root) or <emphasis>sloc
On some systems such as <productname>Mandrake</productname> an alias will send <emphasis>rm</emphasis> to <emphasis>rm -i<indexterm><primary>-i</primary></indexterm></emphasis> (prompting you for every file you wish to delete). To override this use: <emphasis>\rm -R directory </emphasis>(using the \ disables the alias for this run only)
</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>rmdir
</listitem></varlistentry><varlistentry><term>rmdir
</term><listitem><para><indexterm><primary>rmdir</primary></indexterm>Remove an empty <indexterm><primary>empty</primary></indexterm>directory. If you want to remove <indexterm><primary>remove</primary></indexterm>a directory with files in it type &ldquo; rm -R directory&rdquo;, read above for information <indexterm><primary>information</primary></indexterm>on<emphasis> rm -R</emphasis></para><para>Command syntax:</para><screen><![CDATA[rmdir directory
]]></screen><para>This will only remove <indexterm><primary>remove</primary></indexterm>directory if it's empty <indexterm><primary>empty</primary></indexterm>otherwise it will exit <indexterm><primary>exit</primary></indexterm>with an error <indexterm><primary>error</primary></indexterm>message.</para></listitem></varlistentry><varlistentry><term>mv
</term><listitem><para><indexterm><primary>mv</primary></indexterm>Move a file or a directory to a new <indexterm><primary>new</primary></indexterm>location or rename <indexterm><primary>rename</primary></indexterm>a file/directory.</para><para>Rename <indexterm><primary>Rename</primary></indexterm>example: </para><screen><![CDATA[mv filename1 filename2
@ -807,7 +806,7 @@ Note that you can also move and rename a file in a single command. The differenc
<screen><![CDATA[mv /etc/configuration.txt /home/joe/backupconfig]]></screen>
<para>This would move the file &quot;configuration.txt&quot; to /home/joe/ and rename it &quot;backupconfig&quot;</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>cp
</listitem></varlistentry><varlistentry><term>cp
</term><listitem><para><indexterm><primary>cp</primary></indexterm>Copy a file. Has a number <indexterm><primary>number</primary></indexterm>of useful options, such as<emphasis> -R <indexterm><primary>-R</primary></indexterm></emphasis>(or <emphasis>-r</emphasis>) which <indexterm><primary>which</primary></indexterm>recursively <indexterm><primary>recursively</primary></indexterm>copies <indexterm><primary>copies</primary></indexterm>directories and subdirectories.<indexterm><primary>subdirectories</primary></indexterm></para><para>Command syntax:</para><screen><![CDATA[cp -options file_or_files new_location
]]></screen><para>Examples:</para><screen><![CDATA[cp file1 file2
]]></screen><para>Simply copy file1 <indexterm><primary>file1</primary></indexterm>to file2 <indexterm><primary>file2</primary></indexterm>(in the same directory).</para><screen><![CDATA[cp /tmp/file1 ~/file2 /mnt/win_c
@ -849,7 +848,7 @@ Please note that as mentioned in the shred manual page (please see the manual an
The command <emphasis>dd</emphasis> is used to work on a very low level. It can be used to overwrite important information such as your master-boot record or various important sections of your hard-disk. Please be careful when using it (especially when working with devices instead of files).
</para>
</warning>
</listitem></listitem></varlistentry><varlistentry><term>touch
</listitem></varlistentry><varlistentry><term>touch
</term><listitem><para><indexterm><primary>touch</primary></indexterm>This command is used to create empty <indexterm><primary>empty</primary></indexterm>files, simply do<emphasis> touch file_name</emphasis>. It is also used to update <indexterm><primary>update</primary></indexterm>the timestamps <indexterm><primary>timestamps</primary></indexterm>on files.</para><para><emphasis>touch</emphasis> can be used to change <indexterm><primary>change</primary></indexterm>the time and/or date of a file:</para><screen><![CDATA[touch -t]]><indexterm><primary>-t</primary></indexterm><![CDATA[ 05070915 my_report.txt]]><footnote><para>This particular command and explanation has been used (with editing) from the <productname>Linux</productname> Online Classroom, see [4] in the <xref linkend="references"> for further information.</para></footnote><![CDATA[
]]></screen><para>This command would change <indexterm><primary>change</primary></indexterm>the timestamp <indexterm><primary>timestamp</primary></indexterm>on my_report.txt so that it would look <indexterm><primary>look</primary></indexterm>like you created it at 9:15. The first four digits <indexterm><primary>digits</primary></indexterm>stand for May 7th (0507), in MM-DD (American style), and the last <indexterm><primary>last</primary></indexterm>four (0915) the time,<indexterm><primary>time</primary></indexterm> 9:15 in the morning.<indexterm><primary>morning</primary></indexterm> </para><para>Instead of using plain <indexterm><primary>plain</primary></indexterm>numbers to change <indexterm><primary>change</primary></indexterm>the time, you can use options similar to that of the <emphasis>date</emphasis> tool. For example:</para><screen><![CDATA[touch -d '5 May 2000' some_file.txt
]]></screen><para>You can also use <emphasis>--date=</emphasis> instead of <emphasis>-d<indexterm><primary>-d</primary></indexterm><indexterm><primary>--date=</primary></indexterm>. </emphasis>Also have a look at the date command under <xref linkend="date-time-calendars"> for examples <indexterm><primary>examples</primary></indexterm>on using <emphasis>-d</emphasis> and <emphasis>--date=</emphasis> (the syntax <indexterm><primary>syntax</primary></indexterm>for the date <indexterm><primary>date</primary></indexterm>part is exactly <indexterm><primary>exactly</primary></indexterm>the same when using <emphasis>-d</emphasis> or <emphasis>--date</emphasis>).</para></listitem></varlistentry><varlistentry><term>split
@ -867,13 +866,13 @@ The command <emphasis>dd</emphasis> is used to work on a very low level. It can
<title>Tip:</title>
<para>A <application>Java</application> alternative to <emphasis>mmv</emphasis> which runs on both GNU/Linux and <productname>Windows</productname> is available, <ulink url="http://www.esomaniac.de/">Esomaniac</ulink></para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>rename
</listitem></varlistentry><varlistentry><term>rename
</term><listitem><para><indexterm><primary>rename</primary></indexterm><emphasis>rename</emphasis> is a perl <indexterm><primary>perl</primary></indexterm>script which <indexterm><primary>which</primary></indexterm>can be used to mass rename <indexterm><primary>mass rename</primary></indexterm>files according to a regular expression<indexterm><primary>regular expression</primary></indexterm>.</para><para>An example for renaming <indexterm><primary>renaming</primary></indexterm>all &ldquo;.JPG&rdquo; files to &ldquo;.jpg&rdquo; is:</para><screen><![CDATA[rename 's/\.JPG$/.jpg/' *.JPG
]]></screen><note>
<title>Finding rename</title>
<para>You can get rename from various places. I would recommend trying <ulink url="http://search.cpan.org">CPAN Search Site</ulink>, I found the script here <ulink url="http://search.cpan.org/~pederst/rename-1.4/">Rename Script Version 1.4</ulink></para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>Bash&nbsp;scripting
</listitem></varlistentry><varlistentry><term>Bash&nbsp;scripting
</term><listitem><para><indexterm><primary>scripting</primary></indexterm>Bash <indexterm><primary>Bash</primary></indexterm>scripting is one way to rename <indexterm><primary>rename</primary></indexterm>files. You can develop <indexterm><primary>develop</primary></indexterm>a set <indexterm><primary>set</primary></indexterm>of instructions <indexterm><primary>instructions</primary></indexterm>(a script) to rename <indexterm><primary>rename</primary></indexterm>files. Scripts <indexterm><primary>Scripts</primary></indexterm>are useful if you don't have <emphasis>mmv</emphasis> or <emphasis>rename</emphasis>...</para><para>One way to this is shown <indexterm><primary>shown</primary></indexterm>below:</para><screen><![CDATA[for i in *.JPG;
]]><![CDATA[do mv $i `basename $i JPG`jpg;
]]><![CDATA[done
@ -911,8 +910,8 @@ The command <emphasis>dd</emphasis> is used to work on a very low level. It can
<para>The <emphasis>w</emphasis> command displays the output <indexterm><primary>output</primary></indexterm>of the uptime command when you run this command. You could use the <emphasis>w</emphasis> command instead of uptime.
</para>
</tip>
</listitem></varlistentry><varlistentry><term>uname<emphasis>
</term><listitem><para>uname<indexterm><primary>uname</primary></indexterm></emphasis> is used to print information <indexterm><primary>information</primary></indexterm>on the system such as OS <indexterm><primary>OS</primary></indexterm>type, kernel version<indexterm><primary>kernel version</primary></indexterm> et cetera.</para><para>Some <emphasis>uname</emphasis> options:</para><itemizedlist><listitem><para><emphasis>-a<indexterm><primary>-a</primary></indexterm></emphasis> --- print all the available <indexterm><primary>available</primary></indexterm>information.</para></listitem><listitem><para><emphasis>-m<indexterm><primary>-m</primary></indexterm></emphasis> --- print only information related to the machine <indexterm><primary>machine</primary></indexterm>itself. </para></listitem><listitem><para><emphasis>-n<indexterm><primary>-n</primary></indexterm></emphasis> --- print only the machine hostname. </para></listitem><listitem><para><emphasis>-r<indexterm><primary>-r</primary></indexterm></emphasis> --- print the release number<indexterm><primary>release number</primary></indexterm> of the current <indexterm><primary>current</primary></indexterm>kernel.<indexterm><primary>kernel</primary></indexterm> </para></listitem><listitem><para><emphasis>-s<indexterm><primary>-s</primary></indexterm></emphasis> --- print the operating <indexterm><primary>operating</primary></indexterm>system name </para></listitem><listitem><para><emphasis>-p<indexterm><primary>-p</primary></indexterm></emphasis> --- print the processor <indexterm><primary>processor</primary></indexterm>type. </para></listitem></itemizedlist><para>Command syntax:</para><screen><![CDATA[uname -options
</listitem></varlistentry><varlistentry><term><emphasis>uname</emphasis>
</term><listitem><para><emphasis>uname<indexterm><primary>uname</primary></indexterm></emphasis> is used to print information <indexterm><primary>information</primary></indexterm>on the system such as OS <indexterm><primary>OS</primary></indexterm>type, kernel version<indexterm><primary>kernel version</primary></indexterm> et cetera.</para><para>Some <emphasis>uname</emphasis> options:</para><itemizedlist><listitem><para><emphasis>-a<indexterm><primary>-a</primary></indexterm></emphasis> --- print all the available <indexterm><primary>available</primary></indexterm>information.</para></listitem><listitem><para><emphasis>-m<indexterm><primary>-m</primary></indexterm></emphasis> --- print only information related to the machine <indexterm><primary>machine</primary></indexterm>itself. </para></listitem><listitem><para><emphasis>-n<indexterm><primary>-n</primary></indexterm></emphasis> --- print only the machine hostname. </para></listitem><listitem><para><emphasis>-r<indexterm><primary>-r</primary></indexterm></emphasis> --- print the release number<indexterm><primary>release number</primary></indexterm> of the current <indexterm><primary>current</primary></indexterm>kernel.<indexterm><primary>kernel</primary></indexterm> </para></listitem><listitem><para><emphasis>-s<indexterm><primary>-s</primary></indexterm></emphasis> --- print the operating <indexterm><primary>operating</primary></indexterm>system name </para></listitem><listitem><para><emphasis>-p<indexterm><primary>-p</primary></indexterm></emphasis> --- print the processor <indexterm><primary>processor</primary></indexterm>type. </para></listitem></itemizedlist><para>Command syntax:</para><screen><![CDATA[uname -options
]]></screen></listitem></varlistentry><varlistentry><term>xargs
</term><listitem><para><indexterm><primary>xargs</primary></indexterm>Note that <emphasis>xargs</emphasis> is an advanced,<indexterm><primary>advanced</primary></indexterm> confusing,<indexterm><primary>confusing</primary></indexterm> yet powerful <indexterm><primary>powerful</primary></indexterm>command. <emphasis>xargs</emphasis> is a command used to run other commands as many times <indexterm><primary>times</primary></indexterm>as necessary, this way it prevents any kind of overload... When you run a command then add a<emphasis> &ldquo;| xargs <indexterm><primary>xargs</primary></indexterm>command2<indexterm><primary>command2</primary></indexterm></emphasis>&rdquo;. The results <indexterm><primary>results</primary></indexterm>of command1 <indexterm><primary>command1</primary></indexterm>will be passed <indexterm><primary>passed</primary></indexterm>to command2, possibly on a line-by-line basis or something similar.<indexterm><primary>command2</primary></indexterm> </para><para>Understanding <emphasis>xargs</emphasis> tends <indexterm><primary>tends</primary></indexterm>to be very difficult and my explanation <indexterm><primary>explanation</primary></indexterm>is not the best. Refer <indexterm><primary>Refer</primary></indexterm>to the examples <indexterm><primary>examples</primary></indexterm>below or try [6] of the <xref linkend="references"> for another <emphasis>xargs</emphasis> tutorial.<indexterm><primary>tutorial</primary></indexterm></para><note>
<title>Alternatives to using xargs</title>
@ -942,8 +941,8 @@ The command <emphasis>dd</emphasis> is used to work on a very low level. It can
</note>
</listitem></varlistentry></variablelist></sect1>
</chapter>
<chapter id="Controlling-the-system"><title>Controlling the system</title><para>The controlling <indexterm><primary>controlling</primary></indexterm>the system chapter details <indexterm><primary>details</primary></indexterm>commands that you may wish to use to interact <indexterm><primary>interact</primary></indexterm>with devices <indexterm><primary>devices</primary></indexterm>on your system and then details how to control<indexterm><primary>control</primary></indexterm> processes <indexterm><primary>processes</primary></indexterm>and services/daemons.</para><variablelist><varlistentry><term>eject<emphasis>
</term><listitem><para>eject<indexterm><primary>eject</primary></indexterm></emphasis> simply tells <indexterm><primary>tells</primary></indexterm>a device <indexterm><primary>device</primary></indexterm>to open <indexterm><primary>open</primary></indexterm>(eject) the drive. Useful for cdrom/DVD drives.<indexterm><primary>drives</primary></indexterm></para><para>For example the command below would eject the cdrom-drive <indexterm><primary>cdrom-drive</primary></indexterm>(if your cdrom<indexterm><primary>cdrom</primary></indexterm> is linked <indexterm><primary>linked</primary></indexterm>to /dev/cdrom):</para><screen><![CDATA[eject /dev/cdrom
<chapter id="Controlling-the-system"><title>Controlling the system</title><para>The controlling <indexterm><primary>controlling</primary></indexterm>the system chapter details <indexterm><primary>details</primary></indexterm>commands that you may wish to use to interact <indexterm><primary>interact</primary></indexterm>with devices <indexterm><primary>devices</primary></indexterm>on your system and then details how to control<indexterm><primary>control</primary></indexterm> processes <indexterm><primary>processes</primary></indexterm>and services/daemons.</para><variablelist><varlistentry><term><emphasis>eject</emphasis>
</term><listitem><para><emphasis>eject<indexterm><primary>eject</primary></indexterm></emphasis> simply tells <indexterm><primary>tells</primary></indexterm>a device <indexterm><primary>device</primary></indexterm>to open <indexterm><primary>open</primary></indexterm>(eject) the drive. Useful for cdrom/DVD drives.<indexterm><primary>drives</primary></indexterm></para><para>For example the command below would eject the cdrom-drive <indexterm><primary>cdrom-drive</primary></indexterm>(if your cdrom<indexterm><primary>cdrom</primary></indexterm> is linked <indexterm><primary>linked</primary></indexterm>to /dev/cdrom):</para><screen><![CDATA[eject /dev/cdrom
]]></screen><note>
<title>This won't work unless</title>
<para>
@ -1030,7 +1029,7 @@ On any system running a newer version of the <productname>Linux</productname> ke
<title>Shutdown -h vs poweroff</title>
<para>On some systems, <emphasis>shutdown -h </emphasis>and <emphasis>halt </emphasis>do not actually turn the system's power off. On systems that do not power off with these commands use the <emphasis>poweroff</emphasis><indexterm><primary>poweroff</primary></indexterm> command</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>halt
</listitem></varlistentry><varlistentry><term>halt
</term><listitem><para><indexterm><primary>halt</primary></indexterm>The same as <emphasis>shutdown -h now</emphasis> doesn't take any options,<indexterm><primary>options</primary></indexterm> this command simply shuts down immediately.</para></listitem></varlistentry><varlistentry><term>shutdown&nbsp;-r&nbsp;now
</term><listitem><para><indexterm><primary>shutdown -r</primary></indexterm>Shutdown (<emphasis> -r <indexterm><primary>-r</primary></indexterm>= reboot<indexterm><primary>reboot</primary></indexterm></emphasis>) the computer immediately. It begins the reboot procedure,<indexterm><primary>procedure</primary></indexterm> press <indexterm><primary>press</primary></indexterm>
<keycombo>
@ -1047,7 +1046,7 @@ On any system running a newer version of the <productname>Linux</productname> ke
<screen>shutdown -r 11:50</screen>
</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>reboot
</listitem></varlistentry><varlistentry><term>reboot
</term><listitem><para>The same as <emphasis>shutdown -r now</emphasis>, doesn't take any options, simply reboots <indexterm><primary>reboots</primary></indexterm>the computer immediately. </para></listitem></varlistentry><varlistentry><term>
<keycombo>
<keycap>CTRL</keycap>
@ -1252,7 +1251,7 @@ You could also change the command it runs for example if you changed the <emphas
<title>Find style in the diction package</title>
<para>This command is part of the diction package and does not appear to be used too often these days</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>cmp
</listitem></varlistentry><varlistentry><term>cmp
</term><listitem><para><indexterm><primary>cmp</primary></indexterm>Determines whether or not two files differ, works on any type of file. Very similar to <emphasis>diff</emphasis> only it compares <indexterm><primary>compares</primary></indexterm>on the binary <indexterm><primary>binary</primary></indexterm>level instead of just the text.</para></listitem></varlistentry><varlistentry><term>diff
</term><listitem><para><indexterm><primary>diff</primary></indexterm>Compares two text files and output a difference <indexterm><primary>difference</primary></indexterm>report (sometimes called a &quot;diff&quot;<indexterm><primary>diff</primary></indexterm>) containing the text that differs between two files. </para><para>Can be used to create a 'patch' file (which can be used by <emphasis>patch</emphasis>). </para><para>Example:</para><screen><![CDATA[diff file1.txt file2.txt
]]></screen><para><emphasis>diff</emphasis> will output <indexterm><primary>output</primary></indexterm>a '&gt;' (followed by the line) for each line <indexterm><primary>line</primary></indexterm>that isn't in the first file but is in the second file, and it will output a '&lt;' (followed by the line) for each line that is in the first file but not in the second file.</para></listitem></varlistentry><varlistentry><term>sdiff
@ -1294,7 +1293,7 @@ You could also change the command it runs for example if you changed the <emphas
<title>This command is very simple to understand if you make yourself an example</title>
<para>Its much easier if you create an example for yourself. With just a couple of lines, I used "first line first file" and "first line second file" et cetera for a quick example.</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>expand
</listitem></varlistentry><varlistentry><term>expand
</term><listitem><para><indexterm><primary>expand</primary></indexterm>Will convert tabs to spaces <indexterm><primary>spaces</primary></indexterm>and output it. Use the option<emphasis> -t <indexterm><primary>-t</primary></indexterm>num</emphasis> to specify <indexterm><primary>specify</primary></indexterm>the size <indexterm><primary>size</primary></indexterm>of a &ldquo;tapstop&rdquo;, the number of characters <indexterm><primary>characters</primary></indexterm>between each tab.<indexterm><primary>tab</primary></indexterm></para><para>Command syntax:</para><screen><![CDATA[expand file_name.txt
]]></screen></listitem></varlistentry></variablelist><para></para><variablelist><varlistentry><term>unexpand
</term><listitem><para><indexterm><primary>unexpand</primary></indexterm>Will convert spaces to tabs <indexterm><primary>tabs</primary></indexterm>and output it.</para><para>Command syntax:</para><screen><![CDATA[unexpand file_name.txt
@ -1309,7 +1308,7 @@ You could also change the command it runs for example if you changed the <emphas
You can also do a search and replace with a one line <application>Perl</application> command, read about it at the end of this section.
</para>
</tip>
</listitem></listitem></varlistentry><varlistentry><term>nl
</listitem></varlistentry><varlistentry><term>nl
</term><listitem><para><indexterm><primary>nl</primary></indexterm>The number lines <indexterm><primary>number lines</primary></indexterm>tool, it's default <indexterm><primary>default</primary></indexterm>action is to write <indexterm><primary>write</primary></indexterm>it's input (either the file names given as an argument,<indexterm><primary>argument</primary></indexterm> or the standard <indexterm><primary>standard</primary></indexterm>input) to the standard output. </para><para>Line <indexterm><primary>Line</primary></indexterm>numbers are added to every line and the text is indented.<indexterm><primary>indented</primary></indexterm> </para><para>This command can do take some more <indexterm><primary>more</primary></indexterm>advanced <indexterm><primary>advanced</primary></indexterm>numbering <indexterm><primary>numbering</primary></indexterm>options, simply read the info <indexterm><primary>info</primary></indexterm>page <indexterm><primary>page</primary></indexterm>on it. </para><para>These advanced <indexterm><primary>advanced</primary></indexterm>options mainly relate to customisation <indexterm><primary>customisation</primary></indexterm>of the numbering,<indexterm><primary>numbering</primary></indexterm> including <indexterm><primary>including</primary></indexterm>different forms <indexterm><primary>forms</primary></indexterm>of separation <indexterm><primary>separation</primary></indexterm>for sections/pages/footers etc.</para><para>Also try <emphasis> cat -n<indexterm><primary>cat</primary></indexterm><indexterm><primary>-n</primary></indexterm></emphasis> (number all lines) or<emphasis> cat -b<indexterm><primary>-b</primary></indexterm></emphasis> (number all non-blank <indexterm><primary>non-blank</primary></indexterm>lines). For more <indexterm><primary>more</primary></indexterm>info <indexterm><primary>info</primary></indexterm>on <emphasis>cat</emphasis> check <indexterm><primary>check</primary></indexterm>under this section:<indexterm><primary>section</primary></indexterm> <xref linkend="text-viewing-tools"> </para><para>There are two ways you can use <emphasis>nl</emphasis>:</para><screen><![CDATA[nl some_text_file.txt
]]></screen><para>The above command would add <indexterm><primary>add</primary></indexterm>numbers to each line of some_text_file.<indexterm><primary>some_text_file</primary></indexterm> You could use <emphasis>nl</emphasis> to number the output of something as shown <indexterm><primary>shown</primary></indexterm>in the example below;</para><screen><![CDATA[grep some_string some_file | nl
]]></screen></listitem></varlistentry><varlistentry><term>Perl&nbsp;search&nbsp;and&nbsp;replace&nbsp;text
@ -1392,7 +1391,7 @@ The &ldquo;num-utils&rdquo; homepage, <ulink url="http://suso.suso.org/programs/
</indexterm>
(end-of-file key) when you are finished <indexterm><primary>finished</primary></indexterm>using <emphasis>units</emphasis>.</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>python
</listitem></varlistentry><varlistentry><term>python
</term><listitem><para><indexterm><primary>python</primary></indexterm>Python <indexterm><primary>Python</primary></indexterm>is a very powerful,<indexterm><primary>powerful</primary></indexterm> easy to learn,<indexterm><primary>learn</primary></indexterm> general <indexterm><primary>general</primary></indexterm>purpose, interpreted<indexterm><primary>interpreted</primary></indexterm> programming <indexterm><primary>programming</primary></indexterm>language. And it makes a great <indexterm><primary>great</primary></indexterm>calculator! If you don't have a calculator <indexterm><primary>calculator</primary></indexterm>installed<indexterm><primary>installed</primary></indexterm> then simply type <emphasis>python</emphasis>, then hit <indexterm><primary>hit</primary></indexterm>[Enter]. </para><para>This will execute <indexterm><primary>execute</primary></indexterm>the <acronym>Python</acronym> <indexterm><primary>Python</primary></indexterm>interpreter in interactive <indexterm><primary>interactive</primary></indexterm>mode. Type your sums <indexterm><primary>sums</primary></indexterm>just like you would use a calculator.<indexterm><primary>calculator</primary></indexterm> Note that if you want to work out fractions <indexterm><primary>fractions</primary></indexterm>make sure you use a decimal<indexterm><primary>decimal</primary></indexterm> point and a zero <indexterm><primary>zero</primary></indexterm>to obtain the correct <indexterm><primary>correct</primary></indexterm>answer (otherwise it will use integer<indexterm><primary>integer</primary></indexterm> division).</para><para>To start <indexterm><primary>start</primary></indexterm>python in interactive <indexterm><primary>interactive</primary></indexterm>mode, simply type:</para><screen><![CDATA[python
]]></screen><para>Once python <indexterm><primary>python</primary></indexterm>is started <indexterm><primary>started</primary></indexterm>you can use it to add <indexterm><primary>add</primary></indexterm>up sums <indexterm><primary>sums</primary></indexterm>or maybe do some python programming.<indexterm><primary>programming</primary></indexterm></para><para>Use
<keycombo>
@ -1411,7 +1410,7 @@ The &ldquo;num-utils&rdquo; homepage, <ulink url="http://suso.suso.org/programs/
Please note that this tool is part of the num-utils package.
</para>
</note>
</listitem></listitem></varlistentry></variablelist><para></para></chapter>
</listitem></varlistentry></variablelist><para></para></chapter>
<chapter id="Network-commands"><title>Network Commands</title><para>The network <indexterm><primary>network</primary></indexterm>commands chapter explains <indexterm><primary>explains</primary></indexterm>various tools which can be useful when networking <indexterm><primary>networking</primary></indexterm>with other computers <indexterm><primary>computers</primary></indexterm>both within the network <indexterm><primary>network</primary></indexterm>and accross the internet,<indexterm><primary>internet</primary></indexterm> obtaining more <indexterm><primary>more</primary></indexterm>information <indexterm><primary>information</primary></indexterm>about other computers. This chapter also includes <indexterm><primary>includes</primary></indexterm>information on tools for network <indexterm><primary>network</primary></indexterm>configuration, file transfer <indexterm><primary>transfer</primary></indexterm>and working with remote machines.<indexterm><primary>remote machines</primary></indexterm></para><variablelist><varlistentry><term>netstat
</term><listitem><para><indexterm><primary>netstat</primary></indexterm>Displays contents <indexterm><primary>contents</primary></indexterm>of /proc/net files.<indexterm><primary>/proc/net</primary></indexterm> It works with the <productname>Linux</productname> Network Subsystem,<indexterm><primary>Subsystem</primary></indexterm> it will tell <indexterm><primary>tell</primary></indexterm>you what the status<indexterm><primary>status</primary></indexterm> of ports <indexterm><primary>ports</primary></indexterm>are ie. open,<indexterm><primary>open</primary></indexterm> closed,<indexterm><primary>closed</primary></indexterm> waiting,<indexterm><primary>waiting</primary></indexterm> masquerade <indexterm><primary>masquerade</primary></indexterm>connections. It will also display various other things. It has many different options.<indexterm><primary>options</primary></indexterm></para></listitem></varlistentry><varlistentry><term>tcpdump
</term><listitem><para><indexterm><primary>tcpdump</primary></indexterm>This is a sniffer,<indexterm><primary>sniffer</primary></indexterm> a program that captures <indexterm><primary>captures</primary></indexterm>packets off <indexterm><primary>off</primary></indexterm>a network<indexterm><primary>network</primary></indexterm> interface <indexterm><primary>interface</primary></indexterm>and interprets <indexterm><primary>interprets</primary></indexterm>them for you. It understands all basic <indexterm><primary>basic</primary></indexterm>internet <indexterm><primary>Internet</primary></indexterm>protocols,<indexterm><primary>protocols</primary></indexterm> and can be used to save <indexterm><primary>save</primary></indexterm>entire packets <indexterm><primary>packets</primary></indexterm>for later inspection.<indexterm><primary>inspection</primary></indexterm></para></listitem></varlistentry><varlistentry><term>ping
@ -1432,7 +1431,7 @@ Please note that this tool is part of the num-utils package.
</screen> This line says that their is a computer called &ldquo;new&rdquo;<indexterm><primary>new</primary></indexterm> with IP address 192.168.1.100<indexterm><primary>192.168.1.100</primary></indexterm>. Now that it exists in the /etc/hosts file I don't have to type the IP address anymore, just the name &ldquo;new&rdquo;.
</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>hostname
</listitem></varlistentry><varlistentry><term>hostname
</term><listitem><para><indexterm><primary>hostname</primary></indexterm>Tells the user the host <indexterm><primary>host</primary></indexterm>name of the computer they are logged <indexterm><primary>logged</primary></indexterm>into. Note: may be called <emphasis>host.<indexterm><primary>host</primary></indexterm></emphasis></para></listitem></varlistentry><varlistentry><term>traceroute
</term><listitem><para><indexterm><primary>traceroute</primary></indexterm><emphasis>traceroute</emphasis> will show <indexterm><primary>show</primary></indexterm>the route <indexterm><primary>route</primary></indexterm>of a packet.<indexterm><primary>packet</primary></indexterm> It attempts <indexterm><primary>attempts</primary></indexterm>to list <indexterm><primary>list</primary></indexterm>the series <indexterm><primary>series</primary></indexterm>of hosts <indexterm><primary>hosts</primary></indexterm>through which <indexterm><primary>which</primary></indexterm>your packets <indexterm><primary>packets</primary></indexterm>travel<indexterm><primary>travel</primary></indexterm> on their way to a given destination.<indexterm><primary>destination</primary></indexterm> Also have a look at <emphasis>xtraceroute</emphasis> (one of several <indexterm><primary>several</primary></indexterm>graphical <indexterm><primary>graphical</primary></indexterm>equivalents of this program). </para><para>Command syntax:</para><screen><![CDATA[traceroute machine_name_or_ip
]]></screen></listitem></varlistentry><varlistentry><term>tracepath
@ -1469,7 +1468,7 @@ Please note that this tool is part of the num-utils package.
<title>Alternative website downloaders</title>
<para>You may like to try alternatives like httrack<indexterm><primary>httrack</primary></indexterm>. A full <acronym>GUI</acronym> website downloader written in python and available for GNU/Linux </para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>curl
</listitem></varlistentry><varlistentry><term>curl
</term><listitem><para><indexterm><primary>curl</primary></indexterm><emphasis>curl</emphasis> is another remote <indexterm><primary>remote</primary></indexterm>downloader.<indexterm><primary>downloader</primary></indexterm> This remote <indexterm><primary>remote</primary></indexterm>downloader <indexterm><primary>downloader</primary></indexterm>is designed <indexterm><primary>designed</primary></indexterm>to work without user interaction and supports <indexterm><primary>supports</primary></indexterm>a variety <indexterm><primary>variety</primary></indexterm>of protocols,<indexterm><primary>protocols</primary></indexterm> can upload/download and has a large number of tricks/work-arounds for various things. It can access <indexterm><primary>access</primary></indexterm>dictionary <indexterm><primary>dictionary</primary></indexterm>servers <indexterm><primary>servers</primary></indexterm>(dict), ldap <indexterm><primary>ldap</primary></indexterm>servers, ftp, http,<indexterm><primary>http</primary></indexterm> gopher,<indexterm><primary>gopher</primary></indexterm> see the manual <indexterm><primary>manual</primary></indexterm>page for full <indexterm><primary>full</primary></indexterm>details.<indexterm><primary>details</primary></indexterm> </para><para>To access <indexterm><primary>access</primary></indexterm>the full <indexterm><primary>full</primary></indexterm>manual (which is huge) for this command type:</para><screen><![CDATA[curl -M]]><indexterm><primary>-M</primary></indexterm><![CDATA[
]]></screen><para>For general <indexterm><primary>general</primary></indexterm>usage you can use it like <emphasis>wget</emphasis>. You can also login <indexterm><primary>login</primary></indexterm>using a user name by using the <emphasis>-u<indexterm><primary>-u</primary></indexterm></emphasis> option and typing your username <indexterm><primary>username</primary></indexterm>and password like this:</para><screen><![CDATA[curl -u username:password http://www.placetodownload/file
]]></screen><para>To upload <indexterm><primary>upload</primary></indexterm>using ftp <indexterm><primary>ftp</primary></indexterm>you the <emphasis>-T<indexterm><primary>-T</primary></indexterm></emphasis> option:<indexterm><primary>option</primary></indexterm></para><screen><![CDATA[curl -T file_name ftp://ftp.uploadsite.com
@ -1504,7 +1503,7 @@ Please note that this tool is part of the num-utils package.
This is also a basic security hazard if you have others using your computer and security is a concern, you may like to add a password to your LILO or Grub prompt to stop this from being done.
</para>
</caution>
</listitem></listitem></varlistentry></variablelist><para></para><variablelist><varlistentry><term>umask
</listitem></varlistentry></variablelist><para></para><variablelist><varlistentry><term>umask
</term><listitem><para>The umask <indexterm><primary>umask</primary></indexterm>is a value <indexterm><primary>value</primary></indexterm>set <indexterm><primary>set</primary></indexterm>by the shell.<indexterm><primary>shell</primary></indexterm> It controls <indexterm><primary>controls</primary></indexterm>the default <indexterm><primary>default</primary></indexterm>permissions of any file created during that shell<indexterm><primary>shell</primary></indexterm> session.<indexterm><primary>session</primary></indexterm> This information is inherited from the shell's parent <indexterm><primary>parent</primary></indexterm>and is normally set in some configuration <indexterm><primary>configuration</primary></indexterm>file by the root user (in my case /etc/profile<indexterm><primary>/etc/profile</primary></indexterm>).</para><para>umask has an unusual way of doing things ...to set the umask you must describe<indexterm><primary>describe</primary></indexterm> file permissions <indexterm><primary>file permissions</primary></indexterm>by saying what will be disabled.<indexterm><primary>disabled</primary></indexterm> </para><para>You can do this by doing 777 minus <indexterm><primary>minus</primary></indexterm>the file permissions you want. Note that <emphasis>umask</emphasis> works with numbers <indexterm><primary>numbers</primary></indexterm>only, for an explanation <indexterm><primary>explanation</primary></indexterm> please see, <xref linkend="file-permissions"></para><para>For example:</para><para>You want the default during a particular shell session <indexterm><primary>default</primary></indexterm>to be equivalent <indexterm><primary>equivalent</primary></indexterm>to<emphasis> chmod <indexterm><primary>chmod</primary></indexterm>750</emphasis> (user has r/w/x, group <indexterm><primary>group</primary></indexterm>has r/x and other has no permissions), then the command you would use would be:</para><screen><![CDATA[umask 027
]]></screen></listitem></varlistentry></variablelist><sect1 id="some-basic-security-tools"><title>Some basic Security Tools</title><para></para><variablelist><varlistentry><term>md5sum
</term><listitem><para><indexterm><primary>md5sum</primary></indexterm>Compute an md5 <indexterm><primary>md5</primary></indexterm>checksum (128-bit) for file &ldquo;file_name&rdquo; to verify <indexterm><primary>verify</primary></indexterm>it's integrity.<indexterm><primary>integrity</primary></indexterm> You normally use the &ldquo; md5sum -c&rdquo; <indexterm><primary>-c</primary></indexterm>option <indexterm><primary>option</primary></indexterm>to check <indexterm><primary>check</primary></indexterm>against a given file (often with a &ldquo;.asc&rdquo; extention) to check <indexterm><primary>check</primary></indexterm>whether the various files are correct,<indexterm><primary>correct</primary></indexterm> this comes in handy <indexterm><primary>handy</primary></indexterm>when downloading <indexterm><primary>downloading</primary></indexterm>isos as the checking <indexterm><primary>checking</primary></indexterm>is automated <indexterm><primary>automated</primary></indexterm>for you.</para><para>Command syntax:</para><screen><![CDATA[md5sum file_name
@ -1567,7 +1566,7 @@ Security Hazard
This is obviously a security hazard. You should avoid using the suid flag unless necessary.
</para>
</caution>
</listitem></listitem></varlistentry></variablelist><para></para><variablelist><varlistentry><term>chattr
</listitem></varlistentry></variablelist><para></para><variablelist><varlistentry><term>chattr
</term><listitem><para><emphasis><indexterm><primary>chattr</primary></indexterm></emphasis>Change file system attributes (works on ext2fs and possibly others...). Use the <emphasis>-R</emphasis> option to change <indexterm><primary>change</primary></indexterm>files recursively,<emphasis> chattr </emphasis>has a large number <indexterm><primary>number</primary></indexterm>of attributes <indexterm><primary>attributes</primary></indexterm>which can be set <indexterm><primary>set</primary></indexterm>on a file, read the manual<indexterm><primary>manual</primary></indexterm> page <indexterm><primary>page</primary></indexterm>for further information.</para><para>Example:</para><screen><![CDATA[chattr +i /sbin/lilo.conf]]><footnote><para>This example and tiny parts of the explanation have been taken from the <productname>Linux</productname> Online Classroom, see [4] in the <xref linkend="references"> for further information. </para></footnote><![CDATA[
]]></screen><para>This sets <indexterm><primary>sets</primary></indexterm>the 'immutable' flag <indexterm><primary>flag</primary></indexterm>on a file. Use a '+' to add <indexterm><primary>add</primary></indexterm>attributes <indexterm><primary>attributes</primary></indexterm>and a '-' to take them away. The +i will prevent <indexterm><primary>prevent</primary></indexterm>any changes (accidental or otherwise) to the &ldquo;lilo.conf&rdquo; file. If you wish to modify <indexterm><primary>modify</primary></indexterm>the lilo.conf file you will need to unset <indexterm><primary>unset</primary></indexterm>the immutable<indexterm><primary>immutable</primary></indexterm> flag:<indexterm><primary>flag</primary></indexterm><emphasis> chattr -i</emphasis>.<indexterm><primary>-i</primary></indexterm> Note some flags <indexterm><primary>flags</primary></indexterm>can only be used by root;<indexterm><primary>root</primary></indexterm> <emphasis>-i</emphasis>, <emphasis>-a</emphasis> and probably <indexterm><primary>probably</primary></indexterm>many others.</para><para>Note there are many different <indexterm><primary>different</primary></indexterm>attributes <indexterm><primary>attributes</primary></indexterm>that chattr can change,<indexterm><primary>change</primary></indexterm> here are a few more which may be useful:</para><itemizedlist><listitem><para>A<indexterm><primary>A</primary></indexterm> (no Access time) --- if a file or directory has this attribute set, whenever it is accessed,<indexterm><primary>accessed</primary></indexterm> either for reading <indexterm><primary>reading</primary></indexterm>of for writing,<indexterm><primary>writing</primary></indexterm> it's last <indexterm><primary>last</primary></indexterm>access time<indexterm><primary>access time</primary></indexterm> will not be updated.<indexterm><primary>updated</primary></indexterm> This can be useful, for example, on files or directories <indexterm><primary>directories</primary></indexterm>which are very often accessed <indexterm><primary>accessed</primary></indexterm>for reading, especially since this parameter is the only one which changes on an inode <indexterm><primary>inode</primary></indexterm>when it's opened.<indexterm><primary>opened</primary></indexterm></para></listitem><listitem><para>a<indexterm><primary>a</primary></indexterm> (append only) --- if a file has this attribute <indexterm><primary>attribute</primary></indexterm>set and is open for writing, the only operation possible will be to append <indexterm><primary>append</primary></indexterm>data <indexterm><primary>data</primary></indexterm>to it's previous contents. For a directory, this means that you can only add <indexterm><primary>add</primary></indexterm>files to it, but not rename <indexterm><primary>rename</primary></indexterm>or delete any existing <indexterm><primary>existing</primary></indexterm>file. Only root can set or clear this attribute.</para></listitem><listitem><para>s<indexterm><primary>s</primary></indexterm> (secure deletion) --- when such a file or directory with this attribute<indexterm><primary>attribute</primary></indexterm> set is deleted,<indexterm><primary>deleted</primary></indexterm> the blocks <indexterm><primary>blocks</primary></indexterm>it was occupying <indexterm><primary>occupying</primary></indexterm>on disk <indexterm><primary>disk</primary></indexterm>are written back with zeroes <indexterm><primary>zeroes</primary></indexterm>(similar to using <emphasis>shred</emphasis>). Note that this does work on the ext2,<indexterm><primary>ext2</primary></indexterm> and ext3 <indexterm><primary>ext3</primary></indexterm>filesystems but is unlikely to work on others (please see the documentation <indexterm><primary>documentation</primary></indexterm>for the filesystem <indexterm><primary>filesystem</primary></indexterm>you are using). You may also like to see <emphasis>shred</emphasis><indexterm><primary>shred</primary></indexterm>, please see <xref linkend="Working-with-the-file-system"></para></listitem></itemizedlist></listitem></varlistentry><varlistentry><term>lsattr
</term><listitem><para><indexterm><primary>lsattr</primary></indexterm>(list attributes). This will list <indexterm><primary>list</primary></indexterm>if whether a file has any special <indexterm><primary>special</primary></indexterm>attributes (as set by chattr). Use the <emphasis>-R</emphasis> option to list recursively <indexterm><primary>recursively</primary></indexterm>and try using the <emphasis>-d<indexterm><primary>-d</primary></indexterm></emphasis> option <indexterm><primary>option</primary></indexterm>to list directories <indexterm><primary>directories</primary></indexterm>like other files rather than listing <indexterm><primary>listing</primary></indexterm>their contents.<indexterm><primary>contents</primary></indexterm></para><para>Command syntax:</para><screen><![CDATA[lsattr
@ -1621,7 +1620,7 @@ For bzip2 the commands are prefixed with bz, <emphasis>bzcat, bzless, bzgrep</em
Note that the images are converted to the same size (scaled) so they can be tiled together.
</para>
</note>
</listitem></listitem></varlistentry><varlistentry><term>convert
</listitem></varlistentry><varlistentry><term>convert
</term><listitem><para>To convert the file format <indexterm><primary>format</primary></indexterm>of an image to another image format. <emphasis>convert</emphasis> is used to change <indexterm><primary>change</primary></indexterm>a files format,<indexterm><primary>format</primary></indexterm> for example from a jpeg <indexterm><primary>jpeg</primary></indexterm>to a bitmap <indexterm><primary>bitmap</primary></indexterm>or one of many other formats.<indexterm><primary>formats</primary></indexterm><emphasis> convert </emphasis>can also manipulate <indexterm><primary>manipulate</primary></indexterm>the images as well (see the man <indexterm><primary>man</primary></indexterm>page <indexterm><primary>page</primary></indexterm>or the ImageMagick<indexterm><primary>ImageMagick</primary></indexterm> site).</para><para>Example from Jpeg <indexterm><primary>Jpeg</primary></indexterm>to PNG <indexterm><primary>PNG</primary></indexterm>format:</para><screen><![CDATA[convert JPEG: thisfile.jpg PNG: thisfile.png
]]></screen></listitem></varlistentry><varlistentry><term>import
</term><listitem><para><indexterm><primary>import</primary></indexterm>Captures screen-shots <indexterm><primary>screen-shots</primary></indexterm>from the X server <indexterm><primary>server</primary></indexterm>and saves <indexterm><primary>saves</primary></indexterm>them to a file. A screen-dump <indexterm><primary>screen-dump</primary></indexterm>of what X is doing.</para><para>Command syntax:</para><screen><![CDATA[import file_name
@ -1634,7 +1633,7 @@ Note that the images are converted to the same size (scaled) so they can be tile
Be careful when opening multiple large sized images (especially on a slow machine) and putting the slide show on a small delay between image changes. Your processor will be overloaded and it will take a significant amount of time to be able to close ImageMagick.
</para>
</caution>
</listitem></listitem></varlistentry><varlistentry><term>identify
</listitem></varlistentry><varlistentry><term>identify
</term><listitem><para>Will identify <indexterm><primary>identify</primary></indexterm>the type of image <indexterm><primary>image</primary></indexterm>as well as it's size,<indexterm><primary>size</primary></indexterm> colour <indexterm><primary>colour</primary></indexterm>depth and various other information. Use the<emphasis> -verbose <indexterm><primary>-verbose</primary></indexterm></emphasis> option <indexterm><primary>option</primary></indexterm>to show <indexterm><primary>show</primary></indexterm>detailed <indexterm><primary>detailed</primary></indexterm>information on the particular <indexterm><primary>particular</primary></indexterm>file(s). </para><para>Command syntax:</para><screen><![CDATA[identify image_name
]]></screen></listitem></varlistentry><varlistentry><term>mogrify
</term><listitem><para><indexterm><primary>mogrify</primary></indexterm><emphasis>mogrify</emphasis> is another ImageMagick <indexterm><primary>ImageMagick</primary></indexterm>command which is used to transform <indexterm><primary>transform</primary></indexterm>images in a number of different ways, including <indexterm><primary>including</primary></indexterm>scaling,<indexterm><primary>scaling</primary></indexterm> rotation <indexterm><primary>rotation</primary></indexterm>and various other effects.<indexterm><primary>effects</primary></indexterm> This command can work on a single file or in batch.<indexterm><primary>batch</primary></indexterm></para><para>For example, to convert a large number <indexterm><primary>number</primary></indexterm>of tiff <indexterm><primary>tiff</primary></indexterm>files to jpeg <indexterm><primary>jpeg</primary></indexterm>files you could type:</para><screen><![CDATA[mogrify -format jpeg *.tiff]]><indexterm><primary>-format</primary></indexterm><![CDATA[
@ -1680,8 +1679,8 @@ Note that with mtools commands you can use the slashes on the a: part either way
]]></screen><para>This would run the shell <indexterm><primary>shell</primary></indexterm>script 1 hour <indexterm><primary>hour</primary></indexterm>from now.</para></listitem></varlistentry><varlistentry><term>atq
</term><listitem><para><indexterm><primary>atq</primary></indexterm>Will list jobs currently in queue <indexterm><primary>queue</primary></indexterm>for the user who executed it, if root<indexterm><primary>root</primary></indexterm> executes at <indexterm><primary>at</primary></indexterm>it will list <indexterm><primary>list</primary></indexterm>all jobs <indexterm><primary>jobs</primary></indexterm>in queue <indexterm><primary>queue</primary></indexterm>for the at <indexterm><primary>at</primary></indexterm>daemon. Doesn't need or take any options.<indexterm><primary>options</primary></indexterm></para></listitem></varlistentry><varlistentry><term>atrm
</term><listitem><para><indexterm><primary>atrm</primary></indexterm>Will remove <indexterm><primary>remove</primary></indexterm>a job <indexterm><primary>job</primary></indexterm>from the 'at' queue.<indexterm><primary>queue</primary></indexterm></para><para>Command syntax:</para><screen><![CDATA[atrm job_no
]]></screen><para>Will delete <indexterm><primary>delete</primary></indexterm>the job <indexterm><primary>job</primary></indexterm>&ldquo;job_no&rdquo; (use <emphasis>atq</emphasis> to find out the number <indexterm><primary>number</primary></indexterm>of the job)</para></listitem></varlistentry><varlistentry><term>cron<emphasis>
</term><listitem><para>cron<indexterm><primary>cron</primary></indexterm></emphasis> can be used to schedule <indexterm><primary>schedule</primary></indexterm>a particular <indexterm><primary>particular</primary></indexterm>function <indexterm><primary>function</primary></indexterm>to occur every minute,<indexterm><primary>minute</primary></indexterm> hour,<indexterm><primary>hour</primary></indexterm> day,<indexterm><primary>day</primary></indexterm> week, or month.<indexterm><primary>month</primary></indexterm> </para><para>It's normal <indexterm><primary>normal</primary></indexterm>to use the crontab <indexterm><primary>crontab</primary></indexterm>to perform the editing <indexterm><primary>editing</primary></indexterm>functions as this automates <indexterm><primary>automates</primary></indexterm>the process <indexterm><primary>process</primary></indexterm>for the cron <indexterm><primary>cron</primary></indexterm>daemon <indexterm><primary>daemon</primary></indexterm>and makes it easier for normal<indexterm><primary>normal</primary></indexterm> users to use cron.<indexterm><primary>cron</primary></indexterm></para><tip>
]]></screen><para>Will delete <indexterm><primary>delete</primary></indexterm>the job <indexterm><primary>job</primary></indexterm>&ldquo;job_no&rdquo; (use <emphasis>atq</emphasis> to find out the number <indexterm><primary>number</primary></indexterm>of the job)</para></listitem></varlistentry><varlistentry><term><emphasis>cron</emphasis>
</term><listitem><para><emphasis>cron<indexterm><primary>cron</primary></indexterm></emphasis> can be used to schedule <indexterm><primary>schedule</primary></indexterm>a particular <indexterm><primary>particular</primary></indexterm>function <indexterm><primary>function</primary></indexterm>to occur every minute,<indexterm><primary>minute</primary></indexterm> hour,<indexterm><primary>hour</primary></indexterm> day,<indexterm><primary>day</primary></indexterm> week, or month.<indexterm><primary>month</primary></indexterm> </para><para>It's normal <indexterm><primary>normal</primary></indexterm>to use the crontab <indexterm><primary>crontab</primary></indexterm>to perform the editing <indexterm><primary>editing</primary></indexterm>functions as this automates <indexterm><primary>automates</primary></indexterm>the process <indexterm><primary>process</primary></indexterm>for the cron <indexterm><primary>cron</primary></indexterm>daemon <indexterm><primary>daemon</primary></indexterm>and makes it easier for normal<indexterm><primary>normal</primary></indexterm> users to use cron.<indexterm><primary>cron</primary></indexterm></para><tip>
<title>Anacron</title>
<para><emphasis>anacron</emphasis> is another tool designed for systems which are not always on, such as home computers</para>
<para>While <emphasis>cron </emphasis>will not run if the computer is off, <emphasis>anacron </emphasis>will simply run the command when the computer is next on (it catches up with things).</para>

View File

@ -1,5 +1,5 @@
<bibliography id="references" title="References">
<bibliography id="references">
<bibliodiv>
<biblioentry>
<biblioset>
@ -271,6 +271,3 @@ This particular article by Kyle Rankin was used (only a paragraph) for informati
</biblioentry>
</bibliodiv>
</bibliography>
</chapter>

View File

@ -0,0 +1 @@
abook.xml

View File

@ -69,9 +69,8 @@
<!-- Appendix D. Transformations: Making HTML out of XML -->
<!ENTITY transformations SYSTEM "transformations.xml">
<!-- Appendix E. CVS -->
<!ENTITY cvs SYSTEM "cvs.xml">
<!ENTITY cvs-why SYSTEM "cvs-why.xml">
<!-- Appendix E. git -->
<!ENTITY git SYSTEM "git.xml">
<!-- Appendix F. Converting Documents to DocBook XML -->
<!ENTITY x2docbook SYSTEM "x2docbook.xml">
@ -159,6 +158,8 @@
<authorinitials>MG</authorinitials>
<revremark>Added notes about prefered submission formats,
corrected links, packaged templates.</revremark>
</revision>
<revision>
<revnumber>4.7</revnumber>
<date>2005-03-04</date>
@ -493,8 +494,8 @@
<!-- Appendix: Editors, Validation and System Setup -->
&tools;
<!-- Appendix: CVS -->
&cvs;
<!-- Appendix: git -->
&git;
<!-- Appendix: Converting to DocBook XML 4.x
-->

View File

@ -100,14 +100,14 @@
url="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation
License (GFDL)</ulink>, one of the <ulink
url="http://www.creativecommons.org/license">Creative Commons
Licenses</ulink> (<ulink url="http://creativecommons.org/licenses/sa/1.0/">Share-Alike</ulink>, or <ulink url="http://creativecommons.org/licenses/by-sa/2.0/">Attribution-Share-Alike</ulink>), or the LDP license (currently under review). The full text of the license must be included in your document, including the title and version of the license you are using. The LDP will not accept new documents that do not meet licensing requirements.</para>
Licenses</ulink> (such as <ulink url="https://creativecommons.org/licenses/by-nc-sa/4.0/">Attribution-NonCommercial-ShareAlike</ulink> and <ulink url="http://creativecommons.org/licenses/by-sa/4.0/">Attribution-ShareAlike</ulink>), or the LDP license (currently under review). The full text of the license must be included in your document, including the title and version of the license you are using. The LDP will not accept new documents that do not meet licensing requirements.</para>
<warning>
<title>Debian-compatible licenses</title>
<para>The Debian package maintainer for LDP documents has divided the LDP documents into those with a <quote>free</quote> license and those with a <quote>non-free</quote> license. For a summary of this list, please read <ulink url="http://www.debian.org/legal/licenses/byname">Debian License Summaries</ulink>. Currently the Artistic License, BSD License and the GNU General Public License are listed as <quote>free</quote>. These licenses will also be accepted by the LDP. The definition of <quote>non-free</quote> has not been made transparent. By choosing another license that has any kind of restriction on redistribution or whether or not the document may be modified, your document <emphasis>may</emphasis> be put into the <quote>non-free</quote> package instead of the <quote>free</quote> package. We are working with Debian to clarify how these decisions are made.</para>
<para>The Debian package maintainer for LDP documents has divided the LDP documents into those with a <quote>free</quote> license and those with a <quote>non-free</quote> license. For a summary of this list, please read <ulink url="https://wiki.debian.org/DFSGLicenses">Debian License Summaries</ulink>. Currently the Artistic License, BSD License and the GNU General Public License are listed as <quote>free</quote>. These licenses will also be accepted by the LDP. The definition of <quote>non-free</quote> has not been made transparent. By choosing another license that has any kind of restriction on redistribution or whether or not the document may be modified, your document <emphasis>may</emphasis> be put into the <quote>non-free</quote> package instead of the <quote>free</quote> package. We are working with Debian to clarify how these decisions are made.</para>
</warning>
<para>You can get DocBook markups of both the GNU GPL and the GNU FDL from <ulink url="http://developer.gnome.org/projects/gdp/licenses.html"> the GNOME Documentation Project</ulink>. You can then merely include the license in its entirety in your document. A DocBook-formatted copy of the license is available in <xref linkend="templates"/>.
<para>A DocBook-formatted copy of the license is available in <xref linkend="templates"/>.
</para>
<para>
@ -222,7 +222,8 @@
not require any additional work. Be prepared to make at least one round
of changes for both the technical and language reviews. Ideally this
exchange will happen in the LDP's <ulink
url="http://cvs.tldp.org">CVS</ulink> to better track each of the
url="https://github.com/tLDP/LDP">git</ulink> repository to better
track each of the
changes that are made, and keep track of the most current version of
your document.
</para>
@ -257,16 +258,11 @@
<para>
As part of the review process a Review Coordinator will add your
document to the CVS (including any associated image files) and
document to github (including any associated image files) and
notify the submit mailing list that your document is ready for
publication.
</para>
<para>
If you do not already have a CVS account, please apply for one
when your document is submitted for publication. You can apply
for an account contacting LDP CVS master Sergiusz <ulink url="mailto:ser@gnu.org" />
</para>
<!--
<para> Once your LDP document has been carefully reviewed, you

View File

@ -44,9 +44,9 @@
<section id="fix-own">
<title>Fixing Your Own Documents</title>
<para>If you find an error in your own document, please fix it and re-submit the document. You can re-submit your files by emailing them to <email>submit@en.tldp.org</email>. </para>
<para>If you find an error in your own document, please fix it and re-submit the document. If you do not have GitHub access, you can send an e-mail to <email>discuss@en.tldp.org</email> with notification that you have changes and a volunteer will work with you to handle the change. </para>
<para>If you have been using the CVS, you can submit your changes to the CVS tree and then send a note to the submit mailing list (<email>submit@en.tldp.org</email>). In your email please give the exact path of your document in the CVS tree.</para>
<para>If you are using GitHub, you can commit your changes to your local repository and then generate a pull request to have it added to the central repository.</para>
<para>Remember to update the revision history at the top of the document.</para>
</section>

View File

@ -12,14 +12,14 @@
<para>
As part of the review process a Review Coordinator will add your
document to the CVS (including any associated image files) and
document to the git repository (including any associated image files) and
notify the submit mailing list that your document is ready for
publication.
</para>
<para>
Subsequent updates to your document can be made via the CVS. Please read
<xref linkend="cvs" /> for more information.
Subsequent updates to your document can be made via git if you like. Please read
<xref linkend="git" /> for more information.
</para>
<!--

View File

@ -227,15 +227,14 @@ your final document.
</para>
</section>
<section id="cvs-brief">
<title>Concurrent Versions System (CVS)</title>
&cvs-why;
<section id="git-brief">
<title>git</title>
<para>
For more information on how to use CVS to maintain your LDP
documents, please read <xref linkend="cvs" />.
For more information on how to use git to maintain your LDP
documents, please read <xref linkend="git" />.
</para>
</section> <!-- cvs -->
</section> <!-- git -->
<section id="ag-spellcheck">
<title>Spell Check</title>

View File

@ -11,7 +11,7 @@
<para>This document uses the following conventions<footnote>
<para>Please, take a look at the <ulink
url="http://cvsview.tldp.org/index.cgi/LDP/guide/docbook/LDP-Author-Guide/">
url="https://raw.githubusercontent.com/tLDP/LDP/master/LDP/guide/docbook/LDP-Author-Guide/LDP-Author-Guide.xml">
source</ulink> to see how to get
similar results on your documents. You should also remember that
the way this appears to you depends on the format in which you are reading

View File

@ -0,0 +1,101 @@
<!--
<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.2//EN'>
-->
<appendix id="git">
<title>git revision control</title>
<section id="git-intro">
<title>Introduction to git</title>
<para>
You can browse the LDP github repository via the web at <ulink
url="https://github.com/tLDP/">https://github.com/tLDP/</ulink>.
</para>
<para>
Using git offers many advantages over other version control systems,
but between git and github there's a few features that make it well
suited for a distributed and diverse set of contributors:
</para>
<itemizedlist>
<listitem><para>Each user can have their own independent and up-to-date copy of the repository and modify it.</para></listitem>
<listitem><para>Submitters do not need to have write access to the main repository to submit updates</para></listitem>
<listitem><para>Using github relieves TLDP staff of managing account requests</para></listitem>
<listitem><para>Ability to import changelogs from other VCS, so you can track changes going back about 16 years or more</para></listitem>
</itemizedlist>
<para>These advantages come a bit a bit of a price in terms of increased complexity. There's a lot to git, but we'll cover enough here to manage documents in LDP.</para>
<para>You can get an account on github by going to their <ulink
url="https://github.com/">website</ulink> and signing up for a free
account. For ease of use, you may want to use SSH keys to
authenticate with github otherwise you will be asked to enter your
password with each update.
</para>
<note>
<para>
If for some reason you are unwilling to create a github account, we will do our best to accomodate you. You can use
<command>git clone https://github.com/tLDP/LDP.git</command> to make a copy of the repository locally on your system.
Make your proposed changes and then you can use <command>git diff > myhowto.patch</command> to generate the differences
between the original and your updates. Send an e-mail to <email>discuss@en.tldp.org</email> that you have updates you'd
like to submit outside github and a volunteer will help you out.
</para>
</note>
</section>
<section id="git-setup">
<title>Setting up git on your local Linux system</title>
<para>Many different systems run git, but this document will focus on doing as many functions from the Linux command line as possible</para>
<para>You will need to make sure that <command>git</command> is installed on your system. It isn't always installed by default so you may need to add it using your package manager such as <command>yum</command> or <command>apt-get</command></para>
</section>
<section id="git-first">
<title>First time git setup</title>
<para>The first time you start using github you'll need to run some
commands</para>
<itemizedlist>
<listitem> <para>Clone the entire repository (about 400 MB) with: <command>git clone https://github.com/tLDP/LDP</command>
</para> </listitem>
<listitem> <para>Go to the <ulink url="https://github.com/tLDP/LDP">LDP repository</ulink> on github and click on <option>Fork</option>. This will create your own copy of TLDP in your space that you can write to.</para></listitem>
<listitem> <para>Lastly, link your local repository with your repository on github with <command>git remote add upstream git@github.com/<replaceable>MyGithubID</replaceable>/LDP.git</command></para></listitem>
</itemizedlist>
</section>
<section id="git-updates">
<title>Submitting changes to TLDP</title>
<para>Each time you make changes to TLDP you'll need to go through this
process. It'll make sure that your changes are submitted for review and
if approved, automatically added into TLDP</para>
<itemizedlist>
<listitem><para>Create a new branch using <command>git checkout -b <replaceable>MyNewBranch</replaceable></command></para></listitem>
<listitem><para>Start making your changes, either editing files, or creating new ones. You can use <command>git diff</command> to see changes between what you have locally and what the last checked in repository is.</para></listitem>
<listitem><para>If you added new files, you will need to use <command>git add <replaceable>filename</replaceable></command> to indicate that there are new files for git to manage.</para></listitem>
<listitem><para>Now you commit the changes locally using <command>git commit</command>. This creates a new revision and drops you into an editor to add a comment for the changes you've made. You can include the <command>-m</command> option and a string to do this at the command line.</para></listitem>
<listitem><para>Now you need to push your changes into your forked repository on github with <command>git push -u upstream <replaceable>MyNewBranch</replaceable></command></para></listitem>
<listitem><para>From the github website, you will need to create a push request using your branch.</para></listitem>
</itemizedlist>
<para>Once the push request is accepted, you can remove the branch using <command>git branch -D <replaceable>MyNewBranch</replaceable></command></para>
</section>
<!--
<section id="git-resources">
<title>git resources</title>
<para>If you're completely new to git, there are a few web pages
you may want to look at which can help you out: </para>
<itemizedlist>
<listitem>
<para> <ulink
url="http://cvshome.org/docs/blandy.html">http://cvshome.org/docs/blandy.html</ulink>
</para>
</listitem>
<listitem>
<para> <ulink
url="http://www.loria.fr/~molli/cvs/doc/cvs_toc.html">http://www.loria.fr/~molli/cvs/doc/cvs_toc.html</ulink></para>
</listitem>
</itemizedlist>
</section>
-->
</appendix>

View File

@ -186,6 +186,13 @@
</glossdef>
</glossentry>
<glossentry>
<glossterm>git</glossterm>
<glossdef>
<para>Git is a widely-used source code management system for software development. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. (Source: <ulink url="https://en.wikipedia.org/wiki/Git_(software)">Wikipedia</ulink>)</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>GNU Free Documentation License
(<acronym>GFDL</acronym>)</glossterm>

View File

@ -95,7 +95,7 @@
The GFDL (GNU Free Documentation License) is available in XML format
at <ulink url="http://www.gnu.org/licenses/fdl.xml">http://www.gnu.org/licenses/fdl.xml</ulink>. For a version in appendix format suitable for including
in your document, you can see get the XML for this document
from CVS at <ulink url="http://cvsview.tldp.org/index.cgi/LDP/guide/docbook/LDP-Author-Guide/fdl-appendix.xml">http://cvsview.tldp.org/index.cgi/LDP/guide/docbook/LDP-Author-Guide/fdl-appendix.xml</ulink>.
from GitHub at <ulink url="https://raw.githubusercontent.com/tLDP/LDP/master/LDP/guide/docbook/LDP-Author-Guide/fdl-appendix.xml">https://raw.githubusercontent.com/tLDP/LDP/master/LDP/guide/docbook/LDP-Author-Guide/fdl-appendix.xml</ulink>.
</para>
<para>
TLDP template files for DocBook (XML and SGML) and Linuxdoc SGML are

View File

@ -23,84 +23,6 @@
&configure-emacs;
<section id="tools-epcEdit">
<title>epcEdit</title>
<indexterm><primary>epcEdit</primary></indexterm>
<indexterm>
<primary>Editors</primary>
<secondary>epcEdit</secondary>
</indexterm>
<para>
<ulink url="http://www.tksgml.de/">
http://www.tksgml.de</ulink>
</para>
<para>
The <application>epcEdit</application> program allows you to edit XML files.
It has the advantages of not needing to know <application>Emacs</application> or
<application>vi</application> before starting, and is cross-platform, working in both
Windows and Linux. This is a commercial application, and
pricing can be found at
<ulink url="http://www.tksgml.de/pricing.html">
http://www.tksgml.de/pricing.html</ulink>
</para>
<para>
Along with visual editing, epcEdit will also validate
documents on loading, and on demand by using the <menuchoice
moreinfo="none"><guimenu
moreinfo="none">Document</guimenu><guimenuitem
moreinfo="none">Validate</guimenuitem></menuchoice>
command.</para>
<!-- replace this figure with one that shows an XML file -->
<!-- FIXME -->
<figure>
<title>epcEdit screen shot</title>
<mediaobject>
<imageobject>
<imagedata format="EPS" fileref="sgeditscreenshot.eps"/>
</imageobject>
<imageobject>
<imagedata format="JPG" fileref="sgeditscreenshot.jpg"/>
</imageobject>
<textobject>
<phrase>The screen shot of the <application>epcEdit</application>
program shows a
tree on the left side that has the document in a
hierarchy, while the right side shows the document.
Tags are shown with a gray background.</phrase>
</textobject>
</mediaobject>
</figure>
</section>
<section id="tools-morphoneditor">
<title>Morphon XML editor</title>
<para>
<ulink url="http://www.morphon.com/xmleditor/index.shtml">
http://www.morphon.com/xmleditor/index.shtml</ulink>
</para>
<para>
This is a commercial application which is currently
available for free (with an optional user registration).
It is written in Java, allowing it to run on any platform
that has a Java Virtual Machine (that is, works in both
Windows and Linux).
</para>
<para>
On the plus sides of <application>XMLEditor</application> is the left side of the
screen shows the hierarchy of the document (starting with Book
and so on). Selecting an item in the list brings you to that
part of the document so you can edit it. The right part of the
screen shows the text without any markup or tags being shown.
If you have external files as ELEMENTS (as the LDP Author Guide
does), <application>XMLEditor</application> will follow the links and load the files, so
you always work on the entire work. On the minus side of this,
you will get errors if a file is missing.
</para>
</section>
<section id="tools-nedit">
<title>nedit</title>
<indexterm><primary>nedit</primary></indexterm>
@ -109,16 +31,16 @@
<secondary>nedit</secondary>
</indexterm>
<para>
<ulink url="http://nedit.org">
http://nedit.org</ulink>
<ulink url="http://sourceforge.net/projects/nedit/">
http://sourceforge.net/projects/nedit/</ulink>
</para>
<para>
To be fair, <application>nedit</application> is more
for programmers, so it might seem a bit of overkill for new
users and especially non-programmers. All that aside, it's
extremely powerful, allowing for syntax highlighting. Unlike
<application>epcEdit</application>, <application>nedit</application> doesn't allow you to automatically insert tags
extremely powerful, allowing for syntax highlighting.
<application>nedit</application> doesn't allow you to automatically insert tags
or automatically validate your code. However, it does allow
for shell commands to be run against the contents of the
window (as opposed to saving the file, then checking).

View File

@ -6,8 +6,9 @@
<para>
The LDP uses a number of scripts to distribute your document.
These scripts submit your document to the LDP's CVS (a free
document version management system), and then they transform your document to other formats that
These scripts retrieve your document from the LDP's document
version management system (currently git using GitHub), and
then they transform your document to other formats that
users then read. Your document will also be mirrored on a number
of sites worldwide (yet another set of scripts).
</para>

View File

@ -0,0 +1 @@
index.xml

View File

@ -146,7 +146,7 @@ editors, search engine optimizers, and quality control
managers-who work together to give you a cohesive web-based product.
Designerz, is one provider for all your needs. Our integrated approach to your project saves you money and time. We strive for your satisfaction with the process as well as the product.
We rate our work on the quality, not the quantity, of projects we develop. Team members receive quality-based assessments by customers and company management.
We monitor every team members role in developing a project to assure that our clients' needs are completely met.
We monitor every team member's role in developing a project to assure that our clients' needs are completely met.
</para>
<para>

View File

@ -2209,14 +2209,14 @@ dummy:x:1001:1001:,,,:/home/dummy:/bin/bash
/etc/opt : Configuration files for /opt
Host-specific configuration files for add-on application software packages
must be installed within the directory /etc/opt/&60;subdir&62;, where
&60;subdir&62; is the name of the subtree in /opt where the static data
must be installed within the directory /etc/opt/&#60;subdir&#62;, where
&#60;subdir&#62; is the name of the subtree in /opt where the static data
from that package is stored.
No structure is imposed on the internal arrangement of /etc/opt/&60;subdir&62;.
No structure is imposed on the internal arrangement of /etc/opt/&#60;subdir&#62;.
If a configuration file must reside in a different location in order for the
package or system to function properly, it may be placed in a location other
than /etc/opt/&60;subdir&62;.
than /etc/opt/&#60;subdir&#62;.
The rationale behind this subtree is best explained by refering to the
rationale for /opt.

View File

@ -54,7 +54,7 @@ towards security is made. It was only intended to provide an overview of this su
provide a means by which to extend one's knowledge of networking under Linux and other
well established documents. For issues related to networking under Linux that are outside
the scope of this document please consult the Linux Documentation Project,
<ulink url="http://www.tldp.org"/>http://www.tldp.org</ulink>.
<ulink url="http://www.tldp.org">http://www.tldp.org</ulink>.
</para>
</abstract>

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<sect1 id="Overview">
<title>Overview</title>
@ -31,7 +32,7 @@ support under Linux.
<para>
<screen>
Orest Zborowski <obz@Kodak.com> produced the original BSD socket
Orest Zborowski <email>obz@Kodak.com</email> produced the original BSD socket
programming interface for the Linux kernel. This was a big step
forward as it allowed many of the existing network applications to be
ported to linux without serious modification.
@ -99,8 +100,7 @@ Linux Networking HOWTO, http://tldp.org/HOWTO/NET3-4-HOWTO.html
<para>
<![CDATA[
5.1.4. IP Addresses, an Explanation.
Internet Protocol Addresses are composed of four bytes. The convention
@ -189,17 +189,17 @@ Linux Networking HOWTO, http://tldp.org/HOWTO/NET3-4-HOWTO.html
and ask them for the following information:
· Host IP Address
· Host IP Address
· IP network address
· IP network address
· IP broadcast address
· IP broadcast address
· IP netmask
· IP netmask
· Router address
· Router address
· Domain Name Server Address
· Domain Name Server Address
You should then configure your linux network device with those
@ -618,7 +618,7 @@ Linux Networking HOWTO, http://tldp.org/HOWTO/NET3-4-HOWTO.html
I'm using:
IP Routing is the process by which a host with multiple net­
IP Routing is the process by which a host with multiple net­
work connections decides where to deliver IP datagrams it
has received.
@ -1739,14 +1739,14 @@ Linux Networking HOWTO, http://tldp.org/HOWTO/NET3-4-HOWTO.html
| |
- -
The diagram illustrates another possible reason to use IPIP encapsula­
The diagram illustrates another possible reason to use IPIP encapsula­
tion, virtual private networking. This example presupposes that you
have two machines each with a simple dial up internet connection. Each
host is allocated just a single IP address. Behind each of these
machines are some private local area networks configured with reserved
IP network addresses. Suppose that you want to allow any host on net­
work A to connect to any host on network B, just as if they were prop­
erly connected to the Internet with a network route. IPIP encapsula­
IP network addresses. Suppose that you want to allow any host on net­
work A to connect to any host on network B, just as if they were prop­
erly connected to the Internet with a network route. IPIP encapsula­
tion will allow you to do this. Note, encapsulation does not solve the
problem of how you get the hosts on networks A and B to talk to any
other on the Internet, you still need tricks like IP Masquerade for
@ -2133,24 +2133,24 @@ In network terminology the word "point" is usually synonymous with "device".
Some interesting documents:
· Hardware HOWTO <http://metalab.unc.edu/mdw/HOWTO/Hardware-
· Hardware HOWTO <http://metalab.unc.edu/mdw/HOWTO/Hardware-
HOWTO.html>
· Ethernet HOWTO <http://metalab.unc.edu/mdw/HOWTO/Ethernet-
· Ethernet HOWTO <http://metalab.unc.edu/mdw/HOWTO/Ethernet-
HOWTO.html>
6.9. Authentication
There are also various ways of authenticating users in mixed networks.
· For Linux/Windows NT:http://www.mindware.com.au/ftp/smb-NT-
· For Linux/Windows NT:http://www.mindware.com.au/ftp/smb-NT-
verify.1.1.tar.gz
· The PAM (pluggable authentication module) which is a flexible
· The PAM (pluggable authentication module) which is a flexible
method of Unix authentication: PAM library
<http://www.kernel.org/pub/linux/libs/pam/index.html>.
· Finally, LDAP in Linux
· Finally, LDAP in Linux
<http://www.umich.edu/~dirsvcs/ldap/index.html>
7. Remote execution of applications
@ -2179,19 +2179,19 @@ In network terminology the word "point" is usually synonymous with "device".
capabilities:
· Linux is a true 32-bit multitasking operating system, robust and
· Linux is a true 32-bit multitasking operating system, robust and
capable enough to be used in organizations ranging from
universities to large corporations.
· It runs on hardware ranging from low-end 386 boxes to massive
· It runs on hardware ranging from low-end 386 boxes to massive
ultra-parallel machines in research centres.
· Out-of-the-box versions are available for Intel, Sparc, and Alpha
· Out-of-the-box versions are available for Intel, Sparc, and Alpha
architectures, and experimental support exists for Power PC and
embedded systems, among others such as SGI, Ultra Sparc, AP1000+,
Strong ARM, and MIPS R3000/R4000.
· Finally, when it comes to networking, Linux is choice. Not only
· Finally, when it comes to networking, Linux is choice. Not only
because networking is tightly integrated with the OS itself and a
plethora of applications is freely available, but for the
robustness under heavy loads that can only be achieved after years
@ -2286,8 +2286,9 @@ the sections below.
drivers with protocol support.
· WAN resources for Linux:
· WAN resources for Linux:
http://www.secretagent.com/networking/wan.html
]]>
>Start Binh
@ -2496,4 +2497,4 @@ services offered by Linux include mail, news, WWW servers and many
more that will be outlined further on in this document.
</para>
</sect1 id="Internet">
</sect1>

View File

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<sect1 id="Protocols-Standards-Services">
<title>Protocols-and-Standards-Services</title>
<para>
<![CDATA[
IEEE (Institute of Electrical and Electronics Engineers) 802 Standards
802.1 Internetworking
@ -17,10 +19,11 @@ IEEE (Institute of Electrical and Electronics Engineers) 802 Standards
802.10 Network security
802.11 Wireless Networking
802.12 High-speed LANs
]]>
</para>
<AX25>
<para>
<![CDATA[
3.8. Amateur Radio
The Linux kernel has built-in support for amateur radio protocols.
@ -33,8 +36,9 @@ IEEE (Institute of Electrical and Electronics Engineers) 802 Standards
It is similar to X.25 level 2 in structure, with some extensions to
make it more useful in the amateur radio environment.
· Amateur radio on Linux web site <http://radio.linux.org.au/>
</AX25>
· Amateur radio on Linux web site <http://radio.linux.org.au/>
]]>
</para>
NDIS and ODI
@ -101,7 +105,7 @@ as another Macintosh on the network.
- http://www.umich.edu/~rsug/netatalk/
- http://www.umich.edu/~rsug/netatalk/faq.html
</sect1 id="Appletalk">
</sect1>
<sect1 id="ARCnet">
@ -126,7 +130,7 @@ TCNS) support speeds of 20 Mbps and 100 Mbps, but have not really caught on.
- ARCnet HOWTO
</sect1 id="ARCnet">
</sect1>
<sect1 id="ATM">
@ -149,17 +153,17 @@ SVCs), IP over ATM, LAN emulation....
</para>
<para>
The Linux ATM-Linux home page is at, <http://lrcwww.epfl.ch/linux-atm/>
The Linux ATM-Linux home page is at, <ulink url="http://lrcwww.epfl.ch/linux-atm/"/>.
</para>
<para>
Werner Almesberger <werner.almesberger@lrc.di.epfl.ch> is managing a
Werner Almesberger <email>werner.almesberger@lrc.di.epfl.ch</email> is managing a
project to provide Asynchronous Transfer Mode support for Linux.
Current information on the status of the project may be obtained from,
http://lrcwww.epfl.ch
</para>
</sect1 id="ATM">
</sect1>
<sect1 id="DDS-Switched56">
@ -181,7 +185,7 @@ on demand rather than continuously, and you are billed for the hours that
you use it. ISDN has largely replaced Switched 56 for this purpose.
</para>
</sect1 id="DDS-Switched56">
</sect1>
<sect1 id="DECnet">
@ -192,7 +196,7 @@ Support for DECnet is currently being worked on. You should expect it
to appear in a late 2.1.* kernel.
</para>
</sect1 id="DECnet">
</sect1>
<sect1 id="DLC">
@ -208,7 +212,7 @@ used by many network-aware printers such Hewlett-Packard's JetDirect
interface.
</para>
</sect1="DLC">
</sect1>
<sect1 id="EQL">
@ -221,7 +225,7 @@ it is cheaper to use multiple lower speed lines than to have one high
speed line installed. In short, EQL is multiple line traffic equaliser.
</para>
</sect1 id="EQL">
</sect1>
<sect1 id="Ethernet">
@ -267,7 +271,7 @@ It is now often utilized as a more inexpensive option to Optic Fibre.
* Ethernet-Howto
</sect1 id="Ethernet">
</sect1>
<sect1 id="FDDI">
@ -297,7 +301,7 @@ disadvantage of FDDI is its high cost and the difficult in installing and
maintaing fiber optic cable.
</para>
</sect1 id="FDDI">
</sect1>
<sect1 id="Frame-Relay">
@ -327,7 +331,7 @@ network using a Frame Relay Access Device (FRAD). The Linux Frame Relay
supports IP over Frame Relay as described in RFC-1490.
</para>
</sect1 id="Frame-Relay">
</sect1>
<sect1 id="NetBEUI">
@ -354,7 +358,7 @@ for some operating systems (such as Windows for Workgroups and Windows 95),
Microsoft recommends TCP/IP over NetBEUI for most Windows NT networks.
</para>
</sect1 id="NetBEUI">
</sect1>
<sect1 id="IPX">
@ -394,21 +398,21 @@ in the packet. Typical frame types used in NetWare networks
Linux has a very clean IPX/SPX implementation, allowing it to be
configured as an:
· IPX router
· IPX bridge
· NCP client and/or NCP Server (for sharing files)
· Novell Print Client, Novell Print Server
· IPX router
· IPX bridge
· NCP client and/or NCP Server (for sharing files)
· Novell Print Client, Novell Print Server
And to:
· Enable PPP/IPX, allowing a Linux box to act as a PPP server/client
· Perform IPX tunnelling through IP, allowing the connection of two
· Enable PPP/IPX, allowing a Linux box to act as a PPP server/client
· Perform IPX tunnelling through IP, allowing the connection of two
IPX networks through an IP only link
</para>
* IPX-SPX HOWTO
</sect1 id="IPX">
</sect1>
<sect1 id="Leased-Line">
@ -457,7 +461,7 @@ OC-12 level would equate to a data transfer rate of 622 Mbps. OC-1 and
OC-3 are the most commonly used SONET lines.
</para>
</sect id="Leased-Line">
</sect1>
<sect1 id="PLIP">
@ -488,7 +492,7 @@ It uses a parallel port and a special cable, achieving speeds of
- PLIP HOWTO
- Networking HOWTO
</sect1 id="PLIP">
</sect1>
<sect1 id="PPP-and-SLIP">
@ -500,12 +504,12 @@ Protocol) and SLIP (Serial Line IP). PPP is the most popular
way individual users access their ISPs (Internet Service
Providers).
· Linux PPP HOWTO <http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html>
· <ulink url="http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html">Linux PPP HOWTO</ulink>
· PPP/SLIP emulator <http://metalab.unc.edu/mdw/HOWTO/mini/SLIP-PPP-
Emulator.html>
· <ulink url="http://metalab.unc.edu/mdw/HOWTO/mini/SLIP-PPP-Emulator.html">PPP/SLIP emulator</ulink>
</para>
</sect1 id="PPP-and-SLIP">
</sect1>
<sect1 id="Token-Ring">
@ -551,7 +555,7 @@ problem. This makes Token Ring a reliable choice for networking.
- Token-Ring HOWTO
</sect1 id="Token-Ring">
</sect1>
<sect1 id="X25">
@ -585,7 +589,7 @@ provides error control and accouting for users of the network.
- X25 HOWTO
</sect1 id="X25">
</sect1>
<sect1 id="IPv6">
@ -593,6 +597,7 @@ provides error control and accouting for users of the network.
<para>
<![CDATA[
2.1. What is IPv6?
IPv6, sometimes also referred to as IPng (IP Next Generation)
@ -637,7 +642,7 @@ To-do: better time-line, more content...
The first IPv6 related network code was added to the Linux kernel 2.1.8 in
November 1996 by Pedro Roque. It was based on the BSD API:
diff -u --recursive --new-file v2.1.7/linux/include/linux/in6.h
¬ linux/include/linux/in6.h
¬ linux/include/linux/in6.h
--- v2.1.7/linux/include/linux/in6.h Thu Jan 1 02:00:00 1970
+++ linux/include/linux/in6.h Sun Nov 3 11:04:42 1996
@@ -0,0 +1,99 @@
@ -685,8 +690,10 @@ development series 2.5.x to insert all of their current extensions into this
development release. Hopefully the 2.6.x kernel series will contain a true
and up-to-date IPv6 implementation.
-----------------------------------------------------------------------------
]]>
</para>
</sect1 id="IPv6">
</sect1>
<sect1 id="STRIP">
@ -726,6 +733,7 @@ kernel compilation options are given below.
<para>
<screen>
<![CDATA[
Kernel Compile Options:
Network device support --->
@ -733,10 +741,11 @@ kernel compilation options are given below.
....
[*] Radio network interfaces
< > STRIP (Metricom starmode radio IP)
]]>
</screen>
</para>
</sect1 id="STRIP">
</sect1>
<sect1 id="WaveLAN">
@ -754,9 +763,11 @@ You can get information on the Wavelan card from wavelan.com.
<para>
Wavelan device names are `eth0', `eth1', etc.
</para>
<para>
<screen>
<![CDATA[
Kernel Compile Options:
Network device support --->
@ -765,10 +776,11 @@ Wavelan device names are `eth0', `eth1', etc.
[*] Radio network interfaces
....
<*> WaveLAN support
]]>
</screen>
</para>
</sect1 id="WaveLAN">
</sect1>
<sect1 id="ISDN">
@ -822,11 +834,12 @@ commands). The possibilities range from simply using a terminal
program to connections via HDLC (using included devices) to full
connection to the Internet with PPP to audio applications.
· FAQ for isdn4linux: http://ww.isdn4linux.de/faq/
· FAQ for isdn4linux: http://ww.isdn4linux.de/faq/
</para>
<para>
<screen>
<![CDATA[
Kernel Compile Options:
ISDN subsystem --->
@ -836,6 +849,7 @@ connection to the Internet with PPP to audio applications.
< > ICN 2B and 4B support
< > PCBIT-D support
< > Teles/NICCY1016PC/Creatix support
]]>
</screen>
</para>
@ -845,9 +859,9 @@ of internal ISDN cards. These are those listed in the kernel
configuration options:
</para>
· ICN 2B and 4B
· Octal PCBIT-D
· Teles ISDN-cards and compatibles
· ICN 2B and 4B
· Octal PCBIT-D
· Teles ISDN-cards and compatibles
<para>
Some of these cards require software to be downloaded to them to make
@ -870,7 +884,7 @@ modified version. Details of where to find it are available in the
documentation referred to above.
</para>
</sect1 id="ISDN">
</sect1>
<sect1 id="NIS">
@ -886,7 +900,7 @@ password entry existing on each machine; only the main database needs
to be maintained.
</para>
</sect1 id="NIS">
</sect1>
<sect1 id="Services">
@ -895,7 +909,7 @@ to be maintained.
<para>
</para>
</sect1 id="Services">
</sect1>
<sect1 id="Database">
@ -916,7 +930,7 @@ lacking transaction support (due to speed concerns), a future version of MySQL w
* Sybase Adaptive Server Anywhere for Linux HOWTO
</sect1 id="Database">
</sect1>
<sect1 id="DHCP">
@ -950,7 +964,7 @@ especially in large networks or networks which have lots of mobile users.
Resources section at the end of the document). You can also read
[32]http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html.
</sect1 id="DHCP">
</sect1>
<sect1 id="DNS">
@ -958,7 +972,7 @@ especially in large networks or networks which have lots of mobile users.
Setting Up Your New Domain Mini-HOWTO.
</sect1 id="DNS">
</sect1>
<sect1 id="FTP">
@ -993,7 +1007,7 @@ some are text-based.
* FTP HOWTO
</sect1 id="FTP">
</sect1>
<sect1 id="LDAP">
@ -1006,7 +1020,7 @@ create LDAP databases, how to add, how to update and how to delete
information on the directory. This paper is mostly based on the University of
Michigan LDAP information pages and on the OpenLDAP Administrator's Guide.
</sect1 id="LDAP">
</sect1>
<sect1 id="NFS">
@ -1079,16 +1093,16 @@ Start the automounter. From now on, whenever you try to access the inexistent mo
NFS-related documents:
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root.html
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root.html
· http://metalab.unc.edu/mdw/HOWTO/Diskless-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/Diskless-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root-Client-mini-
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root-Client-mini-
HOWTO/index.html
· http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html
· http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html
· http://metalab.unc.edu/mdw/HOWTO/NFS-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/NFS-HOWTO.html
CODA can be found at: http://www.coda.cs.cmu.edu/
@ -1114,16 +1128,16 @@ Start the automounter. From now on, whenever you try to access the inexistent mo
NFS-related documents:
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root.html
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root.html
· http://metalab.unc.edu/mdw/HOWTO/Diskless-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/Diskless-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root-Client-mini-
· http://metalab.unc.edu/mdw/HOWTO/mini/NFS-Root-Client-mini-
HOWTO/index.html
· http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html
· http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html
· http://metalab.unc.edu/mdw/HOWTO/NFS-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/NFS-HOWTO.html
CODA can be found at: http://www.coda.cs.cmu.edu/
@ -1197,7 +1211,7 @@ http://www.nfsv4.org). The advantage of NFS today is that it is mature,
standard, well understood, and supported robustly across a variety of
platforms.
</sect1 id="NFS">
</sect1>
<sect1 id="Samba">
@ -1227,12 +1241,11 @@ platforms.
that Samba is the only SMB server available which will scale to many tens of thousands
of users without crashing"
· Samba project home page <http://samba.anu.edu.au/samba/>
· <ulink url="http://samba.anu.edu.au/samba/">Samba project home page</ulink>
· SMB HOWTO <http://metalab.unc.edu/mdw/HOWTO/SMB-HOWTO.html>
· <ulink url="http://metalab.unc.edu/mdw/HOWTO/SMB-HOWTO.html">SMB HOWTO</ulink>
· Printing HOWTO <http://metalab.unc.edu/mdw/HOWTO/Printing-
HOWTO.html>
· <ulink url="http://metalab.unc.edu/mdw/HOWTO/Printing-HOWTO.html">Printing HOWTO</ulink>
<glossentry>
<glossterm>
@ -1274,7 +1287,7 @@ Samba adds Windows-networking support to UNIX. Whereas NFS is the most popular p
Ricardo Alexandre Mattar
v1.2, 2004-05-21
</sect1 id="SAMBA">
</sect1>
<sect1 id="SSH">
@ -1315,12 +1328,11 @@ Java and Embedded OSes used in routers.
<para>
Encrypted remote shell sessions are available through SSH
(http://www.ssh.fi/sshprotocols2/index.html
<http://www.ssh.fi/sshprotocols2/index.html>) thus effectively
allowing secure remote administration.
(<ulink url="http://www.ssh.fi/sshprotocols2/index.html"/>)
thus effectively allowing secure remote administration.
</para>
</sect1 id="SSH">
</sect1>
<sect1 id="Telnet">
@ -1352,11 +1364,11 @@ Please consult RFC 854 for further details behind its implementation.
</para>
<para>
· Telnet related software
<http://metalab.unc.edu/pub/Linux/system/network/telnet/>
· <ulink url="http://metalab.unc.edu/pub/Linux/system/network/telnet/">
Telnet related software</ulink>
</para>
</sect1 id="Telnet">
</sect1>
<sect1 id="TFTP">
@ -1449,7 +1461,7 @@ to test the server. At the tftp prompt, you can issue the commands put and
get.
</para>
</sect1 id="TFTP">
</sect1>
<sect1 id="VNC">
@ -1486,24 +1498,24 @@ get.
open standards which have been carefully examined and tested.
· A client implementation of the PPTP for Linux is available here
<http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/>
· A client implementation of the PPTP for Linux is available here
<ulink url="http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/"/>
· More on Linux PPTP can be found here
<http://bmrc.berkeley.edu/people/chaffee/linux_pptp.html>
· More on Linux PPTP can be found here
<ulink url="http://bmrc.berkeley.edu/people/chaffee/linux_pptp.html"/>
Mobile IP:
· http://www.hpl.hp.com/personal/Jean_Tourrilhes/MobileIP/mip.html
· <ulink url="http://www.hpl.hp.com/personal/Jean_Tourrilhes/MobileIP/mip.html"/>
· http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-6.html#ss6.12
· <ulink url="http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-6.html#ss6.12"/>
Virtual Private Networks related documents:
· http://metalab.unc.edu/mdw/HOWTO/mini/VPN.html
· <ulink url="http://metalab.unc.edu/mdw/HOWTO/mini/VPN.html"/>
· http://sites.inka.de/sites/bigred/devel/cipe.html
· <ulink url="http://sites.inka.de/sites/bigred/devel/cipe.html"/>
7.4. VNC
@ -1523,7 +1535,7 @@ get.
allowing 386s with as little as 4 MB of RAM to become fully functional
X-Terminals.
· VNC web site <http://www.orl.co.uk/vnc/>
· <ulink url="http://www.orl.co.uk/vnc/">VNC web site</ulink>
<para>
Virtual Network Computing (VNC) allows a user to operate a session running on another machine.
@ -1569,14 +1581,14 @@ vncviewer [host]:[screen-number]
10.1. Web Sites
Cipe Home Page <http://sites.inka.de/~bigred/devel/cipe.html>
<ulink url="http://sites.inka.de/~bigred/devel/cipe.html">Cipe Home Page</ulink>
Masq Home Page <http://ipmasq.cjb.net>
<ulink url="http://ipmasq.cjb.net">Masq Home Page</ulink>
Samba Home Page <http://samba.anu.edu.au>
<ulink url="http://samba.anu.edu.au">Samba Home Page</ulink>
Linux HQ <http://www.linuxhq.com> ---great site for lots of linux
info
<ulink url="http://www.linuxhq.com">Linux HQ</ulink>
---great site for lots of linux info
10.2. Documentation
@ -1588,7 +1600,7 @@ vncviewer [host]:[screen-number]
IPChains-Howto, by Paul Russell, Paul.Russell@rustcorp.com.au
</sect1 id="VNC">
</sect1>
<sect1 id="Web-Serving">
@ -1616,7 +1628,7 @@ will reveal a multitude of servers.
</para>
<para>
Most Linux distributions include Apache <http://www.apache.org>.
Most Linux distributions include Apache <ulink url="http://www.apache.org"/>.
Apache is the number one server on the internet according to
http://www.netcraft.co.uk/survey/ . More than a half of all internet
sites are running Apache or one of it derivatives. Apache's advantages
@ -1631,9 +1643,9 @@ Optional support for SSL (which enables secure transactions) is also
available at:
</para>
· http://www.apache-ssl.org/
· http://raven.covalent.net/
· http://www.c2.net/
· http://www.apache-ssl.org/
· http://raven.covalent.net/
· http://www.c2.net/
Dynamic Web content generation
@ -1659,13 +1671,12 @@ those in the Database serving section and most ODBC compliant
databases. The language itself borrows its structure from Perl and C.
</para>
· http://metalab.unc.edu/mdw/HOWTO/WWW-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/Virtual-Services-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/Intranet-Server-HOWTO.html
· Web servers for Linux
<http://www.linuxlinks.com/Software/Internet/WebServers/>
· http://metalab.unc.edu/mdw/HOWTO/WWW-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/Virtual-Services-HOWTO.html
· http://metalab.unc.edu/mdw/HOWTO/Intranet-Server-HOWTO.html
· <ulink url="http://www.linuxlinks.com/Software/Internet/WebServers/">Web servers for Linux</ulink>
</sect1 id="Web-Serving">
</sect1>
<sect1 id="X11">
@ -1699,9 +1710,9 @@ is to act as pure X servers. Such systems are called X terminals.
<para>
A free port of the X Window System exists for Linux and can be found
at: Xfree <http://www.xfree86.org/>. It is included in most Linux
at: Xfree <ulink url="http://www.xfree86.org/"/>. It is included in most Linux
distributions.
<para>
</para>
<para>
For further information regarding X please see:
@ -1711,23 +1722,23 @@ X11, LBX, DXPC, NXServer, SSH, MAS
Related HOWTOs:
· Remote X Apps HOWTO
· Linux XDMCP HOWTO
· XDM and X Terminal mini-HOWTO
· The Linux XFree86 HOWTO
· ATI R200 + XFree86 4.x mini-HOWTO
· Second Mouse in X mini-HOWTO
· Linux Touch Screen HOWTO
· XFree86 Video Timings HOWTO
· Linux XFree-to-Xinside mini-HOWTO
· XFree Local Multi-User HOWTO
· Using Xinerama to MultiHead XFree86 V. 4.0+
· Connecting X Terminals to Linux Mini-HOWTO
· How to change the title of an xterm
· X Window System Architecture Overview HOWTO
· The X Window User HOWTO
· Remote X Apps HOWTO
· Linux XDMCP HOWTO
· XDM and X Terminal mini-HOWTO
· The Linux XFree86 HOWTO
· ATI R200 + XFree86 4.x mini-HOWTO
· Second Mouse in X mini-HOWTO
· Linux Touch Screen HOWTO
· XFree86 Video Timings HOWTO
· Linux XFree-to-Xinside mini-HOWTO
· XFree Local Multi-User HOWTO
· Using Xinerama to MultiHead XFree86 V. 4.0+
· Connecting X Terminals to Linux Mini-HOWTO
· How to change the title of an xterm
· X Window System Architecture Overview HOWTO
· The X Window User HOWTO
</sect1 id="X11">
</sect1>
<sect1 id="Email">
@ -1745,7 +1756,7 @@ In times gone by, users would Telnet into the SMTP server itself and use a comma
* The Linux Mail User HOWTO
</sect1 id="Email-Hosting">
</sect1>
<sect1 id="Proxy-Caching">
@ -1766,9 +1777,9 @@ In times gone by, users would Telnet into the SMTP server itself and use a comma
Several proxy servers exist for Linux. One popular solution is the
Apache proxy module. A more complete and robust implementation of an
HTTP proxy is SQUID.
· Apache <http://www.apache.org>
· <ulink url="http://www.apache.org">Apache</ulink>
· Squid <http://squid.nlanr.net/>
· <ulink url="http://squid.nlanr.net/">Squid</ulink>
<title>Proxy-Caching</title>
@ -1783,7 +1794,7 @@ Traffic Control HOWTO
ProxyARP Subnetting HOWTO
</sect1 id="Proxy-Caching">
</sect1>
<sect1 id="NTP">
@ -2041,7 +2052,7 @@ You can also use the TZ environment variable to change the current
time zone, which is handy of you're logged in remotely to a machine in
another time zone. Also see the man pages for tzset and tzfile.
This is nicely summarized at
<http://www.linuxsa.org.au/tips/time.html>
<ulink url="http://www.linuxsa.org.au/tips/time.html"/>
</para>
2.5. The Bottom Line
@ -2086,7 +2097,7 @@ Xntpd (NTPv3) has been replaced by ntpd (NTPv4); the earlier version
is no longer being maintained.
</para>
</para>
<para>
Ntpd is the standard program for synchronizing clocks across a
network, and it comes with a list of public time servers you can
connect to. It can be a little more complicated to set up, but if
@ -2096,11 +2107,11 @@ take a look at it.
<para>
The "home base" for information on ntpd is the NTP website at
<http://www.eecis.udel.edu/~ntp/> which also includes links to all
<ulink url="http://www.eecis.udel.edu/~ntp/"/> which also includes links to all
kinds of interesting time-related stuff (including software for other
OS's). Some linux distributions include ntpd on the CD. There is a
list of public time servers at
<http://www.eecis.udel.edu/~mills/ntp/clock2.html>.
<ulink url="http://www.eecis.udel.edu/~mills/ntp/clock2.html"/>.
</para>
<para>
@ -2117,13 +2128,13 @@ are some cheaper alternatives (discussed in later sections). In the
past most were WWV or WWVB receivers, but now most of them seem to be
GPS receivers. NIST has a PDF file that lists manufacturers of radio
clocks on their website at
<http://www.boulder.nist.gov/timefreq/links.htm> (near the bottom of
<ulink url="http://www.boulder.nist.gov/timefreq/links.htm"/> (near the bottom of
the page). The NTP website also includes many links to manufacturers
of radio clocks at <http://www.eecis.udel.edu/~ntp/hardware.htm> and
<http://www.eecis.udel.edu/~mills/ntp/refclock.htm>. Either list may
of radio clocks at <ulink url="http://www.eecis.udel.edu/~ntp/hardware.htm"/> and
<ulink url="http://www.eecis.udel.edu/~mills/ntp/refclock.htm"/>. Either list may
or may not be up to date at any given time :-). The list of drivers
for ntpd is at
<http://www.eecis.udel.edu/~ntp/ntp_spool/html/refclock.htm>.
<ulink url="http://www.eecis.udel.edu/~ntp/ntp_spool/html/refclock.htm"/>.
</para>
<para>
@ -2148,7 +2159,7 @@ turned off for long periods of time.
<para>
You can get more information from Richard Curnow's website at
<http://www.rrbcurnow.freeuk.com/chrony> or <http://go.to/chrony>.
<ulink url="http://www.rrbcurnow.freeuk.com/chrony"/> or <ulink url="http://go.to/chrony"/>.
There are also two chrony mailing lists, one for announcements and one
for discussion by users. For information send email to chrony-users-
subscribe@egroups.com or chrony-announce-subscribe@egroups.com
@ -2171,7 +2182,7 @@ machines on a LAN.
<para>
I've sometimes had trouble reaching his website at
<http://Cr.yp.to/clockspeed.html>, so if you get a DNS error try again
<ulink url="http://Cr.yp.to/clockspeed.html"/>, so if you get a DNS error try again
on another day. I'll try to update this section if I get some better
information.
</para>
@ -2197,10 +2208,10 @@ Time.
If you run a dual-boot system that spends a lot of time running
Windows, you may want to check out some of the clock software
available for that OS instead. Follow the links on the NTP website at
<http://www.eecis.udel.edu/~ntp/software.html>.
<ulink url="http://www.eecis.udel.edu/~ntp/software.html"/>.
</para>
</sect1 id="NTP">
</sect1>
<sect1 id="Traffic-Control">
@ -2224,29 +2235,29 @@ dropping. This HOWTO provides an introduction and overview of the
capabilities and implementation of traffic control under Linux.
</para>
  *  the linux DiffServ project
  *  the linux DiffServ project
  *  HTB site (Martin "devik" Devera)
  *  HTB site (Martin "devik" Devera)
  *  Traffic Control Next Generation (tcng)
  *  Traffic Control Next Generation (tcng)
TCNG manual (Werner Almesberger)
  *  iproute2 (Alexey Kuznetsov)
  *  iproute2 (Alexey Kuznetsov)
iproute2 manual (Alexey Kuznetsov)
  *  Research and documentation on traffic control under linux (Stef Coene)
  *  Research and documentation on traffic control under linux (Stef Coene)
  *  LARTC HOWTO (bert hubert, et. al.)
  *  LARTC HOWTO (bert hubert, et. al.)
  *  guide to IP networking with linux (Martin A. Brown)
  *  guide to IP networking with linux (Martin A. Brown)
* http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-6.html#ss6.15
* <ulink url="http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-6.html#ss6.15"/>
* Traffic Control HOWTO
</sect1 id="Traffic-Control">
</sect1>
<sect1 id="Load-Balancing">
@ -2267,11 +2278,10 @@ appearance that only one server exists.
</para>
<para>
Linux IP-NAT information may be found here <http://www.csn.tu-
chemnitz.de/HyperNews/get/linux-ip-nat.html>
Linux IP-NAT information may be found here <ulink url="http://www.csn.tu-chemnitz.de/HyperNews/get/linux-ip-nat.html"/>
</para>
</sect1 id="Load-Balancing">
</sect1>
<sect1 id="Bandwidth-Limiting">
@ -2335,7 +2345,7 @@ Indonesian translation of this HOWTO by Rahmat Rafiudin mjl_id@yahoo.com
[http://raf.unisba.ac.id/resources/BandwidthLimitingHOWTO/index.html] http://
raf.unisba.ac.id/resources/BandwidthLimitingHOWTO/index.html
</sect1 id="Bandwidth-Limiting">
</sect1>
<sect1 id="IP-Accounting">
@ -2470,7 +2480,7 @@ you'll now need to use ipchains instead of ipfwadm to configure your
filters. (From Documentation/Changes in the latest kernel sources).
</para>
</sect1 id="IP-Accounting">
</sect1>
<sect1 id="IP-Aliasing">
@ -2498,7 +2508,7 @@ World Wide Web and ftp offerings for their customers. You can refer to
the ``IP-Alias mini-HOWTO'' for more information than you find here.
</para>
</sect1 id="IP-Aliasing">
</sect1>
<sect1 id="Multicasting">
@ -2506,8 +2516,9 @@ the ``IP-Alias mini-HOWTO'' for more information than you find here.
<para>
* Multicast HOWTO
</para>
</sect1 id="Multicast">
</sect1>
<sect1 id="Network-Management">
@ -2520,15 +2531,15 @@ projects are linuxconf and webmin:
</para>
<para>
· Webmin <http://www.webmin.com/webmin/>
· Linuxconf <http://www.solucorp.qc.ca/linuxconf/>
· <ulink url="http://www.webmin.com/webmin/">Webmin</ulink>
· <ulink url="http://www.solucorp.qc.ca/linuxconf/">Linuxconf</ulink>
</para>
<para>
Other tools include network traffic analysis tools, network security
tools, monitoring tools, configuration tools, etc. An archive of many
of these tools may be found at Metalab
<http://www.metalab.unc.edu/pub/Linux/system/network/>
<ulink url="http://www.metalab.unc.edu/pub/Linux/system/network/"/>
</para>
9.2. SNMP
@ -2550,9 +2561,10 @@ infrastructure to have proper mechanisms to guarantee network
availability nearly 100% of the time. Some related techniques are
described in the following sections. Most of the following material
can be found at the excellent Linas website:
http://linas.org/linux/index.html and in the Linux High-Availability
HOWTO <http://metalab.unc.edu/pub/Linux/ALPHA/linux-ha/High-
Availability-HOWTO.html>
http://linas.org/linux/index.html and in the
<ulink url="http://metalab.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability-HOWTO.html">Linux High-Availability
HOWTO</ulink>
</para>
10.1. High Availability
@ -2568,7 +2580,7 @@ steps to restore normal operation and to notifying system
administrators.
</para>
</sect1 id="Networking-Management">
</sect1>
<sect1 id="Redundant-Networking">
@ -2588,4 +2600,4 @@ http://metalab.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability-
HOWTO.html
</para>
</sect1 id="Redundant-Networking">
</sect1>

View File

@ -0,0 +1 @@
Package Management Basics.xml

View File

@ -0,0 +1 @@
tuning_linux.sgml

View File

@ -8,6 +8,7 @@
</indexterm>
<para>This book uses the following conventions:
</para>
<informaltable frame="none">
<tgroup cols="2">

View File

@ -457,6 +457,7 @@ restarting autonegotiation...
<entry>460.8kbps</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
There is also a spd_cust entry that can use a custom speed instead

View File

@ -1,5 +1,5 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity index SYSTEM "doc-index.sgml">
<!entity index SYSTEM "index.sgml">
<!entity disk SYSTEM "disk.sgml">
<!entity network SYSTEM "network.sgml">
<!entity conventions SYSTEM "conventions.sgml">

View File

@ -1,4 +1,4 @@
<? xml version="1.0" encoding="ISO-8859-1" ?>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
@ -142,13 +142,13 @@ host two PCI Mezzanine cards (CCPMC) - Mezzanine cards that comply with Std CCPM
</sect1>
<sect1>
<title>Copyright & License</title>
<title>Copyright &amp; License</title>
<para>Copyright (c) 2002 Shie Elrich</para>
<para>Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in <xref linkend="gfdl">.
A copy of the license is included in <xref linkend="gfdl"/>.
</para>
</sect1>
</chapter>
@ -195,10 +195,12 @@ kernel is not from the HardHat CD, you should enable cross-compiling in the
<filename>Makefile</filename> by defining a CROSS_COMPILE entry in the following manner:
(a code segment from the main Makefile)</para>
<programlisting>
<![CDATA[
CROSS_COMPILE = /opt/hardhat/devkit/ppc/7xx/bin/ppc_7xx-
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
]]>
</programlisting>
<para>The Linux kernel is modular, and allows you to configure it and choose which <quote>blocks</quote>
should be compiled with the kernel. In order to do this, first <command>cd /usr/src/linux</command>
@ -231,7 +233,7 @@ and perform the following steps:
<listitem><para>Initialize the target by pressing <command>Target|Initialize</command></para></listitem>
<listitem><para>Press <command>File|Load Executable</command>. A dialog box will open,
asking you to choose a file. Please choose your kernel image (vmlinux). Before pressing
<command>Load</command>, don't forget to enter a value in the <parameter class=option>+/- Bias</parameter> field.
<command>Load</command>, don't forget to enter a value in the <parameter class="option">+/- Bias</parameter> field.
<tip><para>The bias field makes it possible to tell ICE to load a certain image in a different
address than what's stated in the ELF binary. We wanted to load the kernel into address
<envar>0x300000</envar>, and since the binary was linked to <envar>0xC0000000</envar>, we entered
@ -267,6 +269,7 @@ is it really booting?</para>
and the oldest way is good here - printing to the screen. Obviously, we couldn't use <function>printk()</function>, so we wrote a short function which pushes characters straight into the serial port. We used the boot process <quote>map</quote> shown in the previous section, and inserted some prints along the way. This helped us to know at what stage we are completing and where we're dying. The following piece of code prints a single character to the serial port, by polling it and waiting for it to be free.
<programlisting>
<![CDATA[
/* tx holding reg empty or tx */
#define LSR_THREMPTY 0x20 /* fifo is empty (in fifo mode ) */
#define THR_REG 0x00 /* Transmit holding reg */
@ -281,6 +284,7 @@ void print_char (char ch) {
*((volatile unsigned char *)(COM1_ADDRESS + THR_REG)) = ch;
}
]]>
</programlisting>
<note><para>There's a better code for printing directly to the serial port, however, it's a bit
@ -298,12 +302,14 @@ which are used to mark a certain machine, architecture or device. We defined our
it CONFIG_TESTMACH), and surrounded our new/modified code with these flags:
<programlisting>
<![CDATA[
....original code....
#ifdef CONFIG_TESTMACH
....modified code....
#else
....original code....
#endif /* CONFIG_TESTMACH */
]]>
</programlisting>
To <quote>activate</quote> our code, we added the new flag to the kernel configuration file - <filename>.config</filename> -
@ -326,6 +332,7 @@ in our case <envar>9600n1</envar>, and did not allow any command line options or
This function determines the console configuration at startup. Here's a small part of it:
<programlisting>
<![CDATA[
memset(, 0, sizeof(struct termios));
memcpy(tty_std_termios.c_cc, INIT_C_CC, NCCS);
tty_std_termios.c_iflag = ICRNL | IGNPAR;
@ -337,6 +344,7 @@ tty_std_termios.c_iflag = ICRNL | IXON;
tty_std_termios.c_oflag = OPOST | ONLCR;
tty_std_termios.c_cflag = B38400 | CS8 | CREAD | HUPCL;
tty_std_termios.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOKE | IEXTEN;
]]>
</programlisting>
The first (naive) thing we tried, was to configure the console the way we wanted.
@ -359,7 +367,7 @@ decided it was a good time to let us know that our serial port wasn't standard.
flow control were not connected. We decided to remark-out the following line, which sets the RTS and DTR
lines high, because we just didn't have them.
<programlisting>serial_out(info, UART_MCR, UART_MCR_DTR | UART_MCR_RTS);</programlisting>
<programlisting><![CDATA[serial_out(info, UART_MCR, UART_MCR_DTR | UART_MCR_RTS);]]></programlisting>
<emphasis>Ofcourse, this didn't help us much :-(</emphasis>
The lesson learned here was <emphasis>check, check, check your hardware!</emphasis>. Custom boards might
not be standard, and the porting will go a lot quicker if you know about it.</para>
@ -376,11 +384,13 @@ using the board's local bus frequency, bus clock to system clock ratio etc. This
out what the base baud was in a vxWorks system we had running on the board, and changed it to:
<programlisting>
<![CDATA[
/*
* system clock = 33Mhz, serial clock = system clock / 4
* the following must hold: (divisor * BaudRate) == (System clock / 64)
*/
#define BASE_BAUD (33000000 / 4 / 16)
]]>
</programlisting>
A quick compilation, and a reboot later we had a booting kernel visible through our serial port. Success!
@ -402,6 +412,7 @@ A quick compilation, and a reboot later we had a booting kernel visible through
<para>Once all this was done, we found <function>todc_calibrate_descr()</function>, which again uses the RTC chip. We had to replace that function with our own:
<programlisting>
<![CDATA[
void calibrate_decr() {
int freq, divisor;
freq = bus_freq();
@ -409,6 +420,7 @@ void calibrate_decr() {
tb_ticks_per_jiffy = freq / HZ / divisor;
tb_to_us = mulhwu_scale_factor(freq / divisor, 1000000);
}
]]>
</programlisting></para>
</sect1>
@ -424,6 +436,7 @@ void calibrate_decr() {
<para>We discovered that the CPC700 can be initialized to do automatic byte-swapping, which does little-to-big endian convertion on the fly. As it seems, our board was initialized to do just that. We added a small code segment in <function>setup_arch()</function>, which checks if byte-swapping is enabled, and if so, disables it:
<programlisting>
<![CDATA[
while (cnt<2) {
cpc700_read_local_pci_cfgb(0, );
cpc700_read_local_pci_cfgb(1, );
@ -441,6 +454,7 @@ while (cnt<2) {
}
++cnt;
}
]]>
</programlisting>
A short compilation later, PCI probing was working! We got some beer and partied ;-)</para>
@ -452,6 +466,7 @@ A short compilation later, PCI probing was working! We got some beer and partied
<para>Our board uses an Intel ethernet chip, called i82559er, which has a module called <emphasis>eepro100</emphasis>. After compiling the module and booting, we discovered that the module isn't working, although an ethernet device was found. We guessed that it was an irq problem, and that the devices don't get the IRQs they need. We modified a function called <function>pmppc_map_irq()</function> to map our ethernet devices:
<programlisting>
<![CDATA[
XXXX_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) {
static char pci_irq_table[][4] =
/*
@ -471,11 +486,13 @@ XXXX_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) {
const long min_idsel = 3, max_idsel = 9, irqs_per_slot = 4;
return PCI_IRQ_TABLE_LOOKUP;
}
]]>
</programlisting>
The function maps IRQs according to IDselects, which means in the order on the PCI bus by which the devices are set. This structure is a bit tricky: <emphasis>min_idsel</emphasis> denotes the topleft corner of the array, and <emphasis>max_idsel</emphasis> is the bottomleft corner. <emphasis>irqs_per_slot</emphasis> is the number of IRQs per line. The structure is as follows:
<programlisting>
<![CDATA[
each cell contains (IDSEL, SLOT#, IRQ)
+----------------------------------------+
| (3,0,22) | (3,1,0) | (3,2,0) | (3,3,0) |
@ -487,6 +504,7 @@ each cell contains (IDSEL, SLOT#, IRQ)
+----------------------------------------+
| (9,0,0) | (9,1,0) | (9,2,0) | (9,3,0) |
+----------------------------------------+
]]>
</programlisting>
As you can see, our i8559er needs IRQ 22, and is seated in IDselect 3. Of course, we didn't know that at the start, so we wrote a small piece of code that read all the vendor IDs in all the IDselects. Once done we compiled, but the ethernet device still didn't work.</para>
@ -506,11 +524,13 @@ As you can see, our i8559er needs IRQ 22, and is seated in IDselect 3. Of course
<para>As mentioned, there is another way of mapping memory - <function>ioremap()</function>. <function>ioremap()</function> is used to map physical addresses into virtual ones, making them available to the kernel. The function <emphasis>does not allocate any memory</emphasis>, simply returns a virtual address by which one can access the memory region. The following is a snippet from <function>MMU_init()</function>:
<programlisting>
<![CDATA[
case _MACH_mymachine:
setbat(0, LOW_IO_VIRT_BASE, LOW_IO_PHYS_BASE, LOW_IO_SIZE, IO_PAGE);
ioremap(UNIVERSE_BASE,UNIVERSE_SIZE); /* Universe VME */
ioremap(EEPRO100_BASE,EEPRO100_SIZE); /* Ethernet EEPRO100 */
break;
]]>
</programlisting>
As you can see, we don't take the return value of <function>ioremap()</function>. We don't need it, since at this stage the kernel maps the addresses so that virtual address == physical address.</para>
@ -530,6 +550,7 @@ As you can see, we don't take the return value of <function>ioremap()</function
<para>After messing with cache lines, we decided to go the FP way, and added the following function:
<programlisting>
<![CDATA[
void out64(__u32 addr, long long *pVal) {
__u32 flags, tmp_msr;
@ -544,11 +565,13 @@ void out64(__u32 addr, long long *pVal) {
__put_MSR(flags & ~(MSR_EE));
restore_flags(flags);
}
]]>
</programlisting>
The function adds a floating point to the PowerPC MSR register, and makes sure that no exceptions will be generated as a result of doing FP. Once done, it uses an assembly code, described below in the <function>sysOut64()</function> to do the actual floating-point operation. Note that the function turns off interrupts, but this is acceptable here, since we use the function on rare occasion.
<programlisting>
<![CDATA[
_GLOBAL(sysOut64)
stwu r1, -DEPTH(r1)
mflr r0
@ -568,6 +591,7 @@ mtlr r0
lwz r31, -4(r4)
mr r1, r4
blr
]]>
</programlisting></para>
</sect1>

View File

@ -0,0 +1 @@
Custom-Porting-Guide.xml

View File

@ -0,0 +1 @@
linux-admin-made-easy.sgml

View File

@ -1 +0,0 @@
../

View File

@ -1 +0,0 @@
../

View File

@ -1 +0,0 @@
../

View File

@ -1 +0,0 @@
../

View File

@ -1 +0,0 @@
../

View File

@ -1 +0,0 @@
../

View File

@ -1 +0,0 @@
../

View File

@ -1,4 +1,10 @@
<!ENTITY versionfile SYSTEM "VERSION" >
<!--
<!ENTITY version "&versionfile;" >
-->
<!ENTITY version "0.4.5" >
<!ENTITY pubdatefile SYSTEM "PUBDATE" >
<!--
<!ENTITY pubdate "&pubdatefile;" >
-->
<!ENTITY pubdate "2007-Mar-14" >

View File

@ -1 +0,0 @@
.

View File

@ -1258,7 +1258,7 @@ the Linux kernel source and build a new kernel.
<para>
In the 2.2 kernels, the PLIP driver uses the &ldquo;parport&rdquo; parallel port
sharing driver developed by Philip Blundell.<footnote id="X-087-2-FNHW09"><para>
You can reach Philip at <systemitem role="emailadd"><emphasis>Philip.Blundell@pobox.com</emphasis></systemitem>.
You can reach Philip at <emphasis><systemitem role="emailadd">Philip.Blundell@pobox.com</systemitem></emphasis>.
</para>
</footnote> The new driver allocates the PLIP network device names serially,
just as for the Ethernet or PPP drivers, so the first PLIP device created is

View File

@ -2236,7 +2236,7 @@ case, you simply invoke it as:
<screen>
$ <userinput>nslookup</userinput>
<literal><emphasis>hostname</emphasis></literal>
<emphasis><literal>hostname</literal></emphasis>
</screen>
</para>

View File

@ -0,0 +1 @@
sag-0.9.sgml

View File

@ -0,0 +1 @@
Securing-Optimizing-Linux-RH-Edition-v1.3.xml

View File

@ -453,7 +453,7 @@ directory for the newly patched kernel. You should create a backup of all import
<listitem><para><filename>/usr/src/System.map</filename></para></listitem>
</itemizedlist>
<para>It is possible the location of these files differs on your system. Use <application>locate</application> as follows if the files are not in the locations specified above: <cmdsynopsis><command>locate</command> <replaceable>&lt;file&gt;</replaceable></cmdsynopsis></para>
<para>It is possible the location of these files differs on your system. Use <application>locate</application> as follows if the files are not in the locations specified above: <cmdsynopsis><command>locate <replaceable>&lt;file&gt;</replaceable></command></cmdsynopsis></para>
</example>
@ -476,8 +476,10 @@ directory for the newly patched kernel. You should create a backup of all import
<listitem><para>debian packages: binutils, e2fsprogs, gcc, make, module-init-tools, procps, util-linux (see also the list from 2.4)</para></listitem>
</itemizedlist>
<para>
<caution><title>Learn more about the 2.6 kernel before you upgrade</title>
<para>This HOWTO does not include information on how to migrate from a 2.4 series kernel to a 2.6 series kernel. Please read the resources listed in <xref linkend="ref-upgrade-26" /> before attempting a kernel upgrade.</para></caution>
</para>
<itemizedlist>
<title>2.4.x series kernels</title>
@ -509,11 +511,13 @@ site to find the kernel you would like.</para></tip>
<example id="ex-downloadkernel" xreflabel="Download the kernel and patch">
<title>Download the kernel and patch</title>
<blockquote>
<procedure>
<step><cmdsynopsis><command>wget</command> <filename>http://kernel.org/pub/linux/kernel/v2.4/linux-&kernel-version;.tar.bz2</filename></cmdsynopsis></step>
<step><cmdsynopsis><command>wget <filename>http://kernel.org/pub/linux/kernel/v2.4/linux-&kernel-version;.tar.bz2</filename></command></cmdsynopsis></step>
<step><para>Download the latest patch for your kernel. This may or may not be the newest patch available. Please look carefully. For example: if you are using the 2.4.20 kernel you would get <filename>acpi-20021212-2.4.20.diff.gz</filename>. The patches can be downloaded from: <ulink url="http://prdownloads.sourceforge.net/acpi"/>.</para></step>
<step><para>Note the revision date. In this example above the date is 20021212 (December 12, 2002), but it will almost certainly be different for your kernel. You will need to know this number when you check to make sure the patch worked.</para></step>
</procedure>
</blockquote>
</example>
</sect3>
@ -525,6 +529,7 @@ to your current kernel. This link must point to the new kernel, you will update
<example id="ex-unpack" xreflabel="Unpacking your kernel source files">
<title>Unpacking your kernel source files</title>
<blockquote>
<procedure>
<step><para>
<command>
@ -549,6 +554,7 @@ to your current kernel. This link must point to the new kernel, you will update
</command>
</para></step>
</procedure>
</blockquote>
</example>
<para>If your kernel needs to be patched, do so now.
@ -577,6 +583,7 @@ different ACPI related options that you will need to select.</para>
<para>Please also read the list of <xref linkend="known-issues" />.</para>
<blockquote>
<procedure>
<step><para>
<command>cd
@ -610,6 +617,7 @@ different ACPI related options that you will need to select.</para>
</procedure>
</step>
</procedure>
</blockquote>
</example>
@ -629,11 +637,13 @@ kernel. I still need this option even in the 2.6.6 kernel due to my nVidia graph
<para>Each of these steps should be performed as the root user.</para>
<blockquote>
<procedure>
<step><para><command>cd <filename class="directory">/usr/src/linux</filename></command></para></step>
<step><para><command>make-kpkg <parameter>clean</parameter></command></para></step>
<step><para><command>make-kpkg <option>--append-to-version=.&kernel-name;</option> <parameter>kernel_image</parameter> <parameter>modules_image</parameter></command></para></step>
</procedure>
</blockquote>
<para>I no longer use <replaceable>.date</replaceable> to distinguish
kernel builds. It was too frustrating to have 030627a, 032627b (etc) as I tried to figure things out. I now use names, in alphabetical order, starting with the kernel build <quote>alien</quote>. My current kernel build is <quote>Ulairi.</quote> (The machine itself is <quote>Smeagol</quote>--a name it has earned.)</para>
@ -646,6 +656,7 @@ kernel builds. It was too frustrating to have 030627a, 032627b (etc) as I tried
<para>Each of these steps should be performed as the root user.</para>
<blockquote>
<procedure>
<step><para><command>cd <filename class="directory">/usr/src</filename></command></para></step>
<step><para><command>dpkg <option>-i</option> kernel-image-&kernel-version;.&kernel-name;_10.00.Custom_i386.deb</command></para></step>
@ -680,6 +691,7 @@ read-only
<filename class="extension">.deb</filename> files.
</para></step>
</procedure>
</blockquote>
</example>
@ -697,28 +709,36 @@ system), you will need to check that you are running the new kernel with the cor
<para>First you need to make sure you are running the correct kernel. This can be done with the command line tool <application>uname</application>. The
revision is the date the patch was released and will be different for each kernel release.</para>
<para>
<userinput>
&prompt; <command>uname <option>-a</option></command>
</userinput>
</para>
<para>Assuming you are indeed running the new kernel, you can now check the ACPI's revision date with the following command.</para>
<para>
<userinput>&prompt; <command>cat <filename>/proc/acpi/info</filename></command>
</userinput>
</para>
<para>This may give you only a version number, or a more detailed list. You are looking for the line that starts with <parameter>version:</parameter>.</para>
<para>If for some reason that gives you no information, you can also check the message printed when ACPI was first loaded as the system was booting. This information can be printed to a terminal window with the application <application>dmesg</application>.</para>
<para>
<userinput>&prompt; <command>dmesg</command> | <command>grep <parameter>ACPI.*Subsystem\ revision</parameter></command>
</userinput>
</para>
<para>It should give the output:
<computeroutput>ACPI: Subsystem revision 20040326</computeroutput>. The revision number is the date the patch was originally released by the development team. If you patched your kernel according to <xref linkend="howto-patch"/> this number will match the patch that you installed in <xref linkend="ex-patch" />.</para>
<para>To read all the ACPI-related information, you can expand the pattern that <application>grep</application> matches and selectively print all ACPI messages:</para>
<para>
<userinput>&prompt; <command>dmesg</command> | <command>grep <parameter>ACPI</parameter></command> </userinput>
</para>
</example>
</sect2>
@ -908,6 +928,7 @@ look for the absence of errors.)</para>
<example id="ex-patch" xreflabel="Patching your kernel">
<title>Patching your kernel</title>
<para>These steps should be performed as the root user.</para>
<blockquote>
<procedure>
<step><para>
<command>cd
@ -936,6 +957,7 @@ look for the absence of errors.)</para>
(this is the actual patching part)
</para></step>
</procedure>
</blockquote>
</example>
<para>Once you have finished patching your kernel, continue reading at <xref
@ -956,8 +978,9 @@ generic way. In fact it is probably only 10 or so lines of difference.</para>
<para>The <quote>normal</quote> way of compiling a kernel does not use
<command>make-kpkg</command>. Instead, it uses the following steps:</para>
<example id="ex-compilenodeb" xreflinkend="Compile the kernel">
<example id="ex-compilenodeb" xreflabel="Compile the kernel">
<title>Compile the kernel</title>
<blockquote>
<procedure>
<step><para>
<command>cd
@ -982,6 +1005,7 @@ generic way. In fact it is probably only 10 or so lines of difference.</para>
(remember to unpack your modules first)
</para></step>
</procedure>
</blockquote>
</example>
</sect1>
@ -994,6 +1018,7 @@ lilo. If you are not doing things <citetitle>The Debian Way</citetitle> your <qu
<example id="ex-nodebinstall" xreflabel="Install the new kernel">
<title>Install the new kernel</title>
<blockquote>
<procedure>
<step><para>
<command>cd
@ -1025,6 +1050,7 @@ lilo. If you are not doing things <citetitle>The Debian Way</citetitle> your <qu
the new kernel.
</para></step>
</procedure>
</blockquote>
</example>
<warning>

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' []>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<article>
<articleinfo>
<title>Linux Accessibility HOWTO</title>
@ -585,7 +585,7 @@
operating system. More information is available at:
<ulink url="http://trace.wisc.edu/worl/computer_access/"></ulink> and the Linux Accessibility Resource Site (LARS) <ulink url="http://trace.wisc.edu/linux/"></ulink>.</para></listitem>
<listitem><para><emphasis role="strong">W3C Web Accessibility initiative</emphasis> provides information and links on Web site accessibility. More information is available at: <ulink></ulink>.</para></listitem>
<listitem><para><emphasis role="strong">W3C Web Accessibility initiative</emphasis> provides information and links on Web site accessibility. More information is available at: <ulink url="https://www.w3.org/WAI/">their website</ulink>.</para></listitem>
</itemizedlist>
</sect1>

File diff suppressed because it is too large Load Diff

View File

@ -467,13 +467,14 @@ desk (yes, its funny and he loves it!)</para>
<listitem><para><application>freetype2</application>-devel <footnote><para>This <abbrev>RPM</abbrev> contains the header files
needed for php</para></footnote></para></listitem>
<listitem><para><application>re2c</application> <footnote><para>Only needed if PHP is being built from the CVS tree</para></footnote>
<para></listitem>
</para></listitem>
</itemizedlist>
<para>To be continued</para>
<para>
All major distributions should include this general prerequisites.
</para>
</sect2>
@ -534,7 +535,7 @@ Search for <option>-m486</option> and replace it i.e with <option>-march=athlon<
<sect2><title>GNU Database System</title>
<sect3><title>What is <application>gdbm</application>
<sect3><title>What is <application>gdbm</application></title>
<blockquote><attribution>www.gnu.org/software/gdbm</attribution>
<para>
@ -551,6 +552,7 @@ the devel package (The version can vary):
<screen>
rpm -i gdbm-devel-1.8.0-546
</screen>
</para>
<para>This procedure is verified for SuSE and Redhat. Please confirm for other <abbrev>RPM</abbrev> based
systems like Mandrake. Debian will follow as soon as possible.</para>
@ -561,6 +563,7 @@ Users of Debian bases systems can install gdbm as follow:</para>
<screen>
apt-get install libgdbmg1-dev
</screen>
</sect3>
<sect3><title>Building and installing by yourself</title>
@ -835,6 +838,7 @@ Make sure any module for your Apache server is compiled with the compiler-flag <
Webserver might crash or can not be started.
</para>
</caution>
</para>
<para>Almost all modules I know adds the <option>-DEAPI</option> flag by themself except <application>mod_jserv</application>
and <application>mod_jk</application></para>
@ -1178,7 +1182,7 @@ cd dynvhost/
/usr/local/apache/bin/apxs -i -a -c mod_dynvhost.c
</screen>
<tip><title>Check <filename>httpd.conf</filename>
<tip><title>Check <filename>httpd.conf</filename></title>
<para>Notice: Take a look at httpd.conf if mod_dynvhost.so is loaded at startup: </para>
<screen>
@ -1242,7 +1246,7 @@ cd mod_roaming-1.0.2
/usr/local/apache/bin/apxs -i -a -c mod_roaming.c
</screen>
<tip><title>Check <filename>httpd.conf</filename>
<tip><title>Check <filename>httpd.conf</filename></title>
<para>Check httpd.conf if mod_roaming is loaded at startup: </para>
<screen>
@ -1290,13 +1294,13 @@ content is served dynamically i.e. PHP, and this content will be delivered uncom
mod_gzip does not need compressed files on the system, all defined content will be compressed before delivery. The benefit is
to have the dynamically generated content also compressed, the other side is a higher cpu-usage, because every request has to be
compressed on-the-fly. Mod_gzip can handle already compressed data i.e. index.html.gz and send it as-is.
<para>
</para>
<para>
The conclusion: You carefully have to make a decision which of the two modules makes more sense for you. If you have to
pay for every GB delivered and CPU-power does not matter, then mod_gzip is the choice for you. If response time matters
(delay between request and delivery), and your bandwidth is cheap or unlimited, mod_gunzip matches your needs better.
<para>
</para>
<para>A good page that helps you to make this decision is Martin Kiff's document about mod_gunzip
<ulink url="http://www.innerjoin.org/apache-compression/howto.html">http://www.innerjoin.org/apache-compression/howto.html</ulink>
@ -1358,6 +1362,7 @@ by changing the LogFormat directive in <filename>/usr/local/apache/conf/httpd.co
<screen>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" mod_gzip: %{mod_gzip_compression_ratio}npct." combined
</screen>
</para>
</sect3>
@ -1537,6 +1542,7 @@ used as a base for multi-platform XML applications.</para></blockquote>
<sect4><title>Download the source</title>
<para>Origin-Site: <ulink url="http://download-2.gingerall.cz/download/sablot/Sablot-0.97.tar.gz">http://download-2.gingerall.cz/download/sablot/Sablot-0.97.tar.gz</ulink>
</para>
</sect4>
<sect4><title>Building and installing</title>
@ -1754,7 +1760,7 @@ AddType application/x-httpd-php-source .phps <co id="source">
<calloutlist>
<callout arearefs="source"><para>This line is only needed if you like to display
sourcecodes in the browser. The fileextension of such files should be phps.
/para>
</para>
</callout>
</calloutlist>
</para>
@ -1935,6 +1941,7 @@ basic support for Tomcat installed from binaries.</para>
<para>Please see java.sun.com</para>
<para>Too much for this HOWTO, please see <ulink url="http://java.sun.com/j2se/1.3/docs/relnotes/features.html">http://java.sun.com/j2se/1.3/docs/relnotes/features.html</ulink></para>
</sect4>
</sect3>
<sect3><title>Download the binaries</title>
<para>Go to <ulink url="http://java.sun.com/j2se/1.3/">http://java.sun.com/j2se/1.3/</ulink> <footnote><para>
@ -1951,6 +1958,7 @@ chmod +x j2sdk-1_3_1_02-linux-i386.bin
./2sdk-1_3_1_02-linux-i386.bin
</screen>
</para>
<para>After accepting the license, unpack the stuff and move the resulting directory to <filename>/usr/lib</filename>
and set an appropriate symbolic link</para>
@ -2001,9 +2009,11 @@ add a user
<screen>
/usr/local/apache/jakarta-tomcat-4.1.8/bin/startup.sh
</screen>
</para>
<para>You should now be able to connect to: <ulink url="http://localhost:8080/index.jsp">http://localhost:8080/index.jsp</ulink></para>
</sect3>
</sect2>
<sect2 id="modjk"><title>mod_jk</title>
@ -2208,6 +2218,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<title><email>users@httpd.apache.org</email></title>
<para>
Send an empty email to <email>users-subscribe@httpd.apache.org</email>
</para>
<para>Before writing to the list, check out the archive: <ulink url="http://marc.theaimsgroup.com/?l=apache-httpd-users">
http://marc.theaimsgroup.com/?l=apache-httpd-users</ulink></para>
@ -2249,7 +2260,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<sect3>
<title><email>mysql@lists.mysql.com</email></title>
<para>Send an empty mail to <email>mysql-subscribe@lists.mysql.com</email>
<para>Send an empty mail to <email>mysql-subscribe@lists.mysql.com</email></para>
<para>Before writing to the list, check out the archive:
<ulink url="http://lists.mysql.com/cgi-ez/ezmlm-cgi/">
http://lists.mysql.com/cgi-ez/ezmlm-cgi/</ulink></para>
@ -2258,7 +2269,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<sect3>
<title><email>pgsql-general@postgres.org</email></title>
<para>Fill out the subscription form at <ulink url="http://developer.postgresql.org/mailsub.php">
http://developer.postgresql.org/mailsub.php</ulink>
http://developer.postgresql.org/mailsub.php</ulink></para>
<para>Before writing to the list, check out the archive:
<ulink url="http://archives.postgresql.org/pgsql-general/">
http://archives.postgresql.org/pgsql-general/</ulink></para>
@ -2267,13 +2278,13 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<sect3>
<title><email>pgsql-general@postgres.org</email></title>
<para>Fill out the subscription form at <ulink url="http://www.php.net/mailing-lists.php">
http://www.php.net/mailing-lists.php</ulink>
http://www.php.net/mailing-lists.php</ulink></para>
<para>
There are several php related mailinglist to subscribe, some of them are also available on php.net's newsserver
</para>
<para>
Before writing to the list, check out the archive that are linked also on the subscription-page
<para>
</para>
</sect3>
<sect3>
@ -2339,7 +2350,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<para>
The software products mentioned here provide a lot of documentation in their source-directories. Apache does install
its documentation in the default DocumentRoot <filename>/usr/local/apache/htdocs/manual</filename>
<para>
</para>
@ -2377,7 +2388,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://httpd.apache.org">http://httpd.apache.org</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2385,7 +2396,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.openssl.org">http://www.openssl.org</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2393,7 +2404,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.modssl.org">http://www.modssl.org</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2401,7 +2412,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://perl.apache.org/">http://perl.apache.org/</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2409,7 +2420,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.webdav.org">http://www.webdav.org</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2417,7 +2428,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.mysql.com">http://www.mysql.com</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2425,7 +2436,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.postgresql.org">http://www.postgresql.org</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2433,7 +2444,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.pdflib.com">http://www.pdflib.com</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2441,7 +2452,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.php.net">http://www.php.net</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2449,7 +2460,7 @@ all needed classes in the <varname>CLASSPATH</varname> variable.
<listitem>
<para>
<ulink url="http://www.phpbuilder.com">http://www.phpbuilder.com</ulink>
<para>
</para>
</listitem>
</itemizedlist>
@ -2493,6 +2504,7 @@ Why you don't add a description howto compile and setup mod_xyz?</para>
Because nobody requested it yet and I either did not know about a mod_xyz, or I did not found it useful. Feel free
to write me some suggestions what to add to the HOWTO. If there is more than one request, and it makes sense, it will maybe
added in further releases.
</para>
</answer>
</qandaentry>

View File

@ -12,10 +12,10 @@
<firstname>Saqib</firstname>
<surname>Ali</surname>
<affiliation>
<address>
<email>saqib@seagate.com</email>
</address>
<orgname><ulink url="http://www.xml-dev.com">Offshore XML/XHTML Development</ulink></orgname>
<address>
<email>saqib@seagate.com</email>
</address>
</affiliation>
</author>

View File

@ -20,7 +20,7 @@
</personname>
<affiliation>
<orgname>
<link xlink:href="http://asm.sourceforge.net">Linux Assembly</link>
<ulink url="http://asm.sourceforge.net">Linux Assembly</ulink>
</orgname>
<address>
<email>lnoor@users.sourceforge.net</email>
@ -36,7 +36,7 @@
</personname>
<affiliation>
<orgname>
<link xlink:href="http://asm.sourceforge.net">Linux Assembly</link>
<ulink url="http://asm.sourceforge.net">Linux Assembly</ulink>
</orgname>
<address>
<email>konst@users.sourceforge.net</email>
@ -52,7 +52,7 @@
</personname>
<affiliation>
<orgname>
<link xlink:href="http://tunes.org">Tunes project</link>
<ulink url="http://tunes.org">Tunes project</ulink>
</orgname>
<address>
<email>fare@tunes.org</email>
@ -149,16 +149,16 @@ read all this assembly-unrelated crap.
<title>Legal Blurb</title>
<para>
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU <link xlink:href="http://www.gnu.org/copyleft/fdl.html">Free
Documentation License</link> Version 1.1; with no Invariant Sections, with no
terms of the GNU <ulink url="http://www.gnu.org/copyleft/fdl.html">Free
Documentation License</ulink> Version 1.1; with no Invariant Sections, with no
Front-Cover Texts, and no Back-Cover texts. A copy of the license is included
in the <xref linkend="a-gfdl"/> appendix.
</para>
<para>
The most recent official version of this document is available from the
<link xlink:href="http://asm.sourceforge.net/howto.html">Linux Assembly</link>
and <link xlink:href="http://tldp.org/docs.html">LDP</link> sites. If you are
<ulink url="http://asm.sourceforge.net/howto.html">Linux Assembly</ulink>
and <ulink url="http://tldp.org/docs.html">LDP</ulink> sites. If you are
reading a few-months-old copy, consider checking the above URLs for a new
version.
</para>
@ -186,15 +186,15 @@ issue), we are focusing on development of such kind of software.
</para>
<para>
If you don't know what <link xlink:href="http://www.gnu.org/philosophy/">
<emphasis>free software</emphasis></link> is, please do read
If you don't know what <ulink url="http://www.gnu.org/philosophy/">
<emphasis>free software</emphasis></ulink> is, please do read
<emphasis>carefully</emphasis> the GNU
<link xlink:href="http://www.gnu.org/copyleft/gpl.html">
General Public License</link> (<acronym>GPL</acronym> or
<ulink url="http://www.gnu.org/copyleft/gpl.html">
General Public License</ulink> (<acronym>GPL</acronym> or
<acronym>copyleft</acronym>), which is used in a lot of free software, and is
the model for most of their licenses. It generally comes in a file named
<filename>COPYING</filename> (or <filename>COPYING.LIB</filename>). Literature
from the <link xlink:href="http://www.fsf.org">Free Software Foundation</link>
from the <ulink url="http://www.fsf.org">Free Software Foundation</ulink>
(<acronym>FSF</acronym>) might help you too. Particularly, the interesting
feature of free software is that it comes with source code which you can
consult and correct, or sometimes even borrow from. Read your particular
@ -229,11 +229,11 @@ version 0.5).
<title>Translations</title>
<para>
Korean translation of this HOWTO is avalilable at
<link xlink:href="http://kldp.org/HOWTO/html/Assembly-HOWTO/">
http://kldp.org/HOWTO/html/Assembly-HOWTO/</link>.
<ulink url="http://kldp.org/HOWTO/html/Assembly-HOWTO/">
http://kldp.org/HOWTO/html/Assembly-HOWTO/</ulink>.
Turkish translation of this HOWTO is available at
<link xlink:href="http://belgeler.org/howto/assembly-howto.html">
http://belgeler.org/howto/assembly-howto.html</link>.
<ulink url="http://belgeler.org/howto/assembly-howto.html">
http://belgeler.org/howto/assembly-howto.html</ulink>.
</para>
</simplesect>
</chapter>
@ -405,7 +405,7 @@ good);
<listitem>
<para>
And in any case, as moderator John Levine says on
<link xlink:href="news:comp.compilers">comp.compilers</link>,
<ulink url="news:comp.compilers">comp.compilers</ulink>,
</para>
<literallayout>
@ -491,7 +491,7 @@ written in assembly for speed up.
<section>
<title>General procedure to achieve efficient code</title>
<para>
As Charles Fiterman says on <link xlink:href="news:comp.compilers">comp.compilers</link>
As Charles Fiterman says on <ulink url="news:comp.compilers">comp.compilers</ulink>
about human vs computer-generated assembly code:
</para>
@ -689,19 +689,19 @@ available platforms, notably Linux, *BSD, VSTa, OS/2, *DOS, Win*, etc.
<section><title>Where to find GCC</title>
<para>
GCC home page is <link xlink:href="http://gcc.gnu.org">http://gcc.gnu.org</link>.
GCC home page is <ulink url="http://gcc.gnu.org">http://gcc.gnu.org</ulink>.
</para>
<para>
<anchor xml:id="p-djgpp"/>
DOS port of GCC is called
<link xlink:href="http://www.delorie.com/djgpp/">DJGPP</link>.
<ulink url="http://www.delorie.com/djgpp/">DJGPP</ulink>.
</para>
<para>
There are two Win32 GCC ports:
<link xlink:href="http://www.cygwin.com">cygwin</link> and
<link xlink:href="http://www.mingw.org">mingw</link>
<ulink url="http://www.cygwin.com">cygwin</ulink> and
<ulink url="http://www.mingw.org">mingw</ulink>
</para>
<para>
@ -709,8 +709,8 @@ There is also an OS/2 port of GCC called EMX;
it works under DOS too,
and includes lots of unix-emulation library routines.
Look around the following site:
<link xlink:href="ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/">
ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/</link>.
<ulink url="ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/">
ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/</ulink>.
</para>
</section>
@ -752,8 +752,8 @@ The DJGPP Games resource (not only for game hackers) had page specifically
about assembly, but it's down. Its data have nonetheless been recovered on the
<link linkend="p-djgpp">DJGPP site</link>, that contains a mine of other
useful information:
<link xlink:href="http://www.delorie.com/djgpp/doc/brennan/">
http://www.delorie.com/djgpp/doc/brennan/</link>.
<ulink url="http://www.delorie.com/djgpp/doc/brennan/">
http://www.delorie.com/djgpp/doc/brennan/</ulink>.
</para>
<para>
@ -826,7 +826,7 @@ obvious stupid errors.
You can add some CPU-specific <option>-m486</option> or such flag so that GCC
will produce code that is more adapted to your precise CPU. Note that modern
GCC has <option>-mpentium</option> and such flags (and
<link xlink:href="http://goof.com/pcg/">PGCC</link> has even more), whereas
<ulink url="http://goof.com/pcg/">PGCC</ulink> has even more), whereas
GCC 2.7.x and older versions do not. A good choice of CPU-specific flags should
be in the Linux kernel. Check the TeXinfo documentation of your current GCC
installation for more.
@ -907,8 +907,8 @@ GAS is the GNU Assembler, that GCC relies upon.
<para>
Find it at the same place where you've found GCC, in the binutils package.
The latest version of binutils is available from
<link xlink:href="http://sources.redhat.com/binutils/">
http://sources.redhat.com/binutils/</link>.
<ulink url="http://sources.redhat.com/binutils/">
http://sources.redhat.com/binutils/</ulink>.
</para>
</section>
@ -1014,9 +1014,9 @@ see under <filename>linux/arch/i386/</filename> the following files:
<para>
If you are writing kind of a language, a thread package, etc., you might as
well see how other languages (<link xlink:href="http://para.inria.fr/">
OCaml</link>, <link xlink:href="http://www.jwdt.com/~paysan/gforth.html">
Gforth</link>, etc.), or thread packages (QuickThreads, MIT pthreads,
well see how other languages (<ulink url="http://para.inria.fr/">
OCaml</ulink>, <ulink url="http://www.jwdt.com/~paysan/gforth.html">
Gforth</ulink>, etc.), or thread packages (QuickThreads, MIT pthreads,
LinuxThreads, etc), or whatever else do it.
</para>
@ -1035,8 +1035,8 @@ Good news are that starting from binutils 2.10 release, GAS supports Intel
syntax too. It can be triggered with <literal>.intel_syntax</literal>
directive. Unfortunately this mode is not documented (yet?) in the official
binutils manual, so if you want to use it, try to examine
<link xlink:href="http://www.lxhp.in-berlin.de/lhpas86.html">
http://www.lxhp.in-berlin.de/lhpas86.html</link>, which is an extract from AMD
<ulink url="http://www.lxhp.in-berlin.de/lhpas86.html">
http://www.lxhp.in-berlin.de/lhpas86.html</ulink>, which is an extract from AMD
64bit port of binutils 2.11.
</para>
</section>
@ -1094,9 +1094,9 @@ formats.
<title>Where to find NASM</title>
<para>
<link xlink:href="http://www.nasm.us">http://www.nasm.us</link>,
<link xlink:href="http://sourceforge.net/projects/nasm/">
http://sourceforge.net/projects/nasm/</link>
<ulink url="http://www.nasm.us">http://www.nasm.us</ulink>,
<ulink url="http://sourceforge.net/projects/nasm/">
http://sourceforge.net/projects/nasm/</ulink>
</para>
<para>
@ -1182,8 +1182,8 @@ ELKS continues to use it.
<para>
AS86 can be found at
<link xlink:href="http://www.debath.co.uk/dev86/">
http://www.debath.co.uk/dev86/</link>, in the bin86 package with linker (ld86),
<ulink url="http://www.debath.co.uk/dev86/">
http://www.debath.co.uk/dev86/</ulink>, in the bin86 package with linker (ld86),
or as separate archive. Documentation is available as the man page and as.doc
from the source package. When in doubt, the source code itself is often a good
doc: though it is not very well commented, the programming style is
@ -1242,7 +1242,7 @@ FASM (flat assembler) is a fast, efficient 80x86 assembler that runs in
source code to include the information it really needs. It is written in itself
and is very small and fast. It runs on DOS/Windows/Linux and can produce flat
binary, DOS EXE, Win32 PE, COFF and Linux ELF output. See
<link xlink:href="http://flatassembler.net">http://flatassembler.net</link>.
<ulink url="http://flatassembler.net">http://flatassembler.net</ulink>.
</para>
</section>
@ -1259,8 +1259,8 @@ and has various HLL-like extensions and programmer convenience commands.
<para>
It is (of course) slower than other assemblers. It has its own syntax (and uses
its own names for x86 opcodes) Fairly good documentation is included. Check it
out: <link xlink:href="ftp://linux01.gwdg.de/pub/cLIeNUX/interim/">
ftp://linux01.gwdg.de/pub/cLIeNUX/interim/</link> (Access is password
out: <ulink url="ftp://linux01.gwdg.de/pub/cLIeNUX/interim/">
ftp://linux01.gwdg.de/pub/cLIeNUX/interim/</ulink> (Access is password
controlled). You will probably not use it on regular basis, but at least it
deserves your interest as an interesting idea.
</para>
@ -1293,8 +1293,8 @@ formats.
</para>
<para>
<link xlink:href="http://savannah.nongnu.org/projects/aasm/">
http://savannah.nongnu.org/projects/aasm/</link>
<ulink url="http://savannah.nongnu.org/projects/aasm/">
http://savannah.nongnu.org/projects/aasm/</ulink>
</para>
</section>
@ -1309,8 +1309,8 @@ compilation process.
</para>
<para>
It is available from <link xlink:href="http://www.penguin.cz/~niki/tdasm/">
http://www.penguin.cz/~niki/tdasm/</link> but is seems it is no longer
It is available from <ulink url="http://www.penguin.cz/~niki/tdasm/">
http://www.penguin.cz/~niki/tdasm/</ulink> but is seems it is no longer
actively maintained.
</para>
</section>
@ -1319,8 +1319,8 @@ actively maintained.
<title>HLA</title>
<para>
<link xlink:href="http://www.plantation-productions.com/Webster/HighLevelAsm/index.html">
HLA</link> is a <emphasis>H</emphasis>igh <emphasis>L</emphasis>evel
<ulink url="http://www.plantation-productions.com/Webster/HighLevelAsm/index.html">
HLA</ulink> is a <emphasis>H</emphasis>igh <emphasis>L</emphasis>evel
<emphasis>A</emphasis>ssembly language. It uses a high level language like
syntax (similar to Pascal, C/C++, and other HLLs) for variable declarations,
procedure declarations, and procedure calls. It uses a modified assembly
@ -1341,7 +1341,7 @@ assembling and linking.
<title>TALC</title>
<para>
<link xlink:href="http://www.cs.cornell.edu/talc/">TALC</link> is another free
<ulink url="http://www.cs.cornell.edu/talc/">TALC</ulink> is another free
MASM/Win32 based compiler (however it supports ELF output, does it?).
</para>
@ -1365,7 +1365,7 @@ extensible operating system kernels.
<title>Free Pascal</title>
<para>
<link xlink:href="http://www.freepascal.org">Free Pascal</link> has an internal
<ulink url="http://www.freepascal.org">Free Pascal</ulink> has an internal
32-bit assembler (based on NASM tables) and a switchable output that allows:
<itemizedlist>
<listitem>
@ -1427,8 +1427,8 @@ FORTH language. Macro processing is done with the full power of the reflective
language FORTH; however, the only supported input and output contexts is
Win32For itself (no dumping of <filename>.obj</filename> file, but you could
add that feature yourself, of course). Find it at
<link xlink:href="ftp://ftp.forth.org/pub/Forth/Compilers/native/windows/Win32For/">
ftp://ftp.forth.org/pub/Forth/Compilers/native/windows/Win32For/</link>.
<ulink url="ftp://ftp.forth.org/pub/Forth/Compilers/native/windows/Win32For/">
ftp://ftp.forth.org/pub/Forth/Compilers/native/windows/Win32For/</ulink>.
</para>
</section>
@ -1436,7 +1436,7 @@ ftp://ftp.forth.org/pub/Forth/Compilers/native/windows/Win32For/</link>.
<title>Terse</title>
<para>
<link xlink:href="http://www.terse.com">Terse</link> is a programming tool that
<ulink url="http://www.terse.com">Terse</ulink> is a programming tool that
provides <emphasis>THE</emphasis> most compact assembler syntax for the x86
family! However, it is evil proprietary software. It is said that there was a
project for a free clone somewhere, that was abandoned after worthless pretenses
@ -1447,7 +1447,7 @@ develop a terse-syntax frontend to NASM, if you like that syntax.
<para>
As an interesting historic remark, on
<link xlink:href="news:comp.compilers">comp.compilers</link>,
<ulink url="news:comp.compilers">comp.compilers</ulink>,
</para>
<para>
@ -1561,8 +1561,8 @@ that CPP cannot.
<para>
See
<link xlink:href="ftp://ftp.forth.org/pub/Forth/Compilers/native/unix/this4th.tar.gz">
macro4th (this4th)</link> as an example of advanced macroprogramming using m4.
<ulink url="ftp://ftp.forth.org/pub/Forth/Compilers/native/unix/this4th.tar.gz">
macro4th (this4th)</ulink> as an example of advanced macroprogramming using m4.
</para>
<para>
@ -1680,8 +1680,8 @@ There is a project, using the programming language Icon
(with an experimental ML version),
to build a basis for producing assembly-manipulating code.
See around
<link xlink:href="http://www.eecs.harvard.edu/~nr/toolkit/">
http://www.eecs.harvard.edu/~nr/toolkit/</link>
<ulink url="http://www.eecs.harvard.edu/~nr/toolkit/">
http://www.eecs.harvard.edu/~nr/toolkit/</ulink>
</para>
</section>
@ -1689,7 +1689,7 @@ http://www.eecs.harvard.edu/~nr/toolkit/</link>
<title>TUNES</title>
<para>
The <link xlink:href="http://www.tunes.org">TUNES Project</link>
The <ulink url="http://www.tunes.org">TUNES Project</ulink>
for a Free Reflective Computing System is developing its own assembler
as an extension to the Scheme language, as part of its development process.
It doesn't run at all yet, though help is welcome.
@ -1926,10 +1926,10 @@ Therefore, you might have to reimplement large parts of libc, from
can be <emphasis>quite</emphasis> boring sometimes. Note that some people have
already reimplemented "light" replacements for parts of the libc - - check
them out! (Redhat's minilibc, Rick Hohensee's
<link xlink:href="ftp://linux01.gwdg.de/pub/cLIeNUX/interim/libsys.tgz">libsys</link>,
Felix von Leitner's <link xlink:href="http://www.fefe.de/dietlibc/">dietlibc</link>,
<!-- Christian Fowelin's <link xlink:href="http://www.fowelin.de/christian/computer/libASM/">libASM</link>, -->
<link xlink:href="http://asm.sourceforge.net/asmutils.html">asmutils</link>
<ulink url="ftp://linux01.gwdg.de/pub/cLIeNUX/interim/libsys.tgz">libsys</ulink>,
Felix von Leitner's <ulink url="http://www.fefe.de/dietlibc/">dietlibc</ulink>,
<!-- Christian Fowelin's <ulink url="http://www.fowelin.de/christian/computer/libASM/">libASM</link>, -->
<ulink url="http://asm.sourceforge.net/asmutils.html">asmutils</ulink>
project is working on pure assembly libc)
</para>
</listitem>
@ -2034,9 +2034,9 @@ previous Linux versions understand only 5 parameters in registers.
</note>
<para>
<link xlink:href="http://www.tldp.org/LDP/lki/">Linux Kernel Internals</link>,
and especially <link xlink:href="http://www.tldp.org/LDP/lki/lki-2.html#ss2.11">
How System Calls Are Implemented on i386 Architecture?</link> chapter will give
<ulink url="http://www.tldp.org/LDP/lki/">Linux Kernel Internals</ulink>,
and especially <ulink url="http://www.tldp.org/LDP/lki/lki-2.html#ss2.11">
How System Calls Are Implemented on i386 Architecture?</ulink> chapter will give
you more robust overview.
</para>
@ -2068,8 +2068,8 @@ and documents from the LDP.
<para>
Particularly, if what you want is Graphics programming, then do join one of the
<link xlink:href="http://www.ggi-project.org/">GGI</link> or
<link xlink:href="http://www.XFree86.org/">XFree86</link> projects.
<ulink url="http://www.ggi-project.org/">GGI</ulink> or
<ulink url="http://www.XFree86.org/">XFree86</ulink> projects.
</para>
<para>
@ -2092,7 +2092,7 @@ assembly source files.
<para>
Such thing is theoretically possible (proof: see how
<link xlink:href="http://www.dosemu.org">DOSEMU</link> can selectively grant
<ulink url="http://www.dosemu.org">DOSEMU</ulink> can selectively grant
hardware port access to programs), and I've heard rumors that someone somewhere
did actually do it (in the PCI driver? Some VESA access stuff? ISA PnP? dunno).
If you have some more precise information on that, you'll be most welcome.
@ -2165,8 +2165,8 @@ reflect the interrupt into the real-mode or vm86 handler).
<para>
Docs about DPMI (and much more) can be found on
<link xlink:href="http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface">
http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface</link>).
<ulink url="http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface">
http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface</ulink>).
</para>
<para>
@ -2178,7 +2178,7 @@ derivative/subset/replacement, too.
It is possible to cross-compile from Linux to DOS, see the
<filename>devel/msdos/</filename> directory of your local FTP mirror for
metalab.unc.edu; Also see the MOSS DOS-extender from the
<link xlink:href="http://www.cs.utah.edu/projects/flux/">Flux project</link>
<ulink url="http://www.cs.utah.edu/projects/flux/">Flux project</ulink>
from the university of Utah.
</para>
@ -2192,7 +2192,7 @@ development.
<para>
This document is not about Windows programming, you can find lots of documents
about it everywhere... The thing you should know is that there is the
<link xlink:href="http://www.cygwin.com">cygwin32.dll library</link>,
<ulink url="http://www.cygwin.com">cygwin32.dll library</ulink>,
for GNU programs to run on Win32 platform; thus, you can use GCC, GAS,
all the GNU tools, and many other Unix applications.
</para>
@ -2213,7 +2213,7 @@ an underlying system (much like Linux over Mach or OpenGenera over Unix).
<para>
Hence, for easier debugging purpose, you might like to develop your "OS" first
as a process running on top of Linux (despite the slowness), then use the
<link xlink:href="http://www.cs.utah.edu/projects/flux/oskit/">Flux OS kit</link>
<ulink url="http://www.cs.utah.edu/projects/flux/oskit/">Flux OS kit</ulink>
(which grants use of Linux and BSD drivers in your own OS) to make it
stand-alone. When your OS is stable, it is time to write your own hardware
drivers if you really love that.
@ -2228,8 +2228,8 @@ braindeadness, defining your object format and calling conventions.
<para>
The main place where to find reliable information about that all, is source
code of existing OSes and bootloaders. Lots of pointers are on the following
webpage: <link xlink:href="http://www.tunes.org/Review/OSes.html">
http://www.tunes.org/Review/OSes.html</link>
webpage: <ulink url="http://www.tunes.org/Review/OSes.html">
http://www.tunes.org/Review/OSes.html</ulink>
</para>
</section>
</chapter>
@ -2261,8 +2261,8 @@ and <command>gas</command>, thus showing Intel and AT&amp;T syntax.
<para>
You may also want to read
<link xlink:href="http://asm.sourceforge.net/intro.html">
Introduction to UNIX assembly programming</link> tutorial, it contains sample
<ulink url="http://asm.sourceforge.net/intro.html">
Introduction to UNIX assembly programming</ulink> tutorial, it contains sample
code for other UNIX-like OSes.
</para>
@ -2525,8 +2525,8 @@ Your main resource for Linux/UNIX assembly programming material is:
<blockquote>
<para>
<link xlink:href="http://asm.sourceforge.net/resources.html">
http://asm.sourceforge.net/resources.html</link>
<ulink url="http://asm.sourceforge.net/resources.html">
http://asm.sourceforge.net/resources.html</ulink>
</para>
</blockquote>
@ -2544,7 +2544,7 @@ If you are new to assembly in general, here are few starting pointers:
<itemizedlist>
<listitem>
<para>
<link xlink:href="http://savannah.nongnu.org/projects/pgubook/">Programming from the ground up</link>
<ulink url="http://savannah.nongnu.org/projects/pgubook/">Programming from the ground up</ulink>
</para>
</listitem>
@ -2556,7 +2556,7 @@ x86 assembly FAQ (use Google)
<listitem>
<para>
<link xlink:href="http://www.koth.org">CoreWars</link>,
<ulink url="http://www.koth.org">CoreWars</ulink>,
a fun way to learn assembly in general
</para>
</listitem>
@ -2564,8 +2564,8 @@ a fun way to learn assembly in general
<listitem>
<para>
Usenet:
<link xlink:href="news://comp.lang.asm.x86">comp.lang.asm.x86</link>;
<link xlink:href="news://alt.lang.asm">alt.lang.asm</link>
<ulink url="news://comp.lang.asm.x86">comp.lang.asm.x86</ulink>;
<ulink url="news://alt.lang.asm">alt.lang.asm</ulink>
</para>
</listitem>
</itemizedlist>
@ -2602,8 +2602,8 @@ subscribe linux-assembly
<para>
Detailed information and list archives are available at
<link xlink:href="http://asm.sourceforge.net/list.html">
http://asm.sourceforge.net/list.html</link>.
<ulink url="http://asm.sourceforge.net/list.html">
http://asm.sourceforge.net/list.html</ulink>.
</para>
</simplesect>
</chapter>
@ -2630,7 +2630,7 @@ How do I do graphics programming in Linux?
<answer>
<para>
An answer from <link xlink:href="mailto:paulf@gam.co.za">Paul Furber</link>:
An answer from <ulink url="mailto:paulf@gam.co.za">Paul Furber</ulink>:
</para>
<para>
@ -2698,7 +2698,7 @@ How do I debug pure assembly code under Linux?
<answer>
<para>
There's an early version of the
<link xlink:href="http://ald.sourceforge.net">Assembly Language Debugger</link>,
<ulink url="http://ald.sourceforge.net">Assembly Language Debugger</ulink>,
which is designed to work with assembly code,
and is portable enough to run on Linux and *BSD.
It is already functional and should be the right choice, check it out!
@ -2711,7 +2711,7 @@ pure assembly code, and with some trickery you can make
<command>gdb</command> to do what you need
(unfortunately, nasm '-g' switch does not generate
proper debug info for gdb; this is nasm bug, I think).
Here's an answer from <link xlink:href="mailto:dl@gazeta.ru">Dmitry Bakhvalov</link>:
Here's an answer from <ulink url="mailto:dl@gazeta.ru">Dmitry Bakhvalov</ulink>:
</para>
<para>
@ -2767,7 +2767,7 @@ If you want to set breakpoints across your code, you can just use
<para>
If you're using <application>gas</application>, you should consult
<application>gas</application> and <application>gdb</application> related
<link xlink:href="http://asm.sourceforge.net/resources.html#tutorials">tutorials</link>.
<ulink url="http://asm.sourceforge.net/resources.html#tutorials">tutorials</ulink>.
</para>
</answer>
</qandaentry>
@ -2897,7 +2897,7 @@ How do I allocate memory dynamically?
<answer>
<para>
A laconic answer from <link xlink:href="mailto:phpr@snafu.de">H-Peter Recktenwald</link>:
A laconic answer from <ulink url="mailto:phpr@snafu.de">H-Peter Recktenwald</ulink>:
</para>
<para>
@ -2915,7 +2915,7 @@ A laconic answer from <link xlink:href="mailto:phpr@snafu.de">H-Peter Recktenwal
<answer>
<para>
An extensive answer from <link xlink:href="mailto:ee97034@fe.up.pt">Tiago Gasiba</link>:
An extensive answer from <ulink url="mailto:ee97034@fe.up.pt">Tiago Gasiba</ulink>:
</para>
<para>
<programlisting>
@ -2983,7 +2983,7 @@ I can't understand how to use <function>select</function> system call!
<answer>
<para>
An answer from <link xlink:href="mailto:mochel@transmeta.com">Patrick Mochel</link>:
An answer from <ulink url="mailto:mochel@transmeta.com">Patrick Mochel</ulink>:
</para>
<para>
@ -3544,7 +3544,7 @@ the following persons, by order of appearance:
<itemizedlist>
<listitem>
<para>
<link xlink:href="mailto:buried.alive@in.mail">Linus Torvalds</link>
<ulink url="mailto:buried.alive@in.mail">Linus Torvalds</ulink>
for Linux
</para>
</listitem>
@ -3552,37 +3552,37 @@ for Linux
<listitem>
<para>
<anchor xml:id="bde"/>
<link xlink:href="mailto:bde@zeta.org.au">Bruce Evans</link>
<ulink url="mailto:bde@zeta.org.au">Bruce Evans</ulink>
for bcc from which as86 is extracted
</para>
</listitem>
<listitem>
<para>
<link xlink:href="mailto:anakin@pobox.com">Simon Tatham</link> and
<link xlink:href="mailto:jules@earthcorp.com">Julian Hall</link>
<ulink url="mailto:anakin@pobox.com">Simon Tatham</ulink> and
<ulink url="mailto:jules@earthcorp.com">Julian Hall</ulink>
for NASM
</para>
</listitem>
<listitem>
<para>
<link xlink:href="mailto:gregh@metalab.unc.edu">Greg Hankins</link> and now
<link xlink:href="mailto:linux-howto@metalab.unc.edu">Tim Bynum</link>
<ulink url="mailto:gregh@metalab.unc.edu">Greg Hankins</ulink> and now
<ulink url="mailto:linux-howto@metalab.unc.edu">Tim Bynum</ulink>
for maintaining HOWTOs
</para>
</listitem>
<listitem>
<para>
<link xlink:href="mailto:raymoon@moonware.dgsys.com">Raymond Moon</link>
<ulink url="mailto:raymoon@moonware.dgsys.com">Raymond Moon</ulink>
for his FAQ
</para>
</listitem>
<listitem>
<para>
<link xlink:href="mailto:dumas@linux.eu.org">Eric Dumas</link>
<ulink url="mailto:dumas@linux.eu.org">Eric Dumas</ulink>
for his translation of the mini-HOWTO into French
(sad thing for the original author to be French and write in English)
</para>
@ -3590,22 +3590,22 @@ for his translation of the mini-HOWTO into French
<listitem>
<para>
<link xlink:href="mailto:paul@geeky1.ebtech.net">Paul Anderson</link> and
<link xlink:href="mailto:rahim@megsinet.net">Rahim Azizarab</link>
<ulink url="mailto:paul@geeky1.ebtech.net">Paul Anderson</ulink> and
<ulink url="mailto:rahim@megsinet.net">Rahim Azizarab</ulink>
for helping me, if not for taking over the HOWTO
</para>
</listitem>
<listitem>
<para>
<link xlink:href="mailto:pcg@goof.com">Marc Lehman</link>
<ulink url="mailto:pcg@goof.com">Marc Lehman</ulink>
for his insight on GCC invocation
</para>
</listitem>
<listitem>
<para>
<link xlink:href="mailto:ams@wiw.org">Abhijit Menon-Sen</link>
<ulink url="mailto:ams@wiw.org">Abhijit Menon-Sen</ulink>
for helping me figure out the argument passing convention
</para>
</listitem>
@ -4025,8 +4025,8 @@ Version 1.1, March 2000
versions of the GNU Free Documentation License from time to time.
Such new versions will be similar in spirit to the present
version, but may differ in detail to address new problems or
concerns. See <link xlink:href="http://www.gnu.org/copyleft/">
http://www.gnu.org/copyleft/</link>.</para>
concerns. See <ulink url="http://www.gnu.org/copyleft/">
http://www.gnu.org/copyleft/</ulink>.</para>
<para>Each version of the License is given a distinguishing
version number. If the Document specifies that a particular

View File

@ -440,7 +440,7 @@
</para>
</sect2>
<sect2 id="760MP">
<sect2 id="_760MP">
<title>AMD 760MP Powersaving</title>
<para>
@ -465,18 +465,26 @@
</para>
<para>
If you have temperature controlled Fan on your CPU-Heatsink, you could check for the noise level of the Fan to see whether it works or not. After a few idle minutes you give the CPU somthing to do.
<procedure>
<title>I normaly do it like this:</title>
<step>
get superuser (root)
</step>
<step>
<command>cd /usr/src/linux</command>
</step>
<step>
and give the computer something to do: <command>while true; do make clean; make bzImage; done</command>
</step>
</procedure>
<tip>
<procedure>
<title>I normaly do it like this:</title>
<step>
<para>
get superuser (root)
</para>
</step>
<step>
<para>
<command>cd /usr/src/linux</command>
</para>
</step>
<step>
<para>
and give the computer something to do: <command>while true; do make clean; make bzImage; done</command>
</para>
</step>
</procedure>
</tip>
After about 20 or 30 seconds you should notice that the noise of the fan is getting louder while the fan is getting faster. Don't forget to end the while-loop after some time ( a few minutes) with STRG-C.
</para>
<para>

View File

@ -23,7 +23,7 @@
<revision>
<revnumber>0.05</revnumber>
<date>2002-11-05</date>
<authorintials>nhz</authorinitials>
<authorinitials>nhz</authorinitials>
</revision>
<revision>
<revnumber>0.05</revnumber>
@ -1086,7 +1086,7 @@
<listitem>
<para>
<ulink url="http://nocat.net">Nocat.net</ulink> has an authentication gateway for wireless networks. This software
has a web based client.
has a web based client.</para>
</listitem>
<listitem>
<para>
@ -1147,6 +1147,7 @@
<para>
The html files that should contain this metatag are login_ok.html,renew.html, and renew_pasv.html.
</para>
</listitem>
</orderedlist>
</sect1>

View File

@ -17,8 +17,14 @@
<address><email>ramana &lt;&gt; intraperson dot com</email></address>
</affiliation>
</author>
<editor> Rahul Sundaram </editor>
<editor>Machtelt Garrels</editor>
<editor>
<firstname>Rahul</firstname>
<surname>Sundaram</surname>
</editor>
<editor>
<firstname>Machtelt</firstname>
<surname>Garrels</surname>
</editor>
<!-- All dates specified in ISO "YYYY-MM-DD" format -->
<pubdate>2004-09-23</pubdate>
@ -401,7 +407,7 @@ This work is licensed under the Creative Commons Attribution License. To view a
<para><emphasis role="bold">Autodir</emphasis> demands some extra requirements from the backup program being used: when the backup is working on the <emphasis>real directory</emphasis>, with corresponding expired <emphasis>virtual directory</emphasis>, and that <emphasis>virtual directory</emphasis> is requested again by an application while the backup is running, the backup process is killed. First a <literal>SIGTERM</literal> is sent to gracefully stop it. But if it does not shut down in time - and it has one second to do this - a <literal>SIGKILL</literal> will be sent, which is guaranteed to stop the backup.</para>
<note>Only when the backup has stopped the application is given access to the requested <emphasis>virtual directory</emphasis>.</note>
<note><para>Only when the backup has stopped the application is given access to the requested <emphasis>virtual directory</emphasis>.</para></note>
<important><para>Whatever backup is used, it should be able to recover from this signal gracefully, not causing unrecoverable side effects.</para></important>

View File

@ -1444,10 +1444,10 @@ Example:
<titleabbrev>Old Bridge Hardware setup</titleabbrev>
<mediaobject>
<imageobject>
<imagedata fileref="old-hardware-setup.eps" format="eps">
<imagedata fileref="images/old-hardware-setup.eps" format="eps">
</imageobject>
<imageobject>
<imagedata fileref="old-hardware-setup.png">
<imagedata fileref="images/old-hardware-setup.png">
</imageobject>
<textobject>
<screen width="90"><![CDATA[
@ -1530,10 +1530,10 @@ Example:
<titleabbrev>Multi bridge Hardware Setup</titleabbrev>
<mediaobject>
<imageobject>
<imagedata fileref="hardware-setup.eps" format="eps">
<imagedata fileref="images/hardware-setup.eps" format="eps">
</imageobject>
<imageobject>
<imagedata fileref="hardware-setup.png"
<imagedata fileref="images/hardware-setup.png">
</imageobject>
<textobject>
<screen width="90"><![CDATA[

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -85,6 +85,7 @@ no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found in <xref linkend="appendix">. </para>
</sect2>
<!-- - - - - - - - - - - S e c t i o n B r e a k - - - - - - - - - -
- -->
@ -112,6 +113,7 @@ validity of any trademark or service mark. </para>
<para> Naming of particular products or brands should not be seen as
endorsements. </para>
</sect2>
<!-- - - - - - - - - - - S e c t i o n B r e a k - - - - - - - - - -
- -->
@ -129,6 +131,7 @@ endorsements. </para>
url="http://www.tldp.org/HOWTO/BTTV.html">here</ulink>. </para>
</sect2>
<!-- - - - - - - - - - - S e c t i o n B r e a k - - - - - - - - - -
- -->
@ -143,6 +146,7 @@ use of the script in <xref linkend="recording"></para>
<para> Also, I would like to thank Marla, without whose encouragement
this project would not have been possible.</para>
</sect2>
<sect2 id="feedback"> <title>Feedback</title> <para> Please send any
information you may feel important to the following email
address: <email>hshane[AT]austin.rr.com</email>, whether you have a
@ -213,7 +217,7 @@ outlined with screen output in their own paragraph or heading: </para>
<sect1 id="hardware">
<title>The BTTV Hardware</title>
<para>
<sect2 id="about">
<title>Bttv Basics</title>
<para>
@ -251,7 +255,7 @@ TV cards known NOT to work include the following:</para>
<listitem><para>Pinnacle DC10+</para></listitem>
<listitem><para>Linux Media Labs LML33</para></listitem>
</itemizedlist></listitem>
<listitem><para>Cards with a Philips SAA7130/7134 controller
<listitem><para>Cards with a Philips SAA7130/7134 controller</para></listitem>
<listitem><para>Multimedia eXtension Board cards, manufactured by Siemens-Nixdorf</para></listitem>
<listitem><para>Hexium HV-PCI6, Orion or Gemini framegrabber cards</para></listitem>
<listitem><para>Any ISA-based TV card</para></listitem>
@ -259,7 +263,7 @@ TV cards known NOT to work include the following:</para>
</para>
<para>If you are uncertain which chipset your TV card has, use the <command>lspci</command> command.
An example of such output for a Bt8x8 card might look similar to the following:
An example of such output for a Bt8x8 card might look similar to the following:</para>
<screen>
0000:02:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 02)
@ -267,6 +271,7 @@ An example of such output for a Bt8x8 card might look similar to the following:
(rev 02)
</screen>
<para>A list of hardware (mostly PCI cards) compatible with the Bttv driver is found in <xref linkend="cards"></para>
</sect2>
<sect2 id="soundconn">
<title>The Sound Output</title>
<para>
@ -279,6 +284,8 @@ will be able to control the input with your mixer from your primary sound card a
well as record (see <xref linkend="recording"> for more information on recording).
Alternatively you can use external speakers connected to the line out of your Bt8x8 card.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - S e c t i o n B r e a k - - - - - - - - - -
- -->
@ -348,7 +355,7 @@ chipset features and kernel version (in this case, 2.6):
<para>
If you don't see it, the particular driver module you are interested in may
be available but not necessarily loaded at that time. If you know what the module is named,
try using <filename>find</filename>; in this example we are looking for the 'bttv' module:<para>
try using <filename>find</filename>; in this example we are looking for the 'bttv' module:</para>
<screen>
$ find /lib/modules -name bttv.o
</screen>
@ -417,6 +424,7 @@ following example (using the <filename>bttv</filename> module):</para>
</screen>
</para>
</sect3>
</sect2>
<sect2 id="recompile">
@ -450,6 +458,7 @@ in the OSS "Sound" category is optional if you want to use external speakers
attached to the the card's audio out jack, and either (or both) OSS or
ALSA sound system btaudio drivers in the 2.6+ series.
</para>
</sect2>
<sect2 id="tuning">
<title>Configuration Requirements for Use of your Bttv Hardware</title>
@ -550,6 +559,7 @@ save it as MAKEDEV or whatever name you like, make it executable
# ./MAKEDEV
</screen>
</para>
</sect3>
</sect2>
@ -660,6 +670,7 @@ to remove the module, you can use <command>rmmod</command>:
<screen>
$ rmmod bttv</screen>
You can then reload the module with the appropriate options.</para>
</sect2>
<sect2 id="tunmod">
<title>The Tuner Module</title>
@ -743,11 +754,13 @@ the following list:
<command>tuner=45</command> Microtune 4049 FM5
</literallayout>
</para>
</sect2>
<sect2 id="snd"><title>Other Modules</title>
<para>Don't forget to load any other modules you may need, including
<command>btaudio</command> if you plan on recording or capturing audio to
another application.
</para>
</sect2>
<Sect2 id="auto"><title>Automating the Module Loading Process</title>
<para>
@ -764,14 +777,13 @@ automatically with the appropriate options. The following is an example entry:
options tuner type=2
</screen>
</para>
</sect2>
</sect1>
<sect1 id="apps"><title>Television Applications</title>
<para>
Now that your kernel is configured, your devices have been configured, and your
modules are inserted, you will also need an application to actually view or
capture the images from your card.
<para>
</para>
<sect2 id="console"><title>Console-Based Applications</title>
<sect3 id="fbtv"><title>FbTV</title>
@ -782,12 +794,15 @@ a framebuffer is you can read the
</ulink>. Fbtv is available from the Bttv homepage with
<ulink url="http://linux.bytesex.org/xawtv/">Xawtv</ulink>.
</para>
</sect3>
<sect3 id="aatv"><title>AATV</title>
<para><ulink url="http://n00n.free.fr/aatv/">AATV</ulink> is a simple program
to watch TV on a text console under Linux using aalib and a Bt8x8 card. While
the graphics are enabled in ascii graphics only, the advantage is that you
(or anyone) can watch television from anywhere over the internet using your
local Bt8x8 hardware.
local Bt8x8 hardware.</para>
</sect3>
</sect2>
<sect2 id="gui"><title>GUI-based Applications</title>
<para>The following applications require a graphical user interface such as GNOME, KDE etc.
</para>
@ -828,10 +843,12 @@ Now that you know your Bt8x8 device is available, try starting Xawtv:
Note that some Nvidia cards may confuse xawtv, so if you have one of these be
sure to use the <command>-device</command> switch as above.
</para>
</sect3>
<sect3 id="motv"><title>Motv</title>
<para>Motv is a Motif-based rewrite of Xawtv. Other than a more attractive
interface, and is also found at <ulink url="http://www.bytesex.org/">
the Xawtv homepage</ulink>. It is otherwise identical to Xawtv.</para>
</sect3>
<sect3 id="tvtime"><title>TVtime</title>
<para>TVtime is the ultimate application for those who want to watch TV using
an application that doesn't get in the way and requires little or no

View File

@ -731,7 +731,7 @@ TIME=00:00-07:59;110Kbit/11Kbit
</para>
<para>Be careful though, because there is a small bug in that <filename>cbq.init-v0.6.2</filename> script - it won't let you
set certain times, for example 00:00-08:00! To make sure if everything is working correctly,
start <filename>cbq.init-v0.6.2</filename>, and then within the time you set, type
start <filename>cbq.init-v0.6.2</filename>, and then within the time you set, type</para>
<para><command>/etc/rc.d/cbq.init-v0.6.2 timecheck</command></para>
<para>This is the example how the proper output should look like:</para>
<para><literal>

View File

@ -1757,6 +1757,8 @@ program and what you should really do is rush out and find out what screen
is - if you've read this far in the HOWTO, you're enough of a Command Line
Interface Junkie that you need to know.
</para>
<para>
If you use screen in Xterms and you want to manipulate the title bar, your
life may just have become a bit more complicated ... Screen can, but doesn't
@ -3187,9 +3189,11 @@ PS4='+ '
</programlisting>
<mediaobject>
<!--
<imageobject>
<imagedata fileref="images/proml.png" format="png">
</imageobject>
-->
<imageobject>
<imagedata fileref="images/proml.jpg" format="jpg">
</imageobject>
@ -3235,9 +3239,11 @@ PS1="\!,$cur_tty,\$?\$ "
</programlisting>
<mediaobject>
<!--
<imageobject>
<imagedata fileref="images/dan.png" format="png">
</imageobject>
-->
<imageobject>
<imagedata fileref="images/dan.jpg" format="jpg">
</imageobject>
@ -3284,9 +3290,11 @@ PS2="&gt; "
</programlisting>
<mediaobject>
<!--
<imageobject>
<imagedata fileref="images/elite.png" format="png">
</imageobject>
-->
<imageobject>
<imagedata fileref="images/elite.jpg" format="jpg">
</imageobject>
@ -3605,9 +3613,11 @@ PS2="$LIGHT_BLUE-$YELLOW-$YELLOW-$NO_COLOUR "
</programlisting>
<mediaobject>
<!--
<imageobject>
<imagedata fileref="images/twtty.png" format="png">
</imageobject>
-->
<imageobject>
<imagedata fileref="images/twtty.jpg" format="jpg">
</imageobject>
@ -3690,9 +3700,11 @@ PS4='+ '
</programlisting>
<mediaobject>
<!--
<imageobject>
<imagedata fileref="images/clockt.png" format="png">
</imageobject>
-->
<imageobject>
<imagedata fileref="images/clockt.jpg" format="jpg">
</imageobject>

View File

@ -161,13 +161,13 @@ Maintainers: Francis Litterio <franl@world.std.com>,
</para>
<!-- Please scramble addresses; help prevent spam/email harvesting -->
<itemizedlist spacing="compact">
<listitem>Nathan Hurst</listitem>
<listitem>Jon Abbott</listitem>
<listitem>Felix Hudson</listitem>
<listitem>Kees van den Broek</listitem>
<listitem>Andreas Beck</listitem>
</itemizedlist>
<simplelist type="inline">
<member>Nathan Hurst</member>
<member>Jon Abbott</member>
<member>Felix Hudson</member>
<member>Kees van den Broek</member>
<member>Andreas Beck</member>
</simplelist>
</sect2>
<sect2 id="sect-feedback">

View File

@ -507,6 +507,7 @@ consolechars -m iso05
</screen>
line in your <filename>/etc/X11/XF86COnfig</filename>.
</para>
</listitem>
<listitem>
<para>
Install windows-1251 fonts for X Windows and

View File

@ -312,6 +312,7 @@ brcfg -deb
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.</para>
</blockquote>
</sect2>
<sect2 id="gfdl-0">
<title>PREAMBLE</title>

View File

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' >
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
<!--
Changelog: (R) = Publication Released

View File

@ -90,7 +90,7 @@ confidently even when the outlook was dimmest and others unforgiving. I'm yours
<sect2 id="feedback"> <title>Feedback</title> <para> Please send any additions
or comments pertaining to this document to the following email address:
<email>hshane[AT]austin.rr.com</email>. </para> <sect2 id="conventions">
<email>hshane[AT]austin.rr.com</email>. </para></sect2> <sect2 id="conventions">
<title>Conventions Used in this Document</title> <para> The following conventions are
used in this document and are outlined here for those who may not yet have a complete
understanding of how to access and control the underlying operating system in Linux,
@ -122,6 +122,7 @@ Most cable modems have two possible interfaces for connection to your computer:
Ethernet or USB. If your version of Linux is like most, there is very little you will need to do to to get your cable modem
working with an Ethernet interface as long as you have support for networking and the driver for your specific networking hardware installed.
</para>
</sect2>
<sect2 id="nic">
<title>Ethernet Support</title>
@ -144,6 +145,7 @@ using whatever kernel configuration front-end application (whether <command>make
xconfig</command>) prior to compiling a custom kernel. For 2.4.x and earlier kernels under the heading 'Networking options' you will require 'TCP/IP Networking' along with 'Network Device Support,' go to 'Ethernet (10 or 100Mbit) Support' and enable your specific NIC driver. If you use the 2.6.x series, the heading 'Drivers' has a sub-heading 'Networking Support,' where you should enable 'Network Device Support' and 'Ethernet Connection Support/Ethernet (10 or 100Mbit), as well as your specific NIC hardware driver.</para>
<para>If you are interested in how to configure the USB interface go to <xref linkend="usbconfig">; otherwise you can go to <xref linkend="modem">.</para>
</sect2>
<sect2 id="usbconfig"><title>USB Interface Support</title>
@ -167,6 +169,7 @@ For kernel 2.6.x you will need
</itemizedlist>
<para>
See <xref linkend="usb"> for instructions on how to load modules when time to test the modem.</para>
</sect2>
<sect2 id="modem"> <title>The Modem Device</title> <para> First, plug in and turn on
the cable modem. Connect your Ethernet card to the modem with 10BaseT/100BaseT cable
@ -202,7 +205,7 @@ url="http://www.tldp.org/HOWTO/mini/DHCP/x74.html">DHCP mini-HOWTO</ulink>. </p
get a dynamic IP address. </para> </sect3> </sect2> </sect1>
<sect1 id="configuration"> <title>Configuration</title> <para> <sect2 id="eth">
<sect1 id="configuration"> <title>Configuration</title> <sect2 id="eth">
<title>Ready to Start With an Ethernet-Modem connection</title> <para> Once you
are plugged into the system, your modem is on and your dhcp server is running as
outlined in <xref linkend="dhcp">, you should be provided your own IP address that
@ -226,6 +229,7 @@ successfully acquired an IP address (the 'inet addr') provided by our cable inte
service provider.</para> <para> A simple Ethernet-based configuration should be complete
at this step. If you have more than one Ethernet interface available and want to select
a specific one for the cable service, go on to <xref linkend="device-iface">. </para>
</sect2>
<sect2 id="device-iface"> <title>Grabbing A Specific Interface</title> <para> Let's say
@ -261,6 +265,7 @@ hardware or for just plain testing. Use ifconfig: </para>
</screen></para> <para>You can check if it worked by calling
<command>ifconfig</command> without options after your next reboot. See <command>man
ifconfig</command> for more options.</para>
</sect3>
<sect3 id="autoconfig"> <title>Automatic Configuration of Devices</title> <para> The
method for automatically assigning a particular interface name <emphasis>ethX</emphasis>,
@ -284,6 +289,7 @@ eth1</command> it won't work. The easy way to do this at boot up is to make an i
script to load the dhcp address to the correct interface, which should be placed in
<filename>/etc/init.d</filename>. Then run <command>update-rc.d</command> as root with
the correct arguments (see <command>man update-rc.d</command>). </para>
</sect4>
<sect4 id="rh"> <title>Red Hat</title> <para> The file to
edit will of the form <filename>ifcfg-ethX</filename>, located in
@ -303,10 +309,12 @@ save it. If the file doesn't exist for the interface you need you can create it,
for example <filename>ifcfg-eth1</filename>. You can then use <command>ifconfig eth1
up</command> from the command line to use it immediately. Upon reboot the correct
hardware settings should be loaded automatically.</para>
</sect4>
<sect4 id="slackware">
<title>Slackware</title>
<para> Slackware has a configuration utility named 'netconfig' that you can use at the command line as root to modify your network settings and configure interfaces by static IP addresses or dhcp. You can rerun it at any time to reconfigure things once you have installed your modem. </para>
</sect4>
<sect4 id="others">
@ -316,6 +324,7 @@ distribution-specific information to add; see <xref linkend="feedback">. Consult
distribution documentation where appropriate.</para>
</sect4>
</sect3>
</sect2>
<sect2 id="usb"> <title>Using the USB interface instead of an Ethernet card</title>
@ -338,7 +347,7 @@ There are two ways your kernel may support a device driver: either by being stat
0.98.6 7 Jan 2002 Brad Hards and another
Mar 2 11:00:52 K7 kernel: usb.c: registered new driver CDCEther </screen> </para>
<para>in the case of a statically compiled driver or a module loaded at boot.
<para>in the case of a statically compiled driver or a module loaded at boot.</para>
<para>If you don't see it, to find out if your kernel has already loaded the CDCEther (Communications Device Class Ethernet) driver as a module, on
the command line issue <command>lsmod</command> as root. You should see the module <filename>CDCEther</filename> listed for 2.4.x kernels, or alternatively <filename>usbnet</filename> for 2.6.x kernels.</para>
@ -357,7 +366,7 @@ or at the end of <command>dmesg | less</command> from the command line:
Mar 2 11:00:52 K7 kernel: usb.c: registered new driver CDCEther </screen> </para>
<para> If all goes well you should see something like the following in your system log
files or at the end of <command>dmesg</command>:
files or at the end of <command>dmesg</command>:</para>
<para><screen> Mar 2 11:00:52 K7 kernel: CDCEther.c:
0.98.6 7 Jan 2002 Brad Hards and another
@ -379,16 +388,23 @@ device have been addressed in <xref linkend="networking">.
configuring a cable modem and cable internet service providers in Israel on <ulink url="http://www.freewebs.com/linuxnet/CableUSBLinuxEn.html">Jess' webpage</ulink> for those that live there. I have personally subscribed to two large cable ISPs in the U.S. without any trouble using the instructions outlined above. The previous incarnation of this document had a large catalogue of ISPs listed by geography, but as a rule the identity of the upstream provider should not affect configuration. If your cable ISP claims not to support linux, it is not because of any technical difficulties related to the operating system. Just don't expect them to configure if for you on your end like they do for most other users (that's why you're reading this document, right?).</para>
<sect2 id="ambit"><title>Ambit Modems</title><para>Supported by Ethernet and CDCEther.</para>
</sect2>
<sect2 id="broadcom"><title>Broadcom Cable Modems</title><para>Supported by Ethernet and CDCEther.</para>
</sect2>
<sect2 id="ericson"><title>Ericson PipeRider Modems</title><para>Supported by Ethernet and CDCEther.</para>
</sect2>
<sect2 id="motorola"> <title>Motorola SurfBoard Modems</title> <para>This model has enjoyed widespread use by cable providers. There is a separate <ulink
url="http://tldp.org/HOWTO/Motorola-Surfboard-Modem/index.html">HOWTO,</ulink>
written by your humble author. Supported by both Ethernet and USB CDCEther. Refer to that document for any hardware
specific questions. The generic instructions above generally work.</para>
<sect2 id="RCA"><title>RCA (Tompson) Modems</title><para>Supported with Ethernet, CDCEther untested.
</sect2>
<sect2 id="RCA"><title>RCA (Tompson) Modems</title><para>Supported with Ethernet, CDCEther untested.</para>
</sect2>
<sect2 id="terayon"><title>Terayon Modems</title><para>At minimum the tj715 is known to be supported using Ethernet and CDCEther.</para>
</sect2>
<sect2 id="toshiba"> <title>Toshiba PCX-XXXX Cable Modems</title> <para>The four X's in the name indicate model number. Works with Ethernet, CDCEther untested.
'out-of-the-box' with the above instructions. </para>
</sect2>
<sect2 id="WebStar"><title>Webstar Modems</title><para>Supported with Ethernet, CDCEther untested.</para>
</sect2>
</sect1>

View File

@ -564,11 +564,11 @@
<title>Uploading bootnet floppy image</title>
<mediaobject>
<imageobject>
<imagedata fileref="upload-bootnet.eps" scale="50"
<imagedata fileref="images/upload-bootnet.eps" scale="50"
scalefit="1" format="eps">
</imageobject>
<imageobject>
<imagedata fileref="upload-bootnet.jpg" format="jpg">
<imagedata fileref="images/upload-bootnet.jpg" format="jpg">
</imageobject>
<textobject>
<phrase>Image of uploading a floppy image to the Virtual Floppy</phrase>
@ -590,11 +590,11 @@
<title>Virtual Floppy Boot Once Dialog</title>
<mediaobject>
<imageobject>
<imagedata fileref="virtual-floppy-bootonce-dialog.eps"
<imagedata fileref="images/virtual-floppy-bootonce-dialog.eps"
scale="50" scalefit="1" format="eps">
</imageobject>
<imageobject>
<imagedata fileref="virtual-floppy-bootonce-dialog.jpg"
<imagedata fileref="images/virtual-floppy-bootonce-dialog.jpg"
format="jpg">
</imageobject>
<textobject>
@ -634,11 +634,11 @@
<title>BIOS bootup</title>
<mediaobject>
<imageobject>
<imagedata fileref="bios-boot.eps"
<imagedata fileref="images/bios-boot.eps"
scale="50" format="eps">
</imageobject>
<imageobject>
<imagedata fileref="bios-boot.jpg" format="jpg">
<imagedata fileref="images/bios-boot.jpg" format="jpg">
</imageobject>
<textobject>
<phrase>Image browser showing memory check during BIOS boot</phrase>
@ -668,11 +668,11 @@
<title>Red Hat bootup</title>
<mediaobject>
<imageobject>
<imagedata fileref="redhat-boot.eps" scale="50" scalefit="1"
<imagedata fileref="images/redhat-boot.eps" scale="50" scalefit="1"
format="eps">
</imageobject>
<imageobject>
<imagedata fileref="redhat-boot.jpg"
<imagedata fileref="images/redhat-boot.jpg"
format="jpg">
</imageobject>
<textobject>
@ -698,11 +698,11 @@
<title>Red Hat bootup</title>
<mediaobject>
<imageobject>
<imagedata fileref="redhat-http-setup.eps" scale="50"
<imagedata fileref="images/redhat-http-setup.eps" scale="50"
format="eps">
</imageobject>
<imageobject>
<imagedata fileref="redhat-http-setup.jpg" format="jpg">
<imagedata fileref="images/redhat-http-setup.jpg" format="jpg">
</imageobject>
<textobject>
<phrase>Image of selecting HTTP based installation</phrase>

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -211,7 +211,7 @@ Remember when asking for help to include your modems Device ID, Vendor ID and an
<title>Quick Start guide</title>
<para> This section tries to get you up and running as soon as possible, if you can follow the steps given in this section and they work for you, you can ignore the rest of this howto. This section is updated more often then the rest of the HOWTO so will contain the most up to date information.</para>
<para>First you need to find out if your modem is an HSF or HCF modem. You can find out from your modem by looking at it's Windows drivers or looking at the label on it's chipset, or alternatively you can download the <ulink url="http://www.conexant.com/customer/md_driverassistance.html><citetitle>ListModem</citetitle></ulink> utility and run it to get the information.
<para>First you need to find out if your modem is an HSF or HCF modem. You can find out from your modem by looking at it's Windows drivers or looking at the label on it's chipset, or alternatively you can download the <ulink url="http://www.conexant.com/customer/md_driverassistance.html"><citetitle>ListModem</citetitle></ulink> utility and run it to get the information.
Drivers are available for both types, but the HSF driver is further into development then the HCF driver so is likely to be more advanced for now. Expect the HCF driver to come out of beta sometime mid-year(2002).
@ -234,7 +234,6 @@ Download the driver from <ulink url="http://www.mbsi.ca/hsflinux/"><citetitle>ht
Load up a terminal (or go to a console), change to the root user and enter the directory you downloaded the driver to and use the command "rpm -i" followed by the name of the driver. For instance if it is called
<filename>hsflinmodem-4.06.06.02mbsibeta02012000-1.i586.rpm</filename> you would enter,</para><para>
<prompt>&pt;</prompt><command>rpm -i hsflinmodem-4.06.06.02mbsibeta02012000-1.i586.rpm</command></para>
</para>
</listitem>
<listitem><para>
Run the program <command>hsfconfig</command> and just follow the on-screen instructions and it should automatically detect your modem and install the driver. If you have any problems consult the documentation that comes with the driver.</para></listitem></orderedlist>
@ -264,7 +263,6 @@ Download the driver from <ulink url="http://www.mbsi.ca/hcflinux/"><citetitle>ht
Load up a terminal (or go to a console), change to the root user and enter the directory you downloaded the driver to and use the command "rpm -i" followed by the name of the driver. For instance if it is called
<filename>hcflinmodem-0.9mbsibeta02030801-1.i586.rpm</filename> you would enter,</para><para>
<prompt>&pt;</prompt><command>rpm -i hcflinmodem-0.9mbsibeta02030801-1.i586.rpm</command></para>
</para>
</listitem>
<listitem>
@ -808,7 +806,7 @@ When trying to dial my ISP I get "No Carrier" error ?
<answer>
<para>
It has been reported that making the following changes to your configuration will work:
</para>
<orderedlist>
<listitem>
<para>
@ -821,7 +819,6 @@ Replace the command ATDT with ATX3DT
</para>
</listitem>
</orderedlist>
</para>
</answer>
</qandaentry>
@ -832,7 +829,9 @@ When running ./ins_alI get the error "No matching INF file is found for SoftK56
</para>
</question>
<answer>
<para>
This occurs when the driver can't find the correct %HSFModem% line in the lin_hsf.inf line, go back through the instructions and make sure that you didn't make a mistake when making or entering the the %HSFModem% line.
</para>
</answer>
</qandaentry>
@ -856,11 +855,9 @@ This is often caused by the modem's device number clashing with that of PCMCIA,
</sect2>
</sect1>
<appendix id="fdl-app"><title>License</title>
<appendix id="fdl-app">
<sect2 id="fdl">
<sect2info>
<appendixinfo>
<releaseinfo>
Version 1.1, March 2000
</releaseinfo>
@ -880,7 +877,12 @@ This is often caused by the modem's device number clashing with that of PCMCIA,
document, but changing it is not allowed.
</para>
</legalnotice>
</sect2info>
</appendixinfo>
<title>License</title>
<sect1 id="fdl">
<title>GNU Free Documentation License</title>
<sect2>
<title>GNU Free Documentation License</title>
<para>Copyright 2000 Free Software Foundation, Inc.
</para>
@ -1526,6 +1528,7 @@ This is often caused by the modem's device number clashing with that of PCMCIA,
</para>
</sect3>
</sect2>
</sect1>
</appendix>
</article>

View File

@ -285,8 +285,8 @@ email address : <email>cryptoloop@ralfhoelzer.com</email>.
and mounted. In order to use util-linux 2.12 with a 2.6 kernel at least the following two patches need to be applied:
<orderedlist>
<listitem><ulink url="http://www.stwing.org/~sluskyb/util-linux/losetup-combined.patch">Combined losetup patch</ulink></listitem>
<listitem><ulink url="http://www.ece.cmu.edu/~rholzer/cryptoloop/util-linux-2.12-kernel-2.6.patch">Util-linux 2.6 patch</ulink></listitem>
<listitem><para><ulink url="http://www.stwing.org/~sluskyb/util-linux/losetup-combined.patch">Combined losetup patch</ulink></para></listitem>
<listitem><para><ulink url="http://www.ece.cmu.edu/~rholzer/cryptoloop/util-linux-2.12-kernel-2.6.patch">Util-linux 2.6 patch</ulink></para></listitem>
</orderedlist>
</para>
@ -299,9 +299,9 @@ email address : <email>cryptoloop@ralfhoelzer.com</email>.
cd util-linux-2.12
patch -p1 < /path_to_patchfile/losetup-combined.patch
patch -p1 &lt; /path_to_patchfile/losetup-combined.patch
patch -p1 < /path_to_patchfile/util-linux-2.12-kernel-2.6.patch
patch -p1 &lt; /path_to_patchfile/util-linux-2.12-kernel-2.6.patch
</screen>
<para>
After applying the patches, compile and install util-linux according to the instructions in the INSTALL file.

View File

@ -174,19 +174,19 @@
</para>
<itemizedlist>
<listitem>
Hardware requirements:
<para>Hardware requirements:</para>
<itemizedlist>
<listitem>Supported processors</listitem>
<listitem>Disk space requirements</listitem>
<listitem>Memory requirements</listitem>
<listitem><para>Supported processors</para></listitem>
<listitem><para>Disk space requirements</para></listitem>
<listitem><para>Memory requirements</para></listitem>
</itemizedlist>
</listitem>
<listitem>
Software requirements:
<para>Software requirements:</para>
<itemizedlist>
<listitem>Linux distributions</listitem>
<listitem>Kernel levels and libraries requirements</listitem>
<listitem>Additional software requirements</listitem>
<listitem><para>Linux distributions</para></listitem>
<listitem><para>Kernel levels and libraries requirements</para></listitem>
<listitem><para>Additional software requirements</para></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
@ -195,10 +195,10 @@
<sect3>
<title>Supported processor architectures</title>
<itemizedlist>
<listitem>x86 (32-bit processor)</listitem>
<listitem>x86&ndash;64 (64-bit processor)</listitem>
<listitem>POWER&trade; (any iSeries&trade; or pSeries&reg; that
supports Linux)</listitem>
<listitem><para>x86 (32-bit processor)</para></listitem>
<listitem><para>x86&ndash;64 (64-bit processor)</para></listitem>
<listitem><para>POWER&trade; (any iSeries&trade; or pSeries&reg; that
supports Linux)</para></listitem>
</itemizedlist>
</sect3>
<sect3>
@ -264,23 +264,23 @@
requirements, consider the following points:
<itemizedlist>
<listitem>
Your SWAP space should be at least twice as much as your RAM.
<para>Your SWAP space should be at least twice as much as your RAM.</para>
</listitem>
<listitem>
Additional memory should be allocated for any non-DB2 software
that may be running on your system.
<para>Additional memory should be allocated for any non-DB2 software
that may be running on your system.</para>
</listitem>
<listitem>
Additional memory is necessary to support database clients and
database activity.
<para>Additional memory is necessary to support database clients and
database activity.</para>
</listitem>
<listitem>
These memory requirements will be affected by the size and
<para>These memory requirements will be affected by the size and
complexity of your database system, as well as specific performance
requirements.
requirements.</para>
</listitem>
<listitem>
The maximum RAM allowed for a DB2 Express-C installation is 4 GB.
<para>The maximum RAM allowed for a DB2 Express-C installation is 4 GB.</para>
</listitem>
</itemizedlist>
</para>
@ -392,18 +392,18 @@
of users and groups:
<itemizedlist>
<listitem>
Installation choices:
<para>Installation choices:</para>
<itemizedlist>
<listitem><command>db2setup</command> installation</listitem>
<listitem><command>db2_install</command> installation</listitem>
<listitem>DB2 response file installation</listitem>
<listitem><para><command>db2setup</command> installation</para></listitem>
<listitem><para><command>db2_install</command> installation</para></listitem>
<listitem><para>DB2 response file installation</para></listitem>
</itemizedlist>
</listitem>
<listitem>
User and group setup:
<para>User and group setup:</para>
<itemizedlist>
<listitem>User and group requirements</listitem>
<listitem>Creating users</listitem>
<listitem><para>User and group requirements</para></listitem>
<listitem><para>Creating users</para></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
@ -741,32 +741,32 @@ tar zxf db2exc_912_LNX_x86.tar.gz</screen>
"<command>Next</command>".</para>
</listitem>
<listitem>
On the <command>Select the installation type</command> window,
<para>On the <command>Select the installation type</command> window,
select the type of installation you want to perform. You have three
installation options:
installation options:</para>
<itemizedlist>
<listitem>
Typical: 460&ndash;560 MB. This option installs and
<para>Typical: 460&ndash;560 MB. This option installs and
configures most of the DB2 components, using a typical
configuration with default values. This option includes all of the
core features, along with ODBC support, and commonly used tools
such as the Control Center. You can select the "<command>View
Features</command>" button to see what components get installed
with this option.
with this option.</para>
</listitem>
<listitem>
Compact: 380&ndash;460 MB. This option installs and
<para>Compact: 380&ndash;460 MB. This option installs and
configures only the basic DB2 components, with minimal
configuration performed on your computer. With this option you get
the base server and client support, along with Java and SQL
procedure support. Again, you can click
the "<command>View Features</command>" button for more
information.
information.</para>
</listitem>
<listitem>
Custom: 320&ndash;820 MB. This option allows you to install
<para>Custom: 320&ndash;820 MB. This option allows you to install
only those components that you select; and to create and customize
a basic DB2 instance.
a basic DB2 instance.</para>
</listitem>
</itemizedlist>
<para>Make your choice and click "<command>Next</command>". (The remainder
@ -907,10 +907,10 @@ tar zxf db2exc_912_LNX_x86.tar.gz</screen>
step; DB2 will still record all administration notifications in the
log files. Click "<command>Next</command>".</para>
</listitem>
<listitem>If you specified a new local list for contacts in the previous
<listitem><para>If you specified a new local list for contacts in the previous
step, then in the Specify a contact for health monitor notification, you
can add a name and email address where DB2 Health Center messages will
be sent for any health alerts from DB2 databases.
be sent for any health alerts from DB2 databases.</para>
</listitem>
<listitem>
<para>On the <command>Start copying files</command> window, review
@ -2145,12 +2145,12 @@ db2set DB2_DOCPORT=<varname>host_port</varname></screen>
by selecting any of the menu items in the "Help" menu.</para>
<para>To invoke the DB2 Information Center from the command line, issue
any of these commands:
<itemizedlist>
<listitem>db2icdocs</listitem>
<listitem>db2help</listitem>
<listitem>db2ic</listitem>
<listitem>db2cc -ic</listitem>
</itemizedlist>
<simplelist type="vert">
<member>db2icdocs</member>
<member>db2help</member>
<member>db2ic</member>
<member>db2cc -ic</member>
</simplelist>
</para>
</sect2>
</sect1>
@ -2263,12 +2263,12 @@ userdel -r db2fenc1</screen>(If you created different user names during
</listitem>
<listitem>
<para>Issue one of the launch commands:
<itemizedlist>
<listitem>db2icdocs</listitem>
<listitem>db2help</listitem>
<listitem>db2ic</listitem>
<listitem>db2cc -ic</listitem>
</itemizedlist>
<simplelist type="vert">
<member>db2icdocs</member>
<member>db2help</member>
<member>db2ic</member>
<member>db2cc -ic</member>
</simplelist>
</para>
</listitem>
</orderedlist>
@ -2402,17 +2402,17 @@ db2 =></screen>
<listitem><para>Open a terminal and run 'db2sampl' to create the SAMPLE database</para></listitem>
<listitem><para>Test terminal based commands:
<orderedlist>
<listitem>db2 connect to sample</listitem>
<listitem>db2 'select * from dept'</listitem>
<listitem><para>db2 connect to sample</para></listitem>
<listitem><para>db2 'select * from dept'</para></listitem>
</orderedlist>
</para></listitem>
<listitem><para>Test DB2 Control Center:
<orderedlist>
<listitem>Open the control center with 'db2cc' command</listitem>
<listitem>Select the "Advanced" view</listitem>
<listitem>Verify the SAMPLE database is present under the "All databases" tab</listitem>
<listitem>Look at the contents of one of the SAMPLE database tables and
views (e.g. vphone)</listitem>
<listitem><para>Open the control center with 'db2cc' command</para></listitem>
<listitem><para>Select the "Advanced" view</para></listitem>
<listitem><para>Verify the SAMPLE database is present under the "All databases" tab</para></listitem>
<listitem><para>Look at the contents of one of the SAMPLE database tables and
views (e.g. vphone)</para></listitem>
</orderedlist>
</para></listitem>
<listitem><para>Create TOOLS database:
@ -2420,8 +2420,8 @@ db2 =></screen>
</para></listitem>
<listitem><para>Launch DB2 Task Center:
<orderedlist>
<listitem>Create a task that issues a simple query like "connect to sample; select tabname from syscat.tables; connect reset;", schedule to run now</listitem>
<listitem>Click on "show results", no errors should exist</listitem>>
<listitem><para>Create a task that issues a simple query like "connect to sample; select tabname from syscat.tables; connect reset;", schedule to run now</para></listitem>
<listitem><para>Click on "show results", no errors should exist</para></listitem>
</orderedlist>
</para></listitem>
<listitem><para>Launch DB2 Journal: You should be able to see the results of the

View File

@ -206,8 +206,8 @@
were two ways of creating Debian CDs:</para>
<orderedlist>
<listitem><para>Downloading the entire ISO</para>
<listitem><para>Using the pseudo-image kit (PIK)</para>
<listitem><para>Downloading the entire ISO</para></listitem>
<listitem><para>Using the pseudo-image kit (PIK)</para></listitem>
</orderedlist>
<para>This document is about the newer and better way of obtaining Debian ISO images, using a
@ -1030,6 +1030,7 @@
url="http://www.daemon-tools.cc">Daemon tools</ulink></application> and <application>Nero
Image Drive</application> are both very popular. See also <ulink
url="http://tinyurl.com/c39zr">http://tinyurl.com/c39zr</ulink> for more options.</para>
</listitem>
</itemizedlist>
@ -1219,13 +1220,13 @@
<para>You might find that under MS Windows, jigdo-lite will download some files but then fail
to read their contents, which will produce a "<literal>No such file or directory</literal>"
error message.
error message.</para>
<para>It seems that this occurs if the length of the filenames that jigdo processes exceeds a
certain limit. The solution is to move the half-finished download up in the directory
hierarchy, closer to the top-level directory of the drive.</para>
</sect2>
<sect2><title>On MS Windows, why won't my image grow larger than 2GB?</title>
@ -1297,7 +1298,7 @@
<sect2 id="more-about-scan"><title>More About Scan Sources</title>
<para>By now you know that when <application>jigdo-lite</application> asks for files to scan,
you can use 3 sources:
you can use 3 sources:</para>
<itemizedlist mark='bullet'>

View File

@ -7,7 +7,7 @@
<!ENTITY curver "0.94">
<!ENTITY curdate "2001-12-21">
<!ENTITY lg "en">
<!ENTITY gfdl SYSTEM "../mirror/fdl.sgml.en">
<!ENTITY gfdl SYSTEM "fdl.sgml.en">
<!ENTITY oui "Yes">
<!ENTITY non "No">
<!ENTITY aucune "None">
@ -858,7 +858,7 @@ Configuration Guide and Use of HP Products under Linux
(Version &curver;)
</subtitle>
<graphic fileref="../images/hp-howto" scale="5" align="center">
<graphic fileref="hp-howto.png" scale="5" align="center">
<!--
<authorgroup>
@ -876,7 +876,7 @@ Configuration Guide and Use of HP Products under Linux
<pubdate>&curdate;</pubdate>
<abstract>
<para>
<graphic fileref="../images/hp" align="left">
<graphic fileref="hp.png" align="left">
</para>
<para>
@ -2037,7 +2037,7 @@ The following graphics give the whole market share repartition.
Server operating system repartition in 1998 (IDC).
</title>
<graphic fileref="../images/idc1998" align="center" scale="75" width="20cm">
<graphic fileref="idc1998.png" align="center" scale="75" width="20cm">
</figure>
</para>
<para>
@ -2052,7 +2052,7 @@ This was confirmed in 1999 with a market share climbing to 24% and an ancrease o
Server operating system repartition in 1999 (IDC).
</title>
<graphic fileref="../images/idc1999" align="center" scale="75" width="20cm">
<graphic fileref="idc1999.png" align="center" scale="75" width="20cm">
</figure>
</para>
@ -2090,7 +2090,7 @@ Results, reproduced below, show the importance taken by &Apache; with more than
Web server software by Netcraft between 1995 and 2001.
</title>
<graphic fileref="../images/netcraft" scale="70">
<graphic fileref="netcraft.png" scale="70">
</figure>
<figure id="ioscounter">
<title>
@ -2099,7 +2099,7 @@ Web server software by Netcraft between 1995 and 2001.
Repartition of Internet servers by IOS Counter in April 1999.
</title>
<graphic fileref="../images/ioscounter" align="center" scale="50">
<graphic fileref="ioscounter.png" align="center" scale="50">
</figure>
</para>

View File

@ -0,0 +1,466 @@
<appendix id="gfdl">
<title>GNU Free Documentation License</title>
<!-- - GNU Project - Free Software Foundation (FSF) -->
<!-- LINK REV="made" HREF="mailto:webmasters@gnu.org" -->
<!-- sect1>
<title>GNU Free Documentation License</title -->
<para>Version 1.1, March 2000</para>
<blockquote>
<para>Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.</para>
</blockquote>
<sect1 label="0">
<title>PREAMBLE</title>
<para>The purpose of this License is to make a manual, textbook,
or other written document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or
non-commercially. Secondarily, this License preserves for the
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by
others.</para>
<para>This License is a kind of "copyleft", which means that
derivative works of the document must themselves be free in the
same sense. It complements the GNU General Public License, which
is a copyleft license designed for free software.</para>
<para>We have designed this License in order to use it for manuals
for free software, because free software needs free documentation:
a free program should come with manuals providing the same
freedoms that the software does. But this License is not limited
to software manuals; it can be used for any textual work,
regardless of subject matter or whether it is published as a
printed book. We recommend this License principally for works
whose purpose is instruction or reference.</para>
</sect1>
<sect1 label="1">
<title>APPLICABILITY AND DEFINITIONS</title>
<para>This License applies to any manual or other work that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. The "Document",
below, refers to any such manual or work. Any member of the
public is a licensee, and is addressed as "you".</para>
<para>A "Modified Version" of the Document means any work
containing the Document or a portion of it, either copied
verbatim, or with modifications and/or translated into another
language.</para>
<para>A "Secondary Section" is a named appendix or a front-matter
section of the Document that deals exclusively with the
relationship of the publishers or authors of the Document to the
Document's overall subject (or to related matters) and contains
nothing that could fall directly within that overall subject.
(For example, if the Document is in part a textbook of
mathematics, a Secondary Section may not explain any mathematics.)
The relationship could be a matter of historical connection with
the subject or with related matters, or of legal, commercial,
philosophical, ethical or political position regarding
them.</para>
<para>The "Invariant Sections" are certain Secondary Sections
whose titles are designated, as being those of Invariant Sections,
in the notice that says that the Document is released under this
License.</para>
<para>The "Cover Texts" are certain short passages of text that
are listed, as Front-Cover Texts or Back-Cover Texts, in the
notice that says that the Document is released under this
License.</para>
<para>A "Transparent" copy of the Document means a
machine-readable copy, represented in a format whose specification
is available to the general public, whose contents can be viewed
and edited directly and straightforwardly with generic text
editors or (for images composed of pixels) generic paint programs
or (for drawings) some widely available drawing editor, and that
is suitable for input to text formatters or for automatic
translation to a variety of formats suitable for input to text
formatters. A copy made in an otherwise Transparent file format
whose markup has been designed to thwart or discourage subsequent
modification by readers is not Transparent. A copy that is not
"Transparent" is called "Opaque".</para>
<para>Examples of suitable formats for Transparent copies include
plain ASCII without markup, Texinfo input format, LaTeX input
format, SGML or XML using a publicly available DTD, and
standard-conforming simple HTML designed for human modification.
Opaque formats include PostScript, PDF, proprietary formats that
can be read and edited only by proprietary word processors, SGML
or XML for which the DTD and/or processing tools are not generally
available, and the machine-generated HTML produced by some word
processors for output purposes only.</para>
<para>The "Title Page" means, for a printed book, the title page
itself, plus such following pages as are needed to hold, legibly,
the material this License requires to appear in the title page.
For works in formats which do not have any title page as such,
"Title Page" means the text near the most prominent appearance of
the work's title, preceding the beginning of the body of the
text.</para>
</sect1>
<sect1 label="2">
<title>VERBATIM COPYING</title>
<para>You may copy and distribute the Document in any medium,
either commercially or noncommercially, provided that this
License, the copyright notices, and the license notice saying this
License applies to the Document are reproduced in all copies, and
that you add no other conditions whatsoever to those of this
License. You may not use technical measures to obstruct or
control the reading or further copying of the copies you make or
distribute. However, you may accept compensation in exchange for
copies. If you distribute a large enough number of copies you
must also follow the conditions in section 3.</para>
<para>You may also lend copies, under the same conditions stated
above, and you may publicly display copies.</para>
</sect1>
<sect1 label="3">
<title>COPYING IN QUANTITY</title>
<para>If you publish printed copies of the Document numbering more
than 100, and the Document's license notice requires Cover Texts,
you must enclose the copies in covers that carry, clearly and
legibly, all these Cover Texts: Front-Cover Texts on the front
cover, and Back-Cover Texts on the back cover. Both covers must
also clearly and legibly identify you as the publisher of these
copies. The front cover must present the full title with all
words of the title equally prominent and visible. You may add
other material on the covers in addition. Copying with changes
limited to the covers, as long as they preserve the title of the
Document and satisfy these conditions, can be treated as verbatim
copying in other respects.</para>
<para>If the required texts for either cover are too voluminous to
fit legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto
adjacent pages.</para>
<para>If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a
machine-readable Transparent copy along with each Opaque copy, or
state in or with each Opaque copy a publicly-accessible
computer-network location containing a complete Transparent copy
of the Document, free of added material, which the general
network-using public has access to download anonymously at no
charge using public-standard network protocols. If you use the
latter option, you must take reasonably prudent steps, when you
begin distribution of Opaque copies in quantity, to ensure that
this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you
distribute an Opaque copy (directly or through your agents or
retailers) of that edition to the public.</para>
<para>It is requested, but not required, that you contact the
authors of the Document well before redistributing any large
number of copies, to give them a chance to provide you with an
updated version of the Document.</para>
</sect1>
<sect1 label="4">
<title>MODIFICATIONS</title>
<para>You may copy and distribute a Modified Version of the
Document under the conditions of sections 2 and 3 above, provided
that you release the Modified Version under precisely this
License, with the Modified Version filling the role of the
Document, thus licensing distribution and modification of the
Modified Version to whoever possesses a copy of it. In addition,
you must do these things in the Modified Version:</para>
<orderedlist numeration="upperalpha">
<listitem><para>Use in the Title Page
(and on the covers, if any) a title distinct from that of the
Document, and from those of previous versions (which should, if
there were any, be listed in the History section of the
Document). You may use the same title as a previous version if
the original publisher of that version gives permission.</para>
</listitem>
<listitem><para>List on the Title Page,
as authors, one or more persons or entities responsible for
authorship of the modifications in the Modified Version,
together with at least five of the principal authors of the
Document (all of its principal authors, if it has less than
five).</para>
</listitem>
<listitem><para>State on the Title page
the name of the publisher of the Modified Version, as the
publisher.</para>
</listitem>
<listitem><para>Preserve all the
copyright notices of the Document.</para>
</listitem>
<listitem><para>Add an appropriate
copyright notice for your modifications adjacent to the other
copyright notices.</para>
</listitem>
<listitem><para>Include, immediately
after the copyright notices, a license notice giving the public
permission to use the Modified Version under the terms of this
License, in the form shown in the Addendum below.</para>
</listitem>
<listitem><para>Preserve in that license
notice the full lists of Invariant Sections and required Cover
Texts given in the Document's license notice.</para>
</listitem>
<listitem><para>Include an unaltered
copy of this License.</para>
</listitem>
<listitem><para>Preserve the section
entitled "History", and its title, and add to it an item stating
at least the title, year, new authors, and publisher of the
Modified Version as given on the Title Page. If there is no
section entitled "History" in the Document, create one stating
the title, year, authors, and publisher of the Document as given
on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.</para>
</listitem>
<listitem><para>Preserve the network
location, if any, given in the Document for public access to a
Transparent copy of the Document, and likewise the network
locations given in the Document for previous versions it was
based on. These may be placed in the "History" section. You
may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.</para>
</listitem>
<listitem><para>In any section entitled
"Acknowledgements" or "Dedications", preserve the section's
title, and preserve in the section all the substance and tone of
each of the contributor acknowledgements and/or dedications
given therein.</para>
</listitem>
<listitem><para>Preserve all the
Invariant Sections of the Document, unaltered in their text and
in their titles. Section numbers or the equivalent are not
considered part of the section titles.</para>
</listitem>
<listitem><para>Delete any section
entitled "Endorsements". Such a section may not be included in
the Modified Version.</para>
</listitem>
<listitem><para>Do not retitle any
existing section as "Endorsements" or to conflict in title with
any Invariant Section.</para>
</listitem>
</orderedlist>
<para>If the Modified Version includes new front-matter sections
or appendices that qualify as Secondary Sections and contain no
material copied from the Document, you may at your option
designate some or all of these sections as invariant. To do this,
add their titles to the list of Invariant Sections in the Modified
Version's license notice. These titles must be distinct from any
other section titles.</para>
<para>You may add a section entitled "Endorsements", provided it
contains nothing but endorsements of your Modified Version by
various parties--for example, statements of peer review or that
the text has been approved by an organization as the authoritative
definition of a standard.</para>
<para>You may add a passage of up to five words as a Front-Cover
Text, and a passage of up to 25 words as a Back-Cover Text, to the
end of the list of Cover Texts in the Modified Version. Only one
passage of Front-Cover Text and one of Back-Cover Text may be
added by (or through arrangements made by) any one entity. If the
Document already includes a cover text for the same cover,
previously added by you or by arrangement made by the same entity
you are acting on behalf of, you may not add another; but you may
replace the old one, on explicit permission from the previous
publisher that added the old one.</para>
<para>The author(s) and publisher(s) of the Document do not by
this License give permission to use their names for publicity for
or to assert or imply endorsement of any Modified Version.</para>
</sect1>
<sect1 label="5">
<title>COMBINING DOCUMENTS</title>
<para>You may combine the Document with other documents released
under this License, under the terms defined in section 4 above for
modified versions, provided that you include in the combination
all of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice.</para>
<para>The combined work need only contain one copy of this
License, and multiple identical Invariant Sections may be replaced
with a single copy. If there are multiple Invariant Sections with
the same name but different contents, make the title of each such
section unique by adding at the end of it, in parentheses, the
name of the original author or publisher of that section if known,
or else a unique number. Make the same adjustment to the section
titles in the list of Invariant Sections in the license notice of
the combined work.</para>
<para>In the combination, you must combine any sections entitled
"History" in the various original documents, forming one section
entitled "History"; likewise combine any sections entitled
"Acknowledgements", and any sections entitled "Dedications". You
must delete all sections entitled "Endorsements."</para>
</sect1>
<sect1 label="6">
<title>COLLECTIONS OF DOCUMENTS</title>
<para>You may make a collection consisting of the Document and
other documents released under this License, and replace the
individual copies of this License in the various documents with a
single copy that is included in the collection, provided that you
follow the rules of this License for verbatim copying of each of
the documents in all other respects.</para>
<para>You may extract a single document from such a collection,
and distribute it individually under this License, provided you
insert a copy of this License into the extracted document, and
follow this License in all other respects regarding verbatim
copying of that document.</para>
</sect1>
<sect1 label="7">
<title>AGGREGATION WITH INDEPENDENT WORKS</title>
<para>A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of
a storage or distribution medium, does not as a whole count as a
Modified Version of the Document, provided no compilation
copyright is claimed for the compilation. Such a compilation is
called an "aggregate", and this License does not apply to the
other self-contained works thus compiled with the Document, on
account of their being thus compiled, if they are not themselves
derivative works of the Document.</para>
<para>If the Cover Text requirement of section 3 is applicable to
these copies of the Document, then if the Document is less than
one quarter of the entire aggregate, the Document's Cover Texts
may be placed on covers that surround only the Document within the
aggregate. Otherwise they must appear on covers around the whole
aggregate.</para>
</sect1>
<sect1 label="8">
<title>TRANSLATION</title>
<para>Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section
4. Replacing Invariant Sections with translations requires
special permission from their copyright holders, but you may
include translations of some or all Invariant Sections in addition
to the original versions of these Invariant Sections. You may
include a translation of this License provided that you also
include the original English version of this License. In case of
a disagreement between the translation and the original English
version of this License, the original English version will
prevail.</para>
</sect1>
<sect1 label="9">
<title>TERMINATION</title>
<para>You may not copy, modify, sublicense, or distribute the
Document except as expressly provided for under this License. Any
other attempt to copy, modify, sublicense or distribute the
Document is void, and will automatically terminate your rights
under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses
terminated so long as such parties remain in full
compliance.</para>
</sect1>
<sect1 label="10">
<title>FUTURE REVISIONS OF THIS LICENSE</title>
<para>The Free Software Foundation may publish new, revised
versions of the GNU Free Documentation License from time to time.
Such new versions will be similar in spirit to the present
version, but may differ in detail to address new problems or
concerns. See <ulink
url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.</para>
<para>Each version of the License is given a distinguishing
version number. If the Document specifies that a particular
numbered version of this License "or any later version" applies to
it, you have the option of following the terms and conditions
either of that specified version or of any later version that has
been published (not as a draft) by the Free Software Foundation.
If the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
Free Software Foundation.</para>
</sect1>
<sect1 label="">
<title>How to use this License for your documents</title>
<para>To use this License in a document you have written, include
a copy of the License in the document and put the following
copyright and license notices just after the title page:</para>
<blockquote><para>
Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
</para></blockquote>
<para>If you have no Invariant Sections, write "with no Invariant
Sections" instead of saying which ones are invariant. If you have
no Front-Cover Texts, write "no Front-Cover Texts" instead of
"Front-Cover Texts being LIST"; likewise for Back-Cover
Texts.</para>
<para>If your document contains nontrivial examples of program
code, we recommend releasing these examples in parallel under your
choice of free software license, such as the GNU General Public
License, to permit their use in free software.</para>
</sect1>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-parent-document: ("referenz.sgml" "appendix")
sgml-exposed-tags:nil
sgml-local-ecat-files:nil
sgml-local-catalogs: CATALOG
sgml-validate-command: "nsgmls -s referenz.sgml"
ispell-skip-sgml: t
End:
-->

View File

@ -164,7 +164,7 @@
need to configure linux to know how to do the low-level communication
with your device, and then a a user-space program to do the actual
communication with the device.
<para>
</para>
</sect2>
<sect2 id="distros">
@ -326,6 +326,8 @@ Memory at .....
<para>
The preliminary USB Device Filesystem
(<emphasis>CONFIG_USB_DEVICEFS</emphasis>)
</para>
</ListItem>
<ListItem>
<para>
The appropriate controller - UHCI, or OHCI
@ -539,6 +541,7 @@ none /proc/bus/usb usbdevfs defaults 0 0
<application>coldsync</application> can be found at
<ulink url="http://coldsync.org/">http://coldsync.org/</ulink>.
</para>
</sect2>
<sect2 id="pilotlink">
<title>pilot-link</title>
@ -672,6 +675,7 @@ pilot-xfer -p /dev/ttyUSB1 -b visorbackup
cp -r hotplug-2002_08_26/etc/hotplug /etc
</screen>
</para>
</sect2>
<sect2 id="hpinstallvisor">
<title>Configure the Visor Driver</title>
@ -759,6 +763,7 @@ pilot-xfer -p /dev/ttyUSB1 -b visorbackup
</ListItem>
</ItemizedList>
</para>
</sect2>
</sect1>
@ -800,6 +805,7 @@ pilot-xfer -p /dev/ttyUSB1 -b visorbackup
<para>
Hotplug info: <ulink url="http://linux-hotplug.sourceforge.net/">http://linux-hotplug.sourceforge.net/</ulink>.
</para>
</ListItem>
<ListItem>
<para>
Documentation to figure out type type of controller

View File

@ -1,5 +1,3 @@
<BASE HREF="/home/feloy/HDU/Hard-Disk-Upgrade.sgml">
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
]>
<!--

View File

@ -662,7 +662,7 @@
<listitem> <para>Install the system</para> </listitem>
<listitem> <para>Boot the system</para> </listitem>
<listitem> <para>Update the kernel</para> </listitem>
<listitem> <para>Set up X </para>
<listitem> <para>Set up X </para> </listitem>
</itemizedlist>
</para>
@ -1210,6 +1210,7 @@ dd if=debian-7248-ramdisk.img of=/dev/fd0 bs=36b
<ulink url="http://www.debian.org/debian/dists/woody/main/disks-powerpc/current/doc/ch-rescue-boot.en.html#s-dbootstrap-intro">start here</ulink>
as you already have been walked through the preliminary steps.
There are a few thing to remember though:
</para>
<itemizedlist>
@ -1256,6 +1257,7 @@ dd if=debian-7248-ramdisk.img of=/dev/fd0 bs=36b
installation is done, you will therefore have to boot
again from a floppy. See the next chapter for details.
</para>
</listitem>
</itemizedlist>
@ -1523,6 +1525,7 @@ rm -rf bamboo1
into the 7248 and turn the computer on. Disk-Jockey the
ramdisk floppy when prompted. Just do a normal CD
installation. See the installer notes below for details.
</para>
</sect3>
<sect3 id="mdk-network">
@ -1765,6 +1768,7 @@ ifup eth0
really?" If the answer to that question is "No" then skip to
<xref LinkEnd="SIRIUS">. If you pass over the start field in
the movement, you'll receive $2000 and a hotel.
</para>
</sect2>
@ -2176,6 +2180,8 @@ dd if=/boot/zimage-2.4.21 of=/dev/sda1
mv /boot/System.map /boot/System.map.old
ln -s /boot/System.map-2.4.21 /boot/System.map
</screen>
</para>
</sect2>
<!-- Sect2: Configure modules -->
<sect2 id="CONFIGURE-MODULES">
@ -2504,7 +2510,7 @@ apt-get install xserver-xfree86 xfonts-100dpi xfonts-base xbase-clients xdm
send me an email, and I'll put a note here. See <xref
LinkEnd="KERNEL"> for notes on building and installing a
2.4 kernel.
<para>
</para>
</sect2>

View File

@ -62,8 +62,12 @@
<para/>
<para>New user space files, to be created, to test our system call are listed below:</para>
<para/>
<para>1. testmycall.c Source file that will call our system call.</para>
<para>2. testmycall.h - Header file.</para></sect1><sect1><title>Kernel files to be modified</title></sect1><sect1><title>syscall_table.S</title>
<para>1. testmycall.c - Source file that will call our system call.</para>
<para>2. testmycall.h - Header file.</para></sect1>
<sect1><title>Kernel files to be modified</title>
<para></para>
</sect1>
<sect1><title>syscall_table.S</title>
<para>Full path of the file - /usr/src/linux/arch/i386/kernel/syscall_table.S</para>
<para>This file contains system call names.</para>
<orderedlist>
@ -105,7 +109,12 @@
<listitem>
<para>Add mycall/ to core-y (Search for regex: core-y.*+=). You will be creating this directory. This directory will contain the source file, header file and the Makefile for our system call.</para>
</listitem>
</orderedlist></sect1><sect1><title>New kernel files/directories to be created</title></sect1><sect1><title>mycall</title>
</orderedlist></sect1>
<sect1><title>New kernel files/directories to be created</title>
<para>
</para>
</sect1>
<sect1><title>mycall</title>
<para>Full path of the file - /usr/src/linux/mycall</para>
<para/>
<orderedlist>
@ -137,7 +146,12 @@
<para/>
<para>#####Makefile Start#####</para>
<para>obj-y := mycall.o</para>
<para>#####Makefile End#######</para></sect1><sect1><title>New user space files, to be created, to test our system call</title></sect1><sect1><title>testmycall.h (new user space header file to be created)</title>
<para>#####Makefile End#######</para></sect1>
<sect1><title>New user space files, to be created, to test our system call</title>
<para>
</para>
</sect1>
<sect1><title>testmycall.h (new user space header file to be created)</title>
<para>testmycall.h</para>
<para/>
<orderedlist>
@ -652,4 +666,3 @@
<para>recommend releasing these examples in parallel under your choice of</para>
<para>free software license, such as the GNU General Public License,</para>
<para>to permit their use in free software.</para></sect1></article>

View File

@ -81,9 +81,9 @@
<para>
NCST has written Simpm ( Simple Package Manager ) that takes care of the entire installation process on your system. Simpm carries out the following steps for a binary distribution of the IndiX system:
<orderedlist>
<listitem>It reads the names of the files within the distribution by essentially running the command <command>tar -tzpPf package.tgz &gt; .package.list</command></listitem>
<listitem>It saves all these files and the file containing the list using the command <command>tar -czpPf .old.package.tgz .package.list `cat .package.list`</command></listitem>
<listitem>Simpm then extracts the files from the package and installs them using <command>tar -xzpPf package.tgz</command></listitem>
<listitem><para>It reads the names of the files within the distribution by essentially running the command <command>tar -tzpPf package.tgz &gt; .package.list</command></para></listitem>
<listitem><para>It saves all these files and the file containing the list using the command <command>tar -czpPf .old.package.tgz .package.list `cat .package.list`</command></para></listitem>
<listitem><para>Simpm then extracts the files from the package and installs them using <command>tar -xzpPf package.tgz</command></para></listitem>
</orderedlist>
Should you wish to go back to the old system state for any reason, you can easily do so using <command>tar -xzpPf .old.package.tgz</command>
</para>
@ -268,35 +268,35 @@
</para>
<para>
To setup Netscape so that it displays Hindi characters:
<orderedlist>
<listitem>Goto, Edit -> Preferences </listitem>
<listitem>Select category, Appearance -> Fonts</listitem>
<listitem>Select Language encoding "Unicode"</listitem>
<listitem>Set Variable-width and Fixed-width fonts to "raghu"</listitem>
<listitem>Check button "Always use my font settings, overriding web page font"</listitem>
</orderedlist>
<simplelist type="vert">
<member>Goto, Edit -> Preferences </member>
<member>Select category, Appearance -> Fonts</member>
<member>Select Language encoding "Unicode"</member>
<member>Set Variable-width and Fixed-width fonts to "raghu"</member>
<member>Check button "Always use my font settings, overriding web page font"</member>
</simplelist>
</para>
<para>
Also, ensure that the character coding scheme is set to UTF-8
</para>
<para>
<orderedlist>
<listitem>Goto, View -> Character Coding</listitem>
<listitem>Select "Unicode (UTF-8)" from the list</listitem>
</orderedlist>
<simplelist type="vert">
<member>Goto, View -> Character Coding</member>
<member>Select "Unicode (UTF-8)" from the list</member>
</simplelist>
</para>
</sect3>
<sect3>
<title>Konqueror</title>
<para>
Konqueror has good support for Unicode. To setup konqueror so that it displays Hindi characters:
<orderedlist>
<listitem>Goto, Settings -> Configure Konqueror</listitem>
<listitem>Select "Konqueror Bowser" from the left pan</listitem>
<listitem>Goto "Appearance" tab on the right pan</listitem>
<listitem>Select charset "iso106460-1"</listitem>
<listitem>Set all fonts to "raghu" for this encoding and also set Default encoding to "utf8"</listitem>
</orderedlist>
<simplelist type="vert">
<member>Goto, Settings -> Configure Konqueror</member>
<member>Select "Konqueror Bowser" from the left pan</member>
<member>Goto "Appearance" tab on the right pan</member>
<member>Select charset "iso106460-1"</member>
<member>Set all fonts to "raghu" for this encoding and also set Default encoding to "utf8"</member>
</simplelist>
</para>
</sect3>
</sect2>
@ -391,8 +391,8 @@
<term>IndiX links</term>
<listitem>
<itemizedlist>
<listitem><ulink url="http://rohini.ncst.ernet.in/indix/">IndiX Homepage</ulink></listitem>
<listitem><ulink url="http://rohini.ncst.ernet.in/indix/download/">IndiX Download</ulink></listitem>
<listitem><para><ulink url="http://rohini.ncst.ernet.in/indix/">IndiX Homepage</ulink></para></listitem>
<listitem><para><ulink url="http://rohini.ncst.ernet.in/indix/download/">IndiX Download</ulink></para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
@ -401,8 +401,8 @@
<listitem>
<para>The good guys at Centurion Linux have finished work on <productname>Exodus GNU/Linux</productname>, a 100% Free Software distribution featuring full Hindi language support for GNOME and KDE. The much awaited <productname>Exodus GNU/Linux</productname> (code named BitterCoffee) is expected to be released in the Indian market shortly.</para>
<itemizedlist>
<listitem><ulink url="http://centurionlinux.com/">Centurion Linux Homepage</ulink></listitem>
<listitem><ulink url="http://cl-india.sourceforge.net/">The Official GNOME i18n Team - India (hindi)</ulink></listitem>
<listitem><para><ulink url="http://centurionlinux.com/">Centurion Linux Homepage</ulink></para></listitem>
<listitem><para><ulink url="http://cl-india.sourceforge.net/">The Official GNOME i18n Team - India (hindi)</ulink></para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
@ -410,8 +410,8 @@
<term>Unicode</term>
<listitem>
<itemizedlist>
<listitem><ulink url="http://www.unicode.org">The official Unicode website</ulink></listitem>
<listitem><ulink url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</ulink></listitem>
<listitem><para><ulink url="http://www.unicode.org">The official Unicode website</ulink></para></listitem>
<listitem><para><ulink url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</ulink></para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
@ -535,7 +535,7 @@
Last Modified: Nov 16, 2000
-->
<appendix id="fdl">
<docinfo>
<appendixinfo>
<releaseinfo>
Version 1.1, March 2000
</releaseinfo>
@ -551,7 +551,7 @@
license document, but changing it is not allowed.
</para>
</legalnotice>
</docinfo>
</appendixinfo>
<title>GNU Free Documentation License</title>
<sect1 id="fdl-preamble">

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://docbook.org/xml/4.2/docbookx.dtd">
<!--
This HOWTO is now named Bash-Scripting-Introduction-HOWTO.xml.
-->
<article>
</article>

View File

@ -22,12 +22,6 @@
The purpose of this document is to help one get their Kodak digital camera working under GNU/Linux. The scope of the document may change at any time to include more camera models. As of the current version this document does support some other models than ones sold under the Kodak name. However those are only mentioned as they work with the same steps that similar Kodak cameras use. This document is not likely to grow to support all digital cameras as there are simply too many to document in one HOWTO.
</para>
</abstract>
<author>
</author>
<para>
<toc></toc>
</para>
</artheader>
<sect1>
<title>
@ -631,16 +625,22 @@
<title>
RS232 Communications In a Nutshell
</title>
<para>
</para>
</sect3>
<sect3>
<title>
USB Communications In a Nutshell
</title>
<para>
</para>
</sect3>
<sect3>
<title>
IrDA Communications In a Nutshell
</title>
<para>
</para>
</sect3>
</sect2>
</sect1>
@ -1337,7 +1337,7 @@ bash$ for file in $(python cdp.py); do python cdp.py $file; done
<ulink url="http://www.egroups.com/group/kodak-digita-camera/">Kodak Digita Camera Mailing List</ulink>
</para>
<para>
This list contains information about DigitaOS enabled Kodak Digital Cameras. This includes the Kodak DC220, DC260, DC265 and DC290. This is the place to go for all of your questions regarding how to use your camera, Digita scripting questions and anything else that pertains to the DigitaOS enabled cameras. To subscribe to the mailing list send a blank email to <ulink url="mailto:kodak-digita-camera-subscribe@egroups.com">kodak-digita-camera-subscribe@egroups.com</ulink>. To unsubscribe from the list send a blank email to <ulink url="mailto:kodak-digita-camera-unsubscribe@egroups.com">kodak-digita-camera-unsubscribe@egroups.com</ulink>. Alternately, go to <ulink url="http://www.egroups.com/register?method=displayregistrationform&url=/www">the registration form</ulink> and sign up for an account there. Once the account is created one will have the ability to search through the archive and post messages.
This list contains information about DigitaOS enabled Kodak Digital Cameras. This includes the Kodak DC220, DC260, DC265 and DC290. This is the place to go for all of your questions regarding how to use your camera, Digita scripting questions and anything else that pertains to the DigitaOS enabled cameras. To subscribe to the mailing list send a blank email to <ulink url="mailto:kodak-digita-camera-subscribe@egroups.com">kodak-digita-camera-subscribe@egroups.com</ulink>. To unsubscribe from the list send a blank email to <ulink url="mailto:kodak-digita-camera-unsubscribe@egroups.com">kodak-digita-camera-unsubscribe@egroups.com</ulink>. Alternately, go to <ulink url="http://www.egroups.com/register?method=displayregistrationform&amp;url=/www">the registration form</ulink> and sign up for an account there. Once the account is created one will have the ability to search through the archive and post messages.
</para>
</sect3>
<sect3>
@ -1499,7 +1499,7 @@ bash$ for file in $(python cdp.py); do python cdp.py $file; done
Q: Why aren't there any entries but this one in the FAQ?
</para>
<para>
A: Because the HOWTO is currently is a non-public release state and thus there was no time for anyone to ask any questions! So email your questions off to David Burley <ulink url="mailto:khemicals@marblehorse.org"><khemicals@marblehorse.org></ulink> and lets add to it.
A: Because the HOWTO is currently is a non-public release state and thus there was no time for anyone to ask any questions! So email your questions off to David Burley <email>khemicals@marblehorse.org</email> and lets add to it.
</para>
</sect1>
<sect1>

Some files were not shown because too many files have changed in this diff Show More