|
@ -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
|
|
@ -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
|
||||
|
|
@ -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"/>
|
||||
|
|
@ -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
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
abook.xml
|
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 "bleeding edge" 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 "bleeding edge" 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 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 “locate” tool.</para></listitem></varlistentry><varlistentry><term>key 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 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 the command 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 history 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 “history”. 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 -K keyword
|
||||
</listitem></varlistentry><varlistentry><term>man -K 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 “ and ” 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 Two (dollars sign)<anchor id="command-substitution-dollars-sign"></term>
|
||||
</listitem></varlistentry><varlistentry><term>Method Two (dollars sign)<anchor id="command-substitution-dollars-sign"></term>
|
||||
<listitem><para> </para><para>Simply type:</para><screen><![CDATA[command_1 $(command_2)
|
||||
]]></screen><para>This will execute “command_2” and it's output will become the input to “command_1”.</para></listitem></varlistentry><varlistentry><term>Using the pipe instead<anchor id="command-substitution-pipe"></term>
|
||||
<listitem><para> </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>“ cd ..”</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>“ cd -”</emphasis> will return <indexterm><primary>return</primary></indexterm>you to the previous <indexterm><primary>previous</primary></indexterm>directory (a bit like an “undo”). </para><para>You can also use <emphasis>cd absolute path</emphasis> or <emphasis>cd relative path</emphasis> (see below):</para><variablelist><varlistentry><term>Absolute 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>“/usr/local/bin” 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 “ rm -R directory”, 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 "configuration.txt" to /home/joe/ and rename it "backupconfig"</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 “.JPG” files to “.jpg” 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 scripting
|
||||
</listitem></varlistentry><varlistentry><term>Bash 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> “| xargs <indexterm><primary>xargs</primary></indexterm>command2<indexterm><primary>command2</primary></indexterm></emphasis>”. 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 -r 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 "diff"<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 '>' (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 '<' (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 “tapstop”, 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 search and replace text
|
||||
|
@ -1392,7 +1391,7 @@ The “num-utils” 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 “num-utils” 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 “new”<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 “new”.
|
||||
</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 “file_name” to verify <indexterm><primary>verify</primary></indexterm>it's integrity.<indexterm><primary>integrity</primary></indexterm> You normally use the “ md5sum -c” <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 “.asc” 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 “lilo.conf” 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>“job_no” (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>“job_no” (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>
|
||||
|
|
|
@ -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>
|
|
@ -0,0 +1 @@
|
|||
abook.xml
|
|
@ -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
|
||||
-->
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
<!--
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
index.xml
|
|
@ -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 member’s 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>
|
||||
|
|
|
@ -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/<subdir>, where
|
||||
<subdir> 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/<subdir>.
|
||||
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/<subdir>.
|
||||
|
||||
The rationale behind this subtree is best explained by refering to the
|
||||
rationale for /opt.
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Package Management Basics.xml
|
|
@ -0,0 +1 @@
|
|||
tuning_linux.sgml
|
|
@ -8,6 +8,7 @@
|
|||
</indexterm>
|
||||
|
||||
<para>This book uses the following conventions:
|
||||
</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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 & 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>
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Custom-Porting-Guide.xml
|
|
@ -0,0 +1 @@
|
|||
linux-admin-made-easy.sgml
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -1 +0,0 @@
|
|||
../
|
|
@ -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" >
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
.
|
|
@ -1258,7 +1258,7 @@ the Linux kernel source and build a new kernel.
|
|||
<para>
|
||||
In the 2.2 kernels, the PLIP driver uses the “parport” 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
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
sag-0.9.sgml
|
|
@ -0,0 +1 @@
|
|||
Securing-Optimizing-Linux-RH-Edition-v1.3.xml
|
|
@ -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><file></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><file></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>
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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&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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -17,8 +17,14 @@
|
|||
<address><email>ramana <> 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>
|
||||
|
||||
|
|
|
@ -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[
|
||||
|
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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="> "
|
|||
</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>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
@ -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>
|
||||
|
|
|
@ -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 < /path_to_patchfile/losetup-combined.patch
|
||||
|
||||
patch -p1 < /path_to_patchfile/util-linux-2.12-kernel-2.6.patch
|
||||
patch -p1 < /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.
|
||||
|
|
|
@ -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–64 (64-bit processor)</listitem>
|
||||
<listitem>POWER™ (any iSeries™ or pSeries® that
|
||||
supports Linux)</listitem>
|
||||
<listitem><para>x86 (32-bit processor)</para></listitem>
|
||||
<listitem><para>x86–64 (64-bit processor)</para></listitem>
|
||||
<listitem><para>POWER™ (any iSeries™ or pSeries® 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–560 MB. This option installs and
|
||||
<para>Typical: 460–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–460 MB. This option installs and
|
||||
<para>Compact: 380–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–820 MB. This option allows you to install
|
||||
<para>Custom: 320–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
|
||||
|
|
|
@ -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'>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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:
|
||||
-->
|
|
@ -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
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
<BASE HREF="/home/feloy/HDU/Hard-Disk-Upgrade.sgml">
|
||||
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||
]>
|
||||
<!--
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|