# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2013-03-22 22:28+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Content of the timesnewroman entity msgid "http://en.wikipedia.org/wiki/Times_Roman" msgstr "" #. type: Content of the abi entity msgid "http://en.wikipedia.org/wiki/Application_binary_interface" msgstr "" #. type: Content of the abriefhistoryofdebian entity msgid "http://www.debian.org/doc/manuals/project-history/" msgstr "" #. type: Content of the acpi entity msgid "http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface" msgstr "" #. type: Content of the advancedlinuxsouarchitecturealsa entity msgid "http://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture" msgstr "" #. type: Content of the afireresistantsafe entity msgid "http://en.wikipedia.org/wiki/Safe" msgstr "" #. type: Content of the agp entity msgid "http://en.wikipedia.org/wiki/Accelerated_Graphics_Port" msgstr "" #. type: Content of the aixbyibm entity msgid "http://en.wikipedia.org/wiki/IBM_AIX" msgstr "" #. type: Content of the alioth entity msgid "http://alioth.debian.org" msgstr "" #. type: Content of the almquistshell entity msgid "http://en.wikipedia.org/wiki/Almquist_shell" msgstr "" #. type: Content of the amanda entity msgid "" "http://en.wikipedia.org/wiki/" "Advanced_Maryland_Automatic_Network_Disk_Archiver" msgstr "" #. type: Content of the ascii entity msgid "http://en.wikipedia.org/wiki/ASCII" msgstr "" #. type: Content of the amigaos entity msgid "http://en.wikipedia.org/wiki/AmigaOS" msgstr "" #. type: Content of the announcementofpaenabledbydefault entity msgid "http://lists.debian.org/debian-devel-announce/2010/05/msg00009.html" msgstr "" #. type: Content of the ansiescapecode entity msgid "http://en.wikipedia.org/wiki/ANSI_escape_code" msgstr "" #. type: Content of the antispamtechniques entity msgid "http://en.wikipedia.org/wiki/Anti-spam_techniques" msgstr "" #. type: Content of the theapachesoftwarefoundation entity msgid "http://en.wikipedia.org/wiki/Apache_Software_Foundation" msgstr "" #. type: Content of the apm entity msgid "http://en.wikipedia.org/wiki/Advanced_Power_Management" msgstr "" #. type: Content of the applebonjourapplerendezvous entity msgid "http://en.wikipedia.org/wiki/Bonjour_(software)" msgstr "" #. type: Content of the arial entity msgid "http://en.wikipedia.org/wiki/Arial" msgstr "" #. type: Content of the arp entity msgid "http://en.wikipedia.org/wiki/Address_Resolution_Protocol" msgstr "" #. type: Content of the asciidoc entity msgid "http://packages.debian.org/search?keywords=asciidoc" msgstr "" #. type: Content of the asimpleguidetolatexlyx entity msgid "http://www.stat.rice.edu/~helpdesk/howto/lyxguide.html" msgstr "" #. type: Content of the asynchronoustransfermode entity msgid "http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode" msgstr "" #. type: Content of the atp entity msgid "http://en.wikipedia.org/wiki/AppleTalk" msgstr "" #. type: Content of the planj entity msgid "http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs" msgstr "" #. type: Content of the atutorialintroductiontogit entity msgid "http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html" msgstr "" #. type: Content of the atutorialintrodutiontogitparttwo entity msgid "http://www.kernel.org/pub/software/scm/git/docs/gittutorial-2.html" msgstr "" #. type: Content of the aufs entity msgid "http://en.wikipedia.org/wiki/Aufs" msgstr "" #. type: Content of the autoconf entity msgid "http://en.wikipedia.org/wiki/Autoconf" msgstr "" #. type: Content of the awk entity msgid "http://en.wikipedia.org/wiki/AWK" msgstr "" #. type: Content of the httpbackportsdebianorg entity msgid "http://backports.debian.org" msgstr "" #. type: Content of the backuppc entity msgid "http://en.wikipedia.org/wiki/Backuppc" msgstr "" #. type: Content of the bacula entity msgid "http://en.wikipedia.org/wiki/Bacula" msgstr "" #. type: Content of the badsideeffectswithjava entity msgid "https://bugzilla.mozilla.org/show_bug.cgi?id=83376" msgstr "" #. type: Content of the basege entity msgid "http://en.wikipedia.org/wiki/Base64" msgstr "" #. type: Content of the basesystem entity msgid "http://www.debian.org/doc/debian-policy/ch-binary#s3.7" msgstr "" #. type: Content of the bash entity msgid "http://en.wikipedia.org/wiki/Bash" msgstr "" #. type: Content of the bazaar entity msgid "http://en.wikipedia.org/wiki/Bazaar_(software)" msgstr "" #. type: Content of the berkeleycsh entity msgid "http://en.wikipedia.org/wiki/C_shell" msgstr "" #. type: Content of the berkeleydb entity msgid "http://en.wikipedia.org/wiki/Berkeley_DB" msgstr "" #. type: Content of the bigf entity msgid "http://en.wikipedia.org/wiki/Big5" msgstr "" #. type: Content of the bind entity msgid "http://en.wikipedia.org/wiki/BIND" msgstr "" #. type: Content of the binhex entity msgid "http://en.wikipedia.org/wiki/BinHex" msgstr "" #. type: Content of the bios entity msgid "http://en.wikipedia.org/wiki/BIOS" msgstr "" #. type: Content of the bitstreamvera entity msgid "http://www.gnome.org/fonts/" msgstr "" #. type: Content of the bittorrent entity msgid "http://en.wikipedia.org/wiki/BitTorrent_(protocol)" msgstr "" #. type: Content of the bochs entity msgid "http://en.wikipedia.org/wiki/Bochs" msgstr "" #. type: Content of the bootloader entity msgid "http://en.wikipedia.org/wiki/Boot_loader" msgstr "" #. type: Content of the bootstrapprocesses entity msgid "http://en.wikipedia.org/wiki/Booting" msgstr "" #. type: Content of the bounceaddress entity msgid "http://en.wikipedia.org/wiki/Bounce_address" msgstr "" #. type: Content of the broadband entity msgid "http://en.wikipedia.org/wiki/Broadband" msgstr "" #. type: Content of the bsdlike entity msgid "http://en.wikipedia.org/wiki/Berkeley_Software_Distribution" msgstr "" #. type: Content of the lineprinterdaemon entity msgid "http://en.wikipedia.org/wiki/Line_Printer_Daemon_protocol" msgstr "" #. type: Content of the btrfs entity msgid "http://en.wikipedia.org/wiki/Btrfs" msgstr "" #. type: Content of the btsofnetworkmanager entity msgid "http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=network-manager" msgstr "" #. type: Content of the btsofwicd entity msgid "http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=wicd" msgstr "" #. type: Content of the bugdbgajj entity msgid "http://bugs.debian.org/316099" msgstr "" #. type: Content of the bugebbbcd entity msgid "http://bugs.debian.org/411123" msgstr "" #. type: Content of the bugfaffgf entity msgid "http://bugs.debian.org/505565" msgstr "" #. type: Content of the bugfbejda entity msgid "http://bugs.debian.org/514930" msgstr "" #. type: Content of the bugfhadhh entity msgid "http://bugs.debian.org/570377" msgstr "" #. type: Content of the bugfjeeja entity msgid "http://bugs.debian.org/594490" msgstr "" #. type: Content of the burrowswheelerblrtingcompression entity msgid "http://en.wikipedia.org/wiki/Burrows-Wheeler_transform" msgstr "" #. type: Content of the cachingdata entity msgid "http://en.wikipedia.org/wiki/Cache" msgstr "" #. type: Content of the cardbus entity msgid "http://en.wikipedia.org/wiki/PC_Card#CardBus" msgstr "" #. type: Content of the cdrkit entity msgid "http://en.wikipedia.org/wiki/Cdrkit" msgstr "" #. type: Content of the cdromdvd entity msgid "http://www.debian.org/CD/" msgstr "" #. type: Content of the commongatewayinterface entity msgid "http://en.wikipedia.org/wiki/Common_Gateway_Interface" msgstr "" #. type: Content of the chainloading entity msgid "http://en.wikipedia.org/wiki/Chain_loading" msgstr "" #. type: Content of the chap entity msgid "" "http://en.wikipedia.org/wiki/Challenge-handshake_authentication_protocol" msgstr "" #. type: Content of the characterencoding entity msgid "http://en.wikipedia.org/wiki/Character_encoding" msgstr "" #. type: Content of the chromium entity msgid "http://en.wikipedia.org/wiki/Chromium_(web_browser)" msgstr "" #. type: Content of the chroot entity msgid "http://en.wikipedia.org/wiki/Chroot" msgstr "" #. type: Content of the cprogramminglanguage entity msgid "http://en.wikipedia.org/wiki/C_(programming_language)" msgstr "" #. type: Content of the cjk entity msgid "http://en.wikipedia.org/wiki/CJK_characters" msgstr "" #. type: Content of the cloop entity msgid "http://en.wikipedia.org/wiki/Cloop" msgstr "" #. type: Content of the codeexamplesofcrgjjbottlesofbeer entity msgid "http://www.99-bottles-of-beer.net/" msgstr "" #. type: Content of the codename entity msgid "" "http://www.debian.org/doc/manuals/developers-reference/resources." "html#codenames" msgstr "" #. type: Content of the codenamestableupdates entity msgid "http://www.debian.org/News/2011/20110215" msgstr "" #. type: Content of the codepage entity msgid "http://en.wikipedia.org/wiki/Code_page" msgstr "" #. type: Content of the codesetalwayssettoutfi entity msgid "http://en.wikipedia.org/wiki/Codeset" msgstr "" #. type: Content of the commandlineprintingandoptions entity msgid "http://localhost:631/help/options.html" msgstr "" #. type: Content of the commonunixprintingsystem entity msgid "http://en.wikipedia.org/wiki/Common_Unix_Printing_System" msgstr "" #. type: Content of the comparisonofplatmvirtualmachines entity msgid "http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines" msgstr "" #. type: Content of the computerdatastoragemedia entity msgid "http://en.wikipedia.org/wiki/Computer_data_storage" msgstr "" #. type: Content of the computerfonts entity msgid "http://en.wikipedia.org/wiki/Computer_font" msgstr "" #. type: Content of the couriernew entity msgid "http://en.wikipedia.org/wiki/Courier_(typeface)" msgstr "" #. type: Content of the cpbcfb entity msgid "http://en.wikipedia.org/wiki/Windows-1251" msgstr "" #. type: Content of the cpbcfc entity msgid "http://en.wikipedia.org/wiki/Windows-1252" msgstr "" #. type: Content of the cpedh entity msgid "http://en.wikipedia.org/wiki/Code_page_437" msgstr "" #. type: Content of the cpifa entity msgid "http://en.wikipedia.org/wiki/Code_page_850" msgstr "" #. type: Content of the cpjdc entity msgid "http://en.wikipedia.org/wiki/Code_page_932" msgstr "" #. type: Content of the cpjdg entity msgid "http://en.wikipedia.org/wiki/Code_page_936" msgstr "" #. type: Content of the cpjej entity msgid "http://en.wikipedia.org/wiki/Code_page_949" msgstr "" #. type: Content of the cpjfa entity msgid "http://en.wikipedia.org/wiki/Code_page_950" msgstr "" #. type: Content of the cpld entity msgid "http://en.wikipedia.org/wiki/Complex_programmable_logic_device" msgstr "" #. type: Content of the cpm entity msgid "http://en.wikipedia.org/wiki/CP/M" msgstr "" #. type: Content of the crmbbe entity msgid "http://crm114.sourceforge.net/" msgstr "" #. type: Content of the cssc entity msgid "http://cssc.sourceforge.net/" msgstr "" #. type: Content of the cstandardlibrary entity msgid "http://en.wikipedia.org/wiki/C_standard_library" msgstr "" #. type: Content of the cvs entity msgid "http://en.wikipedia.org/wiki/Concurrent_Versions_System" msgstr "" #. type: Content of the daemon entity msgid "http://en.wikipedia.org/wiki/Daemon_(computer_software)" msgstr "" #. type: Content of the darcs entity msgid "http://en.wikipedia.org/wiki/Darcs" msgstr "" #. type: Content of the dbus entity msgid "http://en.wikipedia.org/wiki/D-Bus" msgstr "" #. type: Content of the ddnspageonthedebianwiki entity msgid "http://wiki.debian.org/DDNS" msgstr "" #. type: Content of the debianaliothservice entity msgid "http://alioth.debian.org/" msgstr "" #. type: Content of the debianbtsgfjcga entity msgid "http://bugs.debian.org/659260" msgstr "" #. type: Content of the debianbugtrackingsystembts entity msgid "http://www.debian.org/Bugs/" msgstr "" #. type: Content of the debiandevelopersreference entity msgid "http://www.debian.org/doc/manuals/developers-reference/" msgstr "" #. type: Content of the debiandevelopersthedebianarchive entity msgid "" "http://www.debian.org/doc/manuals/developers-reference/resources.html#archive" msgstr "" #. type: Content of the debiandocumentationprojectddp entity msgid "http://www.debian.org/doc/ddp" msgstr "" #. type: Content of the debianfaqgdbwhiceenusedinthepast entity msgid "" "http://www.debian.org/doc/manuals/debian-faq/ch-ftparchives#s-oldcodenames" msgstr "" #. type: Content of the debianfaq entity msgid "http://www.debian.org/doc/manuals/debian-faq/" msgstr "" #. type: Content of the dfsg entity msgid "http://www.debian.org/social_contract#guidelines" msgstr "" #. type: Content of the debiangnulinuxguallationandusage entity msgid "http://archive.debian.net/woody/debian-guide" msgstr "" #. type: Content of the httpwwwdebianorg entity msgid "http://www.debian.org" msgstr "" #. type: Content of the debianinstallercds entity msgid "http://www.debian.org/releases/stable/debian-installer/" msgstr "" #. type: Content of the debianinstaller entity msgid "http://en.wikipedia.org/wiki/Debian-Installer" msgstr "" #. type: Content of the thedebianinstaller entity msgid "http://www.debian.org/devel/debian-installer/" msgstr "" #. type: Content of the debianinstallersmallcds entity msgid "http://www.debian.org/distrib/netinst" msgstr "" #. type: Content of the debiankernel entity msgid "http://wiki.debian.org/DebianKernel" msgstr "" #. type: Content of the debianleadershiphistory entity msgid "http://www.debian.org/doc/manuals/project-history/ch-leaders" msgstr "" #. type: Content of the debianmenusystem entity msgid "http://www.debian.org/doc/packaging-manuals/menu.html/" msgstr "" #. type: Content of the debianmirrorcheckersite entity msgid "http://ftp.de.debian.org/dmc/" msgstr "" #. type: Content of the debiannewmaintainersguide entity msgid "http://www.debian.org/doc/manuals/maint-guide/" msgstr "" #. type: Content of the debianpolicymanual entity msgid "http://www.debian.org/doc/debian-policy/" msgstr "" #. type: Content of the debianpolicymanuthedebianarchive entity msgid "http://www.debian.org/doc/debian-policy/ch-archive" msgstr "" #. type: Content of the debianreference entity msgid "" "http://packages.debian.org/search?keywords=debian-reference&" "searchon=sourcenames&exact=1&suite=all&section=all" msgstr "" #. type: Content of the debianreferenceversionc entity msgid "http://www.debian.org/doc/manuals/debian-reference/" msgstr "" #. type: Content of the debiansecurityfaq entity msgid "http://www.debian.org/security/faq" msgstr "" #. type: Content of the debiansocialcontreguidelinesdfsg entity msgid "http://www.debian.org/social_contract" msgstr "" #. type: Content of the several entity msgid "" "http://lists.debian.org/debian-testing-security-announce/2008/12/msg00019." "html" msgstr "" #. type: Content of the debiantutorial entity msgid "http://www.debian.org/doc/manuals/debian-tutorial/" msgstr "" #. type: Content of the debianwikicontentsonbacktrace entity msgid "http://wiki.debian.org/HowToGetABacktrace" msgstr "" #. type: Content of the debianwikiqemu entity msgid "http://wiki.debian.org/QEMU" msgstr "" #. type: Content of the debtags entity msgid "http://debtags.alioth.debian.org/" msgstr "" #. type: Content of the debugger entity msgid "http://en.wikipedia.org/wiki/Debugger" msgstr "" #. type: Content of the dejavu entity msgid "http://dejavu-fonts.org" msgstr "" #. type: Content of the designruleforcamerafilesystem entity msgid "http://en.wikipedia.org/wiki/Design_rule_for_Camera_File_system" msgstr "" #. type: Content of the desktopenvironment entity msgid "http://en.wikipedia.org/wiki/Desktop_environment" msgstr "" #. type: Content of the devicefiles entity msgid "http://en.wikipedia.org/wiki/Device_file" msgstr "" #. type: Content of the devicemapper entity msgid "http://en.wikipedia.org/wiki/Device_mapper" msgstr "" #. type: Content of the dynamichostconfitionprotocoldhcp entity msgid "http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol" msgstr "" #. type: Content of the digitalsignaturealgorithm entity msgid "http://en.wikipedia.org/wiki/Digital_Signature_Algorithm" msgstr "" #. type: Content of the dillo entity msgid "http://en.wikipedia.org/wiki/Dillo" msgstr "" #. type: Content of the directories entity msgid "http://en.wikipedia.org/wiki/Directory_(file_systems)" msgstr "" #. type: Content of the diskpartitioning entity msgid "http://en.wikipedia.org/wiki/Disk_partitioning" msgstr "" #. type: Content of the divx entity msgid "http://en.wikipedia.org/wiki/DivX" msgstr "" #. type: Content of the dmcrypto entity msgid "http://en.wikipedia.org/wiki/Dm-crypt" msgstr "" #. type: Content of the dmg entity msgid "http://en.wikipedia.org/wiki/Apple_Disk_Image" msgstr "" #. type: Content of the internetdomainnamesystemdns entity msgid "http://en.wikipedia.org/wiki/Domain_Name_System" msgstr "" #. type: Content of the docbook entity msgid "http://en.wikipedia.org/wiki/DocBook" msgstr "" #. type: Content of the documentstylesemionlanguagedsssl entity msgid "" "http://en.wikipedia.org/wiki/" "Document_Style_Semantics_and_Specification_Language" msgstr "" #. type: Content of the domainkeysidentifiedmail entity msgid "http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail" msgstr "" #. type: Content of the dosbox entity msgid "http://en.wikipedia.org/wiki/DOSBox" msgstr "" #. type: Content of the dosemu entity msgid "http://en.wikipedia.org/wiki/DOSEMU" msgstr "" #. type: Content of the dsabfhbb entity msgid "http://www.debian.org/security/2008/dsa-1571" msgstr "" #. type: Content of the dynamicdns entity msgid "http://en.wikipedia.org/wiki/Dynamic_DNS" msgstr "" #. type: Content of the dynamickernelmodulesupportdkms entity msgid "http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" msgstr "" #. type: Content of the ecryptfs entity msgid "http://ecryptfs.sourceforge.net/" msgstr "" #. type: Content of the elinks entity msgid "http://en.wikipedia.org/wiki/ELinks" msgstr "" #. type: Content of the elsewhereontheweb entity msgid "http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html" msgstr "" #. type: Content of the emacs entity msgid "http://en.wikipedia.org/wiki/Emacs" msgstr "" #. type: Content of the emailclient entity msgid "http://en.wikipedia.org/wiki/Email_client" msgstr "" #. type: Content of the emailfiltering entity msgid "http://en.wikipedia.org/wiki/Email_filtering" msgstr "" #. type: Content of the email entity msgid "http://en.wikipedia.org/wiki/Email" msgstr "" #. type: Content of the emulation entity msgid "http://en.wikipedia.org/wiki/Emulator" msgstr "" #. type: Content of the enlightenment entity msgid "http://en.wikipedia.org/wiki/Bodhi" msgstr "" #. type: Content of the environmentvariables entity msgid "http://en.wikipedia.org/wiki/Environment_variable" msgstr "" #. type: Content of the epiphany entity msgid "http://en.wikipedia.org/wiki/Epiphany_(browser)" msgstr "" #. type: Content of the epwing entity msgid "http://ja.wikipedia.org/wiki/EPWING" msgstr "" #. type: Content of the essentialpackages entity msgid "http://www.debian.org/doc/debian-policy/ch-binary#s3.8" msgstr "" #. type: Content of the eucjp entity msgid "http://en.wikipedia.org/wiki/Extended_Unix_Code" msgstr "" #. type: Content of the euckr entity msgid "http://en.wikipedia.org/wiki/Extended_Unix_Code#EUC-KR" msgstr "" #. type: Content of the everydaygitwithcacommandsorso entity msgid "http://www.kernel.org/pub/software/scm/git/docs/everyday.html" msgstr "" #. type: Content of the exchangeableimagefileformat entity msgid "http://en.wikipedia.org/wiki/Exchangeable_image_file_format" msgstr "" #. type: Content of the exim entity msgid "http://en.wikipedia.org/wiki/Exim" msgstr "" #. type: Content of the expresscard entity msgid "http://en.wikipedia.org/wiki/ExpressCard" msgstr "" #. type: Content of the extc entity msgid "http://en.wikipedia.org/wiki/Ext2" msgstr "" #. type: Content of the extd entity msgid "http://en.wikipedia.org/wiki/Ext3" msgstr "" #. type: Content of the exte entity msgid "http://en.wikipedia.org/wiki/Ext4" msgstr "" #. type: Content of the extendedbinarycolinterchangecode entity msgid "" "http://en.wikipedia.org/wiki/Extended_Binary_Coded_Decimal_Interchange_Code" msgstr "" #. type: Content of the extensiblefirmwareinterfaceefi entity msgid "http://en.wikipedia.org/wiki/Extensible_Firmware_Interface" msgstr "" #. type: Content of the extensiblestylesnsformationsxslt entity msgid "http://en.wikipedia.org/wiki/XSL_Transformations" msgstr "" #. type: Content of the extensiblestylesttingobjectxslfo entity msgid "http://en.wikipedia.org/wiki/XSL_Formatting_Objects" msgstr "" #. type: Content of the fairuse entity msgid "http://en.wikipedia.org/wiki/Fair_use" msgstr "" #. type: Content of the vfatfilesystem entity msgid "http://en.wikipedia.org/wiki/File_Allocation_Table" msgstr "" #. type: Content of the faviconico entity msgid "http://en.wikipedia.org/wiki/Favicon" msgstr "" #. type: Content of the fedra entity msgid "http://fedoraproject.org/" msgstr "" #. type: Content of the filelocking entity msgid "http://en.wikipedia.org/wiki/File_locking" msgstr "" #. type: Content of the files entity msgid "http://en.wikipedia.org/wiki/Computer_file" msgstr "" #. type: Content of the filesystemhierarchystandard entity msgid "http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard" msgstr "" #. type: Content of the filesystem entity msgid "http://en.wikipedia.org/wiki/File_system" msgstr "" #. type: Content of the filesystempermissions entity msgid "http://en.wikipedia.org/wiki/File_system_permissions" msgstr "" #. type: Content of the filesystemshowto entity msgid "http://tldp.org/HOWTO/Filesystems-HOWTO.html" msgstr "" #. type: Content of the flash entity msgid "http://en.wikipedia.org/wiki/Adobe_Flash" msgstr "" #. type: Content of the flex entity msgid "http://en.wikipedia.org/wiki/Flex_lexical_analyser" msgstr "" #. type: Content of the fltk entity msgid "http://en.wikipedia.org/wiki/FLTK" msgstr "" #. type: Content of the fluxbox entity msgid "http://en.wikipedia.org/wiki/Fluxbox" msgstr "" #. type: Content of the fontconfig entity msgid "http://en.wikipedia.org/wiki/Fontconfig" msgstr "" #. type: Content of the freelibreopensourcefloss entity msgid "http://en.wikipedia.org/wiki/Free_and_open_source_software" msgstr "" #. type: Content of the fpga entity msgid "http://en.wikipedia.org/wiki/FPGA" msgstr "" #. type: Content of the freebsd entity msgid "http://en.wikipedia.org/wiki/FreeBSD" msgstr "" #. type: Content of the freedesktoporg entity msgid "http://en.wikipedia.org/wiki/Freedesktop.org" msgstr "" #. type: Content of the freedos entity msgid "http://www.freedos.org/" msgstr "" #. type: Content of the freetype entity msgid "http://freetype.sourceforge.net/index.html" msgstr "" #. type: Content of the ftp entity msgid "http://en.wikipedia.org/wiki/File_Transfer_Protocol" msgstr "" #. type: Content of the fullyqualifieddomainnamefqdn entity msgid "http://en.wikipedia.org/wiki/FQDN" msgstr "" #. type: Content of the fuse entity msgid "http://en.wikipedia.org/wiki/Filesystem_in_Userspace" msgstr "" #. type: Content of the gbbiada entity msgid "http://en.wikipedia.org/wiki/GB18030" msgstr "" #. type: Content of the gbcdbc entity msgid "http://en.wikipedia.org/wiki/GB2312" msgstr "" #. type: Content of the gbk entity msgid "http://en.wikipedia.org/wiki/GBK" msgstr "" #. type: Content of the getmaildocumentation entity msgid "http://pyropus.ca/software/getmail/documentation.html" msgstr "" #. type: Content of the thegplghostscripptpdfinterpreter entity msgid "http://en.wikipedia.org/wiki/Ghostscript" msgstr "" #. type: Content of the gitforcvsusers entity msgid "http://www.kernel.org/pub/software/scm/git/docs/gitcvs-migration.html" msgstr "" #. type: Content of the git entity msgid "http://en.wikipedia.org/wiki/Git_(software)" msgstr "" #. type: Content of the gitmagic entity msgid "http://www-cs-students.stanford.edu/~blynn/gitmagic/" msgstr "" #. type: Content of the gitsvncrashcourse entity msgid "http://git-scm.com/course/svn.html" msgstr "" #. type: Content of the gitusersmanual entity msgid "http://www.kernel.org/pub/software/scm/git/docs/user-manual.html" msgstr "" #. type: Content of the glyphs entity msgid "http://en.wikipedia.org/wiki/Glyph" msgstr "" #. type: Content of the gnome entity msgid "http://en.wikipedia.org/wiki/GNOME" msgstr "" #. type: Content of the gnomestotemmediaplayer entity msgid "http://en.wikipedia.org/wiki/Totem_(media_player)" msgstr "" #. type: Content of the gnuarch entity msgid "http://en.wikipedia.org/wiki/GNU_arch" msgstr "" #. type: Content of the gnufreedocumentationlicense entity msgid "http://en.wikipedia.org/wiki/GNU_Free_Documentation_License" msgstr "" #. type: Content of the gnufreefont entity msgid "http://savannah.gnu.org/projects/freefont/" msgstr "" #. type: Content of the gnugettextbcommandtoolchain entity msgid "http://en.wikipedia.org/wiki/Gettext" msgstr "" #. type: Content of the gnu entity msgid "http://en.wikipedia.org/wiki/GNU" msgstr "" #. type: Content of the gnulalrparsergenerator entity msgid "http://en.wikipedia.org/wiki/GNU_bison" msgstr "" #. type: Content of the gnuprivacyguard entity msgid "http://en.wikipedia.org/wiki/GNU_Privacy_Guard" msgstr "" #. type: Content of the gnutexmacs entity msgid "http://en.wikipedia.org/wiki/GNU_TeXmacs" msgstr "" #. type: Content of the gnuunifont entity msgid "http://Unifoundry.com" msgstr "" #. type: Content of the strongpassword entity msgid "http://en.wikipedia.org/wiki/Password_strength" msgstr "" #. type: Content of the google entity msgid "http://www.google.com" msgstr "" #. type: Content of the guidpartitiontablegpt entity msgid "http://en.wikipedia.org/wiki/GUID_Partition_Table" msgstr "" #. type: Content of the gpu entity msgid "http://en.wikipedia.org/wiki/Graphics_processing_unit" msgstr "" #. type: Content of the gui entity msgid "http://en.wikipedia.org/wiki/Graphical_user_interface" msgstr "" #. type: Content of the graphicsinterchangeformatgif entity msgid "http://en.wikipedia.org/wiki/Graphics_Interchange_Format" msgstr "" #. type: Content of the grubbootloadersutefilesystemwell entity msgid "http://bugs.debian.org/511121" msgstr "" #. type: Content of the grublegacy entity msgid "http://en.wikipedia.org/wiki/GNU_GRUB" msgstr "" #. type: Content of the gstreamer entity msgid "http://en.wikipedia.org/wiki/GStreamer" msgstr "" #. type: Content of the hal entity msgid "http://en.wikipedia.org/wiki/HAL_(software)" msgstr "" #. type: Content of the hanunification entity msgid "http://en.wikipedia.org/wiki/Han_unification" msgstr "" #. type: Content of the hanzibitmapfonthbffile entity msgid "http://www.ibiblio.org/pub/packages/ccic/software/info/HBF-1.1/" msgstr "" #. type: Content of the harddiskdrive entity msgid "http://en.wikipedia.org/wiki/Hard_disk_drive" msgstr "" #. type: Content of the hardlink entity msgid "http://en.wikipedia.org/wiki/Hard_link" msgstr "" #. type: Content of the hardwareassistedvirtualization entity msgid "http://en.wikipedia.org/wiki/Hardware-assisted_virtualization" msgstr "" #. type: Content of the hell entity msgid "http://en.wikipedia.org/wiki/Naraka" msgstr "" #. type: Content of the helvetica entity msgid "http://en.wikipedia.org/wiki/Helvetica" msgstr "" #. type: Content of the hexadecimal entity msgid "http://en.wikipedia.org/wiki/Hexadecimal" msgstr "" #. type: Content of the hfs entity msgid "http://en.wikipedia.org/wiki/Hierarchical_File_System" msgstr "" #. type: Content of the hfsplus entity msgid "http://en.wikipedia.org/wiki/HFS_Plus" msgstr "" #. type: Content of the hig entity msgid "http://en.wikipedia.org/wiki/Human_interface_guidelines" msgstr "" #. type: Content of the hostname entity msgid "http://en.wikipedia.org/wiki/Hostname" msgstr "" #. type: Content of the hpuxbyhewlettpackard entity msgid "http://en.wikipedia.org/wiki/HP-UX" msgstr "" #. type: Content of the html entity msgid "http://en.wikipedia.org/wiki/HTML" msgstr "" #. type: Content of the thedebianbugtrackingsystembts entity msgid "http://bugs.debian.org/" msgstr "" #. type: Content of the httpcookies entity msgid "http://en.wikipedia.org/wiki/HTTP_cookie" msgstr "" #. type: Content of the httpdickeyhiscomtermxtermfaqhtml entity msgid "http://dickey.his.com/xterm/xterm.faq.html" msgstr "" #. type: Content of the thedebianarchive entity msgid "http://ftp.us.debian.org/debian/" msgstr "" #. type: Content of the hypertexttransferprotocol entity msgid "http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" msgstr "" #. type: Content of the httpkernelhandbokaliothdebianorg entity msgid "http://kernel-handbook.alioth.debian.org" msgstr "" #. type: Content of the httplocalhostgdb entity msgid "http://localhost:631/" msgstr "" #. type: Content of the httppackagesdebianorg entity msgid "http://packages.debian.org/" msgstr "" #. type: Content of the httpsecuritydebianorg entity msgid "http://security.debian.org/" msgstr "" #. type: Content of the https entity msgid "http://en.wikipedia.org/wiki/Https" msgstr "" #. type: Content of the httpsnapshotdebiannet entity msgid "http://snapshot.debian.net/" msgstr "" #. type: Content of the httptldporg entity msgid "http://tldp.org/" msgstr "" #. type: Content of the httptugctanorgteisttextexbooktex entity msgid "http://tug.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex" msgstr "" #. type: Content of the httpunifontorg entity msgid "http://unifont.org/" msgstr "" #. type: Content of the httpwikidebianoremvirtualization entity msgid "http://wiki.debian.org/SystemVirtualization" msgstr "" #. type: Content of the httpwikidebianorgalioth entity msgid "http://wiki.debian.org/Alioth" msgstr "" #. type: Content of the httpwikidebianorg entity msgid "http://wiki.debian.org/" msgstr "" #. type: Content of the httpwwwchiarkgreguksgtathamputty entity msgid "http://www.chiark.greenend.org.uk/~sgtatham/putty/" msgstr "" #. type: Content of the httpwwwcygwincom entity msgid "http://www.cygwin.com/" msgstr "" #. type: Content of the httpwwwgooglecomutfiqcgitutorial entity msgid "http://www.google.com/search?hl=en&ie=UTF-8&q=CGI+tutorial" msgstr "" #. type: Content of the httpwwwgreenendokcaabaeshellhtml entity msgid "http://www.greenend.org.uk/rjk/2001/04/shell.html" msgstr "" #. type: Content of the httpwwwmacsshcom entity msgid "http://www.macssh.com/" msgstr "" #. type: Content of the httpwwwnetfilterorgdocumentation entity msgid "http://www.netfilter.org/documentation/" msgstr "" #. type: Content of the httpwwwunixorg entity msgid "http://www.unix.org/" msgstr "" #. type: Content of the httpwwwwikipediaorg entity msgid "http://www.wikipedia.org/" msgstr "" #. type: Content of the hzip entity msgid "http://en.wikipedia.org/wiki/7-Zip" msgstr "" #. type: Content of the ieeeiacbb entity msgid "http://en.wikipedia.org/wiki/IEEE_802.11" msgstr "" #. type: Content of the ibmmainframe entity msgid "http://en.wikipedia.org/wiki/IBM_mainframe" msgstr "" #. type: Content of the ibus entity msgid "http://en.wikipedia.org/wiki/Intelligent_Input_Bus" msgstr "" #. type: Content of the ieeebdjefirewire entity msgid "http://en.wikipedia.org/wiki/IEEE_1394" msgstr "" #. type: Content of the internetmessageaccessprotocol entity msgid "http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol" msgstr "" #. type: Content of the improvingtaggingkageswithdebtags entity msgid "http://debtags.alioth.debian.org/todo.html" msgstr "" #. type: Content of the incoming entity msgid "http://incoming.debian.org/" msgstr "" #. type: Content of the infozip entity msgid "http://en.wikipedia.org/wiki/Info-ZIP" msgstr "" #. type: Content of the initrdinitramfs entity msgid "http://en.wikipedia.org/wiki/Initrd" msgstr "" #. type: Content of the inode entity msgid "http://en.wikipedia.org/wiki/Inode" msgstr "" #. type: Content of the inputmethods entity msgid "http://en.wikipedia.org/wiki/Input_method" msgstr "" #. type: Content of the installdebian entity msgid "http://www.debian.org/releases/stable/installmanual" msgstr "" #. type: Content of the integratingmswinetworkswithsamba entity msgid "" "http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/integrate-ms-" "networks.html" msgstr "" #. type: Content of the internetprintingprotocol entity msgid "http://en.wikipedia.org/wiki/Internet_Printing_Protocol" msgstr "" #. type: Content of the introductiontoibin entity msgid "http://www.debian.org/doc/manuals/intro-i18n/" msgstr "" #. type: Content of the invalid entity msgid "http://en.wikipedia.org/wiki/.invalid" msgstr "" #. type: Content of the ipaddress entity msgid "http://en.wikipedia.org/wiki/IP_address" msgstr "" #. type: Content of the ip entity msgid "http://en.wikipedia.org/wiki/Internet_Protocol" msgstr "" #. type: Content of the linuxiproutec entity msgid "http://www.linuxfoundation.org/en/Net:Iproute2" msgstr "" #. type: Content of the iproutecutilitysuitehowto entity msgid "http://www.policyrouting.org/iproute2.doc.html" msgstr "" #. type: Content of the ipvenetwork entity msgid "http://en.wikipedia.org/wiki/IPv4" msgstr "" #. type: Content of the irix entity msgid "http://en.wikipedia.org/wiki/IRIX" msgstr "" #. type: Content of the isc entity msgid "http://en.wikipedia.org/wiki/Internet_Systems_Consortium" msgstr "" #. type: Content of the isdumpreallydeprecated entity msgid "http://dump.sourceforge.net/isdumpdeprecated.html" msgstr "" #. type: Content of the isoieccaccalsoknownasjisxacac entity msgid "http://en.wikipedia.org/wiki/ISO/IEC_2022" msgstr "" #. type: Content of the isodbggcountrycoppercasesuchasus entity msgid "http://en.wikipedia.org/wiki/ISO_3166-3" msgstr "" #. type: Content of the isogdjlanguagecoowercasesuchasen entity msgid "http://en.wikipedia.org/wiki/ISO_639" msgstr "" #. type: Content of the isoigab entity msgid "http://en.wikipedia.org/wiki/ISO_8601" msgstr "" #. type: Content of the isoiifjbf entity msgid "http://en.wikipedia.org/wiki/ISO/IEC_8859-15" msgstr "" #. type: Content of the isoiifjb entity msgid "http://en.wikipedia.org/wiki/ISO/IEC_8859-1" msgstr "" #. type: Content of the isoiifjc entity msgid "http://en.wikipedia.org/wiki/ISO/IEC_8859-2" msgstr "" #. type: Content of the isoiifj entity msgid "http://en.wikipedia.org/wiki/ISO/IEC_8859" msgstr "" #. type: Content of the isojgga entity msgid "http://en.wikipedia.org/wiki/ISO_9660" msgstr "" #. type: Content of the syslinux entity msgid "http://en.wikipedia.org/wiki/SYSLINUX" msgstr "" #. type: Content of the isp entity msgid "http://en.wikipedia.org/wiki/ISP" msgstr "" #. type: Content of the jackaudioconnectionkitjack entity msgid "http://en.wikipedia.org/wiki/JACK_Audio_Connection_Kit" msgstr "" #. type: Content of the java entity msgid "http://en.wikipedia.org/wiki/Java_(programming_language)" msgstr "" #. type: Content of the javascript entity msgid "http://en.wikipedia.org/wiki/JavaScript" msgstr "" #. type: Content of the javasoftwareplatform entity msgid "http://en.wikipedia.org/wiki/Java_(software_platform)" msgstr "" #. type: Content of the jfs entity msgid "http://en.wikipedia.org/wiki/JFS_(file_system)" msgstr "" #. type: Content of the jisxacbd entity msgid "http://en.wikipedia.org/wiki/JIS_X_0213" msgstr "" #. type: Content of the jisxeaib entity msgid "http://ja.wikipedia.org/wiki/JIS_X_4081" msgstr "" #. type: Content of the jpeg entity msgid "http://en.wikipedia.org/wiki/JPEG" msgstr "" #. type: Content of the karmic entity msgid "http://en.wikipedia.org/wiki/Karma" msgstr "" #. type: Content of the kde entity msgid "http://en.wikipedia.org/wiki/KDE" msgstr "" #. type: Content of the kernelfaq entity msgid "http://wiki.debian.org/KernelFAQ" msgstr "" #. type: Content of the kibibyte entity msgid "http://en.wikipedia.org/wiki/Kibibyte" msgstr "" #. type: Content of the koiir entity msgid "http://en.wikipedia.org/wiki/KOI8-R" msgstr "" #. type: Content of the konqueror entity msgid "http://en.wikipedia.org/wiki/Konqueror" msgstr "" #. type: Content of the kornshell entity msgid "http://en.wikipedia.org/wiki/Korn_shell" msgstr "" #. type: Content of the kvm entity msgid "http://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine" msgstr "" #. type: Content of the lalrparser entity msgid "http://en.wikipedia.org/wiki/LALR_parser" msgstr "" #. type: Content of the localareanetworkslans entity msgid "http://en.wikipedia.org/wiki/Local_area_network" msgstr "" #. type: Content of the latex entity msgid "http://en.wikipedia.org/wiki/LaTeX" msgstr "" #. type: Content of the lba entity msgid "http://en.wikipedia.org/wiki/Logical_block_addressing" msgstr "" #. type: Content of the lightweightdireccessprotocolldap entity msgid "http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" msgstr "" #. type: Content of the lex entity msgid "http://en.wikipedia.org/wiki/Lex_programming_tool" msgstr "" #. type: Content of the lexicalanalyzer entity msgid "http://en.wikipedia.org/wiki/Lexical_analysis" msgstr "" #. type: Content of the liberationfontsproject entity msgid "http://en.wikipedia.org/wiki/Liberation_fonts" msgstr "" #. type: Content of the library entity msgid "http://en.wikipedia.org/wiki/Library_(computing)" msgstr "" #. type: Content of the libreoffice entity msgid "http://en.wikipedia.org/wiki/LibreOffice" msgstr "" #. type: Content of the libvirt entity msgid "http://en.wikipedia.org/wiki/Libvirt" msgstr "" #. type: Content of the lilo entity msgid "http://en.wikipedia.org/wiki/LILO_(boot_loader)" msgstr "" #. type: Content of the links entity msgid "http://en.wikipedia.org/wiki/Links_(web_browser)" msgstr "" #. type: Content of the lint entity msgid "http://en.wikipedia.org/wiki/Lint_programming_tool" msgstr "" #. type: Content of the linuxcenathowto entity msgid "http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.html" msgstr "" #. type: Content of the linuxcepacketfilteringhowto entity msgid "" "http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html" msgstr "" #. type: Content of the linuxcontainers entity msgid "http://lxc.sourceforge.net/" msgstr "" #. type: Content of the linux entity msgid "http://en.wikipedia.org/wiki/Linux" msgstr "" #. type: Content of the linuxkernel entity msgid "http://en.wikipedia.org/wiki/Linux_kernel" msgstr "" #. type: Content of the linuxnetworkadministratorsguide entity msgid "http://www.tldp.org/LDP/nag2/" msgstr "" #. type: Content of the linuxnetworkingconceptshowto entity msgid "" "http://www.netfilter.org/documentation/HOWTO/networking-concepts-HOWTO.html" msgstr "" #. type: Content of the linuxnfshowto entity msgid "http://tldp.org/HOWTO/NFS-HOWTO/index.html" msgstr "" #. type: Content of the linuxstandardbase entity msgid "http://en.wikipedia.org/wiki/Linux_Standard_Base" msgstr "" #. type: Content of the linuxstandardbaseminitialization entity msgid "" "http://refspecs.linuxbase.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/" "tocsysinit.html" msgstr "" #. type: Content of the linuxterminalserverproject entity msgid "http://en.wikipedia.org/wiki/Linux_Terminal_Server_Project" msgstr "" #. type: Content of the linuxusersguide entity msgid "" "http://www.ibiblio.org/pub/Linux/docs/linux-doc-project/users-guide/user-" "beta-1.pdf.gz" msgstr "" #. type: Content of the livecds entity msgid "http://en.wikipedia.org/wiki/Live_CD" msgstr "" #. type: Content of the loadlin entity msgid "http://en.wikipedia.org/wiki/Loadlin" msgstr "" #. type: Content of the locale entity msgid "http://en.wikipedia.org/wiki/Locale" msgstr "" #. type: Content of the local entity msgid "http://en.wikipedia.org/wiki/.local" msgstr "" #. type: Content of the localuserguidetotetexlatex entity msgid "" "http://supportweb.cs.bham.ac.uk/documentation/LaTeX/lguide/local-guide/local-" "guide.html" msgstr "" #. type: Content of the lvm entity msgid "http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)" msgstr "" #. type: Content of the loopdevice entity msgid "http://en.wikipedia.org/wiki/Loop_device" msgstr "" #. type: Content of the lrparser entity msgid "http://en.wikipedia.org/wiki/LR_parser" msgstr "" #. type: Content of the luks entity msgid "http://en.wikipedia.org/wiki/Linux_Unified_Key_Setup" msgstr "" #. type: Content of the lxde entity msgid "http://en.wikipedia.org/wiki/LXDE" msgstr "" #. type: Content of the lynx entity msgid "http://en.wikipedia.org/wiki/Lynx_(web_browser)" msgstr "" #. type: Content of the lyx entity msgid "http://en.wikipedia.org/wiki/Lyx" msgstr "" #. type: Content of the lzhh entity msgid "http://en.wikipedia.org/wiki/LZ77_and_LZ78" msgstr "" #. type: Content of the lzma entity msgid "http://en.wikipedia.org/wiki/Lempel-Ziv-Markov_chain_algorithm" msgstr "" #. type: Content of the lzo entity msgid "http://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer" msgstr "" #. type: Content of the macaddress entity msgid "http://en.wikipedia.org/wiki/MAC_address" msgstr "" #. type: Content of the maciacbbapioflinux entity msgid "http://linuxwireless.org/" msgstr "" #. type: Content of the macro entity msgid "http://en.wikipedia.org/wiki/Macro_(computer_science)" msgstr "" #. type: Content of the mailaddressconfieryanduseragents entity msgid "" "http://www.debian.org/doc/debian-policy/ch-customized-programs#s-mail-" "transport-agents" msgstr "" #. type: Content of the qmailstylemaildir entity msgid "http://en.wikipedia.org/wiki/Maildir" msgstr "" #. type: Content of the maildropfilterdocumentation entity msgid "http://www.courier-mta.org/maildrop/maildropfilter.html" msgstr "" #. type: Content of the mailheaderanalysis entity msgid "http://wiki.debian.org/DefaultMTA" msgstr "" #. type: Content of the make entity msgid "http://en.wikipedia.org/wiki/Make_(software)" msgstr "" #. type: Content of the managingaccuratedateandtimehowto entity msgid "http://www.tldp.org/HOWTO/TimePrecision-HOWTO/index.html" msgstr "" #. type: Content of the mandatoryaccesscontrolmac entity msgid "http://en.wikipedia.org/wiki/Mandatory_access_control" msgstr "" #. type: Content of the manpagegitb entity msgid "http://www.kernel.org/pub/software/scm/git/docs/git.html" msgstr "" #. type: Content of the manyremotemirrorsites entity msgid "http://www.debian.org/mirror/" msgstr "" #. type: Content of the mbr entity msgid "http://en.wikipedia.org/wiki/Master_boot_record" msgstr "" #. type: Content of the maximumsegmentsize entity msgid "http://en.wikipedia.org/wiki/Maximum_segment_size" msgstr "" #. type: Content of the maximumtransmissionunitmtu entity msgid "http://en.wikipedia.org/wiki/Maximum_transmission_unit" msgstr "" #. type: Content of the mbox entity msgid "http://en.wikipedia.org/wiki/Mbox" msgstr "" #. type: Content of the mbrbyneilturton entity msgid "http://www.chiark.greenend.org.uk/~neilt/" msgstr "" #. type: Content of the mdf entity msgid "http://en.wikipedia.org/wiki/MD5" msgstr "" #. type: Content of the mdns entity msgid "http://en.wikipedia.org/wiki/MDNS" msgstr "" #. type: Content of the mercurial entity msgid "http://en.wikipedia.org/wiki/Mercurial_(software)" msgstr "" #. type: Content of the metalink entity msgid "http://en.wikipedia.org/wiki/Metalink" msgstr "" #. type: Content of the microcode entity msgid "http://en.wikipedia.org/wiki/Microcode" msgstr "" #. type: Content of the microsoftwindows entity msgid "http://en.wikipedia.org/wiki/Microsoft_Windows" msgstr "" #. type: Content of the midnightcommandermc entity msgid "http://en.wikipedia.org/wiki/Midnight_Commander" msgstr "" #. type: Content of the multipurposeinteilextensionsmime entity msgid "http://en.wikipedia.org/wiki/MIME" msgstr "" #. type: Content of the minixfilesystem entity msgid "http://en.wikipedia.org/wiki/Minix_file_system" msgstr "" #. type: Content of the modem entity msgid "http://en.wikipedia.org/wiki/Modem" msgstr "" #. type: Content of the modifytheinitscripts entity msgid "http://www.debian.org/doc/debian-policy/ch-opersys#s9.3.2" msgstr "" #. type: Content of the mondorescue entity msgid "http://en.wikipedia.org/wiki/Mondo_Rescue" msgstr "" #. type: Content of the monotone entity msgid "http://en.wikipedia.org/wiki/Monotone_(software)" msgstr "" #. type: Content of the mozillafirefox entity msgid "http://en.wikipedia.org/wiki/Mozilla_Firefox" msgstr "" #. type: Content of the mozilla entity msgid "http://en.wikipedia.org/wiki/Mozilla" msgstr "" #. type: Content of the mozillathunderbird entity msgid "http://en.wikipedia.org/wiki/Mozilla_Thunderbird" msgstr "" #. type: Content of the mpdmpd entity msgid "http://en.wikipedia.org/wiki/MP3" msgstr "" #. type: Content of the mpegc entity msgid "http://en.wikipedia.org/wiki/MPEG-2" msgstr "" #. type: Content of the mpege entity msgid "http://en.wikipedia.org/wiki/MPEG-4" msgstr "" #. type: Content of the mpeg entity msgid "http://en.wikipedia.org/wiki/MPEG-1" msgstr "" #. type: Content of the mplayer entity msgid "http://en.wikipedia.org/wiki/MPlayer" msgstr "" #. type: Content of the msdos entity msgid "http://en.wikipedia.org/wiki/MS-DOS" msgstr "" #. type: Content of the mswindowsiconsanndfrompngformats entity msgid "http://en.wikipedia.org/wiki/ICO_(icon_image_file_format)" msgstr "" #. type: Content of the mswindowsnt entity msgid "http://en.wikipedia.org/wiki/Windows_NT" msgstr "" #. type: Content of the multilingualizatelanguagesupport entity msgid "http://en.wikipedia.org/wiki/Internationalization_and_localization" msgstr "" #. type: Content of the multitasking entity msgid "http://en.wikipedia.org/wiki/Computer_multitasking" msgstr "" #. type: Content of the multiuser entity msgid "http://en.wikipedia.org/wiki/Multi-user" msgstr "" #. type: Content of the mutt entity msgid "http://en.wikipedia.org/wiki/Mutt_(e-mail_client)" msgstr "" #. type: Content of the mysql entity msgid "http://en.wikipedia.org/wiki/MySQL" msgstr "" #. type: Content of the nagios entity msgid "http://en.wikipedia.org/wiki/Nagios" msgstr "" #. type: Content of the namedpipe entity msgid "http://en.wikipedia.org/wiki/Named_pipe" msgstr "" #. type: Content of the netbiosovertcpip entity msgid "http://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP" msgstr "" #. type: Content of the netfilteriptables entity msgid "http://en.wikipedia.org/wiki/Netfilter" msgstr "" #. type: Content of the nettools entity msgid "http://www.linuxfoundation.org/en/Net:Net-tools" msgstr "" #. type: Content of the networkaddresstranslationnat entity msgid "http://en.wikipedia.org/wiki/Network_address_translation" msgstr "" #. type: Content of the networkaudiosystemnas entity msgid "http://en.wikipedia.org/wiki/Network_Audio_System" msgstr "" #. type: Content of the networkblockdevice entity msgid "http://en.wikipedia.org/wiki/Network_block_device" msgstr "" #. type: Content of the networkfirewall entity msgid "http://en.wikipedia.org/wiki/Firewall" msgstr "" #. type: Content of the networkmanagernm entity msgid "http://en.wikipedia.org/wiki/NetworkManager" msgstr "" #. type: Content of the newbie entity msgid "http://en.wikipedia.org/wiki/Newbie" msgstr "" #. type: Content of the nfs entity msgid "http://en.wikipedia.org/wiki/Network_File_System_(protocol)" msgstr "" #. type: Content of the nirvana entity msgid "http://en.wikipedia.org/wiki/Nirvana" msgstr "" #. type: Content of the nis entity msgid "http://en.wikipedia.org/wiki/NIS+" msgstr "" #. type: Content of the nisoriginallycalledyp entity msgid "http://en.wikipedia.org/wiki/Network_Information_Service" msgstr "" #. type: Content of the nmap entity msgid "http://en.wikipedia.org/wiki/Nmap" msgstr "" #. type: Content of the normaldebianarchives entity msgid "http://ftp.us.debian.org/debian/dists/" msgstr "" #. type: Content of the nouveau entity msgid "http://en.wikipedia.org/wiki/Nouveau_(software)" msgstr "" #. type: Content of the nssnameserviceswitch entity msgid "http://en.wikipedia.org/wiki/Name_Service_Switch" msgstr "" #. type: Content of the ntfsdg entity msgid "http://en.wikipedia.org/wiki/NTFS-3G" msgstr "" #. type: Content of the ntfs entity msgid "http://en.wikipedia.org/wiki/NTFS" msgstr "" #. type: Content of the ntp entity msgid "http://en.wikipedia.org/wiki/Network_Time_Protocol" msgstr "" #. type: Content of the ntppublicservicesproject entity msgid "http://www.ntp.org/" msgstr "" #. type: Content of the nullterminated entity msgid "http://en.wikipedia.org/wiki/Null_character" msgstr "" #. type: Content of the ocaml entity msgid "http://en.wikipedia.org/wiki/Objective_Caml" msgstr "" #. type: Content of the ocr entity msgid "http://en.wikipedia.org/wiki/Optical_character_recognition" msgstr "" #. type: Content of the octal entity msgid "http://en.wikipedia.org/wiki/Octal" msgstr "" #. type: Content of the oggvorbis entity msgid "http://en.wikipedia.org/wiki/Vorbis" msgstr "" #. type: Content of the openbsd entity msgid "http://en.wikipedia.org/wiki/OpenBSD" msgstr "" #. type: Content of the openldapsoftware entity msgid "http://www.openldap.org/" msgstr "" #. type: Content of the sunrpc entity msgid "" "http://en.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call" msgstr "" #. type: Content of the openofficeorg entity msgid "http://en.wikipedia.org/wiki/OpenOffice.org" msgstr "" #. type: Content of the openpgppublickeyserver entity msgid "http://sourceforge.net/projects/pks/" msgstr "" #. type: Content of the openslp entity msgid "http://www.openslp.org/" msgstr "" #. type: Content of the opensoundsystemoss entity msgid "http://en.wikipedia.org/wiki/Open_Sound_System" msgstr "" #. type: Content of the openssh entity msgid "http://www.openssh.org/" msgstr "" #. type: Content of the opentype entity msgid "http://en.wikipedia.org/wiki/OpenType" msgstr "" #. type: Content of the openvms entity msgid "http://en.wikipedia.org/wiki/OpenVMS" msgstr "" #. type: Content of the openvz entity msgid "http://en.wikipedia.org/wiki/OpenVZ" msgstr "" #. type: Content of the opticaldiscdrive entity msgid "http://en.wikipedia.org/wiki/Optical_disc_drive" msgstr "" #. type: Content of the optimalmtuconfigeadslconnections entity msgid "http://www.mynetwatchman.com/kb/ADSL/pppoemtu.htm" msgstr "" #. type: Content of the othergitresourcevailableontheweb entity msgid "http://git-scm.com/documentation" msgstr "" #. type: Content of the outlookpstfiles entity msgid "http://en.wikipedia.org/wiki/Personal_Folders_(.pst)_file" msgstr "" #. type: Content of the overviewoffathpfdntfsfilesystems entity msgid "http://support.microsoft.com/kb/100108/" msgstr "" #. type: Content of the pagecache entity msgid "http://en.wikipedia.org/wiki/Page_cache" msgstr "" #. type: Content of the pampluggableauthnticationmodules entity msgid "http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules" msgstr "" #. type: Content of the pap entity msgid "http://en.wikipedia.org/wiki/Password_authentication_protocol" msgstr "" #. type: Content of the parallels entity msgid "http://en.wikipedia.org/wiki/Parallels_Workstation" msgstr "" #. type: Content of the passwordcracking entity msgid "http://en.wikipedia.org/wiki/Password_cracking" msgstr "" #. type: Content of the pathmtupmtudiscovery entity msgid "http://en.wikipedia.org/wiki/Path_MTU_discovery" msgstr "" #. type: Content of the pccard entity msgid "http://en.wikipedia.org/wiki/PC_card" msgstr "" #. type: Content of the pciexpress entity msgid "http://en.wikipedia.org/wiki/PCI_Express" msgstr "" #. type: Content of the pci entity msgid "http://en.wikipedia.org/wiki/Peripheral_Component_Interconnect" msgstr "" #. type: Content of the portabledocumentformatpdf entity msgid "http://en.wikipedia.org/wiki/Portable_Document_Format" msgstr "" #. type: Content of the perlcompatiblererexpressionspcre entity msgid "http://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions" msgstr "" #. type: Content of the perlgolf entity msgid "http://perlgolf.sourceforge.net" msgstr "" #. type: Content of the perl entity msgid "http://en.wikipedia.org/wiki/Perl" msgstr "" #. type: Content of the phonon entity msgid "http://en.wikipedia.org/wiki/Phonon_(KDE)" msgstr "" #. type: Content of the php entity msgid "http://en.wikipedia.org/wiki/PHP" msgstr "" #. type: Content of the pointtopointtunnlingprotocolpptp entity msgid "http://en.wikipedia.org/wiki/Point-to-point_tunneling_protocol" msgstr "" #. type: Content of the policykit entity msgid "http://en.wikipedia.org/wiki/PolicyKit" msgstr "" #. type: Content of the popcon entity msgid "http://popcon.debian.org/" msgstr "" #. type: Content of the popd entity msgid "http://en.wikipedia.org/wiki/Post_Office_Protocol" msgstr "" #. type: Content of the posix entity msgid "http://en.wikipedia.org/wiki/POSIX" msgstr "" #. type: Content of the postfixdocumentation entity msgid "http://www.postfix.org/documentation.html" msgstr "" #. type: Content of the postfix entity msgid "http://en.wikipedia.org/wiki/Postfix_(software)" msgstr "" #. type: Content of the postgresql entity msgid "http://en.wikipedia.org/wiki/PostgreSQL" msgstr "" #. type: Content of the postpoweronselftest entity msgid "http://en.wikipedia.org/wiki/Power-on_self-test" msgstr "" #. type: Content of the ps entity msgid "http://en.wikipedia.org/wiki/PostScript" msgstr "" #. type: Content of the pots entity msgid "http://en.wikipedia.org/wiki/Plain_old_telephone_service" msgstr "" #. type: Content of the ppp entity msgid "http://en.wikipedia.org/wiki/Point-to-Point_Protocol" msgstr "" #. type: Content of the pppoe entity msgid "http://en.wikipedia.org/wiki/Point-to-Point_Protocol_over_Ethernet" msgstr "" #. type: Content of the priorities entity msgid "http://www.debian.org/doc/debian-policy/ch-archive#s-priorities" msgstr "" #. type: Content of the procfs entity msgid "http://en.wikipedia.org/wiki/Procfs" msgstr "" #. type: Content of the proxyserver entity msgid "http://en.wikipedia.org/wiki/Proxy_server" msgstr "" #. type: Content of the pseudotopleveldomain entity msgid "http://en.wikipedia.org/wiki/Pseudo-top-level_domain" msgstr "" #. type: Content of the pulseaudio entity msgid "http://en.wikipedia.org/wiki/PulseAudio" msgstr "" #. type: Content of the python entity msgid "http://en.wikipedia.org/wiki/Python_(programming_language)" msgstr "" #. type: Content of the qcowcqcow entity msgid "http://en.wikipedia.org/wiki/Qcow" msgstr "" #. type: Content of the qemu entity msgid "http://en.wikipedia.org/wiki/QEMU" msgstr "" #. type: Content of the qt entity msgid "http://en.wikipedia.org/wiki/Qt_(toolkit)" msgstr "" #. type: Content of the quicktimemov entity msgid "http://en.wikipedia.org/wiki/QuickTime" msgstr "" #. type: Content of the quotedprintable entity msgid "http://en.wikipedia.org/wiki/Quoted-printable" msgstr "" #. type: Content of the racecondition entity msgid "http://en.wikipedia.org/wiki/Race_condition" msgstr "" #. type: Content of the radix entity msgid "http://en.wikipedia.org/wiki/Radix" msgstr "" #. type: Content of the raid entity msgid "http://en.wikipedia.org/wiki/RAID" msgstr "" #. type: Content of the rcshell entity msgid "http://en.wikipedia.org/wiki/Rc" msgstr "" #. type: Content of the rcs entity msgid "http://en.wikipedia.org/wiki/Revision_Control_System" msgstr "" #. type: Content of the readonlymemoryrom entity msgid "http://en.wikipedia.org/wiki/Read-only_memory" msgstr "" #. type: Content of the reasons entity msgid "" "http://lists.debian.org/debian-testing-security-announce/2010/01/msg00000." "html" msgstr "" #. type: Content of the redhatlinux entity msgid "http://en.wikipedia.org/wiki/Red_Hat_Linux" msgstr "" #. type: Content of the regularexpressions entity msgid "http://en.wikipedia.org/wiki/Regular_expression" msgstr "" #. type: Content of the reisere entity msgid "http://en.wikipedia.org/wiki/Reiser4" msgstr "" #. type: Content of the reiserfs entity msgid "http://en.wikipedia.org/wiki/Reiserfs" msgstr "" #. type: Content of the releasenotes entity msgid "http://www.debian.org/releases/stable/releasenotes" msgstr "" #. type: Content of the rfcbbjb entity msgid "http://tools.ietf.org/html/rfc1191" msgstr "" #. type: Content of the rfcbdcb entity msgid "http://tools.ietf.org/html/rfc1321" msgstr "" #. type: Content of the rfcbjbi entity msgid "http://tools.ietf.org/html/rfc1918" msgstr "" #. type: Content of the rfcbjdj entity msgid "http://tools.ietf.org/html/rfc1939" msgstr "" #. type: Content of the rfccaef entity msgid "http://tools.ietf.org/html/rfc2045" msgstr "" #. type: Content of the rfccdjg entity msgid "http://tools.ietf.org/html/rfc2396" msgstr "" #. type: Content of the rfcceej entity msgid "http://tools.ietf.org/html/rfc2449" msgstr "" #. type: Content of the rfccgag entity msgid "http://tools.ietf.org/html/rfc2606" msgstr "" #. type: Content of the rfccgbg entity msgid "http://tools.ietf.org/html/rfc2616" msgstr "" #. type: Content of the rfccicb entity msgid "http://tools.ietf.org/html/rfc2821" msgstr "" #. type: Content of the rfcciccupdatedrfcicc entity msgid "http://tools.ietf.org/html/rfc2822" msgstr "" #. type: Content of the rfcdfab entity msgid "http://tools.ietf.org/html/rfc3501" msgstr "" #. type: Content of the rfceeaj entity msgid "http://tools.ietf.org/html/rfc4409" msgstr "" #. type: Content of the rfcejfe entity msgid "http://tools.ietf.org/html/rfc4954" msgstr "" #. type: Content of the rfcibj entity msgid "http://tools.ietf.org/html/rfc819" msgstr "" #. type: Content of the rfcicb entity msgid "http://tools.ietf.org/html/rfc821" msgstr "" #. type: Content of the rfcicc entity msgid "http://tools.ietf.org/html/rfc822" msgstr "" #. type: Content of the rfcs entity msgid "http://www.ietf.org/rfc.html" msgstr "" #. type: Content of the roff entity msgid "http://en.wikipedia.org/wiki/Roff" msgstr "" #. type: Content of the rootkit entity msgid "http://en.wikipedia.org/wiki/Rootkit" msgstr "" #. type: Content of the rtbb entity msgid "http://en.wikipedia.org/wiki/RT-11" msgstr "" #. type: Content of the ruby entity msgid "http://en.wikipedia.org/wiki/Ruby_(programming_language)" msgstr "" #. type: Content of the runlevels entity msgid "http://en.wikipedia.org/wiki/Runlevel" msgstr "" #. type: Content of the secureattentionkeysak entity msgid "http://en.wikipedia.org/wiki/Secure_attention_key" msgstr "" #. type: Content of the samba entity msgid "http://en.wikipedia.org/wiki/Samba_(software)" msgstr "" #. type: Content of the svgscalablevectorgraphics entity msgid "http://en.wikipedia.org/wiki/Scalable_Vector_Graphics" msgstr "" #. type: Content of the scim entity msgid "http://en.wikipedia.org/wiki/Smart_Common_Input_Method" msgstr "" #. type: Content of the scribus entity msgid "http://en.wikipedia.org/wiki/Scribus" msgstr "" #. type: Content of the scsi entity msgid "http://en.wikipedia.org/wiki/SCSI" msgstr "" #. type: Content of the sections entity msgid "http://www.debian.org/doc/debian-policy/ch-archive#s-subsections" msgstr "" #. type: Content of the secureapt entity msgid "http://wiki.debian.org/SecureApt" msgstr "" #. type: Content of the ssh entity msgid "http://en.wikipedia.org/wiki/Secure_Shell" msgstr "" #. type: Content of the securingdebianmanual entity msgid "http://www.debian.org/doc/manuals/securing-debian-howto/" msgstr "" #. type: Content of the securitydebianarchives entity msgid "http://security.debian.org/dists/" msgstr "" #. type: Content of the securityenhancedlinuxselinux entity msgid "http://en.wikipedia.org/wiki/Security-Enhanced_Linux" msgstr "" #. type: Content of the securityupdates entity msgid "http://www.debian.org/security/" msgstr "" #. type: Content of the sender_policy_frameworkspf entity msgid "http://en.wikipedia.org/wiki/Sender_Policy_Framework" msgstr "" #. type: Content of the smb entity msgid "http://en.wikipedia.org/wiki/Server_Message_Block" msgstr "" #. type: Content of the servicesetidentifier entity msgid "http://en.wikipedia.org/wiki/Service_set_identifier" msgstr "" #. type: Content of the sgml entity msgid "http://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language" msgstr "" #. type: Content of the shell entity msgid "http://en.wikipedia.org/wiki/Shell_(computing)" msgstr "" #. type: Content of the shellscript entity msgid "http://en.wikipedia.org/wiki/Shell_script" msgstr "" #. type: Content of the shiftjis entity msgid "http://en.wikipedia.org/wiki/Shift_JIS" msgstr "" #. type: Content of the shorewall entity msgid "http://en.wikipedia.org/wiki/Shorewall" msgstr "" #. type: Content of the slp entity msgid "http://en.wikipedia.org/wiki/Service_Location_Protocol" msgstr "" #. type: Content of the smart entity msgid "http://en.wikipedia.org/wiki/S.M.A.R.T." msgstr "" #. type: Content of the smtpauthentication entity msgid "http://en.wikipedia.org/wiki/SMTP_Authentication" msgstr "" #. type: Content of the smtpauth entity msgid "http://en.wikipedia.org/wiki/SMTP-AUTH" msgstr "" #. type: Content of the smtp entity msgid "http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol" msgstr "" #. type: Content of the smtps entity msgid "http://en.wikipedia.org/wiki/SMTPS" msgstr "" #. type: Content of the snort entity msgid "http://en.wikipedia.org/wiki/Snort_(software)" msgstr "" #. type: Content of the softmac entity msgid "http://en.wikipedia.org/wiki/SoftMAC" msgstr "" #. type: Content of the softmodem entity msgid "http://en.wikipedia.org/wiki/Softmodem" msgstr "" #. type: Content of the solarisbysunmicrosystems entity msgid "http://en.wikipedia.org/wiki/Solaris_(operating_system)" msgstr "" #. type: Content of the solidstatedrivessd entity msgid "http://en.wikipedia.org/wiki/Solid-state_drive" msgstr "" #. type: Content of the somemailwasnotdownloaded entity msgid "" "http://mail.google.com/support/bin/answer.py?answer=13291&topic=1555" msgstr "" #. type: Content of the sparsefile entity msgid "http://en.wikipedia.org/wiki/Sparse_file" msgstr "" #. type: Content of the spoofingtheuseragentstring entity msgid "http://www.mozilla.org/unix/customizing.html#prefs" msgstr "" #. type: Content of the transportlayerseesocketslayerssl entity msgid "http://en.wikipedia.org/wiki/Transport_Layer_Security" msgstr "" #. type: Content of the standaloneshell entity msgid "http://en.wikipedia.org/wiki/Stand-alone_shell" msgstr "" #. type: Content of the standardgeneralirkuplanguagesgml entity msgid "http://en.wikipedia.org/wiki/SGML" msgstr "" #. type: Content of the starttls entity msgid "http://en.wikipedia.org/wiki/STARTTLS" msgstr "" #. type: Content of the statefulfirewall entity msgid "http://en.wikipedia.org/wiki/Stateful_firewall" msgstr "" #. type: Content of the staticcodeanalysis entity msgid "http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis" msgstr "" #. type: Content of the steganographic entity msgid "http://en.wikipedia.org/wiki/Steganography" msgstr "" #. type: Content of the subversion entity msgid "http://en.wikipedia.org/wiki/Subversion_(software)" msgstr "" #. type: Content of the superserver entity msgid "http://en.wikipedia.org/wiki/Super-server" msgstr "" #. type: Content of the superuser entity msgid "http://en.wikipedia.org/wiki/Superuser" msgstr "" #. type: Content of the swapspace entity msgid "http://en.wikipedia.org/wiki/Paging" msgstr "" #. type: Content of the symboliclinkorsymlink entity msgid "http://en.wikipedia.org/wiki/Symbolic_link" msgstr "" #. type: Content of the sysfs entity msgid "http://en.wikipedia.org/wiki/Sysfs" msgstr "" #. type: Content of the systemv entity msgid "http://en.wikipedia.org/wiki/UNIX_System_V" msgstr "" #. type: Content of the systemvprintercommands entity msgid "http://en.wikipedia.org/wiki/System_V_printing_system" msgstr "" #. type: Content of the tcl entity msgid "http://en.wikipedia.org/wiki/Tcl" msgstr "" #. type: Content of the tcpdump entity msgid "http://en.wikipedia.org/wiki/Tcpdump" msgstr "" #. type: Content of the tcp entity msgid "http://en.wikipedia.org/wiki/Transmission_Control_Protocol" msgstr "" #. type: Content of the tcpip entity msgid "http://en.wikipedia.org/wiki/TCP/IP" msgstr "" #. type: Content of the tcpipnetwork entity msgid "http://en.wikipedia.org/wiki/Internet_Protocol_Suite" msgstr "" #. type: Content of the tcptuningguide entity msgid "http://dsd.lbl.gov/TCP-tuning/" msgstr "" #. type: Content of the tcptuning entity msgid "http://en.wikipedia.org/wiki/TCP_tuning" msgstr "" #. type: Content of the tcpwrapper entity msgid "http://en.wikipedia.org/wiki/TCP_Wrapper" msgstr "" #. type: Content of the telnet entity msgid "http://en.wikipedia.org/wiki/TELNET" msgstr "" #. type: Content of the tenexcshell entity msgid "http://en.wikipedia.org/wiki/Tcsh" msgstr "" #. type: Content of the tex entity msgid "http://en.wikipedia.org/wiki/TeX" msgstr "" #. type: Content of the texlive entity msgid "http://en.wikipedia.org/wiki/TeX_Live" msgstr "" #. type: Content of the thecablemodem entity msgid "http://en.wikipedia.org/wiki/Cable_modem" msgstr "" #. type: Content of the thedebiandevelmailinglist entity msgid "http://lists.debian.org/debian-devel/" msgstr "" #. type: Content of the thedebiangnulinuebianftparchives entity msgid "http://www.debian.org/doc/FAQ/ch-ftparchives" msgstr "" #. type: Content of the thedebianusermailinglist entity msgid "http://lists.debian.org/debian-user/" msgstr "" #. type: Content of the thedslmodem entity msgid "http://en.wikipedia.org/wiki/DSL_modem" msgstr "" #. type: Content of the theextensiblemarkuplanguagexml entity msgid "http://en.wikipedia.org/wiki/XML" msgstr "" #. type: Content of the theextensiblestysheetlanguagexsl entity msgid "http://en.wikipedia.org/wiki/Extensible_Stylesheet_Language" msgstr "" #. type: Content of the thegoodsecuritywththeperformance entity msgid "http://www.infodrom.org/~joey/Writing/Linux-Journal/secure-apt/" msgstr "" #. type: Content of the theinternetsocket entity msgid "http://en.wikipedia.org/wiki/Internet_socket" msgstr "" #. type: Content of the theinterprocesscommunicationipc entity msgid "http://en.wikipedia.org/wiki/Inter-process_communication" msgstr "" #. type: Content of the thelatestpublicapmasterdebianorg entity msgid "http://ftp-master.debian.org/" msgstr "" #. type: Content of the theldpxwindowuserhowto entity msgid "http://www.tldp.org/HOWTO/XWindow-User-HOWTO.html" msgstr "" #. type: Content of the thelempelzivwelcsdatacompression entity msgid "http://en.wikipedia.org/wiki/Lempel-Ziv-Welch" msgstr "" #. type: Content of the thelinuxnisypnysnishowto entity msgid "http://tldp.org/HOWTO/NIS-HOWTO/" msgstr "" #. type: Content of the thelistofdebianwdwidemirrorsites entity msgid "http://www.debian.org/mirror/list" msgstr "" #. type: Content of the theofficialsambandreferenceguide entity msgid "http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/" msgstr "" #. type: Content of the theopticalnetworkterminalont entity msgid "http://en.wikipedia.org/wiki/FTTP" msgstr "" #. type: Content of the thepackageshortdiptionconvention entity msgid "" "http://www.debian.org/doc/manuals/developers-reference/best-pkging-" "practices#bpp-desc-basics" msgstr "" #. type: Content of the thepenguinandunicode entity msgid "http://unifont.org/iuc27/html/ICUPresentation.html" msgstr "" #. type: Content of the thepolicymanualcsbetweenpackages entity msgid "http://www.debian.org/doc/debian-policy/ch-relationships" msgstr "" #. type: Content of the thesingleunixspecificationsvc entity msgid "http://www.unix.org/version2/" msgstr "" #. type: Content of the thesingleunixspecificationsvd entity msgid "http://www.unix.org/version3/" msgstr "" #. type: Content of the thetetexhowtothextetexlocalguide entity msgid "http://www.tldp.org/HOWTO/TeTeX-HOWTO.html" msgstr "" #. type: Content of the theubuntuarchive entity msgid "http://archive.ubuntu.com/ubuntu/" msgstr "" #. type: Content of the theudevsystem entity msgid "http://en.wikipedia.org/wiki/Udev" msgstr "" #. type: Content of the theunixdomainsocket entity msgid "http://en.wikipedia.org/wiki/Unix_domain_socket" msgstr "" #. type: Content of the tmpfs entity msgid "http://en.wikipedia.org/wiki/Tmpfs#Linux" msgstr "" #. type: Content of the topleveldomaintld entity msgid "http://en.wikipedia.org/wiki/Top-level_domain" msgstr "" #. type: Content of the treregexlibrary entity msgid "http://www.laurikari.net/tre/" msgstr "" #. type: Content of the trim entity msgid "http://en.wikipedia.org/wiki/TRIM" msgstr "" #. type: Content of the troff entity msgid "http://en.wikipedia.org/wiki/Troff" msgstr "" #. type: Content of the truetype entity msgid "http://en.wikipedia.org/wiki/TrueType" msgstr "" #. type: Content of the tuntap entity msgid "http://en.wikipedia.org/wiki/TUN/TAP" msgstr "" #. type: Content of the ubuntu entity msgid "http://www.ubuntu.com/" msgstr "" #. type: Content of the writingudevrules entity msgid "http://www.reactivated.net/writing_udev_rules.html" msgstr "" #. type: Content of the udf entity msgid "http://en.wikipedia.org/wiki/Universal_Disk_Format" msgstr "" #. type: Content of the udp entity msgid "http://en.wikipedia.org/wiki/User_Datagram_Protocol" msgstr "" #. type: Content of the uim entity msgid "http://en.wikipedia.org/wiki/Uim" msgstr "" #. type: Content of the unbranded entity msgid "" "http://en.wikipedia.org/wiki/" "Mozilla_Corporation_software_rebranded_by_the_Debian_project" msgstr "" #. type: Content of the unbrandsmozilla entity msgid "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=354622" msgstr "" #. type: Content of the unicode entity msgid "http://en.wikipedia.org/wiki/Unicode" msgstr "" #. type: Content of the universalcharactunicodeisobagegb entity msgid "http://en.wikipedia.org/wiki/Universal_Character_Set" msgstr "" #. type: Content of the unix entity msgid "http://en.wikipedia.org/wiki/Unix" msgstr "" #. type: Content of the unixvariants entity msgid "http://en.wikipedia.org/wiki/Unix-like" msgstr "" #. type: Content of the unixsccs entity msgid "http://en.wikipedia.org/wiki/Source_Code_Control_System" msgstr "" #. type: Content of the uri entity msgid "http://en.wikipedia.org/wiki/Uniform_Resource_Identifier" msgstr "" #. type: Content of the url entity msgid "http://en.wikipedia.org/wiki/Uniform_Resource_Locator" msgstr "" #. type: Content of the urw entity msgid "http://www.math.utah.edu/~beebe/fonts/urw.html" msgstr "" #. type: Content of the usbstorage entity msgid "http://en.wikipedia.org/wiki/USB_flash_drive" msgstr "" #. type: Content of the usb entity msgid "http://en.wikipedia.org/wiki/Universal_Serial_Bus" msgstr "" #. type: Content of the usermodelinux entity msgid "http://en.wikipedia.org/wiki/User-mode_Linux" msgstr "" #. type: Content of the utfbgucsc entity msgid "http://en.wikipedia.org/wiki/UTF-16/UCS-2" msgstr "" #. type: Content of the utfdcucse entity msgid "http://en.wikipedia.org/wiki/UTF-32/UCS-4" msgstr "" #. type: Content of the utfi entity msgid "http://en.wikipedia.org/wiki/UTF-8" msgstr "" #. type: Content of the utgmt entity msgid "http://en.wikipedia.org/wiki/Universal_Time" msgstr "" #. type: Content of the uuencode entity msgid "http://en.wikipedia.org/wiki/Uuencoding" msgstr "" #. type: Content of the uuid entity msgid "http://en.wikipedia.org/wiki/Universally_Unique_Identifier" msgstr "" #. type: Content of the vdi entity msgid "http://en.wikipedia.org/wiki/VirtualBox#Virtual_Desktop_Image" msgstr "" #. type: Content of the versioncontrolsystemsvcs entity msgid "http://en.wikipedia.org/wiki/Revision_control" msgstr "" #. type: Content of the vim entity msgid "http://en.wikipedia.org/wiki/Vim_(text_editor)" msgstr "" #. type: Content of the virtualbox entity msgid "http://en.wikipedia.org/wiki/VirtualBox" msgstr "" #. type: Content of the virtualboxusermanual entity msgid "http://www.virtualbox.org/manual/UserManual.html" msgstr "" #. type: Content of the virtualboxusermanualpdf entity msgid "http://download.virtualbox.org/virtualbox/UserManual.pdf" msgstr "" #. type: Content of the virtualization entity msgid "http://en.wikipedia.org/wiki/Virtualization" msgstr "" #. type: Content of the virtualmachinemanager entity msgid "http://en.wikipedia.org/wiki/Virtual_Machine_Manager" msgstr "" #. type: Content of the virtualmemory entity msgid "http://en.wikipedia.org/wiki/Virtual_memory" msgstr "" #. type: Content of the vlcmediaplayer entity msgid "http://en.wikipedia.org/wiki/VLC_media_player" msgstr "" #. type: Content of the vmdk entity msgid "http://en.wikipedia.org/wiki/VMDK" msgstr "" #. type: Content of the vpc entity msgid "http://en.wikipedia.org/wiki/VHD_(file_format)" msgstr "" #. type: Content of the vpn entity msgid "http://en.wikipedia.org/wiki/Virtual_private_network" msgstr "" #. type: Content of the vtbaalike entity msgid "http://en.wikipedia.org/wiki/VT100" msgstr "" #. type: Content of the wan entity msgid "http://en.wikipedia.org/wiki/Wide_area_network" msgstr "" #. type: Content of the watchdogtimer entity msgid "http://en.wikipedia.org/wiki/Watchdog_timer" msgstr "" #. type: Content of the wavelan entity msgid "http://en.wikipedia.org/wiki/WaveLAN" msgstr "" #. type: Content of the wdm entity msgid "http://en.wikipedia.org/wiki/W3m" msgstr "" #. type: Content of the webbrowser entity msgid "http://en.wikipedia.org/wiki/Web_Browsers" msgstr "" #. type: Content of the webwmlproject entity msgid "http://alioth.debian.org/projects/webwml/" msgstr "" #. type: Content of the whatisxlink entity msgid "http://xml.com/pub/a/2000/09/xlink/index.html" msgstr "" #. type: Content of the whatisxml entity msgid "http://www.xml.com/pub/a/98/10/guide0.html" msgstr "" #. type: Content of the whatisxslfo entity msgid "http://xml.com/pub/a/2002/03/20/xsl-fo.html" msgstr "" #. type: Content of the whatisxslt entity msgid "http://xml.com/pub/a/2000/08/holman/index.html" msgstr "" #. type: Content of the wicd entity msgid "http://en.wikipedia.org/wiki/Wicd_(Linux_Network_Manager)" msgstr "" #. type: Content of the wifiprotectedaccessc entity msgid "http://en.wikipedia.org/wiki/IEEE_802.11i" msgstr "" #. type: Content of the wifiprotectedaccess entity msgid "http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access" msgstr "" #. type: Content of the windowmanagersforx entity msgid "http://www.xwinman.org" msgstr "" #. type: Content of the windowsdomain entity msgid "http://en.wikipedia.org/wiki/Windows_domain" msgstr "" #. type: Content of the windowsmediavideowmv entity msgid "http://en.wikipedia.org/wiki/Windows_Media_Video" msgstr "" #. type: Content of the wine entity msgid "http://en.wikipedia.org/wiki/Wine_(software)" msgstr "" #. type: Content of the wiredequivalentprivacy entity msgid "http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy" msgstr "" #. type: Content of the wirelessaccesspointsaps entity msgid "http://en.wikipedia.org/wiki/Wireless_access_point" msgstr "" #. type: Content of the wirelesslanwlanforshort entity msgid "http://en.wikipedia.org/wiki/Wireless_LAN" msgstr "" #. type: Content of the wireshark entity msgid "http://en.wikipedia.org/wiki/Wireshark" msgstr "" #. type: Content of the wordprocessingusinglatex entity msgid "" "http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/latex_basic/latex_basic." "html" msgstr "" #. type: Content of the workaroundtransiroblemsofxserver entity msgid "http://wiki.debian.org/XStrikeForce/InputHotplugGuide" msgstr "" #. type: Content of the wysiwyg entity msgid "http://en.wikipedia.org/wiki/WYSIWYG" msgstr "" #. type: Content of the xbbpcfbitmapfontfiles entity msgid "http://fontforge.sourceforge.net/pcf-format.html" msgstr "" #. type: Content of the xdmcpconnection entity msgid "http://en.wikipedia.org/wiki/X_display_manager" msgstr "" #. type: Content of the xemacs entity msgid "http://en.wikipedia.org/wiki/XEmacs" msgstr "" #. type: Content of the xen entity msgid "http://en.wikipedia.org/wiki/Xen" msgstr "" #. type: Content of the xfce entity msgid "http://en.wikipedia.org/wiki/Xfce" msgstr "" #. type: Content of the xfs entity msgid "http://en.wikipedia.org/wiki/XFS" msgstr "" #. type: Content of the xft entity msgid "http://en.wikipedia.org/wiki/Xft" msgstr "" #. type: Content of the xwindowsystem entity msgid "http://en.wikipedia.org/wiki/X_Window_System" msgstr "" #. type: Content of the xine entity msgid "http://en.wikipedia.org/wiki/Xine" msgstr "" #. type: Content of the xmlcom entity msgid "http://xml.com/" msgstr "" #. type: Content of the xorg entity msgid "http://www.x.org/" msgstr "" #. type: Content of the xrenderingextension entity msgid "http://en.wikipedia.org/wiki/XRender" msgstr "" #. type: Content of the xsession entity msgid "http://en.wikipedia.org/wiki/X_session_manager" msgstr "" #. type: Content of the xwindowmanager entity msgid "http://en.wikipedia.org/wiki/X_window_manager" msgstr "" #. type: Content of the xxencode entity msgid "http://en.wikipedia.org/wiki/Xxencode" msgstr "" #. type: Content of the xz entity msgid "http://en.wikipedia.org/wiki/Xz" msgstr "" #. type: Content of the yacc entity msgid "http://en.wikipedia.org/wiki/Yacc" msgstr "" #. type: Content of the zeroconf entity msgid "http://en.wikipedia.org/wiki/Zeroconf" msgstr "" #. type: Content of the zshell entity msgid "http://en.wikipedia.org/wiki/Z_shell" msgstr "" #. type: Attribute 'lang' of: msgid "en" msgstr "" #. type: Content of: msgid "Debian Reference" msgstr "" #. type: Content of: <book><bookinfo> msgid "" "<author> <personname> <othername>Osamu Aoki</othername> </personname> </" "author>" msgstr "" #. type: Content of: <book><bookinfo><abstract><para> msgid "" "This book is free; you may redistribute it and/or modify it under the terms " "of the GNU General Public License of any version compliant to the Debian " "Free Software Guidelines (DFSG)." msgstr "" #. type: Content of: <book><bookinfo> msgid "" "<copyright> <year>2007-2012</year> <holder>Osamu Aoki</holder> </copyright>" msgstr "" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This Debian Reference (v2) (&build-date;) is intended to provide a broad " "overview of the Debian system as a post-installation user's guide. It covers " "many aspects of system administration through shell-command examples for non-" "developers." msgstr "" #. type: Content of: <book><preface><title> msgid "Preface" msgstr "" #. type: Content of: <book><preface><para> msgid "" "This <ulink url=\"&debianreferenceversionc;\">Debian Reference (version 2)</" "ulink> (&build-date;) is intended to provide a broad overview of Debian " "system administration as a post-installation user guide." msgstr "" #. type: Content of: <book><preface><para> msgid "" "The target reader is someone who is willing to learn shell scripts but who " "is not ready to read all the C sources to figure out how the <ulink url=" "\"&gnu;\">GNU</ulink>/<ulink url=\"&linux;\">Linux</ulink> system works." msgstr "" #. type: Content of: <book><preface><section><title> msgid "Disclaimer" msgstr "" #. type: Content of: <book><preface><section><para> msgid "" "All warranties are disclaimed. All trademarks are property of their " "respective trademark owners." msgstr "" #. type: Content of: <book><preface><section><para> msgid "" "The Debian system itself is a moving target. This makes its documentation " "difficult to be current and correct. Although the current unstable version " "of Debian system was used as the basis for writing this, some contents may " "be already outdated by the time you read this." msgstr "" #. type: Content of: <book><preface><section><para> msgid "" "Please treat this document as the secondary reference. This document does " "not replace any authoritative guides. The author and contributors do not " "take responsibility for consequences of errors, omissions or ambiguity in " "this document." msgstr "" #. type: Content of: <book><preface><section><title> msgid "What is Debian" msgstr "" #. type: Content of: <book><preface><section><para> msgid "" "The <ulink url=\"&debianproject;\">Debian Project</ulink> is an association " "of individuals who have made common cause to create a free operating " "system. It's distribution is characterized by the following." msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "" "Commitment to the software freedom: <ulink url=" "\"&debiansocialcontreguidelinesdfsg;\">Debian Social Contract and Debian " "Free Software Guidelines (DFSG)</ulink>" msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "" "Internet based distributed unpaid volunteer effort: <ulink url=" "\"&httpwwwdebianorg;\">http://www.debian.org</ulink>" msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "Large number of pre-compiled high quality softwares" msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "" "Focus on stability and security with easy access to the security updates" msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "" "Focus on smooth upgrade to latest softwares with <literal>unstable</literal> " "and <literal>testing</literal> archives" msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "Large number of supported hardware architectures" msgstr "" #. type: Content of: <book><preface><section><para> msgid "" "Free Software pieces in Debian come from <ulink url=\"&gnu;\">GNU</ulink>, " "<ulink url=\"&linux;\">Linux</ulink>, <ulink url=\"&bsd;\">BSD</ulink>, " "<ulink url=\"&x;\">X</ulink>, <ulink url=\"&isc;\">ISC</ulink>, <ulink url=" "\"&apache;\">Apache</ulink>, <ulink url=\"&ghostscript;\">Ghostscript</" "ulink>, <ulink url=\"&commonunixprintingsystem;\">Common Unix Printing " "System </ulink>, <ulink url=\"&samba;\">Samba</ulink>, <ulink url=\"&gnome;" "\">GNOME</ulink>, <ulink url=\"&kde;\">KDE</ulink>, <ulink url=\"&mozilla;" "\">Mozilla</ulink>, <ulink url=\"&openofficeorg;\">OpenOffice.org</ulink>, " "<ulink url=\"&vim;\">Vim</ulink>, <ulink url=\"&tex;\">TeX</ulink>, <ulink " "url=\"&latex;\">LaTeX</ulink>, <ulink url=\"&docbook;\">DocBook</ulink>, " "<ulink url=\"&perl;\">Perl</ulink>, <ulink url=\"&python;\">Python</ulink>, " "<ulink url=\"&tcl;\">Tcl</ulink>, <ulink url=\"&java;\">Java</ulink>, <ulink " "url=\"&ruby;\">Ruby</ulink>, <ulink url=\"&php;\">PHP</ulink>, <ulink url=" "\"&berkeleydb;\">Berkeley DB</ulink>, <ulink url=\"&mysql;\">MySQL</ulink>, " "<ulink url=\"&postgresql;\">PostgreSQL</ulink>, <ulink url=\"&exim;\">Exim</" "ulink>, <ulink url=\"&postfix;\">Postfix</ulink>, <ulink url=\"&mutt;" "\">Mutt</ulink>, <ulink url=\"&freebsd;\">FreeBSD</ulink>, <ulink url=" "\"&openbsd;\">OpenBSD</ulink>, <ulink url=\"&planj;\">Plan 9</ulink> and " "many more independent free software projects. Debian integrates this " "diversity of Free Software into one system." msgstr "" #. type: Content of: <book><preface><section><title> msgid "About this document" msgstr "" #. type: Content of: <book><preface><section><section><title> msgid "Guiding rules" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "Following guiding rules are followed while compiling this document." msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "Provide overview and skip corner cases. (<emphasis role=\"strong\">Big " "Picture</emphasis>)" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "Keep It Short and Simple. (<emphasis role=\"strong\">KISS</emphasis>)" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "Do not reinvent the wheel. (Use pointers to <emphasis role=\"strong\">the " "existing references</emphasis>)" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "Focus on non-GUI tools and consoles. (Use <emphasis role=\"strong\">shell " "examples</emphasis>)" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "Be objective. (Use <ulink url=\"&popcon;\">popcon</ulink> etc.)" msgstr "" #. type: Content of: <book><preface><section><section><tip><para> msgid "" "I tried to elucidate hierarchical aspects and lower levels of the system." msgstr "" #. type: Content of: <book><preface><section><section><title> msgid "Prerequisites" msgstr "" #. type: Content of: <book><preface><section><section><warning><para> msgid "" "You are expected to make good efforts to seek answers by yourself beyond " "this documentation. This document only gives efficient starting points." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "You must seek solution by yourself from primary sources." msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The Debian site at <ulink url=\"&httpwwwdebianorg;\">http://www.debian.org</" "ulink> for the general information" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The documentation under the \"<literal>/usr/share/doc/<package_name></" "literal>\" directory" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The Unix style <emphasis role=\"strong\">manpage</emphasis>: \"<literal>dpkg " "-L <package_name> |grep '/man/man.*/'</literal>\"" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The GNU style <emphasis role=\"strong\">info page</emphasis>: " "\"<literal>dpkg -L <package_name> |grep '/info/'</literal>\"" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The bug report: <ulink url=\"&httpbugsdebianorgpackage_name;\">http://bugs." "debian.org/<package_name></ulink>" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The Debian Wiki at <ulink url=\"&httpwikidebianorg;\">http://wiki.debian.org/" "</ulink> for the moving and specific topics" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The HOWTOs from The Linux Documentation Project (TLDP) at <ulink url=" "\"&httptldporg;\">http://tldp.org/</ulink>" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The Single UNIX Specification from the Open Group's The UNIX System Home " "Page at <ulink url=\"&httpwwwunixorg;\">http://www.unix.org/</ulink>" msgstr "" #. type: Content of: <book><preface><section><section><itemizedlist><listitem><para> msgid "" "The free encyclopedia from Wikipedia at <ulink url=\"&httpwwwwikipediaorg;" "\">http://www.wikipedia.org/</ulink>" msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "For detailed documentation, you may need to install the corresponding " "documentation package named with \"<literal>-doc</literal>\" as its suffix." msgstr "" #. type: Content of: <book><preface><section><section><title> msgid "Conventions" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "This document provides information through the following simplified " "presentation style with <citerefentry><refentrytitle>bash</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> shell command examples." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "" "# <command in root account>\n" "$ <command in user account>" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "These shell prompts distinguish account used and correspond to set " "environment variables as: \"<literal>PS1='\\$'</literal>\" and " "\"<literal>PS2=' '</literal>\". These values are chosen for the sake of " "readability of this document and are not typical on actual installed system." msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "See the meaning of the \"<literal>$PS1</literal>\" and \"<literal>$PS2</" "literal>\" environment variables in <citerefentry><refentrytitle>bash</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "<emphasis role=\"strong\">Action</emphasis> required by the system " "administrator is written in the imperative sentence, e.g. \"Type Enter-key " "after typing each command string to the shell.\"" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "The <emphasis role=\"strong\">description</emphasis> column and similar ones " "in the table may contain a <emphasis role=\"strong\">noun phrase</emphasis> " "following <ulink url=\"&thepackageshortdiptionconvention;\">the package " "short description convention</ulink> which drops leading articles such as \"a" "\" and \"the\". They may alternatively contain an infinitive phrase as a " "<emphasis role=\"strong\">noun phrase</emphasis> without leading \"to\" " "following the short command description convention in manpages. These may " "look funny to some people but are my intentional choices of style to keep " "this documentation as simple as possible. These <emphasis role=\"strong" "\">Noun phrases</emphasis> do not capitalize their starting nor end with " "periods following these short description convention." msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "Proper nouns including command names keeps their case irrespective of their " "location." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">command snippet</emphasis> quoted in a text " "paragraph is referred by the typewriter font between double quotation marks, " "such as \"<literal>aptitude safe-upgrade</literal>\"." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">text data</emphasis> from a configuration file " "quoted in a text paragraph is referred by the typewriter font between double " "quotation marks, such as \"<literal>deb-src</literal>\"." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">command</emphasis> is referred by its name in " "the typewriter font optionally followed by its manpage section number in " "parenthesis, such as <citerefentry><refentrytitle>bash</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. You are encouraged " "to obtain information by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "$ man 1 bash" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">manpage</emphasis> is referred by its name in " "the typewriter font followed by its manpage section number in parenthesis, " "such as <citerefentry><refentrytitle>sources.list</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>. You are encouraged " "to obtain information by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "$ man 5 sources.list" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "An <emphasis role=\"strong\">info page</emphasis> is referred by its command " "snippet in the typewriter font between double quotation marks, such as " "\"<literal>info make</literal>\". You are encouraged to obtain information " "by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "$ info make" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">filename</emphasis> is referred by the " "typewriter font between double quotation marks, such as \"<literal>/etc/" "passwd</literal>\". For configuration files, you are encouraged to obtain " "information by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "$ sensible-pager \"/etc/passwd\"" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">directory name</emphasis> is referred by the " "typewriter font between double quotation marks, such as \"<literal>/etc/init." "d/</literal>\". You are encouraged to explore its contents by typing the " "following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "$ mc \"/etc/init.d/\"" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">package name</emphasis> is referred by its name " "in the typewriter font, such as <literal>vim</literal>. You are encouraged " "to obtain information by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "" "$ dpkg -L vim\n" "$ apt-cache show vim\n" "$ aptitude show vim" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "A <emphasis role=\"strong\">documentation</emphasis> may indicate its " "location by the filename in the typewriter font between double quotation " "marks, such as \"<literal>/usr/share/doc/sysv-rc/README.runlevels.gz</" "literal>\" and \"<literal>/usr/share/doc/base-passwd/users-and-groups.html</" "literal>\"; or by its <ulink url=\"&url;\">URL</ulink>, such as <ulink url=" "\"&httpwwwdebianorg;\">http://www.debian.org</ulink>. You are encouraged to " "read the documentation by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "" "$ zcat \"/usr/share/doc/sysv-rc/README.runlevels.gz\" | sensible-pager\n" "$ sensible-browser \"/usr/share/doc/base-passwd/users-and-groups.html\"\n" "$ sensible-browse \"http://www.debian.org\"" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "An <emphasis role=\"strong\">environment variable</emphasis> is referred by " "its name with leading \"<literal>$</literal>\" in the typewriter font " "between double quotation marks, such as \"<literal>$TERM</literal>\". You " "are encouraged to obtain its current value by typing the following." msgstr "" #. type: Content of: <book><preface><section><section><screen> #, no-wrap msgid "$ echo \"$TERM\"" msgstr "" #. type: Content of: <book><preface><section><section><title> msgid "The popcon" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "The <ulink url=\"&popcon;\">popcon</ulink> data is presented as the " "objective measure for the popularity of each package. It was downloaded on " "&pop-date; and contains the total submission of &pop-submissions; reports " "over &pop-packages; binary packages and &pop-architectures; architectures." msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "Please note that the <literal>&arch;</literal> <literal>unstable</literal> " "archive contains only &all-packages; packages currently. The popcon data " "contains reports from many old system installations." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "The popcon number preceded with \"V:\" for \"votes\" is calculated by \"1000 " "* (the popcon submissions for the package executed recently on the PC)/(the " "total popcon submissions)\"." msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "The popcon number preceded with \"I:\" for \"installs\" is calculated by " "\"1000 * (the popcon submissions for the package installed on the PC)/(the " "total popcon submissions)\"." msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "The popcon figures should not be considered as absolute measures of the " "importance of packages. There are many factors which can skew statistics. " "For example, some system participating popcon may have mounted directories " "such as \"<literal>/bin</literal>\" with \"<literal>noatime</literal>\" " "option for system performance improvement and effectively disabled \"vote\" " "from such system." msgstr "" #. type: Content of: <book><preface><section><section><title> msgid "The package size" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "The package size data is also presented as the objective measure for each " "package. It is based on the \"<literal>Installed-Size:</literal>\" reported " "by \"<literal>apt-cache show</literal>\" or \"<literal>aptitude show</" "literal>\" command (currently on <literal>&arch;</literal> architecture for " "the <literal>unstable</literal> release). The reported size is in KiB " "(<ulink url=\"&kibibyte;\">Kibibyte</ulink> = unit for 1024 bytes)." msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "A package with a small numerical package size may indicate that the package " "in the <literal>unstable</literal> release is a dummy package which installs " "other packages with significant contents by the dependency. The dummy " "package enables a smooth transition or split of the package." msgstr "" #. type: Content of: <book><preface><section><section><note><para> msgid "" "A package size followed by \"(*)\" indicates that the package in the " "<literal>unstable</literal> release is missing and the package size for the " "<literal>experimental</literal> release is used instead." msgstr "" #. type: Content of: <book><preface><section><section><title> msgid "Bug reports on this document" msgstr "" #. type: Content of: <book><preface><section><section><para> msgid "" "Please file bug reports on the <literal>debian-reference</literal> package " "using <citerefentry><refentrytitle>reportbug</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> if you find any issues on this document. Please " "include correction suggestion by \"<literal>diff -u</literal>\" to the plain " "text version or to the source." msgstr "" #. type: Content of: <book><preface><section><title> msgid "Some quotes for new users" msgstr "" #. type: Content of: <book><preface><section><para> msgid "" "Here are some interesting quotes from the Debian mailing list which may help " "enlighten new users." msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "" "\"This is Unix. It gives you enough rope to hang yourself.\" --- Miquel van " "Smoorenburg <literal><miquels at cistron.nl></literal>" msgstr "" #. type: Content of: <book><preface><section><itemizedlist><listitem><para> msgid "" "\"Unix IS user friendly… It's just selective about who its friends are.\" " "--- Tollef Fog Heen <literal><tollef at add.no></literal>" msgstr "" #. type: Content of: <book><chapter><title> msgid "GNU/Linux tutorials" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "I think learning a computer system is like learning a new foreign language. " "Although tutorial books and documentation are helpful, you have to practice " "it yourself. In order to help you get started smoothly, I elaborate a few " "basic points." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The powerful design of <ulink url=\"&debian;\">Debian</ulink> <ulink url=" "\"&gnu;\">GNU</ulink>/<ulink url=\"&linux;\">Linux</ulink> comes from the " "<ulink url=\"&unix;\">Unix</ulink> operating system, i.e., a <ulink url=" "\"&multiuser;\">multiuser</ulink>, <ulink url=\"&multitasking;" "\">multitasking</ulink> operating system. You must learn to take advantage " "of the power of these features and similarities between Unix and GNU/Linux." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Don't shy away from Unix oriented texts and don't rely solely on GNU/Linux " "texts, as this robs you of much useful information." msgstr "" #. type: Content of: <book><chapter><note><para> msgid "" "If you have been using any <ulink url=\"&unixlike;\">Unix-like</ulink> " "system for a while with command line tools, you probably know everything I " "explain here. Please use this as a reality check and refresher." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Console basics" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The shell prompt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Upon starting the system, you are presented with the character based login " "screen if you did not install <ulink url=\"&xwindowsystem;\">X Window " "System</ulink> with the display manager such as <literal>gdm3</literal>. " "Suppose your hostname is <literal>foo</literal>, the login prompt looks as " "follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "foo login:" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you did install a <ulink url=\"&gui;\">GUI</ulink> environment such as " "<ulink url=\"&gnome;\">GNOME</ulink> or <ulink url=\"&kde;\">KDE</ulink>, " "then you can get to a login prompt by Ctrl-Alt-F1, and you can return to the " "GUI environment via Alt-F7 (see <xref linkend=\"_virtual_consoles\"/> below " "for more)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "At the login prompt, you type your username, e.g. <literal>penguin</" "literal>, and press the Enter-key, then type your password and press the " "Enter-key again." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Following the Unix tradition, the username and password of the Debian system " "are case sensitive. The username is usually chosen only from the " "lowercase. The first user account is usually created during the " "installation. Additional user accounts can be created with " "<citerefentry><refentrytitle>adduser</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> by root." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The system starts with the greeting message stored in \"<literal>/etc/motd</" "literal>\" (Message Of The Day) and presents a command prompt." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Debian GNU/Linux lenny/sid foo tty1\n" "foo login: penguin\n" "Password:\n" "Last login: Sun Apr 22 09:29:34 2007 on tty1\n" "Linux snoopy 2.6.20-1-amd64 #1 SMP Sun Apr 15 20:25:49 UTC 2007 x86_64\n" "\n" "The programs included with the Debian GNU/Linux system are free software;\n" "the exact distribution terms for each program are described in the\n" "individual files in /usr/share/doc/*/copyright.\n" "\n" "Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent\n" "permitted by applicable law.\n" "foo:~$" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, the main part of the greeting message can be customized by editing the " "\"<literal>/etc/motd.tail</literal>\" file. The first line is generated from " "the system information using \"<literal>uname -snrvm</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Now you are in the <ulink url=\"&shell;\">shell</ulink>. The shell " "interprets your commands." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The shell prompt under X" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you installed <ulink url=\"&xwindowsystem;\">X Window System</ulink> with " "a display manager such as <ulink url=\"&gnome;\">GNOME</ulink>'s " "<literal>gdm3</literal> by selecting \"Desktop environment\" task during the " "installation, you are presented with the graphical login screen upon " "starting your system. You type your username and your password to login to " "the non-privileged user account. Use tab to navigate between username and " "password, or use the mouse and primary click." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can gain the shell prompt under X by starting a <literal>x-terminal-" "emulator</literal> program such as <citerefentry><refentrytitle>gnome-" "terminal</refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>rxvt</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> or <citerefentry><refentrytitle>xterm</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. Under the GNOME " "Desktop environment, clicking \"Applications\" → \"Accessories\" → \"Terminal" "\" does the trick." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can also see the section below <xref linkend=\"_virtual_consoles\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Under some other Desktop systems (like <literal>fluxbox</literal>), there " "may be no obvious starting point for the menu. If this happens, just try " "(right) clicking the center of the screen and hope for a menu to pop-up." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The root account" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The root account is also called <ulink url=\"&superuser;\">superuser</ulink> " "or privileged user. From this account, you can perform the following system " "administration tasks." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Read, write, and remove any files on the system irrespective of their file " "permissions" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Set file ownership and permissions of any files on the system" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Set the password of any non-privileged users on the system" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Login to any accounts without their passwords" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This unlimited power of root account requires you to be considerate and " "responsible when using it." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "Never share the root password with others." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "File permissions of a file (including hardware devices such as CD-ROM etc. " "which are just another file for the Debian system) may render it unusable or " "inaccessible by non-root users. Although the use of root account is a quick " "way to test this kind of situation, its resolution should be done through " "proper setting of file permissions and user's group membership (see <xref " "linkend=\"_filesystem_permissions\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The root shell prompt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are a few basic methods to gain the root shell prompt by using the root " "password." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Type <literal>root</literal> at the character based login prompt." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Click \"Applications\" → \"Accessories\" → \"Root Terminal\", under the " "GNOME Desktop environment." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Type \"<literal>su -l</literal>\" from any user shell prompt." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This does not preserve the environment of the current user." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Type \"<literal>su</literal>\" from any user shell prompt." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This preserves some of the environment of the current user." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "GUI system administration tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When your desktop menu does not start GUI system administration tools " "automatically with the appropriate privilege, you can start them from the " "root shell prompt of the X terminal emulator, such as " "<citerefentry><refentrytitle>gnome-terminal</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>rxvt</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, or " "<citerefentry><refentrytitle>xterm</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>. See <xref linkend=\"_the_root_shell_prompt\"/> and <xref " "linkend=\"_running_x_clients_as_root\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Never start the X display/session manager under the root account by typing " "in <literal>root</literal> to the prompt of the display manager such as " "<citerefentry><refentrytitle>gdm3</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Never run untrusted remote GUI program under X Window when critical " "information is displayed since it may eavesdrop your X screen." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Virtual consoles" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the default Debian system, there are six switchable <ulink url=" "\"&vtbaalike;\">VT100-like</ulink> character consoles available to start the " "command shell directly on the Linux host. Unless you are in a GUI " "environment, you can switch between the virtual consoles by pressing the " "<literal>Left-Alt-key</literal> and one of the <literal>F1</literal> — " "<literal>F6</literal> keys simultaneously. Each character console allows " "independent login to the account and offers the multiuser environment. This " "multiuser environment is a great Unix feature, and very addictive." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are under the X Window System, you gain access to the character " "console 1 by pressing <literal>Ctrl-Alt-F1</literal> key, i.e., the " "<literal>left-Ctrl-key</literal>, the <literal>left-Alt-key</literal>, and " "the <literal>F1-key</literal> are pressed together. You can get back to the " "X Window System, normally running on the virtual console 7, by pressing " "<literal>Alt-F7</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can alternatively change to another virtual console, e.g. to the console " "1, from the commandline." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# chvt 1" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "How to leave the command prompt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You type <literal>Ctrl-D</literal>, i.e., the <literal>left-Ctrl-key</" "literal> and the <literal>d-key</literal> pressed together, at the command " "prompt to close the shell activity. If you are at the character console, " "you return to the login prompt with this. Even though these control " "characters are referred as \"control D\" with the upper case, you do not " "need to press the Shift-key. The short hand expression, <literal>^D</" "literal>, is also used for <literal>Ctrl-D</literal>. Alternately, you can " "type \"exit\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are at <citerefentry><refentrytitle>x-terminal-emulator</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, you can close " "<literal>x-terminal-emulator</literal> window with this." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "How to shutdown the system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Just like any other modern OS where the file operation involves <ulink url=" "\"&cachingdata;\">caching data</ulink> in memory for improved performance, " "the Debian system needs the proper shutdown procedure before power can " "safely be turned off. This is to maintain the integrity of files, by forcing " "all changes in memory to be written to disk. If the software power control " "is available, the shutdown procedure automatically turns off power of the " "system. (Otherwise, you may have to press power button for few seconds after " "the shutdown procedure.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can shutdown the system under the normal multiuser mode from the " "commandline." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# shutdown -h now" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can shutdown the system under the single-user mode from the commandline." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# poweroff -i -f" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively, you may type <literal>Ctrl-Alt-Delete</literal> (The " "<literal>left-Ctrl-key</literal>, the <literal>left-Alt-Key</literal>, and " "the <literal>Delete</literal> are pressed together) to shutdown if " "\"<literal>/etc/inittab</literal>\" contains \"<literal>ca:12345:ctrlaltdel:/" "sbin/shutdown -t1 -a -h now</literal>\" in it. See " "<citerefentry><refentrytitle>inittab</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for details." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See <xref linkend=\"_how_to_shutdown_the_remote_system_on_ssh\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recovering a sane console" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When the screen goes berserk after doing some funny things such as " "\"<literal>cat <some-binary-file></literal>\", type \"<literal>reset</" "literal>\" at the command prompt. You may not be able to see the command " "echoed as you type. You may also issue \"<literal>clear</literal>\" to " "clean up the screen." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Additional package suggestions for the newbie" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although even the minimal installation of the Debian system without any " "desktop environment tasks provides the basic Unix functionality, it is a " "good idea to install few additional commandline and curses based character " "terminal packages such as <literal>mc</literal> and <literal>vim</literal> " "with <citerefentry><refentrytitle>apt-get</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for beginners to get started by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# apt-get update\n" " ...\n" "# apt-get install mc vim sudo\n" " ..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you already had these packages installed, no new packages are installed." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of interesting text-mode program packages" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "package" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "popcon" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "size" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "description" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DUMMY" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "A text-mode full-screen file manager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "A program to allow limited root privileges to users" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Unix text editor Vi IMproved, a programmers text editor (standard version)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Unix text editor Vi IMproved, a programmers text editor (compact version)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNU project Emacs, the Lisp based extensible text editor (version 23)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Text-mode WWW browsers" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The Unix style cut-and-paste on the text console (daemon)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "It may be a good idea to read some informative documentations." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of informative documentation packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Debian Project documentation, (Debian FAQ) and other documents" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Debian Policy Manual and related documents" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Guidelines and information for Debian developers" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Debian New Maintainers' Guide" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "History of the Debian Project" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Debian FAQ" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The Linux System Administrators' Guide" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can install some of these packages by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# apt-get install package_name" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "An extra user account" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you do not want to use your main user account for the following training " "activities, you can create a training user account, e.g. <literal>fish</" "literal> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# adduser fish" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Answer all questions." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This creates a new account named as <literal>fish</literal>. After your " "practice, you can remove this user account and its home directory by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# deluser --remove-home fish" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "sudo configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the typical single user workstation such as the desktop Debian system on " "the laptop PC, it is common to deploy simple configuration of " "<citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> as follows to let the non-privileged user, e.g. " "<literal>penguin</literal>, to gain administrative privilege just with his " "user password but without the root password." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# echo \"penguin ALL=(ALL) ALL\" >> /etc/sudoers" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively, it is also common to do as follows to let the non-privileged " "user, e.g. <literal>penguin</literal>, to gain administrative privilege " "without any password." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# echo \"penguin ALL=(ALL) NOPASSWD:ALL\" >> /etc/sudoers" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This trick should only be used for the single user workstation which you " "administer and where you are the only user." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not set up accounts of regular users on multiuser workstation like this " "because it would be very bad for system security." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The password and the account of the <literal>penguin</literal> in the above " "example requires as much protection as the root password and the root " "account." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Administrative privilege in this context belongs to someone authorized to " "perform the system administration task on the workstation. Never give some " "manager in the Admin department of your company or your boss such privilege " "unless they are authorized and capable." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For providing access privilege to limited devices and limited files, you " "should consider to use <emphasis role=\"strong\">group</emphasis> to provide " "limited access instead of using the <literal>root</literal> privilege via " "<citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "With more thoughtful and careful configuration, " "<citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> can grant limited administrative privileges to other users on " "a shared system without sharing the root password. This can help with " "accountability with hosts with multiple administrators so you can tell who " "did what. On the other hand, you might not want anyone else to have such " "privileges." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Play time" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Now you are ready to play with the Debian system without risks as long as " "you use the non-privileged user account." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is because the Debian system is, even after the default installation, " "configured with proper file permissions which prevent non-privileged users " "from damaging the system. Of course, there may still be some holes which " "can be exploited but those who worry about these issues should not be " "reading this section but should be reading <ulink url=" "\"&securingdebianmanual;\">Securing Debian Manual</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "We learn the Debian system as a <ulink url=\"&unixlike;\">Unix-like</ulink> " "system with the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_unix_like_filesystem\"/> (basic concept)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_midnight_commander_mc\"/> (survival method)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<xref linkend=\"_the_basic_unix_like_work_environment\"/> (basic method)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_the_simple_shell_command\"/> (shell mechanism)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_unix_like_text_processing\"/> (text processing method)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Unix-like filesystem" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In GNU/Linux and other <ulink url=\"&unixlike;\">Unix-like</ulink> operating " "systems, <ulink url=\"&files;\">files</ulink> are organized into <ulink url=" "\"&directories;\">directories</ulink>. All files and directories are " "arranged in one big tree rooted at \"<literal>/</literal>\". It's called a " "tree because if you draw the filesystem, it looks like a tree but it is " "upside down." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These files and directories can be spread out over several devices. " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> serves to attach the filesystem found on some device to the " "big file tree. Conversely, <citerefentry><refentrytitle>umount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> detaches it again. On " "recent Linux kernels, <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> with some options can " "bind part of a file tree somewhere else or can mount filesystem as shared, " "private, slave, or unbindable. Supported mount options for each filesystem " "are available in \"<literal>/share/doc/linux-doc-2.6.*/Documentation/" "filesystems/</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<emphasis role=\"strong\">Directories</emphasis> on Unix systems are called " "<emphasis role=\"strong\">folders</emphasis> on some other systems. Please " "also note that there is no concept for <emphasis role=\"strong\">drive</" "emphasis> such as \"<literal>A:</literal>\" on any Unix system. There is " "one filesystem, and everything is included. This is a huge advantage " "compared to Windows." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Unix file basics" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here are some Unix file basics." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Filenames are <emphasis role=\"strong\">case sensitive</emphasis>. That is, " "\"<literal>MYFILE</literal>\" and \"<literal>MyFile</literal>\" are " "different files." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">root directory</emphasis> means root of the " "filesystem referred as simply \"<literal>/</literal>\". Don't confuse this " "with the home directory for the root user: \"<literal>/root</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Every directory has a name which can contain any letters or symbols " "<emphasis role=\"strong\">except \"<literal>/</literal>\"</emphasis>. The " "root directory is an exception; its name is \"<literal>/</literal>" "\" (pronounced \"slash\" or \"the root directory\") and it cannot be renamed." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Each file or directory is designated by a <emphasis role=\"strong\">fully-" "qualified filename</emphasis>, <emphasis role=\"strong\">absolute filename</" "emphasis>, or <emphasis role=\"strong\">path</emphasis>, giving the sequence " "of directories which must be passed through to reach it. The three terms " "are synonymous." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "All <emphasis role=\"strong\">fully-qualified filenames</emphasis> begin " "with the \"<literal>/</literal>\" directory, and there's a \"<literal>/</" "literal>\" between each directory or file in the filename. The first " "\"<literal>/</literal>\" is the top level directory, and the other " "\"<literal>/</literal>\"'s separate successive subdirectories, until we " "reach the last entry which is the name of the actual file. The words used " "here can be confusing. Take the following <emphasis role=\"strong\">fully-" "qualified filename</emphasis> as an example: \"<literal>/usr/share/keytables/" "us.map.gz</literal>\". However, people also refers to its basename " "\"<literal>us.map.gz</literal>\" alone as a filename." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The root directory has a number of branches, such as \"<literal>/etc/</" "literal>\" and \"<literal>/usr/</literal>\". These subdirectories in turn " "branch into still more subdirectories, such as \"<literal>/etc/init.d/</" "literal>\" and \"<literal>/usr/local/</literal>\". The whole thing viewed " "collectively is called the <emphasis role=\"strong\">directory tree</" "emphasis>. You can think of an absolute filename as a route from the base " "of the tree (\"<literal>/</literal>\") to the end of some branch (a file). " "You also hear people talk about the directory tree as if it were a <emphasis " "role=\"strong\">family</emphasis> tree encompassing all direct descendants " "of a single figure called the root directory (\"<literal>/</literal>\"): " "thus subdirectories have <emphasis role=\"strong\">parents</emphasis>, and a " "path shows the complete ancestry of a file. There are also relative paths " "that begin somewhere other than the root directory. You should remember " "that the directory \"<literal>../</literal>\" refers to the parent " "directory. This terminology also applies to other directory like " "structures, such as hierarchical data structures." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "There's no special directory path name component that corresponds to a " "physical device, such as your hard disk. This differs from <ulink url=" "\"&rtbb;\">RT-11</ulink>, <ulink url=\"&cpm;\">CP/M</ulink>, <ulink url=" "\"&openvms;\">OpenVMS</ulink>, <ulink url=\"&msdos;\">MS-DOS</ulink>, <ulink " "url=\"&amigaos;\">AmigaOS</ulink>, and <ulink url=\"µsoftwindows;" "\">Microsoft Windows</ulink>, where the path contains a device name such as " "\"<literal>C:\\</literal>\". (However, directory entries do exist that " "refer to physical devices as a part of the normal filesystem. See <xref " "linkend=\"_filesystem_internals\"/>.)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "While you <emphasis role=\"strong\">can</emphasis> use almost any letters or " "symbols in a file name, in practice it is a bad idea to do so. It is better " "to avoid any characters that often have special meanings on the command " "line, including spaces, tabs, newlines, and other special characters: " "<literal>{ } ( ) [ ] ' ` \" \\ / > < | ; ! # & ^ * % @ $</" "literal> . If you want to separate words in a name, good choices are the " "period, hyphen, and underscore. You could also capitalize each word, " "\"<literal>LikeThis</literal>\". Experienced Linux users tend to avoid " "spaces in filenames." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The word \"root\" can mean either \"root user\" or \"root directory\". The " "context of their usage should make it clear." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The word <emphasis role=\"strong\">path</emphasis> is used not only for " "<emphasis role=\"strong\">fully-qualified filename</emphasis> as above but " "also for the <emphasis role=\"strong\">command search path</emphasis>. The " "intended meaning is usually clear from the context." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The detailed best practices for the file hierarchy are described in the " "Filesystem Hierarchy Standard (\"<literal>/usr/share/doc/debian-policy/fhs/" "fhs-2.3.txt.gz</literal>\" and <citerefentry><refentrytitle>hier</" "refentrytitle><manvolnum>7</manvolnum></citerefentry>). You should remember " "the following facts as the starter." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of usage of key directories" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "usage of the directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the root directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "system wide configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/log/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "system log files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/home/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "all the home directories for all non-privileged users" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Filesystem internals" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Following the <emphasis role=\"strong\">Unix tradition</emphasis>, the " "Debian GNU/Linux system provides the <ulink url=\"&filesystem;\">filesystem</" "ulink> under which physical data on hard disks and other storage devices " "reside, and the interaction with the hardware devices such as console " "screens and remote serial consoles are represented in an unified manner " "under \"<literal>/dev/</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each file, directory, named pipe (a way two programs can share data), or " "physical device on a Debian GNU/Linux system has a data structure called an " "<ulink url=\"&inode;\">inode</ulink> which describes its associated " "attributes such as the user who owns it (owner), the group that it belongs " "to, the time last accessed, etc. If you are really interested, see " "\"<literal>/usr/include/linux/fs.h</literal>\" for the exact definition of " "\"<literal>struct inode</literal>\" in the Debian GNU/Linux system. The idea " "of representing just about everything in the filesystem was a Unix " "innovation, and modern Linux kernels have developed this idea ever further. " "Now, even information about processes running in the computer can be found " "in the filesystem." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This abstract and unified representation of physical entities and internal " "processes is very powerful since this allows us to use the same command for " "the same kind of operation on many totally different devices. It is even " "possible to change the way the kernel works by writing data to special files " "that are linked to running processes." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you need to identify the correspondence between the file tree and the " "physical entity, execute <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> with no arguments." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Filesystem permissions" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&filesystempermissions;\">Filesystem permissions</ulink> of " "<ulink url=\"&unixlike;\">Unix-like</ulink> system are defined for three " "categories of affected users." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">user</emphasis> who owns the file (<emphasis " "role=\"strong\">u</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Other users in the <emphasis role=\"strong\">group</emphasis> which the file " "belongs to (<emphasis role=\"strong\">g</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "All <emphasis role=\"strong\">other</emphasis> users (<emphasis role=\"strong" "\">o</emphasis>) also referred to as \"world\" and \"everyone\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For the file, each corresponding permission allows following actions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">read</emphasis> (<emphasis role=\"strong\">r</" "emphasis>) permission allows owner to examine contents of the file." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">write</emphasis> (<emphasis role=\"strong\">w</" "emphasis>) permission allows owner to modify the file." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">execute</emphasis> (<emphasis role=\"strong" "\">x</emphasis>) permission allows owner to run the file as a command." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the directory, each corresponding permission allows following actions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">read</emphasis> (<emphasis role=\"strong\">r</" "emphasis>) permission allows owner to list contents of the directory." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">write</emphasis> (<emphasis role=\"strong\">w</" "emphasis>) permission allows owner to add or remove files in the directory." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">execute</emphasis> (<emphasis role=\"strong" "\">x</emphasis>) permission allows owner to access files in the directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, the <emphasis role=\"strong\">execute</emphasis> permission on a " "directory means not only to allow reading of files in that directory but " "also to allow viewing their attributes, such as the size and the " "modification time." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is used to display permission information (and more) for files " "and directories. When it is invoked with the \"<literal>-l</literal>\" " "option, it displays the following information in the order given." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Type of file</emphasis> (first character)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Access <emphasis role=\"strong\">permission</emphasis> of the file (nine " "characters, consisting of three characters each for user, group, and other " "in this order)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Number of hard links</emphasis> to the file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Name of the <emphasis role=\"strong\">user</emphasis> who owns the file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Name of the <emphasis role=\"strong\">group</emphasis> which the file " "belongs to" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Size</emphasis> of the file in characters (bytes)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Date and time</emphasis> of the file (mtime)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Name</emphasis> of the file" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of the first character of \"<literal>ls -l</literal>\" output" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "character" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "meaning" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "normal file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>d</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>l</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "symlink" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>c</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "character device node" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>b</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "block device node" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>p</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "named pipe" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>s</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "socket" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>chown</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is used from the root account to change the owner of the " "file. <citerefentry><refentrytitle>chgrp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> is used from the file's owner or root account to " "change the group of the file. <citerefentry><refentrytitle>chmod</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is used from the " "file's owner or root account to change file and directory access " "permissions. Basic syntax to manipulate a <literal>foo</literal> file is " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# chown <newowner> foo\n" "# chgrp <newgroup> foo\n" "# chmod [ugoa][+-=][rwxXst][,...] foo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For example, you can make a directory tree to be owned by a user " "<literal>foo</literal> and shared by a group <literal>bar</literal> by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd /some/location/\n" "# chown -R foo:bar .\n" "# chmod -R ug+rwX,o=rX ." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are three more special permission bits." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">set user ID</emphasis> bit (<emphasis role=" "\"strong\">s</emphasis> or <emphasis role=\"strong\">S</emphasis> instead of " "user's <emphasis role=\"strong\">x</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">set group ID</emphasis> bit (<emphasis role=" "\"strong\">s</emphasis> or <emphasis role=\"strong\">S</emphasis> instead of " "group's <emphasis role=\"strong\">x</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">sticky</emphasis> bit (<emphasis role=\"strong" "\">t</emphasis> or <emphasis role=\"strong\">T</emphasis> instead of other's " "<emphasis role=\"strong\">x</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here the output of \"<literal>ls -l</literal>\" for these bits is <emphasis " "role=\"strong\">capitalized</emphasis> if execution bits hidden by these " "outputs are <emphasis role=\"strong\">unset</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Setting <emphasis role=\"strong\">set user ID</emphasis> on an executable " "file allows a user to execute the executable file with the owner ID of the " "file (for example <emphasis role=\"strong\">root</emphasis>). Similarly, " "setting <emphasis role=\"strong\">set group ID</emphasis> on an executable " "file allows a user to execute the executable file with the group ID of the " "file (for example <emphasis role=\"strong\">root</emphasis>). Because these " "settings can cause security risks, enabling them requires extra caution." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Setting <emphasis role=\"strong\">set group ID</emphasis> on a directory " "enables the <ulink url=\"&bsdlike;\">BSD-like</ulink> file creation scheme " "where all files created in the directory belong to the <emphasis role=" "\"strong\">group</emphasis> of the directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Setting the <emphasis role=\"strong\">sticky bit</emphasis> on a directory " "prevents a file in the directory from being removed by a user who is not the " "owner of the file. In order to secure contents of a file in world-writable " "directories such as \"<literal>/tmp</literal>\" or in group-writable " "directories, one must not only reset the <emphasis role=\"strong\">write</" "emphasis> permission for the file but also set the <emphasis role=\"strong" "\">sticky bit</emphasis> on the directory. Otherwise, the file can be " "removed and a new file can be created with the same name by any user who has " "write access to the directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here are a few interesting examples of file permissions." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/exim4\n" "crw------T 1 root root 108, 0 Oct 16 20:57 /dev/ppp\n" "-rw-r--r-- 1 root root 2761 Aug 30 10:38 /etc/passwd\n" "-rw-r----- 1 root shadow 1695 Aug 30 10:38 /etc/shadow\n" "-rwsr-xr-x 1 root root 973824 Sep 23 20:04 /usr/sbin/exim4\n" "$ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src\n" "drwxrwxrwt 14 root root 20480 Oct 16 21:25 /tmp\n" "drwxrwsr-x 10 root staff 4096 Sep 29 22:50 /usr/local\n" "drwxr-xr-x 10 root root 4096 Oct 11 00:28 /usr/src\n" "drwxrwsr-x 2 root mail 4096 Oct 15 21:40 /var/mail\n" "drwxrwxrwt 3 root root 4096 Oct 16 21:20 /var/tmp" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There is an alternative numeric mode to describe file permissions with " "<citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>. This numeric mode uses 3 to 4 digit wide octal (radix=8) " "numbers." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "The numeric mode for file permissions in <citerefentry><refentrytitle>chmod</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "digit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1st optional digit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "sum of <emphasis role=\"strong\">set user ID</emphasis> (=4), <emphasis role=" "\"strong\">set group ID</emphasis> (=2), and <emphasis role=\"strong" "\">sticky bit</emphasis> (=1)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "2nd digit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "sum of <emphasis role=\"strong\">read</emphasis> (=4), <emphasis role=" "\"strong\">write</emphasis> (=2), and <emphasis role=\"strong\">execute</" "emphasis> (=1) permissions for <emphasis role=\"strong\">user</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "3rd digit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ditto for <emphasis role=\"strong\">group</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "4th digit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ditto for <emphasis role=\"strong\">other</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This sounds complicated but it is actually quite simple. If you look at the " "first few (2-10) columns from \"<literal>ls -l</literal>\" command output " "and read it as a binary (radix=2) representation of file permissions (\"-\" " "being \"0\" and \"rwx\" being \"1\"), the last 3 digit of the numeric mode " "value should make sense as an octal (radix=8) representation of file " "permissions to you." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For example, try the following" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ touch foo bar\n" "$ chmod u=rw,go=r foo\n" "$ chmod 644 bar\n" "$ ls -l foo bar\n" "-rw-r--r-- 1 penguin penguin 0 Oct 16 21:39 bar\n" "-rw-r--r-- 1 penguin penguin 0 Oct 16 21:35 foo" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you need to access information displayed by \"<literal>ls -l</literal>\" " "in shell script, you should use pertinent commands such as " "<citerefentry><refentrytitle>test</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>stat</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>readlink</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>. The shell builtin such as \"<literal>[</literal>" "\" or \"<literal>test</literal>\" may be used too." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Control of permissions for newly created files: umask" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "What permissions are applied to a newly created file or directory is " "restricted by the <literal>umask</literal> shell builtin command. See " "<citerefentry><refentrytitle>dash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>bash</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>builtins</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid " (file permissions) = (requested file permissions) & ~(umask value)" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The <emphasis role=\"strong\">umask</emphasis> value examples" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "umask" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "file permissions created" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "directory permissions created" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "usage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>0022</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>-rw-r--r--</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-rwxr-xr-x</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "writable only by the user" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>0002</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-rw-rw-r--</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-rwxrwxr-x</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "writable by the group" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The Debian system uses a user private group (UPG) scheme as its default. A " "UPG is created whenever a new user is added to the system. A UPG has the " "same name as the user for which it was created and that user is the only " "member of the UPG. UPG scheme makes it is safe to set umask to " "<literal>0002</literal> since every user has their own private group. (In " "some Unix variants, it is quite common to setup all normal users belonging " "to a single <emphasis role=\"strong\"><literal>users</literal></emphasis> " "group and is good idea to set umask to <literal>0022</literal> for security " "in such cases.)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Enable UPG by putting \"<literal>umask 002</literal>\" in the <literal>~/." "bashrc</literal> file." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Permissions for groups of users (group)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to make group permissions to be applied to a particular user, that " "user needs to be made a member of the group using \"<literal>sudo vigr</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Alternatively, you may dynamically add users to groups during the " "authentication process by adding \"<literal>auth optional pam_group.so</" "literal>\" line to \"<literal>/etc/pam.d/common-auth</literal>\" and setting " "\"<literal>/etc/security/group.conf</literal>\". (See <xref linkend=" "\"_authentication\"/>.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The hardware devices are just another kind of file on the Debian system. If " "you have problems accessing devices such as CD-ROM and USB memory stick from " "a user account, you should make that user a member of the relevant group." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some notable system-provided groups allow their members to access particular " "files and devices without <literal>root</literal> privilege." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of notable system-provided groups for file access" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "group" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description for accessible files and devices" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dialout</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "full and direct access to serial ports (\"<literal>/dev/ttyS[0-3]</literal>" "\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dip</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "limited access to serial ports for <emphasis role=\"strong\">Dialup IP</" "emphasis> connection to trusted peers" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cdrom</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "CD-ROM, DVD+/-RW drives" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>audio</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "audio device" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>video</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "video device" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>scanner</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "scanner(s)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>adm</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "system monitoring logs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>staff</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "some directories for junior administrative work: \"<literal>/usr/local</" "literal>\", \"<literal>/home</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You need to belong to the <literal>dialout</literal> group to reconfigure " "modem, dial anywhere, etc. But if <literal>root</literal> creates pre-" "defined configuration files for trusted peers in \"<literal>/etc/ppp/peers/</" "literal>\", you only need to belong to the <literal>dip</literal> group to " "create <emphasis role=\"strong\">Dialup IP</emphasis> connection to those " "trusted peers using <citerefentry><refentrytitle>pppd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>pon</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, and <citerefentry><refentrytitle>poff</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> commands." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some notable system-provided groups allow their members to execute " "particular commands without <literal>root</literal> privilege." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "List of notable system provided groups for particular command executions" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "accessible commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>sudo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "execute <literal>sudo</literal> without their password" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>lpadmin</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "execute commands to add, modify, and remove printers from printer databases" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the full listing of the system provided users and groups, see the recent " "version of the \"Users and Groups\" document in \"<literal>/usr/share/doc/" "base-passwd/users-and-groups.html</literal>\" provided by the <literal>base-" "passwd</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>group</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>newgrp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>vipw</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>vigr</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>pam_group</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for management commands of the user and group " "system." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Timestamps" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are three types of timestamps for a GNU/Linux file." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of types of timestamps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "type" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">mtime</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the file modification time (<literal>ls -l</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">ctime</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the file status change time (<literal>ls -lc</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">atime</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the last file access time (<literal>ls -lu</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "<emphasis role=\"strong\">ctime</emphasis> is not file creation time." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Overwriting a file changes all of the <emphasis role=\"strong\">mtime</" "emphasis>, <emphasis role=\"strong\">ctime</emphasis>, and <emphasis role=" "\"strong\">atime</emphasis> attributes of the file." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Changing ownership or permission of a file changes the <emphasis role=" "\"strong\">ctime</emphasis> and <emphasis role=\"strong\">atime</emphasis> " "attributes of the file." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Reading a file changes the <emphasis role=\"strong\">atime</emphasis> of the " "file." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Even simply reading a file on the Debian system normally causes a file write " "operation to update <emphasis role=\"strong\">atime</emphasis> information " "in the <emphasis role=\"strong\">inode</emphasis>. Mounting a filesystem " "with \"<literal>noatime</literal>\" or \"<literal>relatime</literal>\" " "option makes the system skip this operation and results in faster file " "access for the read. This is often recommended for laptops, because it " "reduces hard drive activity and saves power. See " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Use <citerefentry><refentrytitle>touch</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command to change timestamps of existing files." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For timestamps, the <literal>ls</literal> command outputs different strings " "under non-English locale (\"<literal>fr_FR.UTF-8</literal>\") from under the " "old one (\"<literal>C</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ LANG=fr_FR.UTF-8 ls -l foo\n" "-rw-rw-r-- 1 penguin penguin 0 oct. 16 21:35 foo\n" "$ LANG=C ls -l foo\n" "-rw-rw-r-- 1 penguin penguin 0 Oct 16 21:35 foo" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "See <xref linkend=\"_customized_display_of_time_and_date\"/> to customize " "\"<literal>ls -l</literal>\" output." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Links" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are two methods of associating a file \"<literal>foo</literal>\" with " "a different filename \"<literal>bar</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&hardlink;\">Hard link</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Duplicate name for an existing file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>ln foo bar</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&symboliclinkorsymlink;\">Symbolic link or symlink</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Special file that points to another file by name" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>ln -s foo bar</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See the following example for changes in link counts and the subtle " "differences in the result of the <literal>rm</literal> command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ umask 002\n" "$ echo \"Original Content\" > foo\n" "$ ls -li foo\n" "1449840 -rw-rw-r-- 1 penguin penguin 17 Oct 16 21:42 foo\n" "$ ln foo bar # hard link\n" "$ ln -s foo baz # symlink\n" "$ ls -li foo bar baz\n" "1449840 -rw-rw-r-- 2 penguin penguin 17 Oct 16 21:42 bar\n" "1450180 lrwxrwxrwx 1 penguin penguin 3 Oct 16 21:47 baz -> foo\n" "1449840 -rw-rw-r-- 2 penguin penguin 17 Oct 16 21:42 foo\n" "$ rm foo\n" "$ echo \"New Content\" > foo\n" "$ ls -li foo bar baz\n" "1449840 -rw-rw-r-- 1 penguin penguin 17 Oct 16 21:42 bar\n" "1450180 lrwxrwxrwx 1 penguin penguin 3 Oct 16 21:47 baz -> foo\n" "1450183 -rw-rw-r-- 1 penguin penguin 12 Oct 16 21:48 foo\n" "$ cat bar\n" "Original Content\n" "$ cat baz\n" "New Content" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The hardlink can be made within the same filesystem and shares the same " "inode number which the \"<literal>-i</literal>\" option with " "<citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> reveals." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The symlink always has nominal file access permissions of " "\"<literal>rwxrwxrwx</literal>\", as shown in the above example, with the " "effective access permissions dictated by permissions of the file that it " "points to." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "It is generally good idea not to create complicated symbolic links or " "hardlinks at all unless you have a very good reason. It may cause " "nightmares where the logical combination of the symbolic links results in " "loops in the filesystem." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "It is generally preferable to use symbolic links rather than hardlinks " "unless you have a good reason for using a hardlink." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>.</literal>\" directory links to the directory that it " "appears in, thus the link count of any new directory starts at 2. The " "\"<literal>..</literal>\" directory links to the parent directory, thus the " "link count of the directory increases with the addition of new " "subdirectories." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are just moving to Linux from Windows, it soon becomes clear how well-" "designed the filename linking of Unix is, compared with the nearest Windows " "equivalent of \"shortcuts\". Because it is implemented in the filesystem, " "applications can't see any difference between a linked file and the " "original. In the case of hardlinks, there really is no difference." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Named pipes (FIFOs)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A <ulink url=\"&namedpipe;\">named pipe</ulink> is a file that acts like a " "pipe. You put something into the file, and it comes out the other end. " "Thus it's called a FIFO, or First-In-First-Out: the first thing you put in " "the pipe is the first thing to come out the other end." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you write to a named pipe, the process which is writing to the pipe " "doesn't terminate until the information being written is read from the " "pipe. If you read from a named pipe, the reading process waits until there " "is nothing to read before terminating. The size of the pipe is always zero " "--- it does not store data, it just links two processes like the shell " "\"<literal>|</literal>\". However, since this pipe has a name, the two " "processes don't have to be on the same command line or even be run by the " "same user. Pipes were a very influential innovation of Unix." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd; mkfifo mypipe\n" "$ echo \"hello\" >mypipe & # put into background\n" "[1] 8022\n" "$ ls -l mypipe\n" "prw-rw-r-- 1 penguin penguin 0 Oct 16 21:49 mypipe\n" "$ cat mypipe\n" "hello\n" "[1]+ Done echo \"hello\" >mypipe\n" "$ ls mypipe\n" "mypipe\n" "$ rm mypipe" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Sockets" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Sockets are used extensively by all the Internet communication, databases, " "and the operating system itself. It is similar to the named pipe (FIFO) and " "allows processes to exchange information even between different computers. " "For the socket, those processes do not need to be running at the same time " "nor to be running as the children of the same ancestor process. This is the " "endpoint for <ulink url=\"&theinterprocesscommunicationipc;\">the inter " "process communication (IPC)</ulink>. The exchange of information may occur " "over the network between different hosts. The two most common ones are " "<ulink url=\"&theinternetsocket;\">the Internet socket</ulink> and <ulink " "url=\"&theunixdomainsocket;\">the Unix domain socket</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "\"<literal>netstat -an</literal>\" provides a very useful overview of " "sockets that are open on a given system." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Device files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&devicefiles;\">Device files</ulink> refer to physical or " "virtual devices on your system, such as your hard disk, video card, screen, " "or keyboard. An example of a virtual device is the console, represented by " "\"<literal>/dev/console</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are 2 types of device files." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Character device</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Accessed one character at a time" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "1 character = 1 byte" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "E.g. keyboard device, serial port, …" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Block device</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "accessed in larger units called blocks" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "1 block > 1 byte" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "E.g. hard disk, …" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can read and write device files, though the file may well contain binary " "data which may be an incomprehensible-to-humans gibberish. Writing data " "directly to these files is sometimes useful for the troubleshooting of " "hardware connections. For example, you can dump a text file to the printer " "device \"<literal>/dev/lp0</literal>\" or send modem commands to the " "appropriate serial port \"<literal>/dev/ttyS0</literal>\". But, unless this " "is done carefully, it may cause a major disaster. So be cautious." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For the normal access to a printer, use <citerefentry><refentrytitle>lp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The device node number are displayed by executing " "<citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ls -l /dev/sda /dev/sr0 /dev/ttyS0 /dev/zero\n" "brw-rw---T 1 root disk 8, 0 Oct 16 20:57 /dev/sda\n" "brw-rw---T+ 1 root cdrom 11, 0 Oct 16 21:53 /dev/sr0\n" "crw-rw---T 1 root dialout 4, 64 Oct 16 20:57 /dev/ttyS0\n" "crw-rw-rw- 1 root root 1, 5 Oct 16 20:57 /dev/zero" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/dev/sda</literal>\" has the major device number 8 and the minor " "device number 0. This is read/write accessible by the user who belongs to " "<literal>disk</literal> group." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/dev/sr0</literal>\" has the major device number 11 and the minor " "device number 0. This is read/write accessible by the user who belongs to " "<literal>cdrom</literal> group." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/dev/ttyS0</literal>\" has the major device number 4 and the " "minor device number 64. This is read/write accessible by the user who " "belongs to <literal>dialout</literal> group." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/dev/zero</literal>\" has the major device number 1 and the minor " "device number 5. This is read/write accessible by anyone." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "On the modern Linux system, the filesystem under \"<literal>/dev/</literal>" "\" is automatically populated by the <citerefentry><refentrytitle>udev</" "refentrytitle><manvolnum>7</manvolnum></citerefentry> mechanism." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Special device files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are some special device files." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of special device files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "device file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "action" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of response" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/dev/null</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "read" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "return \"end-of-file (EOF) character\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "write" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "return nothing (a bottomless data dump pit)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/dev/zero</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "return \"the <literal>\\0</literal> (NUL) character\" (not the same as the " "number zero ASCII)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/dev/random</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "return random characters from a true random number generator, delivering " "real entropy (slow)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/dev/urandom</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "return random characters from a cryptographically secure pseudorandom number " "generator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/dev/full</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "return the disk-full (ENOSPC) error" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "These are frequently used in conjunction with the shell redirection (see " "<xref linkend=\"_typical_command_sequences_and_shell_redirection\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "procfs and sysfs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&procfs;\">procfs</ulink> and <ulink url=\"&sysfs;\">sysfs</" "ulink> mounted on \"<literal>/proc</literal>\" and \"<literal>/sys</literal>" "\" are the pseudo-filesystem and expose internal data structures of the " "kernel to the userspace. In other word, these entries are virtual, meaning " "that they act as a convenient window into the operation of the operating " "system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The directory \"<literal>/proc</literal>\" contains (among other things) one " "subdirectory for each process running on the system, which is named after " "the process ID (PID). System utilities that access process information, such " "as <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, get their information from this directory structure." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The directories under \"<literal>/proc/sys/</literal>\" contain interface to " "change certain kernel parameters at run time. (You may do the same through " "specialized <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command or its preload/configuration file " "\"<literal>/etc/sysctrl.conf</literal>\".)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The Linux kernel may complain \"Too many open files\". You can fix this by " "increasing \"<literal>file-max</literal>\" value to a larger value from the " "root shell, e.g., \"<literal>echo \"65536\" > /proc/sys/fs/file-max</" "literal>\" (This was needed on older kernels)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "People frequently panic when they notice one file in particular - " "\"<literal>/proc/kcore</literal>\" - which is generally huge. This is (more " "or less) a copy of the content of your computer's memory. It's used to " "debug the kernel. It is a virtual file that points to computer memory, so " "don't worry about its size." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The directory under \"<literal>/sys</literal>\" contains exported kernel " "data structures, their attributes, and their linkages between them. It also " "contains interface to change certain kernel parameters at run time." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See \"<literal>proc.txt(.gz)</literal>\", \"<literal>sysfs.txt(.gz)</literal>" "\" and other related documents in the Linux kernel documentation " "(\"<literal>/usr/share/doc/linux-doc-2.6.*/Documentation/filesystems/*</" "literal>\") provided by the <literal>linux-doc-2.6.*</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "tmpfs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&tmpfs;\">tmpfs</ulink> is a temporary filesystem which " "keeps all files in the <ulink url=\"&virtualmemory;\">virtual memory</" "ulink>. The data of the tmpfs in the <ulink url=\"&pagecache;\">page cache</" "ulink> on memory may be swapped out to the <ulink url=\"&swapspace;\">swap " "space</ulink> on disk as needed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The directory \"<literal>/run</literal>\" is mounted as the tmpfs in the " "early boot process. This enables writing to it even when the directory " "\"<literal>/</literal>\" is mounted as read-only. This is the new location " "for the storage of transient state files and replaces several locations " "described in the <ulink url=\"&filesystemhierarchystandard;\">Filesystem " "Hierarchy Standard</ulink> version 2.3:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/var/run</literal>\" → \"<literal>/run</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/var/lock</literal>\" → \"<literal>/run/lock</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/dev/shm</literal>\" → \"<literal>/run/shm</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See \"<literal>tmpfs.txt(.gz)</literal>\" in the Linux kernel documentation " "(\"<literal>/usr/share/doc/linux-doc-*/Documentation/filesystems/*</literal>" "\") provided by the <literal>linux-doc-*</literal> package." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Midnight Commander (MC)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&midnightcommandermc;\">Midnight Commander (MC)</ulink> is a " "GNU \"Swiss army knife\" for the Linux console and other terminal " "environments. This gives newbie a menu driven console experience which is " "much easier to learn than standard Unix commands." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You may need to install the Midnight Commander package which is titled " "\"<literal>mc</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo apt-get install mc" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Use the <citerefentry><refentrytitle>mc</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command to explore the Debian system. This is the " "best way to learn. Please explore few interesting locations just using the " "cursor keys and Enter key." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/etc</literal>\" and its subdirectories" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/var/log</literal>\" and its subdirectories" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/usr/share/doc</literal>\" and its subdirectories" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/sbin</literal>\" and \"<literal>/bin</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customization of MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to make MC to change working directory upon exit and <literal>cd</" "literal> to the directory, I suggest to modify \"<literal>~/.bashrc</literal>" "\" to include a script provided by the <literal>mc</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid ". /usr/lib/mc/mc.sh" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>mc</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> (under the \"<literal>-P</literal>\" option) for the reason. " "(If you do not understand what exactly I am talking here, you can do this " "later.)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Starting MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "MC can be started by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ mc" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "MC takes care of all file operations through its menu, requiring minimal " "user effort. Just press F1 to get the help screen. You can play with MC " "just by pressing cursor-keys and function-keys." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "In some consoles such as <citerefentry><refentrytitle>gnome-terminal</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, key strokes of " "function-keys may be stolen by the console program. You can disable these " "features by \"Edit\" → \"Keyboard Shortcuts\" for <literal>gnome-terminal</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you encounter character encoding problem which displays garbage " "characters, adding \"<literal>-a</literal>\" to MC's command line may help " "prevent problems." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If this doesn't clear up your display problems with MC, see <xref linkend=" "\"_the_terminal_configuration\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "File manager in MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The default is two directory panels containing file lists. Another useful " "mode is to set the right window to \"information\" to see file access " "privilege information, etc. Following are some essential keystrokes. With " "the <citerefentry><refentrytitle>gpm</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon running, one can use a mouse on Linux " "character consoles, too. (Make sure to press the shift-key to obtain the " "normal behavior of cut and paste in MC.)" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The key bindings of MC" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "key" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "key binding" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "help menu" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F3</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "internal file viewer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F4</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "internal editor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F9</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "activate pull down menu" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F10</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "exit Midnight Commander" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Tab</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "move between two windows" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Insert</literal> or <literal>Ctrl-T</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "mark file for a multiple-file operation such as copy" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Del</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "delete file (be careful---set MC to safe delete mode)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Cursor keys" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "self-explanatory" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Command-line tricks in MC" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>cd</literal> command changes the directory shown on the selected " "screen." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>Ctrl-Enter</literal> or <literal>Alt-Enter</literal> copies a " "filename to the command line. Use this with <citerefentry><refentrytitle>cp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>mv</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> commands together with command-line editing." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>Alt-Tab</literal> shows shell filename expansion choices." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "One can specify the starting directory for both windows as arguments to MC; " "for example, \"<literal>mc /etc /root</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>Esc</literal> + <literal>n-key</literal> → <literal>Fn</literal> (i." "e., <literal>Esc</literal> + <literal>1</literal> → <literal>F1</literal>, " "etc.; <literal>Esc</literal> + <literal>0</literal> → <literal>F10</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Pressing <literal>Esc</literal> before the key has the same effect as " "pressing the <literal>Alt</literal> and the key together.; i.e., type " "<literal>Esc</literal> + <literal>c</literal> for <literal>Alt-C</literal>. " "<literal>Esc</literal> is called meta-key and sometimes noted as " "\"<literal>M-</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The internal editor in MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The internal editor has an interesting cut-and-paste scheme. Pressing " "<literal>F3</literal> marks the start of a selection, a second <literal>F3</" "literal> marks the end of selection and highlights the selection. Then you " "can move your cursor. If you press F6, the selected area is moved to the " "cursor location. If you press F5, the selected area is copied and inserted " "at the cursor location. <literal>F2</literal> saves the file. " "<literal>F10</literal> gets you out. Most cursor keys work intuitively." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This editor can be directly started on a file using one of the following " "commands." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ mc -e filename_to_edit" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ mcedit filename_to_edit" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is not a multi-window editor, but one can use multiple Linux consoles " "to achieve the same effect. To copy between windows, use Alt-F<n> " "keys to switch virtual consoles and use \"File→Insert file\" or \"File→Copy " "to file\" to move a portion of a file to another file." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This internal editor can be replaced with any external editor of choice." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Also, many programs use the environment variables \"<literal>$EDITOR</" "literal>\" or \"<literal>$VISUAL</literal>\" to decide which editor to use. " "If you are uncomfortable with <citerefentry><refentrytitle>vim</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> or " "<citerefentry><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> initially, you may set these to \"<literal>mcedit</literal>\" " "by adding the following lines to \"<literal>~/.bashrc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "export EDITOR=mcedit\n" "export VISUAL=mcedit" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "I do recommend setting these to \"<literal>vim</literal>\" if possible." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are uncomfortable with <citerefentry><refentrytitle>vim</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, you can keep using " "<citerefentry><refentrytitle>mcedit</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> for most system maintenance tasks." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The internal viewer in MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "MC is a very smart viewer. This is a great tool for searching words in " "documents. I always use this for files in the \"<literal>/usr/share/doc</" "literal>\" directory. This is the fastest way to browse through masses of " "Linux information. This viewer can be directly started using one of the " "following commands." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ mc -v path/to/filename_to_view" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ mcview path/to/filename_to_view" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Auto-start features of MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Press Enter on a file, and the appropriate program handles the content of " "the file (see <xref linkend=\"_customizing_program_to_be_started\"/>). This " "is a very convenient MC feature." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The reaction to the enter key in MC" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "file type" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "reaction to enter key" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "executable file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "execute command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "man file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pipe content to viewer software" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "html file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pipe content to web browser" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>*.tar.gz</literal>\" and \"<literal>*.deb</literal>\" file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "browse its contents as if subdirectory" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to allow these viewer and virtual file features to function, " "viewable files should not be set as executable. Change their status using " "<citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> or via the MC file menu." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "FTP virtual filesystem of MC" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "MC can be used to access files over the Internet using FTP. Go to the menu " "by pressing <literal>F9</literal>, then type \"<literal>p</literal>\" to " "activate the FTP virtual filesystem. Enter a URL in the form " "\"<literal>username:passwd@hostname.domainname</literal>\", which retrieves " "a remote directory that appears like a local one." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Try \"[http.us.debian.org/debian]\" as the URL and browse the Debian archive." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The basic Unix-like work environment" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although MC enables you to do almost everything, it is very important for " "you to learn how to use the command line tools invoked from the shell prompt " "and become familiar with the Unix-like work environment." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The login shell" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can select your login shell with <citerefentry><refentrytitle>chsh</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of shell programs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "POSIX shell" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Yes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&bash;\">Bash</ulink>: the GNU Bourne Again SHell (de facto " "standard)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "No" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&tenexcshell;\">TENEX C Shell</ulink>: an enhanced version of " "<ulink url=\"&berkeleycsh;\">Berkeley csh</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Debian <ulink url=\"&almquistshell;\">Almquist Shell</ulink>, good for shell " "script" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&zshell;\">Z shell</ulink>: the standard shell with many " "enhancements" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "public domain version of the <ulink url=\"&kornshell;\">Korn shell</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&openbsd;\">OpenBSD</ulink> C Shell, a version of <ulink url=" "\"&berkeleycsh;\">Berkeley csh</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&standaloneshell;\">Stand-alone shell</ulink> with builtin " "commands (Not meant for standard \"<literal>/bin/sh</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "the real, AT&T version of the <ulink url=\"&kornshell;\">Korn shell</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "implementation of the <ulink url=\"&attplanj;\">AT&T Plan 9</ulink> " "<ulink url=\"&rcshell;\">rc shell</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Policy-compliant Ordinary SHell (<literal>pdksh</literal> derivative)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In this tutorial chapter, the interactive shell always means <literal>bash</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customizing bash" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can customize <citerefentry><refentrytitle>bash</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> behavior by " "\"<literal>~/.bashrc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For example, try the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# CD upon exiting MC\n" ". /usr/lib/mc/mc.sh\n" "\n" "# set CDPATH to good one\n" "CDPATH=.:/usr/share/doc:~:~/Desktop:~\n" "export CDPATH\n" "\n" "PATH=\"${PATH}\":/usr/sbin:/sbin\n" "# set PATH so it includes user's private bin if it exists\n" "if [ -d ~/bin ] ; then\n" " PATH=~/bin:\"${PATH}\"\n" "fi\n" "export PATH\n" "\n" "EDITOR=vim\n" "export EDITOR" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can find more <literal>bash</literal> customization tips, such as <xref " "linkend=\"_colorized_commands\"/>, in <xref linkend=\"_system_tips\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Special key strokes" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the <ulink url=\"&unixlike;\">Unix-like</ulink> environment, there are " "few key strokes which have special meanings. Please note that on a normal " "Linux character console, only the left-hand <literal>Ctrl</literal> and " "<literal>Alt</literal> keys work as expected. Here are few notable key " "strokes to remember." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of key bindings for bash" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of key binding" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-U</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "erase line before cursor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-H</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "erase a character before cursor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-D</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "terminate input (exit shell if you are using shell)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-C</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "terminate a running program" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-Z</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "temporarily stop program by moving it to the background job" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-S</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "halt output to screen" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-Q</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "reactivate output to screen" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-Alt-Del</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "reboot/halt the system, see <citerefentry><refentrytitle>inittab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>Left-Alt-key</literal> (optionally, <literal>Windows-key</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "meta-key for Emacs and the similar UI" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Up-arrow</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "start command history search under <literal>bash</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-R</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "start incremental command history search under <literal>bash</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "complete input of the filename to the command line under <literal>bash</" "literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Ctrl-V</literal> <literal>Tab</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "input <literal>Tab</literal> without expansion to the command line under " "<literal>bash</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The terminal feature of <literal>Ctrl-S</literal> can be disabled using " "<citerefentry><refentrytitle>stty</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Unix style mouse operations" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Unix style mouse operations are based on the 3 button mouse system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of Unix style mouse operations" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "response" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Left-click-and-drag mouse" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "select and copy to the clipboard" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Left-click" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "select the start of selection" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Right-click" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "select the end of selection and copy to the clipboard" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Middle-click" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "paste clipboard at the cursor" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The center wheel on the modern wheel mouse is considered middle mouse button " "and can be used for middle-click. Clicking left and right mouse buttons " "together serves as the middle-click under the 2 button mouse system " "situation. In order to use a mouse in Linux character consoles, you need to " "have <citerefentry><refentrytitle>gpm</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> running as daemon." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The pager" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is the enhanced pager (file content browser). Hit " "\"<literal>h</literal>\" for help. It can do much more than " "<citerefentry><refentrytitle>more</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and can be supercharged by executing \"<literal>eval " "$(lesspipe)</literal>\" or \"<literal>eval $(lessfile)</literal>\" in the " "shell startup script. See more in \"<literal>/usr/share/doc/lessf/LESSOPEN</" "literal>\". The \"<literal>-R</literal>\" option allows raw character " "output and enables ANSI color escape sequences. See " "<citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The text editor" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You should become proficient in one of variants of <ulink url=\"&vim;\">Vim</" "ulink> or <ulink url=\"&emacs;\">Emacs</ulink> programs which are popular in " "the Unix-like system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I think getting used to Vim commands is the right thing to do, since Vi-" "editor is always there in the Linux/Unix world. (Actually, original " "<literal>vi</literal> or new <literal>nvi</literal> are programs you find " "everywhere. I chose Vim instead for newbie since it offers you help through " "<literal>F1</literal> key while it is similar enough and more powerful.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you chose either <ulink url=\"&emacs;\">Emacs</ulink> or <ulink url=" "\"&xemacs;\">XEmacs</ulink> instead as your choice of the editor, that is " "another good choice indeed, particularly for programming. Emacs has a " "plethora of other features as well, including functioning as a newsreader, " "directory editor, mail program, etc. When used for programming or editing " "shell scripts, it intelligently recognizes the format of what you are " "working on, and tries to provide assistance. Some people maintain that the " "only program they need on Linux is Emacs. Ten minutes learning Emacs now " "can save hours later. Having the GNU Emacs manual for reference when " "learning Emacs is highly recommended." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "All these programs usually come with tutoring program for you to learn them " "by practice. Start Vim by typing \"<literal>vim</literal>\" and press F1-" "key. You should at least read the first 35 lines. Then do the online " "training course by moving cursor to \"<literal>|tutor|</literal>\" and " "pressing <literal>Ctrl-]</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Good editors, such as Vim and Emacs, can be used to handle UTF-8 and other " "exotic encoding texts correctly with proper option in the x-terminal-" "emulator on X under UTF-8 locale with proper font settings. Please refer to " "their documentation on multibyte text." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Setting a default text editor" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Debian comes with a number of different editors. We recommend to install the " "<literal>vim</literal> package, as mentioned above." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Debian provides unified access to the system default editor via command " "\"<literal>/usr/bin/editor</literal>\" so other programs (e.g., " "<citerefentry><refentrytitle>reportbug</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>) can invoke it. You can change it by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo update-alternatives --config editor" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The choice \"<literal>/usr/bin/vim.basic</literal>\" over \"<literal>/usr/" "bin/vim.tiny</literal>\" is my recommendation for newbies since it supports " "syntax highlighting." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Many programs use the environment variables \"<literal>$EDITOR</literal>\" " "or \"<literal>$VISUAL</literal>\" to decide which editor to use (see <xref " "linkend=\"_the_internal_editor_in_mc\"/> and <xref linkend=" "\"_customizing_program_to_be_started\"/>). For the consistency on Debian " "system, set these to \"<literal>/usr/bin/editor</literal>\". (Historically, " "\"<literal>$EDITOR</literal>\" was \"<literal>ed</literal>\" and \"<literal>" "$VISUAL</literal>\" was \"<literal>vi</literal>\".)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customizing vim" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can customize <citerefentry><refentrytitle>vim</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> behavior by " "\"<literal>~/.vimrc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "\" -------------------------------\n" "\" Local configuration\n" "\"\n" "set nocompatible\n" "set nopaste\n" "set pastetoggle=<f2>\n" "syn on\n" "if $USER == \"root\"\n" " set nomodeline\n" " set noswapfile\n" "else\n" " set modeline\n" " set swapfile\n" "endif\n" "\" filler to avoid the line above being recognized as a modeline\n" "\" filler\n" "\" filler" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recording the shell activities" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The output of the shell command may roll off your screen and may be lost " "forever. It is good practice to log shell activities into the file for you " "to review them later. This kind of record is essential when you perform any " "system administration tasks." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The basic method of recording the shell activity is to run it under " "<citerefentry><refentrytitle>script</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ script\n" "Script started, file is typescript" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Do whatever shell commands under <literal>script</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Press <literal>Ctrl-D</literal> to exit <literal>script</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim typescript" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See <xref linkend=\"_recording_the_shell_activities_cleanly\"/> ." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic Unix commands" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's learn basic Unix commands. Here I use \"Unix\" in its generic sense. " "Any Unix clone OSs usually offer equivalent commands. The Debian system is " "no exception. Do not worry if some commands do not work as you wish now. If " "<literal>alias</literal> is used in the shell, its corresponding command " "outputs are different. These examples are not meant to be executed in this " "order." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Try all following commands from the non-privileged user account." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of basic Unix commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>pwd</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display name of current/working directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>whoami</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display current user name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>id</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display current user identity (name, uid, gid, and associated groups)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>file <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display a type of file for the file \"<literal><foo></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>type -p <commandname></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display a file location of command \"<literal><commandname></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>which <commandname></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid ", ," msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>type <commandname></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display information on command \"<literal><commandname></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apropos <key-word></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "find commands related to \"<literal><key-word></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>man -k <key-word></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>whatis <commandname></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display one line explanation on command \"<literal><commandname></" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>man -a <commandname></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display explanation on command \"<literal><commandname></literal>" "\" (Unix style)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>info <commandname></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display rather long explanation on command \"<literal><commandname></" "literal>\" (GNU style)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ls</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list contents of directory (non-dot files and directories)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ls -a</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list contents of directory (all files and directories)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ls -A</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "list contents of directory (almost all files and directories, i.e., skip " "\"<literal>..</literal>\" and \"<literal>.</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ls -la</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list all contents of directory with detail information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ls -lai</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list all contents of directory with inode number and detail information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ls -d</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list all directories under the current directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tree</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display file tree contents" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>lsof <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list open status of file \"<literal><foo></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>lsof -p <pid></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list files opened by the process ID: \"<literal><pid></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mkdir <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "make a new directory \"<literal><foo></literal>\" in the current " "directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>rmdir <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "remove a directory \"<literal><foo></literal>\" in the current " "directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "change directory to the directory \"<literal><foo></literal>\" in the " "current directory or in the directory listed in the variable \"<literal>" "$CDPATH</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd /</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "change directory to the root directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "change directory to the current user's home directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd /<foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "change directory to the absolute path directory \"<literal>/<foo></" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd ..</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "change directory to the parent directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd ~<foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "change directory to the home directory of the user \"<literal><foo></" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cd -</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "change directory to the previous directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal></etc/motd pager</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display contents of \"<literal>/etc/motd</literal>\" using the default pager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>touch <junkfile></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "create a empty file \"<literal><junkfile></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cp <foo> <bar></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "copy a existing file \"<literal><foo></literal>\" to a new file " "\"<literal><bar></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>rm <junkfile></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove a file \"<literal><junkfile></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mv <foo> <bar></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "rename an existing file \"<literal><foo></literal>\" to a new name " "\"<literal><bar></literal>\" (\"<literal><bar></literal>\" must " "not exist)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "move an existing file \"<literal><foo></literal>\" to a new location " "\"<literal><bar>/<foo></literal>\" (the directory \"<literal><" "bar></literal>\" must exist)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mv <foo> <bar>/<baz></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "move an existing file \"<literal><foo></literal>\" to a new location " "with a new name \"<literal><bar>/<baz></literal>\" (the " "directory \"<literal><bar></literal>\" must exist but the directory " "\"<literal><bar>/<baz></literal>\" must not exist)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>chmod 600 <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "make an existing file \"<literal><foo></literal>\" to be non-readable " "and non-writable by the other people (non-executable for all)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>chmod 644 <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "make an existing file \"<literal><foo></literal>\" to be readable but " "non-writable by the other people (non-executable for all)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>chmod 755 <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "make an existing file \"<literal><foo></literal>\" to be readable but " "non-writable by the other people (executable for all)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>find . -name <pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "find matching filenames using shell \"<literal><pattern></literal>" "\" (slower)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>locate -d . <pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "find matching filenames using shell \"<literal><pattern></literal>" "\" (quicker using regularly generated database)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>grep -e \"<pattern>\" *.html</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "find a \"<pattern>\" in all files ending with \"<literal>.html</" "literal>\" in current directory and display them all" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>top</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display process information using full screen, type \"<literal>q</literal>\" " "to quit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ps aux | pager</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display information on all the running processes using BSD style output" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ps -ef | pager</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display information on all the running processes using Unix system-V style " "output" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ps aux | grep -e \"[e]xim4*\"</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display all processes running \"<literal>exim</literal>\" and " "\"<literal>exim4</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ps axf | pager</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display information on all the running processes with ASCII art output" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>kill <1234></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "kill a process identified by the process ID: \"<1234>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gzip <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "compress \"<literal><foo></literal>\" to create \"<literal><foo>." "gz</literal>\" using the Lempel-Ziv coding (LZ77)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gunzip <foo>.gz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "decompress \"<literal><foo>.gz</literal>\" to create \"<literal><" "foo></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>bzip2 <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "compress \"<literal><foo></literal>\" to create \"<literal><foo>." "bz2</literal>\" using the Burrows-Wheeler block sorting text compression " "algorithm, and Huffman coding (better compression than <literal>gzip</" "literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>bunzip2 <foo>.bz2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "decompress \"<literal><foo>.bz2</literal>\" to create \"<literal><" "foo></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xz <foo></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "compress \"<literal><foo></literal>\" to create \"<literal><foo>." "xz</literal>\" using the Lempel–Ziv–Markov chain algorithm (better " "compression than <literal>bzip2</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>unxz <foo>.xz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "decompress \"<literal><foo>.xz</literal>\" to create \"<literal><" "foo></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -xvf <foo>.tar</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract files from \"<literal><foo>.tar</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -xvzf <foo>.tar.gz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "extract files from gzipped \"<literal><foo>.tar.gz</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -xvjf <foo>.tar.bz2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract files from \"<literal><foo>.tar.bz2</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -xvJf <foo>.tar.xz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract files from \"<literal><foo>.tar.xz</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -cvf <foo>.tar <bar>/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "archive contents of folder \"<literal><bar>/</literal>\" in " "\"<literal><foo>.tar</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -cvzf <foo>.tar.gz <bar>/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "archive contents of folder \"<literal><bar>/</literal>\" in compressed " "\"<literal><foo>.tar.gz</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -cvjf <foo>.tar.bz2 <bar>/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "archive contents of folder \"<literal><bar>/</literal>\" in " "\"<literal><foo>.tar.bz2</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tar -cvJf <foo>.tar.xz <bar>/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "archive contents of folder \"<literal><bar>/</literal>\" in " "\"<literal><foo>.tar.xz</literal>\" archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>zcat README.gz | pager</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display contents of compressed \"<literal>README.gz</literal>\" using the " "default pager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>zcat README.gz > foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "create a file \"<literal>foo</literal>\" with the decompressed content of " "\"<literal>README.gz</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>zcat README.gz >> foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "append the decompressed content of \"<literal>README.gz</literal>\" to the " "end of the file \"<literal>foo</literal>\" (if it does not exist, create it " "first)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Unix has a tradition to hide filenames which start with \"<literal>.</" "literal>\". They are traditionally files that contain configuration " "information and user preferences." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For <literal>cd</literal> command, see " "<citerefentry><refentrytitle>builtins</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The default pager of the bare bone Debian system is " "<citerefentry><refentrytitle>more</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> which cannot scroll back. By installing the <literal>less</" "literal> package using command line \"<literal>apt-get install less</literal>" "\", <citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> becomes default pager and you can scroll back with " "cursor keys." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The \"<literal>[</literal>\" and \"<literal>]</literal>\" in the regular " "expression of the \"<literal>ps aux | grep -e \"[e]xim4*\"</literal>\" " "command above enable <literal>grep</literal> to avoid matching itself. The " "\"<literal>4*</literal>\" in the regular expression means 0 or more repeats " "of character \"<literal>4</literal>\" thus enables <literal>grep</literal> " "to match both \"<literal>exim</literal>\" and \"<literal>exim4</literal>\". " "Although \"<literal>*</literal>\" is used in the shell filename glob and the " "regular expression, their meanings are different. Learn the regular " "expression from <citerefentry><refentrytitle>grep</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please traverse directories and peek into the system using the above " "commands as training. If you have questions on any of console commands, " "please make sure to read the manual page." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ man man\n" "$ man bash\n" "$ man builtins\n" "$ man grep\n" "$ man ls" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The style of man pages may be a little hard to get used to, because they are " "rather terse, particularly the older, very traditional ones. But once you " "get used to it, you come to appreciate their succinctness." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that many Unix-like commands including ones from GNU and BSD " "display brief help information if you invoke them in one of the following " "ways (or without any arguments in some cases)." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ <commandname> --help\n" "$ <commandname> -h" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The simple shell command" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have some feel on how to use the Debian system. Let's look deep " "into the mechanism of the command execution in the Debian system. Here, I " "have simplified reality for the newbie. See " "<citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> for the exact explanation." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "A simple command is a sequence of components." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "Variable assignments (optional)" msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "Command name" msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "Arguments (optional)" msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Redirections (optional: <literal>></literal> , <literal>>></" "literal> , <literal><</literal> , <literal><<</literal> , etc.)" msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Control operator (optional: <literal>&&</literal> , <literal>||</" "literal> , <newline> , <literal>;</literal> , <literal>&</" "literal> , <literal>(</literal> , <literal>)</literal> )" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Command execution and environment variable" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Values of some <ulink url=\"&environmentvariables;\">environment variables</" "ulink> change the behavior of some Unix commands." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Default values of environment variables are initially set by the PAM system " "and then some of them may be reset by some application programs." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The display manager such as <literal>gdm3</literal> resets environment " "variables." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell in its start up codes resets environment variables in \"<literal>~/" "bash_profile</literal>\" and \"<literal>~/.bashrc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "\"<literal>$LANG</literal>\" variable" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The full locale value given to \"<literal>$LANG</literal>\" variable " "consists of 3 parts: \"<literal>xx_YY.ZZZZ</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "3 parts of locale value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "locale value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xx</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&isogdjlanguagecoowercasesuchasen;\">ISO 639 language codes " "(lower case) such as \"en\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>YY</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&isodbggcountrycoppercasesuchasus;\">ISO 3166 country codes " "(upper case) such as \"US\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ZZZZ</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&codesetalwayssettoutfi;\">codeset, always set to \"UTF-8\"</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For language codes and country codes, see pertinent description in the " "\"<literal>info gettext</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the codeset on the modern Debian system, you should always set it to " "<emphasis role=\"strong\"><literal>UTF-8</literal></emphasis> unless you " "specifically want to use the historic one with good reason and background " "knowledge." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For fine details of the locale configuration, see <xref linkend=\"_the_locale" "\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The \"<literal>LANG=en_US</literal>\" is not \"<literal>LANG=C</literal>\" " "nor \"<literal>LANG=en_US.UTF-8</literal>\". It is \"<literal>LANG=en_US." "ISO-8859-1</literal>\" (see <xref linkend=\"_basics_of_encoding\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of locale recommendations" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "locale recommendation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Language (area)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>en_US.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "English(USA)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>en_GB.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "English(Great_Britain)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>fr_FR.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "French(France)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>de_DE.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "German(Germany)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>it_IT.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Italian(Italy)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>es_ES.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Spanish(Spain)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ca_ES.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Catalan(Spain)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>sv_SE.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Swedish(Sweden)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>pt_BR.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Portuguese(Brazil)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ru_RU.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Russian(Russia)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>zh_CN.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Chinese(P.R._of_China)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>zh_TW.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Chinese(Taiwan_R.O.C.)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ja_JP.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Japanese(Japan)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ko_KR.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Korean(Republic_of_Korea)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>vi_VN.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Vietnamese(Vietnam)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Typical command execution uses a shell line sequence as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ date\n" "Sun Jun 3 10:27:39 JST 2007\n" "$ LANG=fr_FR.UTF-8 date\n" "dimanche 3 juin 2007, 10:27:33 (UTC+0900)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, the program <citerefentry><refentrytitle>date</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is executed with " "different values of the environment variable \"<literal>$LANG</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "For the first command, \"<literal>$LANG</literal>\" is set to the system " "default <ulink url=\"&locale;\">locale</ulink> value \"<literal>en_US.UTF-8</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "For the second command, \"<literal>$LANG</literal>\" is set to the French " "UTF-8 <ulink url=\"&locale;\">locale</ulink> value \"<literal>fr_FR.UTF-8</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Most command executions usually do not have preceding environment variable " "definition. For the above example, you can alternatively execute as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ LANG=fr_FR.UTF-8\n" "$ date\n" "dimanche 3 juin 2007, 10:27:33 (UTC+0900)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "As you can see here, the output of command is affected by the environment " "variable to produce French output. If you want the environment variable to " "be inherited to subprocesses (e.g., when calling shell script), you need to " "<emphasis role=\"strong\">export</emphasis> it instead by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ export LANG" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "When filing a bug report, running and checking the command under " "\"<literal>LANG=en_US.UTF-8</literal>\" is good idea if you use non-English " "environment." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>locale</" "refentrytitle><manvolnum>7</manvolnum></citerefentry> for \"<literal>$LANG</" "literal>\" and related environment variables." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "I recommend you to configure the system environment just by the \"<literal>" "$LANG</literal>\" variable and to stay away from \"<literal>$LC_*</literal>" "\" variables unless it is absolutely needed." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "\"<literal>$PATH</literal>\" variable" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you type a command into the shell, the shell searches the command in " "the list of directories contained in the \"<literal>$PATH</literal>\" " "environment variable. The value of the \"<literal>$PATH</literal>\" " "environment variable is also called the shell's search path." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the default Debian installation, the \"<literal>$PATH</literal>\" " "environment variable of user accounts may not include \"<literal>/sbin</" "literal>\" and \"<literal>/usr/sbin</literal>\". For example, the " "<literal>ifconfig</literal> command needs to be issued with full path as " "\"<literal>/sbin/ifconfig</literal>\". (Similar <literal>ip</literal> " "command is located in \"<literal>/bin</literal>\".)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can change the \"<literal>$PATH</literal>\" environment variable of Bash " "shell by \"<literal>~/.bash_profile</literal>\" or \"<literal>~/.bashrc</" "literal>\" files." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "\"<literal>$HOME</literal>\" variable" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many commands stores user specific configuration in the home directory and " "changes their behavior by their contents. The home directory is identified " "by the environment variable \"<literal>$HOME</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of \"<literal>$HOME</literal>\" values" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "value of \"<literal>$HOME</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "program execution situation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program run by the init process (daemon)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/root</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program run from the normal root shell" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/home/<normal_user></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program run from the normal user shell" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program run from the normal user GUI desktop menu" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program run as root with \"<literal>sudo program</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program run as root with \"<literal>sudo -H program</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Shell expands \"<literal>~/</literal>\" to current user's home directory, i." "e., \"<literal>$HOME/</literal>\". Shell expands \"<literal>~foo/</literal>" "\" to <literal>foo</literal>'s home directory, i.e., \"<literal>/home/foo/</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Command line options" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some commands take arguments. Arguments starting with \"<literal>-</literal>" "\" or \"<literal>--</literal>\" are called options and control the behavior " "of the command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ date\n" "Mon Oct 27 23:02:09 CET 2003\n" "$ date -R\n" "Mon, 27 Oct 2003 23:02:40 +0100" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here the command-line argument \"<literal>-R</literal>\" changes " "<citerefentry><refentrytitle>date</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> behavior to output <ulink url=\"&rfccicc;\">RFC2822</ulink> " "compliant date string." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Shell glob" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Often you want a command to work with a group of files without typing all of " "them. The filename expansion pattern using the shell <emphasis role=\"strong" "\">glob</emphasis>, (sometimes referred as <emphasis role=\"strong" "\">wildcards</emphasis>), facilitate this need." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Shell glob patterns" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "shell glob pattern" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of match rule" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>*</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "filename (segment) not started with \"<literal>.</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.*</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "filename (segment) started with \"<literal>.</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>?</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "exactly one character" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[…]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "exactly one character with any character enclosed in brackets" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[a-z]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "exactly one character with any character between \"<literal>a</literal>\" " "and \"<literal>z</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[^…]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "exactly one character other than any character enclosed in brackets " "(excluding \"<literal>^</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ mkdir junk; cd junk; touch 1.txt 2.txt 3.c 4.h .5.txt ..6.txt\n" "$ echo *.txt\n" "1.txt 2.txt\n" "$ echo *\n" "1.txt 2.txt 3.c 4.h\n" "$ echo *.[hc]\n" "3.c 4.h\n" "$ echo .*\n" ". .. .5.txt ..6.txt\n" "$ echo .*[^.]*\n" ".5.txt ..6.txt\n" "$ echo [^1-3]*\n" "4.h\n" "$ cd ..; rm -rf junk" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>glob</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Unlike normal filename expansion by the shell, the shell pattern " "\"<literal>*</literal>\" tested in <citerefentry><refentrytitle>find</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> with \"<literal>-name</" "literal>\" test etc., matches the initial \"<literal>.</literal>\" of the " "filename. (New <ulink url=\"&posix;\">POSIX</ulink> feature)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "BASH can be tweaked to change its glob behavior with its shopt builtin " "options such as \"<literal>dotglob</literal>\", \"<literal>noglob</literal>" "\", \"<literal>nocaseglob</literal>\", \"<literal>nullglob</literal>\", " "\"<literal>nocaseglob</literal>\", \"<literal>extglob</literal>\", etc. See " "<citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Return value of the command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each command returns its exit status (variable: \"<literal>$?</literal>\") " "as the return value." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Command exit codes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "command exit status" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "numeric return value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "logical return value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "success" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "zero, 0" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">TRUE</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "error" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "non-zero, -1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">FALSE</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ [ 1 = 1 ] ; echo $?\n" "0\n" "$ [ 1 = 2 ] ; echo $?\n" "1" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Please note that, in the logical context for the shell, <emphasis role=" "\"strong\">success</emphasis> is treated as the logical <emphasis role=" "\"strong\">TRUE</emphasis> which has 0 (zero) as its value. This is " "somewhat non-intuitive and needs to be reminded here." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Typical command sequences and shell redirection" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's try to remember following shell command idioms typed in one line as a " "part of shell command." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Shell command idioms" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "command idiom" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command &</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<emphasis role=\"strong\">background</emphasis> execution of " "<literal>command</literal> in the subshell" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command1 | command2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<emphasis role=\"strong\">pipe</emphasis> the standard output of " "<literal>command1</literal> to the standard input of <literal>command2</" "literal> (<emphasis role=\"strong\">concurrent</emphasis> execution)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command1 2>&1 | command2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<emphasis role=\"strong\">pipe</emphasis> both standard output and standard " "error of <literal>command1</literal> to the standard input of " "<literal>command2</literal> (<emphasis role=\"strong\">concurrent</emphasis> " "execution)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command1 ; command2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "execute <literal>command1</literal> and <literal>command2</literal> " "<emphasis role=\"strong\">sequentially</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command1 && command2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "execute <literal>command1</literal>; if successful, execute " "<literal>command2</literal> <emphasis role=\"strong\">sequentially</" "emphasis> (return success if both <literal>command1</literal> <emphasis role=" "\"strong\">and</emphasis> <literal>command2</literal> are successful)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command1 || command2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "execute <literal>command1</literal>; if not successful, execute " "<literal>command2</literal> <emphasis role=\"strong\">sequentially</" "emphasis> (return success if <literal>command1</literal> <emphasis role=" "\"strong\">or</emphasis> <literal>command2</literal> are successful)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command > foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard output of <literal>command</literal> to a file " "<literal>foo</literal> (overwrite)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command 2> foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard error of <literal>command</literal> to a file " "<literal>foo</literal> (overwrite)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command >> foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard output of <literal>command</literal> to a file " "<literal>foo</literal> (append)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command 2>> foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard error of <literal>command</literal> to a file " "<literal>foo</literal> (append)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command > foo 2>&1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect both standard output and standard error of <literal>command</" "literal> to a file \"<literal>foo</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command < foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard input of <literal>command</literal> to a file " "<literal>foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command << delimiter</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard input of <literal>command</literal> to the following lines " "until \"<literal>delimiter</literal>\" is met (here document)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>command <<- delimiter</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "redirect standard input of <literal>command</literal> to the following lines " "until \"<literal>delimiter</literal>\" is met (here document, the leading " "tab characters are stripped from input lines)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The Debian system is a multi-tasking system. Background jobs allow users to " "run multiple programs in a single shell. The management of the background " "process involves the shell builtins: <literal>jobs</literal>, <literal>fg</" "literal>, <literal>bg</literal>, and <literal>kill</literal>. Please read " "sections of bash(1) under \"SIGNALS\", and \"JOB CONTROL\", and " "<citerefentry><refentrytitle>builtins</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ </etc/motd pager" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ pager </etc/motd" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ pager /etc/motd" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cat /etc/motd | pager" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although all 4 examples of shell redirections display the same thing, the " "last example runs an extra <literal>cat</literal> command and wastes " "resources with no reason." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The shell allows you to open files using the <literal>exec</literal> builtin " "with an arbitrary file descriptor." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ echo Hello >foo\n" "$ exec 3<foo 4>bar # open files\n" "$ cat <&3 >&4 # redirect stdin to 3, stdout to 4\n" "$ exec 3<&- 4>&- # close files\n" "$ cat bar\n" "Hello" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The file descriptor 0-2 are predefined." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Predefined file descriptors" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "device" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "file descriptor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>stdin</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "standard input" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "0" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>stdout</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "standard output" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>stderr</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "standard error" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "2" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Command alias" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can set an alias for the frequently used command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ alias la='ls -la'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Now, \"<literal>la</literal>\" works as a short hand for \"<literal>ls -la</" "literal>\" which lists all files in the long listing format." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can list any existing aliases by <literal>alias</literal> (see " "<citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> under \"SHELL BUILTIN COMMANDS\")." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ alias\n" "...\n" "alias la='ls -la'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can identity exact path or identity of the command by <literal>type</" "literal> (see <citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> under \"SHELL BUILTIN COMMANDS\")." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ type ls\n" "ls is hashed (/bin/ls)\n" "$ type la\n" "la is aliased to ls -la\n" "$ type echo\n" "echo is a shell builtin\n" "$ type file\n" "file is /usr/bin/file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here <literal>ls</literal> was recently searched while \"<literal>file</" "literal>\" was not, thus \"<literal>ls</literal>\" is \"hashed\", i.e., the " "shell has an internal record for the quick access to the location of the " "\"<literal>ls</literal>\" command." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "See <xref linkend=\"_colorized_commands\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Unix-like text processing" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In Unix-like work environment, text processing is done by piping text " "through chains of standard text processing tools. This was another crucial " "Unix innovation." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Unix text tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are few standard text processing tools which are used very often on " "the Unix-like system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "No regular expression is used:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> concatenates files and outputs the whole content." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tac</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> concatenates files and outputs in reverse." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>cut</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> selects parts of lines and outputs." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>head</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> outputs the first part of files." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tail</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> outputs the last part of files." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>sort</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> sorts lines of text files." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>uniq</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> removes duplicate lines from a sorted file." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tr</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> translates or deletes characters." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>diff</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> compares files line by line." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Basic regular expression (<emphasis role=\"strong\">BRE</emphasis>) is used:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>grep</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> matches text with patterns." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>ed</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is a primitive line editor." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>sed</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is a stream editor." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is a screen editor." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>emacs</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is a screen editor. (somewhat extended <emphasis role=\"strong" "\">BRE</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Extended regular expression (<emphasis role=\"strong\">ERE</emphasis>) is " "used:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>egrep</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> matches text with patterns." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>awk</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> does simple text processing." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tcl</refentrytitle><manvolnum>3tcl</manvolnum></" "citerefentry> can do every conceivable text processing: " "<citerefentry><refentrytitle>re_syntax</refentrytitle><manvolnum>3</" "manvolnum></citerefentry>. Often used with <citerefentry><refentrytitle>tk</" "refentrytitle><manvolnum>3tk</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>perl</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> can do every conceivable text processing. " "<citerefentry><refentrytitle>perlre</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>pcregrep</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> from the <literal>pcregrep</literal> package " "matches text with <ulink url=\"&perlcompatiblererexpressionspcre;\">Perl " "Compatible Regular Expressions (PCRE)</ulink> pattern." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>python</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> with the <literal>re</literal> module can do every conceivable " "text processing. See \"<literal>/usr/share/doc/python/html/index.html</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are not sure what exactly these commands do, please use " "\"<literal>man command</literal>\" to figure it out by yourself." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Sort order and range expression are locale dependent. If you wish to obtain " "traditional behavior for a command, use <emphasis role=\"strong\">C</" "emphasis> locale instead of <emphasis role=\"strong\">UTF-8</emphasis> ones " "by prepnding command with \"<literal>LANG=C</literal>\" (see <xref linkend=" "\"_literal_lang_literal_variable\"/> and <xref linkend=\"_the_locale\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<ulink url=\"&perl;\">Perl</ulink> regular expressions " "(<citerefentry><refentrytitle>perlre</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>), <ulink url=\"&perlcompatiblererexpressionspcre;" "\">Perl Compatible Regular Expressions (PCRE)</ulink>, and <ulink url=" "\"&python;\">Python</ulink> regular expressions offered by the <literal>re</" "literal> module have many common extensions to the normal <emphasis role=" "\"strong\">ERE</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Regular expressions" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"®ularexpressions;\">Regular expressions</ulink> are used in " "many text processing tools. They are analogous to the shell globs, but they " "are more complicated and powerful." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The regular expression describes the matching pattern and is made up of text " "characters and <emphasis role=\"strong\">metacharacters</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">metacharacter</emphasis> is just a character " "with a special meaning. There are 2 major styles, <emphasis role=\"strong" "\">BRE</emphasis> and <emphasis role=\"strong\">ERE</emphasis>, depending on " "the text tools as described above." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Metacharacters for BRE and ERE" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "BRE" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "ERE" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of the regular expression" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> \\ . [ ] ^ $ * </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\ . [ ] ^ $ *</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "common <emphasis role=\"strong\">metacharacters</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\+ \\? \\( \\) \\{ \\} \\|</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid " " msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "BRE only \"<literal>\\</literal>\" escaped <emphasis role=\"strong" "\">metacharacters</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>+ ? ( ) { } |</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "ERE only non-\"<literal>\\</literal>\" escaped <emphasis role=\"strong" "\">metacharacters</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match <emphasis role=\"strong\">non-metacharacter</emphasis> \"<literal>c</" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\c</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match a literal character \"<literal>c</literal>\" even if \"<literal>c</" "literal>\" is <emphasis role=\"strong\">metacharacter</emphasis> by itself" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match any character including newline" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "position at the beginning of a string" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "position at the end of a string" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\<</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "position at the beginning of a word" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "position at the end of a word" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\[abc…\\]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[abc…]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match any characters in \"<literal>abc…</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\[^abc…\\]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[^abc…]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match any characters except in \"<literal>abc…</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r*</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match zero or more regular expressions identified by \"<literal>r</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r\\+</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r+</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match one or more regular expressions identified by \"<literal>r</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r\\?</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r?</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match zero or one regular expressions identified by \"<literal>r</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r1\\|r2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r1|r2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match one of the regular expressions identified by \"<literal>r1</literal>\" " "or \"<literal>r2</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\(r1\\|r2\\)</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>(r1|r2)</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match one of the regular expressions identified by \"<literal>r1</literal>\" " "or \"<literal>r2</literal>\" and treat it as a <emphasis role=\"strong" "\">bracketed</emphasis> regular expression" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The regular expression of <emphasis role=\"strong\"><literal>emacs</" "literal></emphasis> is basically <emphasis role=\"strong\">BRE</emphasis> " "but has been extended to treat \"<literal>+</literal>\"and \"<literal>?</" "literal>\" as the <emphasis role=\"strong\">metacharacters</emphasis> as in " "<emphasis role=\"strong\">ERE</emphasis>. Thus, there are no needs to " "escape them with \"<literal>\\</literal>\" in the regular expression of " "<literal>emacs</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>grep</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> can be used to perform the text search using the regular " "expression." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ egrep 'GNU.*LICENSE|Yoyodyne' /usr/share/common-licenses/GPL\n" "GNU GENERAL PUBLIC LICENSE\n" "GNU GENERAL PUBLIC LICENSE\n" "Yoyodyne, Inc., hereby disclaims all copyright interest in the program" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Replacement expressions" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For the replacement expression, some characters have special meanings." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The replacement expression" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "replacement expression" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of the text to replace the replacement expression" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "what the regular expression matched (use <literal>\\&</literal> in " "<literal>emacs</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\n</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "what the n-th <emphasis role=\"strong\">bracketed</emphasis> regular " "expression matched (\"n\" being number)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For Perl replacement string, \"<literal>$n</literal>\" is used instead of " "\"<literal>\\n</literal>\" and \"<literal>&</literal>\" has no special " "meaning." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ echo zzz1abc2efg3hij4 | \\\n" "sed -e 's/\\(1[a-z]*\\)[0-9]*\\(.*\\)$/=&=/'\n" "zzz=1abc2efg3hij4=\n" "$ echo zzz1abc2efg3hij4 | \\\n" "sed -e 's/\\(1[a-z]*\\)[0-9]*\\(.*\\)$/\\2===\\1/'\n" "zzzefg3hij4===1abc\n" "$ echo zzz1abc2efg3hij4 | \\\n" "perl -pe 's/(1[a-z]*)[0-9]*(.*)$/$2===$1/'\n" "zzzefg3hij4===1abc\n" "$ echo zzz1abc2efg3hij4 | \\\n" "perl -pe 's/(1[a-z]*)[0-9]*(.*)$/=&=/'\n" "zzz=&=" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here please pay extra attention to the style of the <emphasis role=\"strong" "\">bracketed</emphasis> regular expression and how the matched strings are " "used in the text replacement process on different tools." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "These regular expressions can be used for cursor movements and text " "replacement actions in some editors too." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The back slash \"<literal>\\</literal>\" at the end of line in the shell " "commandline escapes newline as a white space character and continues shell " "command line input to the next line." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Please read all the related manual pages to learn these commands." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Global substitution with regular expressions" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>ed</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> command can replace all instances of \"<literal>FROM_REGEX</" "literal>\" with \"<literal>TO_TEXT</literal>\" in \"<literal>file</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ed file <<EOF\n" ",s/FROM_REGEX/TO_TEXT/g\n" "w\n" "q\n" "EOF" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>sed</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command can replace all instances of " "\"<literal>FROM_REGEX</literal>\" with \"<literal>TO_TEXT</literal>\" in " "\"<literal>file</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sed -ie 's/FROM_REGEX/TO_TEXT/g' file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command can replace all instances of " "\"<literal>FROM_REGEX</literal>\" with \"<literal>TO_TEXT</literal>\" in " "\"<literal>file</literal>\" by using <citerefentry><refentrytitle>ex</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> commands." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim '+%s/FROM_REGEX/TO_TEXT/gc' '+w' '+q' file" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The \"<literal>c</literal>\" flag in the above ensures interactive " "confirmation for each substitution." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Multiple files (\"<literal>file1</literal>\", \"<literal>file2</literal>\", " "and \"<literal>file3</literal>\") can be processed with regular expressions " "similarly with <citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>perl</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim '+argdo %s/FROM_REGEX/TO_TEXT/ge|update' '+q' file1 file2 file3" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The \"<literal>e</literal>\" flag in the above prevents the \"No match\" " "error from breaking a mapping." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ perl -i -p -e 's/FROM_REGEX/TO_TEXT/g;' file1 file2 file3" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the perl(1) example, \"<literal>-i</literal>\" is for in-place editing, " "\"<literal>-p</literal>\" is for implicit loop over files." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use of argument \"<literal>-i.bak</literal>\" instead of \"<literal>-i</" "literal>\" keeps each original file by adding \"<literal>.bak</literal>\" to " "its filename. This makes recovery from errors easier for complex " "substitutions." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<citerefentry><refentrytitle>ed</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>vim</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> are <emphasis role=" "\"strong\">BRE</emphasis>; <citerefentry><refentrytitle>perl</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is <emphasis role=" "\"strong\">ERE</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Extracting data from text file table" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's consider a text file called \"<literal>DPL</literal>\" in which some " "pre-2004 Debian project leader's names and their initiation days are listed " "in a space-separated format." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Ian Murdock August 1993\n" "Bruce Perens April 1996\n" "Ian Jackson January 1998\n" "Wichert Akkerman January 1999\n" "Ben Collins April 2001\n" "Bdale Garbee April 2002\n" "Martin Michlmayr March 2003" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "See <ulink url=\"&abriefhistoryofdebian;\">\"A Brief History of Debian\"</" "ulink> for the latest <ulink url=\"&debianleadershiphistory;\">Debian " "leadership history</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Awk is frequently used to extract data from these types of files." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ awk '{ print $3 }' <DPL # month started\n" "August\n" "April\n" "January\n" "January\n" "April\n" "April\n" "March\n" "$ awk '($1==\"Ian\") { print }' <DPL # DPL called Ian\n" "Ian Murdock August 1993\n" "Ian Jackson January 1998\n" "$ awk '($2==\"Perens\") { print $3,$4 }' <DPL # When Perens started\n" "April 1996" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Shells such as Bash can be also used to parse this kind of file." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ while read first last month year; do\n" " echo $month\n" " done <DPL\n" "... same output as the first Awk example" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, the <literal>read</literal> builtin command uses characters in " "\"<literal>$IFS</literal>\" (internal field separators) to split lines into " "words." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you change \"<literal>$IFS</literal>\" to \"<literal>:</literal>\", you " "can parse \"<literal>/etc/passwd</literal>\" with shell nicely." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ oldIFS=\"$IFS\" # save old value\n" "$ IFS=':'\n" "$ while read user password uid gid rest_of_line; do\n" " if [ \"$user\" = \"bozo\" ]; then\n" " echo \"$user's ID is $uid\"\n" " fi\n" " done < /etc/passwd\n" "bozo's ID is 1000\n" "$ IFS=\"$oldIFS\" # restore old value" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "(If Awk is used to do the equivalent, use \"<literal>FS=':'</literal>\" to " "set the field separator.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "IFS is also used by the shell to split results of parameter expansion, " "command substitution, and arithmetic expansion. These do not occur within " "double or single quoted words. The default value of IFS is <space>, " "<tab>, and <newline> combined." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Be careful about using this shell IFS tricks. Strange things may happen, " "when shell interprets some parts of the script as its <emphasis role=\"strong" "\">input</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ IFS=\":,\" # use \":\" and \",\" as IFS\n" "$ echo IFS=$IFS, IFS=\"$IFS\" # echo is a Bash builtin\n" "IFS= , IFS=:,\n" "$ date -R # just a command output\n" "Sat, 23 Aug 2003 08:30:15 +0200\n" "$ echo $(date -R) # sub shell --> input to main shell\n" "Sat 23 Aug 2003 08 30 36 +0200\n" "$ unset IFS # reset IFS to the default\n" "$ echo $(date -R)\n" "Sat, 23 Aug 2003 08:30:50 +0200" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Script snippets for piping commands" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The following scripts do nice things as a part of a pipe." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of script snippets for piping commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "script snippet (type in one line)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "effect of command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>find /usr -print</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "find all files under \"<literal>/usr</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>seq 1 100</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "print 1 to 100" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | xargs -n 1 <command></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "run command repeatedly with each item from pipe as its argument" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | xargs -n 1 echo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "split white-space-separated items from pipe into lines" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | xargs echo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "merge all lines from pipe into a line" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | grep -e <regex_pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract lines from pipe containing <regex_pattern>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | grep -v -e <regex_pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract lines from pipe not containing <regex_pattern>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | cut -d: -f3 -</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "extract third field from pipe separated by \"<literal>:</literal>\" (passwd " "file etc.)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | awk '{ print $3 }'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract third field from pipe separated by whitespaces" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | awk -F'\\t' '{ print $3 }'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract third field from pipe separated by tab" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | col -bx</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove backspace and expand tabs to spaces" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | expand -</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "expand tabs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | sort| uniq</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sort and remove duplicates" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | tr 'A-Z' 'a-z'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert uppercase to lowercase" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | tr -d '\\n'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "concatenate lines into one line" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | tr -d '\\r'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove CR" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | sed 's/^/# /'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "add \"<literal>#</literal>\" to the start of each line" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | sed 's/\\.ext//g'</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove \"<literal>.ext</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | sed -n -e 2p</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "print the second line" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | head -n 2 -</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "print the first 2 lines" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> | tail -n 2 -</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "print the last 2 lines" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "One-line shell script can loop over many files using " "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>xargs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to perform quite " "complicated tasks. See <xref linkend=\"_idioms_for_the_selection_of_files\"/" "> and <xref linkend=\"_repeating_a_command_looping_over_files\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When using the shell interactive mode becomes too complicated, please " "consider to write a shell script (see <xref linkend=\"_the_shell_script\"/>)." msgstr "" #. type: Content of: <book><chapter><title> msgid "Debian package management" msgstr "" #. type: Content of: <book><chapter><note><para> msgid "" "This chapter is written assuming the latest stable release is codename: " "<literal>&codename-stable;</literal>." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "<ulink url=\"&debian;\">Debian</ulink> is a volunteer organization which " "builds <emphasis role=\"strong\">consistent</emphasis> distributions of pre-" "compiled binary packages of free software and distributes them from its " "archive." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "<ulink url=\"&thedebianarchive;\">The Debian archive</ulink> is offered by " "<ulink url=\"&manyremotemirrorsites;\">many remote mirror sites</ulink> for " "access through HTTP and FTP methods. It is also available as <ulink url=" "\"&cdromdvd;\">CD-ROM/DVD</ulink>." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The Debian package management system, <emphasis role=\"strong\">when used " "properly</emphasis>, offers the user to install <emphasis role=\"strong" "\">consistent sets of binary packages</emphasis> to the system from the " "archive. Currently, there are &all-packages; packages available for the " "&arch; architecture." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The Debian package management system has a rich history and many choices for " "the front end user program and back end archive access method to be used. " "Currently, we recommend the following." msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>apt-get</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for all commandline operations, including package " "installation and removal, and dist-upgrades." msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for an interactive text interface to manage the " "installed packages and to search the available packages." msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>update-manager</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for keeping your system up-to-date if you're " "running the default GNOME desktop." msgstr "" #. type: Content of: <book><chapter><table><title> msgid "List of Debian package management tools" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "Advanced Packaging Tool (APT), front-end for <literal>dpkg</literal> " "providing \"<literal>http</literal>\", \"<literal>ftp</literal>\", and " "\"<literal>file</literal>\" archive access methods (<literal>apt-get</" "literal>/<literal>apt-cache</literal> commands included)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "interactive terminal-based package manager with " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "GNOME application that manages software updates with " "<citerefentry><refentrytitle>update-manager</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "tool for selecting tasks for installation on Debian system (front-end for " "APT)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "enhancement package for APT to enable automatic installation of security " "upgrades" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "terminal-based package manager (previous standard, front-end for APT and " "other old access methods)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "package management system for Debian" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "graphical package manager (GNOME front-end for APT)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "APT utility programs: <citerefentry><refentrytitle>apt-extracttemplates</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>apt-ftparchive</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, and <citerefentry><refentrytitle>apt-sortpkgs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "package change history notification tool" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "lists critical bugs before each APT installation" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "APT package searching utility — command-line interface" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "recursively lists package dependencies" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Debian package management prerequisites" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Package configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are some key points for package configuration on the Debian system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The manual configuration by the system administrator is respected. In other " "words, the package configuration system makes no intrusive configuration for " "the sake of convenience." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Each package comes with its own configuration script with standardized user " "interface called <citerefentry><refentrytitle>debconf</" "refentrytitle><manvolnum>7</manvolnum></citerefentry> to help initial " "installation process of the package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Debian Developers try their best to make your upgrade experience flawless " "with package configuration scripts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Full functionalities of packaged software are available to the system " "administrator. But ones with security risks are disabled in the default " "installation." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "If you manually activate a service with some security risks, you are " "responsible for the risk containment." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Esoteric configuration may be manually enabled by the system administrator. " "This may creates interference with popular generic helper programs for the " "system configuration." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic precautions" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not install packages from random mixture of suites. It probably breaks " "the package consistency which requires deep system management knowledge, " "such as compiler <ulink url=\"&abi;\">ABI</ulink>, <ulink url=\"&library;" "\">library</ulink> version, interpreter features, etc." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&newbie;\">newbie</ulink> Debian system administrator " "should stay with the <emphasis role=\"strong\"><literal>stable</literal></" "emphasis> release of Debian while applying only security updates. I mean " "that some of the following valid actions are better avoided, as a " "precaution, until you understand the Debian system very well. Here are some " "reminders." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not include <emphasis role=\"strong\"><literal>testing</literal></" "emphasis> or <emphasis role=\"strong\"><literal>unstable</literal></" "emphasis> in \"<literal>/etc/apt/sources.list</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not mix standard Debian with other non-Debian archives such as Ubuntu in " "\"<literal>/etc/apt/sources.list</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Do not create \"<literal>/etc/apt/preferences</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not change default behavior of package management tools through " "configuration files without knowing their full impacts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not install random packages by \"<literal>dpkg -i <random_package></" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not ever install random packages by \"<literal>dpkg --force-all -i <" "random_package></literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Do not erase or alter files in \"<literal>/var/lib/dpkg/</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not overwrite system files by installing software programs directly " "compiled from source." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Install them into \"<literal>/usr/local</literal>\" or \"<literal>/opt</" "literal>\", if needed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The non-compatible effects caused by above actions to the Debian package " "management system may leave your system unusable." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The serious Debian system administrator who runs mission critical servers, " "should use extra precautions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Do not install any packages including security updates from Debian without " "thoroughly testing them with your particular configuration under safe " "conditions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You as the system administrator are responsible for your system in the end." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "The long stability history of Debian system is no guarantee by itself." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Life with eternal upgrades" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Despite my warnings above, I know many readers of this document wish to run " "the <literal>testing</literal> or <literal>unstable</literal> suites of " "Debian as their main system for <emphasis role=\"strong\">self-administered " "Desktop environments</emphasis>. This is because they work very well, are " "updated frequently, and offer the latest features." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "For your <emphasis role=\"strong\">production server</emphasis>, the " "<literal>stable</literal> suite with the security updates is recommended. " "The same can be said for desktop PCs on which you can spend limited " "administration efforts, e.g. for your mother's PC." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "It takes no more than simply setting the distribution string in the " "\"<literal>/etc/apt/sources.list</literal>\" to the suite name: " "\"<literal>testing</literal>\" or \"<literal>unstable</literal>\"; or the " "codename: \"<literal>&codename-testing;</literal>\" or \"<literal>&codename-" "unstable;</literal>\". This makes you live <emphasis role=\"strong\">the " "life of eternal upgrades</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The use of <literal>testing</literal> or <literal>unstable</literal> is " "<emphasis role=\"strong\">a lot of fun</emphasis> but comes with some " "risks. Even though the <literal>unstable</literal> suite of Debian system " "looks very stable for most of the times, there have been some package " "problems on the <literal>testing</literal> and <literal>unstable</literal> " "suite of Debian system and a few of them were not so trivial to resolve. It " "may be <emphasis role=\"strong\">quite painful</emphasis> for you. " "Sometimes, you may have a broken package or missing functionality for a few " "weeks." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are some ideas to ensure quick and easy recovery from bugs in Debian " "packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Make the system <emphasis role=\"strong\">dual bootable</emphasis> by " "installing the <literal>stable</literal> suite of Debian system to another " "partition" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Make the installation CD handy for the <emphasis role=\"strong\">rescue " "boot</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Consider installing <literal>apt-listbugs</literal> to check the <ulink url=" "\"&debianbugtrackingsystembts;\">Debian Bug Tracking System (BTS)</ulink> " "information before the upgrade" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Learn the package system infrastructure enough to work around the problem" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Create a chroot or similar environment and run the latest system in it in " "advance (see <xref linkend=\"_virtualized_system\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "(If you can not do any one of these precautionary actions, you are probably " "not ready for the <literal>testing</literal> and <literal>unstable</literal> " "suites.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&enlightenment;\">Enlightenment</ulink> with the following " "saves a person from the eternal <ulink url=\"&karmic;\">karmic</ulink> " "struggle of upgrade <ulink url=\"&hell;\">hell</ulink> and let him reach " "Debian <ulink url=\"&nirvana;\">nirvana</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debian archive basics" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's look into <ulink url=\"&thedebianarchive;\">the Debian archive</ulink> " "from a system user's perspective." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Official policy of the Debian archive is defined at <ulink url=" "\"&debianpolicymanuthedebianarchive;\">Debian Policy Manual, Chapter 2 - The " "Debian Archive</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the typical HTTP access, the archive is specified in the \"<literal>/etc/" "apt/sources.list</literal>\" file as the following, e.g. for the current " "<literal>stable</literal> = <literal>&codename-stable;</literal> system." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "deb http://ftp.XX.debian.org/debian/ &codename-stable; main contrib non-free\n" "deb-src http://ftp.XX.debian.org/debian/ &codename-stable; main contrib non-free\n" "\n" "deb http://security.debian.org/ &codename-stable;/updates main contrib\n" "deb-src http://security.debian.org/ &codename-stable;/updates main contrib" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note \"<literal>ftp.XX.debian.org</literal>\" must be replaced with " "appropriate mirror site URL for your location, for USA \"<literal>ftp.us." "debian.org</literal>\", which can be found in <ulink url=" "\"&thelistofdebianwdwidemirrorsites;\">the list of Debian worldwide mirror " "sites</ulink>. The status of these servers can be checked at <ulink url=" "\"&debianmirrorcheckersite;\">Debian Mirror Checker site</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, I tend to use codename \"<literal>&codename-stable;</literal>\" " "instead of suite name \"<literal>stable</literal>\" to avoid surprises when " "the next <literal>stable</literal> is released." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The meaning of \"<literal>/etc/apt/sources.list</literal>\" is described in " "<citerefentry><refentrytitle>sources.list</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> and key points are followings." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The \"<literal>deb</literal>\" line defines for the binary packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The \"<literal>deb-src</literal>\" line defines for the source packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The 1st argument is the root URL of the Debian archive." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The 2nd argument is the distribution name: either the suite name or the " "codename." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The 3rd and following arguments are the list of valid archive area names of " "the Debian archive." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>deb-src</literal>\" lines can safely be omitted (or commented " "out by placing \"#\" at the start of the line) if it is just for " "<literal>aptitude</literal> which does not access source related meta data. " "It speeds up the updates of the archive meta data. The URL can be " "\"<literal>http://</literal>\", \"<literal>ftp://</literal>\", " "\"<literal>file://</literal>\", …." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If \"<literal>sid</literal>\" is used in the above example instead of " "\"<literal>&codename-stable;</literal>\", the \"<literal>deb: <ulink url=" "\"&httpsecuritydebianorg;\">http://security.debian.org/</ulink> …</literal>" "\" line for security updates in the \"<literal>/etc/apt/sources.list</" "literal>\" is not required. This is because there is no security update " "archive for \"<literal>sid</literal>\" (<literal>unstable</literal>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is the list of URL of the Debian archive sites and suite name or " "codename used in the configuration file." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of Debian archive sites" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "archive URL" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "suite name (codename)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "purpose" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&httpftpxxdebianorgdebian;\">http://ftp.XX.debian.org/debian/</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>stable</literal> (<literal>&codename-stable;</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "stable (&codename-stable;) release" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>testing</literal> (<literal>&codename-testing;</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "testing (&codename-testing;) release" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>unstable</literal> (<literal>&codename-unstable;</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "unstable (&codename-unstable;) release" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>experimental</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "experimental pre-release (optional, only for developer)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>stable-proposed-updates</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Updates for the next stable point release (optional)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&httpsecuritydebianorg;\">http://security.debian.org/</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>stable/updates</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "security updates for stable release (important)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>testing/updates</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "security updates for testing release (important)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&codename-stable;-updates</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "compatible updates for spam filter, IM clients, etc. for &codename-stable;" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&codename-stable;-backports</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "newer backported packages for &codename-stable; (optional)" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Only pure <emphasis role=\"strong\"><literal>stable</literal></emphasis> " "release with security updates provides the best stability. Running mostly " "<emphasis role=\"strong\"><literal>stable</literal></emphasis> release mixed " "with some packages from <emphasis role=\"strong\"><literal>testing</" "literal></emphasis> or <emphasis role=\"strong\"><literal>unstable</" "literal></emphasis> release is riskier than running pure <emphasis role=" "\"strong\"><literal>unstable</literal></emphasis> release for library " "version mismatch etc. If you really need the latest version of some " "programs under <emphasis role=\"strong\"><literal>stable</literal></" "emphasis> release, please use packages from <ulink url=" "\"&codenamestableupdates;\">&codename-stable;-updates</ulink> and <ulink url=" "\"&httpbackportsdebianorg;\">http://backports.debian.org</ulink> (see <xref " "linkend=\"_updates_and_backports\"/>) services. These services must be used " "with extra care." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "You should basically list only one of <literal>stable</literal>, " "<literal>testing</literal>, or <literal>unstable</literal> suites in the " "\"<literal>deb</literal>\" line. If you list any combination of " "<literal>stable</literal>, <literal>testing</literal>, and " "<literal>unstable</literal> suites in the \"<literal>deb</literal>\" line, " "APT programs slow down while only the latest archive is effective. Multiple " "listing makes sense for these when the \"<literal>/etc/apt/preferences</" "literal>\" file is used with clear objectives (see <xref linkend=" "\"_tweaking_candidate_version\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For the Debian system with the <literal>stable</literal> and " "<literal>testing</literal> suites, it is a good idea to include lines with " "\"<literal>http://security.debian.org/</literal>\" in the \"<literal>/etc/" "apt/sources.list</literal>\" to enable security updates as in the example " "above." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The security bugs for the <literal>stable</literal> archive are fixed by the " "Debian security team. This activity has been quite rigorous and reliable. " "Those for the <literal>testing</literal> archive may be fixed by the Debian " "testing security team. For <ulink url=\"&several;\">several</ulink> <ulink " "url=\"&reasons;\">reasons</ulink>, this activity is not as rigorous as that " "for <literal>stable</literal> and you may need to wait for the migration of " "fixed <literal>unstable</literal> packages. Those for the " "<literal>unstable</literal> archive are fixed by the individual maintainer. " "Actively maintained <literal>unstable</literal> packages are usually in a " "fairly good shape by leveraging latest upstream security fixes. See <ulink " "url=\"&debiansecurityfaq;\">Debian security FAQ</ulink> for how Debian " "handles security bugs." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of Debian archive area" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "area" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "number of packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "criteria of package component" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>main</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "&main-packages;" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "DFSG compliant and no dependency to <literal>non-free</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>contrib</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "&contrib-packages;" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "DFSG compliant but having dependency to <literal>non-free</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>non-free</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "&non-free-packages;" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "not DFSG compliant" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here the number of packages in the above is for the &arch; architecture. " "The <literal>main</literal> area provides the Debian system (see <xref " "linkend=\"_debian_is_100_free_software\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The Debian archive organization can be studied best by pointing your browser " "to the each archive URL appended with <literal>dists</literal> or " "<literal>pool</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The distribution is referred by two ways, the suite or <ulink url=" "\"&codename;\">codename</ulink>. The word distribution is alternatively used " "as the synonym to the suite in many documentations. The relationship between " "the suite and the codename can be summarized as the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The relationship between suite and codename" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Timing" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "suite = <literal>stable</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "suite = <literal>testing</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "suite = <literal>unstable</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "after the <literal>&codename-stable;</literal> release" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "codename = <literal>&codename-stable;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "codename = <literal>&codename-testing;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "codename = <literal>sid</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "after the <literal>&codename-testing;</literal> release" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "codename = <literal>&codename-nexttesting;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The history of codenames are described in <ulink url=" "\"&debianfaqgdbwhiceenusedinthepast;\">Debian FAQ: 6.3.1 Which other " "codenames have been used in the past?</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the stricter Debian archive terminology, the word \"section\" is " "specifically used for the categorization of packages by the application " "area. (Although, the word \"main section\" may sometimes be used to " "describe the Debian archive area named as \"main\".)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Every time a new upload is done by the Debian developer (DD) to the " "<literal>unstable</literal> archive (via <ulink url=\"&incoming;\">incoming</" "ulink> processing), DD is required to ensure uploaded packages to be " "compatible with the latest set of packages in the latest <literal>unstable</" "literal> archive." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If DD breaks this compatibility intentionally for important library upgrade " "etc, there is usually announcement to <ulink url=" "\"&thedebiandevelmailinglist;\">the debian-devel mailing list</ulink> etc." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Before a set of packages are moved by the Debian archive maintenance script " "from the <literal>unstable</literal> archive to the <literal>testing</" "literal> archive, the archive maintenance script not only checks the " "maturity (about 10 days old) and the status of the RC bug reports for the " "packages but also tries to ensure them to be compatible with the latest set " "of packages in the <literal>testing</literal> archive. This process makes " "the <literal>testing</literal> archive very current and usable." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Through the gradual archive freeze process led by the release team, the " "<literal>testing</literal> archive is matured to make it completely " "consistent and bug free with some manual interventions. Then the new " "<literal>stable</literal> release is created by assigning the codename for " "the old <literal>testing</literal> archive to the new <literal>stable</" "literal> archive and creating the new codename for the new <literal>testing</" "literal> archive. The initial contents of the new <literal>testing</" "literal> archive is exactly the same as that of the newly released " "<literal>stable</literal> archive." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Both the <literal>unstable</literal> and the <literal>testing</literal> " "archives may suffer temporary glitches due to several factors." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Broken package upload to the archive (mostly for <literal>unstable</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Delay of accepting the new packages to the archive (mostly for " "<literal>unstable</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Archive synchronization timing issue (both for <literal>testing</literal> " "and <literal>unstable</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Manual intervention to the archive such as package removal (more for " "<literal>testing</literal>) etc." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "So if you ever decide to use these archives, you should be able to fix or " "work around these kinds of glitches." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "For about few months after a new <literal>stable</literal> release, most " "desktop users should use the <literal>stable</literal> archive with its " "security updates even if they usually use <literal>unstable</literal> or " "<literal>testing</literal> archives. For this transition period, both " "<literal>unstable</literal> and <literal>testing</literal> archives are not " "good for most people. Your system is difficult to keep in good working " "condition with the <literal>unstable</literal> archive since it suffers " "surges of major upgrades for core packages. The <literal>testing</literal> " "archive is not useful either since it contains mostly the same content as " "the <literal>stable</literal> archive without its security support (<ulink " "url=\"&debiantestingsectyannouncecaaibc;\">Debian testing-security-announce " "2008-12</ulink>). After a month or so, the <literal>unstable</literal> " "archive may be usable if you are careful." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "When tracking the <literal>testing</literal> archive, a problem caused by a " "removed package is usually worked around by installing corresponding package " "from the <literal>unstable</literal> archive which is uploaded for bug fix." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <ulink url=\"&debianpolicymanual;\">Debian Policy Manual</ulink> for " "archive definitions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<ulink url=\"§ions;\">Sections</ulink>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<ulink url=\"&priorities;\">Priorities</ulink>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<ulink url=\"&basesystem;\">Base system</ulink>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<ulink url=\"&essentialpackages;\">Essential packages</ulink>\"" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debian is 100% free software" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Debian is 100% free software because of the followings:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Debian installs only free software by default to respect user freedoms." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Debian provides only free software in <literal>main</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Debian recommends running only free software from <literal>main</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "No packages in <literal>main</literal> depend nor recommend packages in " "<literal>non-free</literal> nor <literal>contrib</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Some people wonder if the following 2 facts contradict or not." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"Debian will remain 100% free\". (First term of <ulink url=" "\"&debiansocialcontract;\">Debian Social Contract</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Debian servers host some <literal>non-free</literal> and <literal>contrib</" "literal> packages." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "These do not contradict, because of the followings." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The Debian system is 100% free and its packages are hosted by Debian servers " "in the <literal>main</literal> area." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Packages outside of the Debian system are hosted by Debian servers in the " "<literal>non-free</literal> and <literal>contrib</literal> areas." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "These are precisely explained in the 4th and 5th terms of <ulink url=" "\"&debiansocialcontract;\">Debian Social Contract</ulink>:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Our priorities are our users and free software" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "We will be guided by the needs of our users and the free software community. " "We will place their interests first in our priorities. We will support the " "needs of our users for operation in many different kinds of computing " "environments. We will not object to non-free works that are intended to be " "used on Debian systems, or attempt to charge a fee to people who create or " "use such works. We will allow others to create distributions containing both " "the Debian system and other works, without any fee from us. In furtherance " "of these goals, we will provide an integrated system of high-quality " "materials with no legal restrictions that would prevent such uses of the " "system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Works that do not meet our free software standards" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "We acknowledge that some of our users require the use of works that do not " "conform to the Debian Free Software Guidelines. We have created " "\"<literal>contrib</literal>\" and \"<literal>non-free</literal>\" areas in " "our archive for these works. The packages in these areas are not part of the " "Debian system, although they have been configured for use with Debian. We " "encourage CD manufacturers to read the licenses of the packages in these " "areas and determine if they can distribute the packages on their CDs. Thus, " "although non-free works are not a part of Debian, we support their use and " "provide infrastructure for non-free packages (such as our bug tracking " "system and mailing lists)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Users should be aware of the risks of using packages in the <literal>non-" "free</literal> and <literal>contrib</literal> areas:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "lack of freedom for such software packages" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "lack of support from Debian on such software packages (Debian can't support " "software properly without having access to its source code.)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "contamination of your 100% free Debian system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&debianfreesoftwareguidelines;\">Debian Free Software " "Guidelines</ulink> is the free software standards for <ulink url=\"&debian;" "\">Debian</ulink>. Debian interprets \"software\" in the widest scope " "including document, firmware, logo, and artwork data in the package. This " "makes Debian's free software standards very strict ones." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to meet this strict free software standards required for " "<literal>main</literal>, Debian <ulink url=\"&unbrandsmozilla;\">unbrands " "Mozilla</ulink> software packages such as Firefox, Thunderbird, and " "Seamonkey by removing their logo and some artwork data; and ships them as " "Iceweasel, Icedove, and Iceape, respectively." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Typical <literal>non-free</literal> and <literal>contrib</literal> packages " "include freely distributable packages of following types:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Document packages under <ulink url=\"&gnufreedocumentationlicense;\">GNU " "Free Documentation License</ulink> with invariant sections such as ones for " "GCC and Make. (mostly found in the <literal>non-free/doc</literal> section.)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Firmware packages containing sourceless binary data such as ones listed in " "<xref linkend=\"_hardware_drivers_and_firmware\"/> as non-free. (mostly " "found in the <literal>non-free/kernel</literal> section.)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Game and font packages with restriction on commercial use and/or content " "modification." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the number of <literal>non-free</literal> and " "<literal>contrib</literal> packages is less than 2% of that of " "<literal>main</literal> packages. Enabling access to the <literal>non-free</" "literal> and <literal>contrib</literal> areas does not obscure the source of " "packages. Interactive full screen use of " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> provides you with full visibility and control over " "what packages are installed from which area to keep your system as free as " "you wish." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Package dependencies" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The Debian system offers a consistent set of binary packages through its " "versioned binary dependency declaration mechanism in the control file " "fields. Here is a bit over simplified definition for them." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Depends\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This declares an absolute dependency and all of the packages listed in this " "field must be installed at the same time or in advance." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Pre-Depends\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is like Depends, except that it requires completed installation of the " "listed packages in advance." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Recommends\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This declares a strong, but not absolute, dependency. Most users would not " "want the package unless all of the packages listed in this field are " "installed." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Suggests\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This declares a weak dependency. Many users of this package may benefit " "from installing packages listed in this field but can have reasonable " "functions without them." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Enhances\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This declares a week dependency like Suggests but works in the opposite " "direction." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Breaks\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This declares a package incompatibility usually with some version " "specification. Generally the resolution is to upgrade all of the packages " "listed in this field." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Conflicts\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This declares an absolute incompatibility. All of the packages listed in " "this field must be removed to install this package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Replaces\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is declared when files installed by this package replace files in the " "listed packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"Provides\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is declared when this package provide all of the files and " "functionality in the listed packages." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Please note that defining, \"Provides\", \"Conflicts\" and \"Replaces\" " "simultaneously to an virtual package is the sane configuration. This " "ensures that only one real package providing this virtual package can be " "installed at any one time." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The official definition including source dependency can be found in <ulink " "url=\"&thepolicymanualcsbetweenpackages;\">the Policy Manual: Chapter 7 - " "Declaring relationships between packages</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The event flow of the package management" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a summary of the simplified event flow of the package management by " "APT." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Update</emphasis> (\"<literal>aptitude update</" "literal>\" or \"<literal>apt-get update</literal>\"):" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Fetch archive metadata from remote archive" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Reconstruct and update local metadata for use by APT" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Upgrade</emphasis> (\"<literal>aptitude safe-" "upgrade</literal>\" and \"<literal>aptitude full-upgrade</literal>\", or " "\"<literal>apt-get upgrade</literal>\" and \"<literal>apt-get dist-upgrade</" "literal>\"):" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "" "Chose candidate version which is usually the latest available version for " "all installed packages (see <xref linkend=\"_tweaking_candidate_version\"/> " "for exception)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Make package dependency resolution" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "" "Fetch selected binary packages from remote archive if candidate version is " "different from installed version" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Unpack fetched binary packages" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Run <emphasis role=\"strong\">preinst</emphasis> script" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Install binary files" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Run <emphasis role=\"strong\">postinst</emphasis> script" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Install</emphasis> (\"<literal>aptitude install …</" "literal>\" or \"<literal>apt-get install …</literal>\"):" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Chose packages listed on the command line" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Fetch selected binary packages from remote archive" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Remove</emphasis> (\"<literal>aptitude remove …</" "literal>\" or \"<literal>apt-get remove …</literal>\"):" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Run <emphasis role=\"strong\">prerm</emphasis> script" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "" "Remove installed files <emphasis role=\"strong\">except</emphasis> " "configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "Run <emphasis role=\"strong\">postrm</emphasis> script" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Purge</emphasis> (\"<literal>aptitude purge …</" "literal>\" or \"<literal>apt-get purge …</literal>\"):" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><orderedlist><listitem><para> msgid "" "Remove installed files <emphasis role=\"strong\">including</emphasis> " "configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, I intentionally skipped technical details for the sake of big picture." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "First response to package management troubles" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You should read the fine official documentation. The first document to read " "is the Debian specific \"<literal>/usr/share/doc/<package_name>/README." "Debian</literal>\". Other documentation in \"<literal>/usr/share/doc/<" "package_name>/</literal>\" should be consulted too. If you set shell as " "<xref linkend=\"_customizing_bash\"/>, type the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd <package_name>\n" "$ pager README.Debian\n" "$ mc" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to install the corresponding documentation package named with " "\"<literal>-doc</literal>\" suffix for detailed information." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are experiencing problems with a specific package, make sure to check " "out <ulink url=\"&thedebianbugtrackingsystembts;\">the Debian bug tracking " "system (BTS)</ulink> sites, first." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of key web site to resolving problems with a specific package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "web site" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Home page of <ulink url=\"&thedebianbugtrackingsystembts;\">the Debian bug " "tracking system (BTS)</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>sensible-browser \"http://bugs.debian.org/\"</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The bug report of a known package name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>sensible-browser \"http://bugs.debian.org/<package_name>\"</" "literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The bug report of known bug number" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>sensible-browser \"http://bugs.debian.org/<bug_number>\"</" "literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Search <ulink url=\"&google;\">Google</ulink> with search words including " "\"<literal>site:debian.org</literal>\", \"<literal>site:wiki.debian.org</" "literal>\", \"<literal>site:lists.debian.org</literal>\", etc." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you file a bug report, please use " "<citerefentry><refentrytitle>reportbug</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Basic package management operations" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Basic package management operations on the Debian system can be performed by " "any package management tools available on the Debian system. Here, we " "explain basic package management tools: <literal>apt-get</literal> / " "<literal>apt-cache</literal> and <literal>aptitude</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For the package management operation which involves package installation or " "updates package metadata, you need to have root privilege." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "" "<literal>apt-get</literal> / <literal>apt-cache</literal> vs. " "<literal>aptitude</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>apt-get</literal> and <literal>apt-cache</literal> commands are " "the most <emphasis role=\"strong\">basic</emphasis> package management tool." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> and <literal>apt-cache</literal> offer only the " "commandline user interface." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> is most suitable for the <emphasis role=\"strong" "\">major system upgrade</emphasis> between releases, etc." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> offers a <emphasis role=\"strong\">robust and " "stable</emphasis> package resolver which uses the common package state data." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> is less demanding on hardware resources. It " "consumes less memory and runs faster." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> has been updated to support autoinstall and " "autoremove of recommended packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> has been updated to support logging of package " "activities." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-cache</literal> offers a <emphasis role=\"strong\">standard</" "emphasis> regex based search on the package name and description." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>apt-get</literal> and <literal>apt-cache</literal> can manage " "multiple versions of packages using <literal>/etc/apt/preferences</literal> " "but it is quite cumbersome." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>aptitude</literal> command is the most <emphasis role=\"strong" "\">versatile</emphasis> package management tool." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> offers the fullscreen interactive text user " "interface." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>aptitude</literal> offers the commandline user interface, too." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> is most suitable for the <emphasis role=\"strong" "\">daily interactive package management</emphasis> such as inspecting " "installed packages and searching available packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> is more demanding on hardware resources. It " "consumes more memory and runs slower." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> offers an <emphasis role=\"strong\">enhanced</" "emphasis> package resolver which also uses an extra package state data used " "only by <literal>aptitude</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> supports autoinstall and autoremove of " "recommended packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>aptitude</literal> supports logging of package activities." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> offers an <emphasis role=\"strong\">enhanced</" "emphasis> regex based search on all of the package metadata." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>aptitude</literal> can manage multiple versions of packages without " "using <literal>/etc/apt/preferences</literal> and it is quite intuitive." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Although the <literal>aptitude</literal> command comes with rich features " "such as its enhanced package resolver, this complexity has caused (or may " "still causes) some regressions such as <ulink url=\"&bugebbbcd;\">Bug " "#411123</ulink>, <ulink url=\"&bugfbejda;\">Bug #514930</ulink>, and <ulink " "url=\"&bugfhadhh;\">Bug #570377</ulink>. In case of doubt, please use the " "<literal>apt-get</literal> and <literal>apt-cache</literal> commands over " "the <literal>aptitude</literal> command." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic package management operations with the commandline" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are basic package management operations with the commandline using " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>apt-get</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> /" "<citerefentry><refentrytitle>apt-cache</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Basic package management operations with the commandline using " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>apt-get</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> /" "<citerefentry><refentrytitle>apt-cache</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "<literal>aptitude</literal> syntax" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "<literal>apt-get</literal>/<literal>apt-cache</literal> syntax" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude update</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get update</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "update package archive metadata" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude install foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get install foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "install candidate version of \"<literal>foo</literal>\" package with its " "dependencies" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude safe-upgrade</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get upgrade</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "install candidate version of installed packages without removing any other " "packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude full-upgrade</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get dist-upgrade <package></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "install candidate version of installed packages while removing other " "packages if needed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude remove foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get remove foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "remove \"<literal>foo</literal>\" package while leaving its configuration " "files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "N/A" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get autoremove</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove auto-installed packages which is no longer required" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude purge foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get purge foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "purge \"<literal>foo</literal>\" package with its configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude clean</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get clean</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "clear out the local repository of retrieved package files completely" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude autoclean</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get autoclean</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "clear out the local repository of retrieved package files for outdated " "packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude show foo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-cache show <package></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display detailed information about \"<literal>foo</literal>\" package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude search <regex></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-cache search <regex></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "search packages which match <regex>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude why <regex></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "explain the reason why <regex> matching packages should be installed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude why-not <regex></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "explain the reason why <regex> matching packages can not be installed" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Since <literal>apt-get</literal> and <literal>aptitude</literal> share auto-" "installed package status (see <xref linkend=\"_the_package_state_for_apt\"/" ">) after <literal>lenny</literal>, you can mix these tools without major " "troubles (see <ulink url=\"&bugfjeeja;\">Bug #594490</ulink>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The difference between \"<literal>safe-upgrade</literal>\"/" "\"<literal>upgrade</literal>\" and \"<literal>full-upgrade</literal>\"/" "\"<literal>dist-upgrade</literal>\" only appears when new versions of " "packages stand in different dependency relationships from old versions of " "those packages. The \"<literal>aptitude safe-upgrade</literal>\" command " "does not install new packages nor remove installed packages." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>aptitude why <regex></literal>\" can list more " "information by \"<literal>aptitude -v why <regex></literal>\". " "Similar information can be obtained by \"<literal>apt-cache rdepends <" "package></literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When <literal>aptitude</literal> command is started in the commandline mode " "and faces some issues such as package conflicts, you can switch to the full " "screen interactive mode by pressing \"<literal>e</literal>\"-key later at " "the prompt." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may provide command options right after \"<literal>aptitude</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Notable command options for <citerefentry><refentrytitle>aptitude</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "command option" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-s</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "simulate the result of the command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-d</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "download only but no install/upgrade" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-D</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "show brief explanations before the automatic installations and removals" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and \"aptitude user's manual\" at \"<literal>/usr/" "share/doc/aptitude/README</literal>\" for more." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The <literal>dselect</literal> package is still available and was the " "preferred full screen interactive package management tool in previous " "releases." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Interactive use of aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the interactive package management, you start <literal>aptitude</" "literal> in interactive mode from the console shell prompt as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo aptitude -u\n" "Password:" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This updates the local copy of the archive information and display the " "package list in the full screen with menu. Aptitude places its " "configuration at \"<literal>~/.aptitude/config</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you want to use root's configuration instead of user's one, use " "\"<literal>sudo -H aptitude …</literal>\" instead of \"<literal>sudo " "aptitude …</literal>\" in the above expression." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<literal>Aptitude</literal> automatically sets <emphasis role=\"strong" "\">pending actions</emphasis> as it is started interactively. If you do not " "like it, you can reset it from menu: \"Action\" → \"Cancel pending actions\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Key bindings of aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Notable key strokes to browse status of packages and to set \"planned action" "\" on them in this full screen mode are the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of key bindings for aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F10</literal> or <literal>Ctrl-t</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "menu" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display <emphasis role=\"strong\">help</emphasis> for keystroke (more " "complete listing)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F10</literal> → Help → User's Manual" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display User's Manual" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>u</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "update package archive information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>+</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "mark the package for the <emphasis role=\"strong\">upgrade</emphasis> or the " "<emphasis role=\"strong\">install</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "mark the package for the <emphasis role=\"strong\">remove</emphasis> (keep " "configuration files)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>_</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "mark the package for the <emphasis role=\"strong\">purge</emphasis> (remove " "configuration files)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>=</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "place the package on <emphasis role=\"strong\">hold</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>U</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "mark all upgradable packages (function as <emphasis role=\"strong\">full-" "upgrade</emphasis>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>g</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "start <emphasis role=\"strong\">downloading</emphasis> and <emphasis role=" "\"strong\">installing</emphasis> selected packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>q</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "quit current screen and save changes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>x</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "quit current screen and discard changes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Enter</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "view information about a package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>C</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "view a package's changelog" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "change the limit for the displayed packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "search for the first match" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\\</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "repeat the last search" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The file name specification of the command line and the menu prompt after " "pressing \"<literal>l</literal>\" and \"<literal>//</literal>\" take the " "aptitude regex as described below. Aptitude regex can explicitly match a " "package name using a string started by \"<literal>~n</literal> and followed " "by the package name." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You need to press \"<literal>U</literal>\" to get all the installed packages " "upgraded to the <emphasis role=\"strong\">candidate version</emphasis> in " "the visual interface. Otherwise only the selected packages and certain " "packages with versioned dependency to them are upgraded to the <emphasis " "role=\"strong\">candidate version</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Package views under aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the interactive full screen mode of " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, packages in the package list are displayed as the " "next example." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "idA libsmbclient -2220kB 3.0.25a-1 3.0.25a-2" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here, this line means from the left as the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The \"current state\" flag (the first letter)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The \"planned action\" flag (the second letter)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The \"automatic\" flag (the third letter)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The Package name" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The change in disk space usage attributed to \"planned action\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The current version of the package" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The candidate version of the package" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The full list of flags are given at the bottom of <emphasis role=\"strong" "\">Help</emphasis> screen shown by pressing \"<literal>?</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">candidate version</emphasis> is chosen " "according to the current local preferences (see " "<citerefentry><refentrytitle>apt_preferences</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> and <xref linkend=\"_tweaking_candidate_version\"/" ">)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Several types of package views are available under the menu " "\"<literal>Views</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of views for aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "view" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "status" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of view" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Package View</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Good" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "see <xref linkend=\"standard-package-views\"/> (default)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Audit Recommendations</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "list packages which are recommended by some installed packages but not yet " "installed are listed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Flat Package List</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list packages without categorization (for use with regex)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Debtags Browser</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Very usable" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "list packages categorized according to their <ulink url=\"&debtags;" "\">debtags</ulink> entries" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Categorical Browser</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Deprecated" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "list packages categorized according to their category (use <literal>Debtags " "Browser</literal>, instead)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Please help us <ulink url=\"&improvingtaggingkageswithdebtags;\">improving " "tagging packages with debtags!</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The standard \"<literal>Package View</literal>\" categorizes packages " "somewhat like <literal>dselect</literal> with few extra features." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The categorization of standard package views" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "category" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Upgradable Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "list packages organized as <literal>section</literal> → <literal>area</" "literal> → <literal>package</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>New Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Installed Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Not Installed Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Obsolete and Locally Created Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Virtual Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list packages with the same function" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Tasks</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list packages with different functions generally needed for a task" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<literal>Tasks</literal> view can be used to cherry pick packages for your " "task." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Search method options with aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Aptitude offers several options for you to search packages using its regex " "formula." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Shell commandline:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>aptitude search '<aptitude_regex>'</literal>\" to list " "installation status, package name and short description of matching packages" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>aptitude show '<package_name>'</literal>\" to list detailed " "description of the package" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Interactive full screen mode:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>l</literal>\" to limit package view to matching packages" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>/</literal>\" for search to a matching package" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>\\</literal>\" for backward search to a matching package" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>n</literal>\" for find-next" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>N</literal>\" for find-next (backward)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The string for <package_name> is treated as the exact string match to " "the package name unless it is started explicitly with \"<literal>~</literal>" "\" to be the regex formula." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The aptitude regex formula" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The aptitude regex formula is mutt-like extended <emphasis role=\"strong" "\">ERE</emphasis> (see <xref linkend=\"_regular_expressions\"/>) and the " "meanings of the <literal>aptitude</literal> specific special match rule " "extensions are as follows." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of the aptitude regex formula" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of the extended match rule" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "regex formula" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on package name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~n<regex_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on description" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~d<regex_description></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on task name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~t<regex_task></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on debtag" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~G<regex_debtag></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on maintainer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~m<regex_maintainer></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on package section" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~s<regex_section></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match on package version" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~V<regex_version></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~A{sarge,etch,sid</literal>}" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match origin" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~O{debian,…</literal>}" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match priority" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~p{extra,important,optional,required,standard</literal>}" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match essential packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~E</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match virtual packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~v</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match new packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~N</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match with pending action" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~a{install,upgrade,downgrade,remove,purge,hold,keep</literal>}" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match installed packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~i</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match installed packages with <emphasis role=\"strong\">A</emphasis>-mark " "(auto installed package)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~M</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match installed packages without <emphasis role=\"strong\">A</emphasis>-mark " "(administrator selected package)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~i!~M</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match installed and upgradable packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~U</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match removed but not purged packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~c</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match removed, purged or can-be-removed packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~g</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match packages with broken relation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~b</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match packages with broken depends/predepends/conflict" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~B<type></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match packages from which relation <type> is defined to <term> " "package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~D[<type>:]<term></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match packages from which <emphasis role=\"strong\">broken</emphasis> " "relation <type> is defined to <term> package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~DB[<type>:]<term></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match packages to which the <term> package defines relation <" "type>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~R[<type>:]<term></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match packages to which the <term> package defines <emphasis role=" "\"strong\">broken</emphasis> relation <type>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~RB[<type>:]<term></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match packages to which some other installed packages depend on" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~R~i</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match packages to which no other installed packages depend on" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>!~R~i</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "match packages to which some other installed packages depend or recommend on" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~R~i|~Rrecommends:~i</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match <term> package with filtered version" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~S filter <term></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match all packages (true)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~T</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "match no packages (false)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~F</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The regex part is the same <emphasis role=\"strong\">ERE</emphasis> as the " "one used in typical Unix-like text tools using \"<literal>^</literal>\", " "\"<literal>.*</literal>\", \"<literal>$</literal>\" etc. as in " "<citerefentry><refentrytitle>egrep</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>awk</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>perl</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The relation <type> is one of (depends, predepends, recommends, " "suggests, conflicts, replaces, provides)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The default relation type is \"depends\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "When <regex_pattern> is a null string, place \"<literal>~T</literal>\" " "immediately after the command." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here are some short cuts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>~P<term></literal>\" == \"<literal>~Dprovides:<term></" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>~C<term></literal>\" == \"<literal>~Dconflicts:<term>" "</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>…~W term</literal>\" == \"<literal>(…|term)</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Users familiar with <literal>mutt</literal> pick up quickly, as mutt was the " "inspiration for the expression syntax. See \"SEARCHING, LIMITING, AND " "EXPRESSIONS\" in the \"User's Manual\" \"<literal>/usr/share/doc/aptitude/" "README</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "With the <literal>lenny</literal> version of " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, the new <emphasis role=\"strong\">long form</" "emphasis> syntax such as \"<literal>?broken</literal>\" may be used for " "regex matching in place for its old <emphasis role=\"strong\">short form</" "emphasis> equivalent \"<literal>~b</literal>\". Now space character " "\"<literal> </literal>\" is considered as one of the regex terminating " "character in addition to tilde character \"<literal>~</literal>\". See " "\"User's Manual\" for the new <emphasis role=\"strong\">long form</emphasis> " "syntax." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Dependency resolution of aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The selection of a package in <literal>aptitude</literal> not only pulls in " "packages which are defined in its \"<literal>Depends:</literal>\" list but " "also defined in the \"<literal>Recommends:</literal>\" list if the menu " "\"<literal>F10</literal> → Options → Dependency handling\" is set " "accordingly. These auto installed packages are removed automatically if " "they are no longer needed under <literal>aptitude</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Before the <literal>lenny</literal> release, <literal>apt-get</literal> and " "other standard APT tools did not offer the autoremove functionality." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Package activity logs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can check package activity history in the log files." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The log files for package activities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "file" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "content" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/log/dpkg.log</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Log of <literal>dpkg</literal> level activity for all package activities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/log/apt/term.log</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Log of generic APT activity" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/log/aptitude</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Log of <literal>aptitude</literal> command activity" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In reality, it is not so easy to get meaningful understanding quickly out " "from these logs. See <xref linkend=" "\"_recording_changes_in_configuration_files\"/> for easier way." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Examples of aptitude operations" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here are few examples of <citerefentry><refentrytitle>aptitude</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> operations." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Listing packages with regex matching on package names" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following command lists packages with regex matching on package names." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ aptitude search '~n(pam|nss).*ldap'\n" "p libnss-ldap - NSS module for using LDAP as a naming service\n" "p libpam-ldap - Pluggable Authentication Module allowing LDAP interfaces" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This is quite handy for you to find the exact name of a package." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Browsing with the regex matching" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The regex \"<literal>~dipv6</literal>\" in the \"New Flat Package List\" " "view with \"<literal>l</literal>\" prompt, limits view to packages with the " "matching description and let you browse their information interactively." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Purging removed packages for good" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can purge all remaining configuration files of removed packages." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Check results of the following command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# aptitude search '~c'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you think listed packages are OK to be purged, execute the following " "command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# aptitude purge '~c'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may want to do the similar in the interactive mode for fine grained " "control." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You provide the regex \"<literal>~c</literal>\" in the \"New Flat Package " "List\" view with \"<literal>l</literal>\" prompt. This limits the package " "view only to regex matched packages, i.e., \"removed but not purged\". All " "these regex matched packages can be shown by pressing \"<literal>[</literal>" "\" at top level headings." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Then you press \"<literal>_</literal>\" at top level headings such as " "\"Installed Packages\". Only regex matched packages under the heading are " "marked to be purged by this. You can exclude some packages to be purged by " "pressing \"<literal>=</literal>\" interactively for each of them." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This technique is quite handy and works for many other command keys." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Tidying auto/manual install status" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is how I tidy auto/manual install status for packages (after using non-" "aptitude package installer etc.)." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Start <literal>aptitude</literal> in interactive mode as root." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Type \"<literal>u</literal>\", \"<literal>U</literal>\", \"<literal>f</" "literal>\" and \"<literal>g</literal>\" to update and upgrade package list " "and packages." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Type \"<literal>l</literal>\" to enter the package display limit as " "\"<literal>~i(~R~i|~Rrecommends:~i)</literal>\" and type \"<literal>M</" "literal>\" over \"<literal>Installed Packages</literal>\" as auto installed." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Type \"<literal>l</literal>\" to enter the package display limit as " "\"<literal>~prequired|~pimportant|~pstandard|~E</literal>\" and type " "\"<literal>m</literal>\" over \"<literal>Installed Packages</literal>\" as " "manual installed." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Type \"<literal>l</literal>\" to enter the package display limit as " "\"<literal>~i!~M</literal>\" and remove unused package by typing \"<literal>-" "</literal>\" over each of them after exposing them by typing \"<literal>[</" "literal>\" over \"<literal>Installed Packages</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Type \"<literal>l</literal>\" to enter the package display limit as " "\"<literal>~i</literal>\" and type \"<literal>m</literal>\" over " "\"<literal>Tasks</literal>\" as manual installed." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Exit <literal>aptitude</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Start \"<literal>apt-get -s autoremove|less</literal>\" as root to check " "what are not used." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Restart <literal>aptitude</literal> in interactive mode and mark needed " "packages as \"<literal>m</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Restart \"<literal>apt-get -s autoremove|less</literal>\" as root to recheck " "REMOVED contain only expected packages." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Start \"<literal>apt-get autoremove|less</literal>\" as root to autoremove " "unused packages." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>m</literal>\" action over \"<literal>Tasks</literal>\" is an " "optional one to prevent mass package removal situation in future." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "System wide upgrade" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "When moving to a new release etc, you should consider to perform a clean " "installation of new system even though Debian is upgradable as described " "below. This provides you a chance to remove garbages collected and exposes " "you to the best combination of latest packages. Of course, you should make " "a full backup of system to a safe place (see <xref linkend=" "\"_backup_and_recovery\"/>) before doing this. I recommend to make a dual " "boot configuration using different partition to have the smoothest " "transition." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can perform system wide upgrade to a newer release by changing contents " "of the \"<literal>/etc/apt/sources.list</literal>\" file pointing to a new " "release and running the \"<literal>apt-get update; apt-get dist-upgrade</" "literal>\" command." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "To upgrade from <literal>stable</literal> to <literal>testing</literal> or " "<literal>unstable</literal>, you replace \"<literal>&codename-stable;</" "literal>\" in the \"<literal>/etc/apt/sources.list</literal>\" example of " "<xref linkend=\"_debian_archive_basics\"/> with \"<literal>&codename-testing;" "</literal>\" or \"<literal>sid</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In reality, you may face some complications due to some package transition " "issues, mostly due to package dependencies. The larger the difference of " "the upgrade, the more likely you face larger troubles. For the transition " "from the old <literal>stable</literal> to the new <literal>stable</literal> " "after its release, you can read its new <ulink url=\"&releasenotes;" "\">Release Notes</ulink> and follow the exact procedure described in it to " "minimize troubles." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you decide to move from <literal>stable</literal> to <literal>testing</" "literal> before its formal release, there are no <ulink url=\"&releasenotes;" "\">Release Notes</ulink> to help you. The difference between " "<literal>stable</literal> and <literal>testing</literal> could have grown " "quite large after the previous <literal>stable</literal> release and makes " "upgrade situation complicated." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You should make precautionary moves for the full upgrade while gathering " "latest information from mailing list and using common senses." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Read previous \"Release Notes\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Backup entire system (especially data and configuration information)." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Have bootable media handy for broken bootloader." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Inform users on the system well in advance." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Record upgrade activity with <citerefentry><refentrytitle>script</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Apply \"unmarkauto\" to required packages, e.g., \"<literal>aptitude " "unmarkauto vim</literal>\", to prevent removal." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Minimize installed packages to reduce chance of package conflicts, e.g., " "remove desktop task packages." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Remove the \"<literal>/etc/apt/preferences</literal>\" file (disable apt-" "pinning)." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Try to upgrade step wise: <literal>oldstable</literal> → <literal>stable</" "literal> → <literal>testing</literal> → <literal>unstable</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Update the \"<literal>/etc/apt/sources.list</literal>\" file to point to new " "archive only and run \"<literal>aptitude update</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Install, optionally, new <emphasis role=\"strong\">core packages</emphasis> " "first, e.g., \"<literal>aptitude install perl</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Run the \"<literal>apt-get -s dist-upgrade</literal>\" command to assess " "impact." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Run the \"<literal>apt-get dist-upgrade</literal>\" command at last." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "It is not wise to skip major Debian release when upgrading between " "<literal>stable</literal> releases." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "In previous \"Release Notes\", GCC, Linux Kernel, initrd-tools, Glibc, Perl, " "APT tool chain, etc. have required some special attention for system wide " "upgrade." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For daily upgrade in <literal>unstable</literal>, see <xref linkend=" "\"_safeguarding_for_package_problems\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Advanced package management operations" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Advanced package management operations with commandline" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are list of other package management operations for which " "<literal>aptitude</literal> is too high-level or lacks required " "functionalities." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of advanced package management operations" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>COLUMNS=120 dpkg -l <package_name_pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list status of an installed package for the bug report" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg -L <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list contents of an installed package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>dpkg -L <package_name> | egrep '/usr/share/man/man.*/.+'</" "literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list manpages for an installed package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg -S <file_name_pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list installed packages which have matching file name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-file search <file_name_pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list packages in archive which have matching file name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-file list <package_name_pattern></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list contents of matching packages in archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg-reconfigure <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "reconfigure the exact package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg-reconfigure -p=low <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "reconfigure the exact package with the most detailed question" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>configure-debian</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "reconfigure packages from the full screen menu" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg --audit</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "audit system for partially installed packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg --configure -a</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "configure all partially installed packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-cache policy <binary_package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "show available version, priority, and archive information of a binary package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-cache madison <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "show available version, archive information of a package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-cache showsrc <binary_package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "show source package information of a binary package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get build-dep <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "install required packages to build package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>aptitude build-dep <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>apt-get source <package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "download a source (from standard archive)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dget <URL for dsc file></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "download a source packages (from other archive)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>dpkg-source -x <package_name>_<version>-<" "debian_version>.dsc</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "build a source tree from a set of source packages (\"<literal>*.orig.tar.gz</" "literal>\" and \"<literal>*.debian.tar.gz</literal>\"/\"<literal>*.diff.gz</" "literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>debuild binary</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "build package(s) from a local source tree" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>make-kpkg kernel_image</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "build a kernel package from a kernel source tree" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>make-kpkg --initrd kernel_image</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "build a kernel package from a kernel source tree with initramfs enabled" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>dpkg -i <package_name>_<version>-<debian_version>" "_<arch>.deb</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "install a local package to the system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>debi <package_name>_<version>-<debian_version>" "_<arch>.dsc</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "install local package(s) to the system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg --get-selections '*' >selection.txt</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "save <literal>dpkg</literal> level package selection state information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg --set-selections <selection.txt</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "set <literal>dpkg</literal> level package selection state information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>echo <package_name> hold | dpkg --set-selections</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set <literal>dpkg</literal> level package selection state for a package to " "<emphasis role=\"strong\">hold</emphasis> (equivalent to \"<literal>aptitude " "hold <package_name></literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Lower level package tools such as \"<literal>dpkg -i …</literal>\" and " "\"<literal>debi …</literal>\" should be carefully used by the system " "administrator. It does not automatically take care required package " "dependencies. Dpkg's commandline options \"<literal>--force-all</literal>\" " "and similar (see <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>) are intended to be " "used by experts only. Using them without fully understanding their effects " "may break your whole system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Please note the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "All system configuration and installation commands require to be run from " "root." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Unlike <literal>aptitude</literal> which uses regex (see <xref linkend=" "\"_regular_expressions\"/>), other package management commands use pattern " "like shell glob (see <xref linkend=\"_shell_glob\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>apt-file</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> provided by the <literal>apt-file</literal> " "package must run \"<literal>apt-file update</literal>\" in advance." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>configure-debian</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> provided by the <literal>configure-debian</" "literal> package runs <citerefentry><refentrytitle>dpkg-reconfigure</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> as its backend." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>dpkg-reconfigure</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> runs package scripts using " "<citerefentry><refentrytitle>debconf</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> as its backend." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>apt-get build-dep</literal>\", \"<literal>apt-get source</literal>" "\" and \"<literal>apt-cache showsrc</literal>\" commands require " "\"<literal>deb-src</literal>\" entry in \"<literal>/etc/apt/sources.list</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>dget</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>debuild</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>debi</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> require <literal>devscripts</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "See (re)packaging procedure using \"<literal>apt-get source</literal>\" in " "<xref linkend=\"_porting_a_package_to_the_stable_system\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>make-kpkg</literal> command requires the <literal>kernel-package</" "literal> package (see <xref linkend=\"_the_kernel\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "See <xref linkend=\"_making_debian_package\"/> for general packaging." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Verification of installed package files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The installation of <literal>debsums</literal> enables verification of " "installed package files against MD5sum values in the \"<literal>/var/lib/" "dpkg/info/*.md5sums</literal>\" file with " "<citerefentry><refentrytitle>debsums</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>. See <xref linkend=\"_the_md5_sum\"/> for how " "MD5sum works." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Because MD5sum database may be tampered by the intruder, " "<citerefentry><refentrytitle>debsums</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> is of limited use as a security tool. It is only " "good for checking local modifications by the administrator or damage due to " "media errors." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Safeguarding for package problems" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many users prefer to follow the <emphasis role=\"strong\">unstable</" "emphasis> release of the Debian system for its new features and packages. " "This makes the system more prone to be hit by the critical package bugs." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The installation of the <literal>apt-listbugs</literal> package safeguards " "your system against critical bugs by checking Debian BTS automatically for " "critical bugs when upgrading with APT system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The installation of the <literal>apt-listchanges</literal> package provides " "important news in \"<literal>NEWS.Debian</literal>\" when upgrading with APT " "system." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Searching on the package meta data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although visiting Debian site <ulink url=\"&httppackagesdebianorg;\">http://" "packages.debian.org/</ulink> facilitates easy ways to search on the package " "meta data these days, let's look into more traditional ways." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>grep-dctrl</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>grep-status</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>grep-available</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> commands can be used to search any file which has " "the general format of a Debian package control file." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>dpkg -S <file_name_pattern></literal>\" can be used " "search package names which contain files with the matching name installed by " "<literal>dpkg</literal>. But this overlooks files created by the maintainer " "scripts." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you need to make more elaborate search on the dpkg meta data, you need to " "run \"<literal>grep -e regex_pattern *</literal>\" command in the " "\"<literal>/var/lib/dpkg/info/</literal>\" directory. This makes you search " "words mentioned in package scripts and installation query texts." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you wish to look up package dependency recursively, you should use " "<citerefentry><refentrytitle>apt-rdepends</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Debian package management internals" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's learn how the Debian package management system works internally. This " "should help you to create your own solution to some package problems." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Archive meta data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Meta data files for each distribution are stored under \"<literal>dist/<" "codename></literal>\" on each Debian mirror sites, e.g., " "\"<literal>http://ftp.us.debian.org/debian/</literal>\". Its archive " "structure can be browsed by the web browser. There are 6 types of key meta " "data." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The content of the Debian archive meta data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "location" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Release</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "top of distribution" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "archive description and integrity information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Release.gpg</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "signature file for the \"<literal>Release</literal>\" file signed with the " "archive key" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Contents-<architecture></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list of all files for all the packages in the pertinent archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "top of each distribution/area/architecture combination" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "archive description used for the rule of " "<citerefentry><refentrytitle>apt_preferences</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Packages</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "top of each distribution/area/binary-architecture combination" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "concatenated <literal>debian/control</literal> for binary packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Sources</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "top of each distribution/area/source combination" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "concatenated <literal>debian/control</literal> for source packages" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In the recent archive, these meta data are stored as the compressed and " "differential files to reduce network traffic." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Top level \"Release\" file and authenticity" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The top level \"<literal>Release</literal>\" file is used for signing the " "archive under the <emphasis role=\"strong\">secure APT</emphasis> system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each suite of the Debian archive has a top level \"<literal>Release</literal>" "\" file, e.g., \"<literal>http://ftp.us.debian.org/debian/dists/unstable/" "Release</literal>\", as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Origin: Debian\n" "Label: Debian\n" "Suite: unstable\n" "Codename: sid\n" "Date: Sat, 14 May 2011 08:20:50 UTC\n" "Valid-Until: Sat, 21 May 2011 08:20:50 UTC\n" "Architectures: alpha amd64 armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc\n" "Components: main contrib non-free\n" "Description: Debian x.y Unstable - Not Released\n" "MD5Sum:\n" " bdc8fa4b3f5e4a715dd0d56d176fc789 18876880 Contents-alpha.gz\n" " 9469a03c94b85e010d116aeeab9614c0 19441880 Contents-amd64.gz\n" " 3d68e206d7faa3aded660dc0996054fe 19203165 Contents-armel.gz\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Here, you can find my rationale to use the \"suite\", and \"codeneme\" in " "<xref linkend=\"_debian_archive_basics\"/>. The \"distribution\" is used " "when referring to both \"suite\" and \"codeneme\". All archive \"area\" " "names offered by the archive are listed under \"Component\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The integrity of the top level \"<literal>Release</literal>\" file is " "verified by cryptographic infrastructure called the <ulink url=\"&secureapt;" "\">secure apt</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The cryptographic signature file \"<literal>Release.gpg</literal>\" is " "created from the authentic top level \"<literal>Release</literal>\" file and " "the secret Debian archive key." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The public Debian archive key can be seeded into \"<literal>/etc/apt/trusted." "gpg</literal>\";" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "automatically by installing the keyring with the latest <literal>base-files</" "literal> package, or" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "manually by <literal>gpg</literal> or <literal>apt-key</literal> tool with " "<ulink url=\"&thelatestpublicapmasterdebianorg;\">the latest public archive " "key posted on the ftp-master.debian.org</ulink> ." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <emphasis role=\"strong\">secure APT</emphasis> system verifies the " "integrity of the downloaded top level \"<literal>Release</literal>\" file " "cryptographically by this \"<literal>Release.gpg</literal>\" file and the " "public Debian archive key in \"<literal>/etc/apt/trusted.gpg</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The integrity of all the \"<literal>Packages</literal>\" and " "\"<literal>Sources</literal>\" files are verified by using MD5sum values in " "its top level \"<literal>Release</literal>\" file. The integrity of all " "package files are verified by using MD5sum values in the " "\"<literal>Packages</literal>\" and \"<literal>Sources</literal>\" files. " "See <citerefentry><refentrytitle>debsums</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <xref linkend=" "\"_verification_of_installed_package_files\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since the cryptographic signature verification is very CPU intensive process " "than the MD5sum value calculation, use of MD5sum value for each package " "while using cryptographic signature for the top level \"<literal>Release</" "literal>\" file provides <ulink url=\"&thegoodsecuritywththeperformance;" "\">the good security with the performance</ulink> (see <xref linkend=" "\"_data_security_infrastructure\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Archive level \"Release\" files" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The archive level \"<literal>Release</literal>\" files are used for the rule " "of <citerefentry><refentrytitle>apt_preferences</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are archive level \"<literal>Release</literal>\" files for all archive " "locations specified by \"<literal>deb</literal>\" line in \"<literal>/etc/" "apt/sources.list</literal>\", such as \"<literal>http://ftp.us.debian.org/" "debian/dists/unstable/main/binary-amd64/Release</literal>\" or " "\"<literal>http://ftp.us.debian.org/debian/dists/sid/main/binary-amd64/" "Release</literal>\" as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Archive: unstable\n" "Origin: Debian\n" "Label: Debian\n" "Component: main\n" "Architecture: amd64" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "For \"<literal>Archive:</literal>\" stanza, suite names (\"<literal>stable</" "literal>\", \"<literal>testing</literal>\", \"<literal>unstable</literal>\", " "…) are used in <ulink url=\"&thedebianarchive;\">the Debian archive</ulink> " "while codenames (\"<literal>dapper</literal>\", \"<literal>feisty</literal>" "\", \"<literal>gutsy</literal>\", \"<literal>hardy</literal>\", " "\"<literal>intrepid</literal>\", …) are used in <ulink url=" "\"&theubuntuarchive;\">the Ubuntu archive</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For some archives, such as <literal>experimental</literal>, and " "<literal>&codename-stable;-backports</literal>, which contain packages which " "should not be installed automatically, there is an extra line, e.g., " "\"<literal>http://ftp.us.debian.org/debian/dists/experimental/main/binary-" "amd64/Release</literal>\" as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Archive: experimental\n" "Origin: Debian\n" "Label: Debian\n" "NotAutomatic: yes\n" "Component: main\n" "Architecture: amd64" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that for normal archives without \"<literal>NotAutomatic: yes</" "literal>\", the default Pin-Priority value is 500, while for special " "archives with \"<literal>NotAutomatic: yes</literal>\", the default Pin-" "Priority value is 1 (see <citerefentry><refentrytitle>apt_preferences</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> and <xref linkend=" "\"_tweaking_candidate_version\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Fetching of the meta data for the package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When APT tools, such as <literal>aptitude</literal>, <literal>apt-get</" "literal>, <literal>synaptic</literal>, <literal>apt-file</literal>, " "<literal>auto-apt</literal>…, are used, we need to update the local copies " "of the meta data containing the Debian archive information. These local " "copies have following file names corresponding to the specified " "<literal>distribution</literal>, <literal>area</literal>, and " "<literal>architecture</literal> names in the \"<literal>/etc/apt/sources." "list</literal>\" (see <xref linkend=\"_debian_archive_basics\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_<" "distribution>_Release</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_<" "distribution>_Release.gpg</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_<" "distribution>_<area>_binary-<architecture>_Packages</literal>" "\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_<" "distribution>_<area>_source_Sources</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/var/cache/apt/apt-file/ftp.us.debian.org_debian_dists_<" "distribution>_Contents-<architecture>.gz</literal>\" (for " "<literal>apt-file</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "First 4 types of files are shared by all the pertinent APT commands and " "updated from command line by \"<literal>apt-get update</literal>\" and " "\"<literal>aptitude update</literal>\". The \"<literal>Packages</literal>\" " "meta data are updated if there is the \"<literal>deb</literal>\" line in " "\"<literal>/etc/apt/sources.list</literal>\". The \"<literal>Sources</" "literal>\" meta data are updated if there is the \"<literal>deb-src</literal>" "\" line in \"<literal>/etc/apt/sources.list</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>Packages</literal>\" and \"<literal>Sources</literal>\" meta " "data contain \"<literal>Filename:</literal>\" stanza pointing to the file " "location of the binary and source packages. Currently, these packages are " "located under the \"<literal>pool/</literal>\" directory tree for the " "improved transition over the releases." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Local copies of \"<literal>Packages</literal>\" meta data can be " "interactively searched with the help of <literal>aptitude</literal>. The " "specialized search command <citerefentry><refentrytitle>grep-dctrl</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> can search local " "copies of \"<literal>Packages</literal>\" and \"<literal>Sources</literal>\" " "meta data." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Local copy of \"<literal>Contents-<architecture></literal>\" meta data " "can be updated by \"<literal>apt-file update</literal>\" and its location is " "different from other 4 ones. See <citerefentry><refentrytitle>apt-file</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. (The <literal>auto-" "apt</literal> uses different location for local copy of \"<literal>Contents-" "<architecture>.gz</literal>\" as default.)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The package state for APT" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In addition to the remotely fetched meta data, the APT tool after " "<literal>lenny</literal> stores its locally generated installation state " "information in the \"<literal>/var/lib/apt/extended_states</literal>\" which " "is used by all APT tools to track all auto installed packages." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The package state for aptitude" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In addition to the remotely fetched meta data, the <literal>aptitude</" "literal> command stores its locally generated installation state information " "in the \"<literal>/var/lib/aptitude/pkgstates</literal>\" which is used only " "by it." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Local copies of the fetched packages" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "All the remotely fetched packages via APT mechanism are stored in the " "\"<literal>/var/cache/apt/archives</literal>\" until they are cleaned." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debian package file names" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Debian package files have particular name structures." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The name structure of Debian packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "package type" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "name structure" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The binary package (a.k.a <literal>deb</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal><package-name>_<epoch>:<upstream-version>-<" "debian.version>-<architecture>.deb</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The binary package (a.k.a <literal>udeb</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal><package-name>_<epoch>:<upstream-version>-<" "debian.version>-<architecture>.udeb</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The source package (upstream source)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal><package-name>_<epoch>:<upstream-version>-<" "debian.version>.orig.tar.gz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The <literal>1.0</literal> source package (Debian changes)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal><package-name>_<epoch>:<upstream-version>-<" "debian.version>.diff.gz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The <literal>3.0 (quilt)</literal> source package (Debian changes)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal><package-name>_<epoch>:<upstream-version>-<" "debian.version>.debian.tar.gz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The source package (description)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal><package-name>_<epoch>:<upstream-version>-<" "debian.version>.dsc</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Here only the basic source package formats are described. See more on " "<citerefentry><refentrytitle>dpkg-source</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The usable characters for each component in the Debian package names" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "name component" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "usable characters (regex)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "existence" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal><package-name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[a-z,A-Z,0-9,.,<literal>,-]</literal></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "required" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal><epoch>:</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[0-9]+:</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "optional" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal><upstream-version></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[a-z,A-Z,0-9,.,<literal>,-,:]</literal></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal><debian.version></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>[a-z,A-Z,0-9,.,<literal>,~]</literal></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "You can check package version order by <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, e.g., \"<literal>dpkg " "--compare-versions 7.0 gt 7.~pre1 ; echo $?</literal>\" ." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<ulink url=\"&thedebianinstallerdi;\">The debian-installer (d-i)</ulink> " "uses <literal>udeb</literal> as the file extension for its binary package " "instead of normal <literal>deb</literal>. An <literal>udeb</literal> " "package is a stripped down <literal>deb</literal> package which removes few " "non-essential contents such as documentation to save space while relaxing " "the package policy requirements. Both <literal>deb</literal> and " "<literal>udeb</literal> packages share the same package structure. The " "\"<literal>u</literal>\" stands for micro." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The dpkg command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is the lowest level tool for the Debian package management. " "This is very powerful and needs to be used with care." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "While installing package called \"<literal><package_name></literal>\", " "<literal>dpkg</literal> process it in the following order." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Unpack the deb file (\"<literal>ar -x</literal>\" equivalent)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Execute \"<literal><package_name>.preinst</literal>\" using " "<citerefentry><refentrytitle>debconf</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Install the package content to the system (\"<literal>tar -x</literal>\" " "equivalent)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Execute \"<literal><package_name>.postinst</literal>\" using " "<citerefentry><refentrytitle>debconf</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>debconf</literal> system provides standardized user interaction " "with I18N and L10N (<xref linkend=\"_i18n_and_l10n\"/>) supports." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "The notable files created by <literal>dpkg</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of contents" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.conffiles</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list of configuration files. (user modifiable)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.list</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list of files and directories installed by the package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.md5sums</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list of MD5 hash values for files installed by the package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.preinst</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "package script run before the package installation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.postinst</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "package script run after the package installation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.prerm</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "package script run before the package removal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.postrm</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "package script run after the package removal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/info/<package_name>.config</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "package script for <literal>debconf</literal> system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/alternatives/<package_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "the alternative information used by the <literal>update-alternatives</" "literal> command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/available</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the availability information for all the package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/diversions</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "the diversions information used by <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and set by`dpkg-divert`" "(8)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/statoverride</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "the stat override information used by <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and set by`dpkg-" "statoverride`(8)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/status</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the status information for all the packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/lib/dpkg/status-old</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "the first-generation backup of the \"<literal>var/lib/dpkg/status</literal>" "\" file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/var/backups/dpkg.status*</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "the second-generation backup and older ones of the \"<literal>var/lib/dpkg/" "status</literal>\" file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>status</literal>\" file is also used by the tools such as " "<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, \"<literal>dselect update</literal>\" and \"<literal>apt-get -" "u dselect-upgrade</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The specialized search command <citerefentry><refentrytitle>grep-dctrl</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> can search the local " "copies of \"<literal>status</literal>\" and \"<literal>available</literal>\" " "meta data." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "In <ulink url=\"&thedebianinstaller;\">the debian-installer</ulink> " "environment, the <literal>udpkg</literal> command is used to open " "<literal>udeb</literal> packages. The <literal>udpkg</literal> command is a " "stripped down version of the <literal>dpkg</literal> command." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The update-alternative command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The Debian system has mechanism to install somewhat overlapping programs " "peacefully using <citerefentry><refentrytitle>update-alternatives</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. For example, you can " "make the <literal>vi</literal> command select to run <literal>vim</literal> " "while installing both <literal>vim</literal> and <literal>nvi</literal> " "packages." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ls -l $(type -p vi)\n" "lrwxrwxrwx 1 root root 20 2007-03-24 19:05 /usr/bin/vi -> /etc/alternatives/vi\n" "$ sudo update-alternatives --display vi\n" "...\n" "$ sudo update-alternatives --config vi\n" " Selection Command\n" " ----------------------------------------------\n" " 1 /usr/bin/vim\n" "*+ 2 /usr/bin/nvi\n" "\n" "Enter to keep the default[*], or type selection number: 1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The Debian alternatives system keeps its selection as symlinks in " "\"<literal>/etc/alternatives/</literal>\". The selection process uses " "corresponding file in \"<literal>/var/lib/dpkg/alternatives/</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The dpkg-statoverride command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<emphasis role=\"strong\">Stat overrides</emphasis> provided by the " "<citerefentry><refentrytitle>dpkg-statoverride</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command are a way to tell " "<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> to use a different owner or mode for a <emphasis role=\"strong" "\">file</emphasis> when a package is installed. If \"<literal>--update</" "literal>\" is specified and file exists, it is immediately set to the new " "owner and mode." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The direct alteration of owner or mode for a <emphasis role=\"strong\">file</" "emphasis> owned by the package using <literal>chmod</literal> or " "<literal>chown</literal> commands by the system administrator is reset by " "the next upgrade of the package." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "I use the word <emphasis role=\"strong\">file</emphasis> here, but in " "reality this can be any filesystem object that <literal>dpkg</literal> " "handles, including directories, devices, etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The dpkg-divert command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "File <emphasis role=\"strong\">diversions</emphasis> provided by the " "<citerefentry><refentrytitle>dpkg-divert</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command are a way of forcing " "<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> not to install a file into its default location, but to a " "<emphasis role=\"strong\">diverted</emphasis> location. The use of " "<literal>dpkg-divert</literal> is meant for the package maintenance " "scripts. Its casual use by the system administrator is deprecated." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Recovery from a broken system" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When running <literal>unstable</literal> system, the administrator is " "expected to recover from broken package management situation." msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "Some methods described here are high risk actions. You have been warned!" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Incompatibility with old user configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If a desktop GUI program experienced instability after significant upstream " "version upgrade, you should suspect interferences with old local " "configuration files created by it. If it is stable under newly created user " "account, this hypothesis is confirmed. (This is a bug of packaging and " "usually avoided by the packager.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "To recover stability, you should move corresponding local configuration " "files and restart the GUI program. You may need to read old configuration " "file contents to recover configuration information later. (Do not erase " "them too quickly.)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Different packages with overlapped files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Archive level package management systems, such as " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>apt-get</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, do not even try to " "install packages with overlapped files using package dependencies (see <xref " "linkend=\"_package_dependencies\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Errors by the package maintainer or deployment of inconsistently mixed " "source of archives (see <xref linkend=" "\"_packages_from_mixed_source_of_archives\"/>) by the system administrator " "may create situation with incorrectly defined package dependencies. When you " "install a package with overlapped files using " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>apt-get</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> under such situation, " "<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> which unpacks package ensures to return error to the calling " "program without overwriting existing files." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The use of third party packages introduces significant system risks via " "maintainer scripts which are run with root privilege and can do anything to " "your system. The <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> command only protects " "against overwriting by the unpacking." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can work around such broken installation by removing the old offending " "package, <literal><old-package></literal>, first." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo dpkg -P <old-package>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Fixing broken package script" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When a command in the package script returns error for some reason and the " "script exits with error, the package management system aborts their action " "and ends up with partially installed packages. When a package contains bugs " "in its removal scripts, the package may become impossible to remove and " "quite nasty." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the package script problem of \"<literal><package_name></literal>" "\", you should look into following package scripts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/var/lib/dpkg/info/<package_name>.preinst</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/var/lib/dpkg/info/<package_name>.postinst</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/var/lib/dpkg/info/<package_name>.prerm</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>/var/lib/dpkg/info/<package_name>.postrm</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Edit the offending package script from the root using following techniques." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "disable the offending line by preceding \"<literal>#</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "force to return success by appending the offending line with \"<literal>|| " "true</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Configure all partially installed packages with the following command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dpkg --configure -a" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Rescue with the dpkg command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since <literal>dpkg</literal> is very low level package tool, it can " "function under the very bad situation such as unbootable system without " "network connection. Let's assume <literal>foo</literal> package was broken " "and needs to be replaced." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may still find cached copies of older bug free version of <literal>foo</" "literal> package in the package cache directory: \"<literal>/var/cache/apt/" "archives/</literal>\". (If not, you can download it from archive of <ulink " "url=\"&httpsnapshotdebiannet;\">http://snapshot.debian.net/</ulink> or copy " "it from package cache of a functioning machine.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you can boot the system, you may install it by the following command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dpkg -i /path/to/foo_<old_version>_<arch>.deb" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If system breakage is minor, you may alternatively downgrade the whole " "system as <xref linkend=\"_emergency_downgrading\"/> using the higher level " "APT system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If your system is unbootable from hard disk, you should seek other ways to " "boot it." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Boot the system using the debian-installer CD in rescue mode." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Mount the unbootable system on the hard disk to \"<literal>/target</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Install older version of <literal>foo</literal> package by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dpkg --root /target -i /path/to/foo_<old_version>_<arch>.deb" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This example works even if the <literal>dpkg</literal> command on the hard " "disk is broken." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Any GNU/Linux system started by another system on hard disk, live GNU/Linux " "CD, bootable USB-key drive, or netboot can be used similarly to rescue " "broken system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If attempting to install a package this way fails due to some dependency " "violations and you really need to do this as the last resort, you can " "override dependency using <literal>dpkg</literal>'s \"<literal>--ignore-" "depends</literal>\", \"<literal>--force-depends</literal>\" and other " "options. If you do this, you need to make serious effort to restore proper " "dependency later. See <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for details." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "When your system is seriously broken, you should make a full backup of " "system to a safe place (see <xref linkend=\"_backup_and_recovery\"/>) and " "should perform a clean installation. This is less time consuming and " "produces better results in the end." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recovering package selection data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If \"<literal>/var/lib/dpkg/status</literal>\" becomes corrupt for any " "reason, the Debian system loses package selection data and suffers " "severely. Look for the old \"<literal>/var/lib/dpkg/status</literal>\" file " "at \"<literal>/var/lib/dpkg/status-old</literal>\" or \"<literal>/var/" "backups/dpkg.status.*</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Keeping \"<literal>/var/backups/</literal>\" in a separate partition may be " "a good idea since this directory contains lots of important system data." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For serious breakage, I recommend to make fresh re-install after making " "backup of the system. Even if everything in \"<literal>/var/</literal>\" is " "gone, you can still recover some information from directories in \"<literal>/" "usr/share/doc/</literal>\" to guide your new installation." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Reinstall minimal (desktop) system." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# mkdir -p /path/to/old/system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Mount old system at \"<literal>/path/to/old/system/</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd /path/to/old/system/usr/share/doc\n" "# ls -1 >~/ls1.txt\n" "# cd /usr/share/doc\n" "# ls -1 >>~/ls1.txt\n" "# cd\n" "# sort ls1.txt | uniq | less" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Then you are presented with package names to install. (There may be some " "non-package names such as \"<literal>texmf</literal>\".)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Tips for the package management" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "How to pick Debian packages" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can seek packages which satisfy your needs with <literal>aptitude</" "literal> from the package description or from the list under \"Tasks\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you encounter more than 2 similar packages and wonder which one to " "install without \"trial and error\" efforts, you should use some <emphasis " "role=\"strong\">common sense</emphasis>. I consider following points are " "good indications of preferred packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Essential: yes > no" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Component: main > contrib > non-free" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Priority: required > important > standard > optional > extra" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Tasks: packages listed in tasks such as \"Desktop environment\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Packages selected by the dependency package (e.g., <literal>python2.4</" "literal> by <literal>python</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Popcon: higher in the vote and install number" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Changelog: regular updates by the maintainer" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "BTS: No RC bugs (no critical, no grave, and no serious bugs)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "BTS: responsive maintainer to bug reports" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "BTS: higher number of the recently fixed bugs" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "BTS: lower number of remaining non-wishlist bugs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Debian being a volunteer project with distributed development model, its " "archive contains many packages with different focus and quality. You must " "make your own decision what to do with them." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Packages from mixed source of archives" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Installing packages from mixed source of archives is not supported by the " "official Debian distribution except for officially supported particular " "combinations of archives such as <literal>stable</literal> with <ulink url=" "\"&securityupdates;\">security updates</ulink> and <ulink url=" "\"&codenamestableupdates;\">&codename-stable;-updates</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example of operations to include specific newer upstream version " "packages found in <literal>unstable</literal> while tracking " "<literal>testing</literal> for single occasion." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Change the \"<literal>/etc/apt/sources.list</literal>\" file temporarily to " "single \"<literal>unstable</literal>\" entry." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Run \"<literal>aptitude update</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Run \"<literal>aptitude install <package-name></literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Recover the original \"<literal>/etc/apt/sources.list</literal>\" file for " "<literal>testing</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You do not create the \"<literal>/etc/apt/preferences</literal>\" file nor " "need to worry about apt-pinning with this manual approach. But this is very " "cumbersome." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "When using mixed source of archives, you must ensure compatibility of " "packages by yourself since the Debian does not guarantee it. If package " "incompatibility exists, you may break system. You must be able to judge " "these technical requirements. The use of mixed source of random archives is " "completely optional operation and its use is not something I encourage you " "to use." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "General rules for installing packages from different archives are followings." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Non-binary packages (\"<literal>Architecture: all</literal>\") are <emphasis " "role=\"strong\">safer</emphasis> to install." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "documentation packages: no special requirements" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter program packages: compatible interpreter must be available" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Binary packages (non \"<literal>Architecture: all</literal>\") usually face " "many road blocks and <emphasis role=\"strong\">unsafe</emphasis> to install." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "library version compatibility (including \"<literal>libc</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "related utility program version compatibility" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Kernel <ulink url=\"&abi;\">ABI</ulink> compatibility" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "C++ <ulink url=\"&abi;\">ABI</ulink> compatibility" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "…" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "In order to make a package to be <emphasis role=\"strong\">safer</emphasis> " "to install, some commercial non-free binary program packages may be provided " "with completely statically linked libraries. You should still check <ulink " "url=\"&abi;\">ABI</ulink> compatibility issues etc. for them." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Except to avoid broken package for a short term, installing binary packages " "from officially unsupported archives is generally bad idea. This is true " "even if you use apt-pinning (see <xref linkend=\"_tweaking_candidate_version" "\"/>). You should consider chroot or similar techniques (see <xref linkend=" "\"_virtualized_system\"/>) to run programs from different archives." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Tweaking candidate version" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Without the \"<literal>/etc/apt/preferences</literal>\" file, APT system " "choses the latest available version as the <emphasis role=\"strong" "\">candidate version</emphasis> using the version string. This is the " "normal state and most recommended usage of APT system. All officially " "supported combinations of archives do not require the \"<literal>/etc/apt/" "preferences</literal>\" file since some archives which should not be used as " "the automatic source of upgrades are marked as <emphasis role=\"strong" "\">NotAutomatic</emphasis> and dealt properly." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The version string comparison rule can be verified with, e.g., " "\"<literal>dpkg --compare-versions ver1.1 gt ver1.1~1; echo $?</literal>" "\" (see <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you install packages from mixed source of archives (see <xref linkend=" "\"_packages_from_mixed_source_of_archives\"/>) regularly, you can automate " "these complicated operations by creating the \"<literal>/etc/apt/" "preferences</literal>\" file with proper entries and tweaking the package " "selection rule for <emphasis role=\"strong\">candidate version</emphasis> as " "described in <citerefentry><refentrytitle>apt_preferences</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>. This is called " "<emphasis role=\"strong\">apt-pinning</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Use of apt-pinning by a novice user is sure call for major troubles. You " "must avoid using apt-pinning except when you absolutely need it." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "When using apt-pinning, you must ensure compatibility of packages by " "yourself since the Debian does not guarantee it. The apt-pinning is " "completely optional operation and its use is not something I encourage you " "to use." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Archive level Release files (see <xref linkend=\"_archive_level_release_files" "\"/>) are used for the rule of <citerefentry><refentrytitle>apt_preferences</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>. Thus apt-pinning " "works only with \"suite\" name for <ulink url=\"&normaldebianarchives;" "\">normal Debian archives</ulink> and <ulink url=\"&securitydebianarchives;" "\">security Debian archives</ulink>. (This is different from <ulink url=" "\"&ubuntu;\">Ubuntu</ulink> archives). For example, you can do " "\"<literal>Pin: release a=unstable</literal>\" but can not do " "\"<literal>Pin: release a=sid</literal>\" in the \"<literal>/etc/apt/" "preferences</literal>\" file." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "When you use non-Debian archive as a part of apt-pinning, you should check " "what they are intended for and also check their credibility. For example, " "Ubuntu and Debian are not meant to be mixed." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Even if you do not create the \"<literal>/etc/apt/preferences</literal>\" " "file, you can do fairly complex system operations (see <xref linkend=" "\"_rescue_with_the_dpkg_command\"/> and <xref linkend=" "\"_packages_from_mixed_source_of_archives\"/>) without apt-pinning." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a simplified explanation of <emphasis role=\"strong\">apt-pinning</" "emphasis> technique." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "APT system choses highest Pin-Priority <emphasis role=\"strong\">upgrading</" "emphasis> package from available package sources defined in the \"<literal>/" "etc/apt/sources.list</literal>\" file as the <emphasis role=\"strong" "\">candidate version</emphasis> package. If the Pin-Priority of the package " "is larger than 1000, this version restriction for <emphasis role=\"strong" "\">upgrading</emphasis> is dropped to enable downgrading (see <xref linkend=" "\"_emergency_downgrading\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Pin-Priority value of each package is defined by \"Pin-Priority\" entries in " "the \"<literal>/etc/apt/preferences</literal>\" file or uses its default " "value." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "List of notable Pin-Priority values for <emphasis role=\"strong\">apt-" "pinning</emphasis> technique." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Pin-Priority" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "apt-pinning effects to the package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1001" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "install the package even if this constitutes a downgrade of the package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "990" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "used as the default for the <emphasis role=\"strong\">target release</" "emphasis> archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "500" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "used as the default for the <emphasis role=\"strong\">normal</emphasis> " "archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "100" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "used as the default for the <emphasis role=\"strong\">NotAutomatic</" "emphasis> and <emphasis role=\"strong\">ButAutomaticUpgrades</emphasis> " "archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "used for the <emphasis role=\"strong\">installed</emphasis> package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "used as the default for the <emphasis role=\"strong\">NotAutomatic</" "emphasis> archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "-1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<emphasis role=\"strong\">never install</emphasis> the package even if " "recommended" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">target release</emphasis> archive can be set " "by several methods." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/apt/apt.conf</literal>\" configuration file with " "\"<literal>APT::Default-Release \"stable\";</literal>\" line" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "command line option, e.g., \"<literal>apt-get install -t testing some-" "package</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">NotAutomatic</emphasis> and <emphasis role=" "\"strong\">ButAutomaticUpgrades</emphasis> archive is set by archive server " "having its archive level Release file (see <xref linkend=" "\"_archive_level_release_files\"/>) containing both \"<literal>NotAutomatic: " "yes</literal>\" and \"<literal>ButAutomaticUpgrades: yes</literal>\". The " "<emphasis role=\"strong\">NotAutomatic</emphasis> archive is set by archive " "server having its archive level Release file containing only " "\"<literal>NotAutomatic: yes</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">apt-pinning situation</emphasis> of <" "package> from multiple archive sources is displayed by \"<literal>apt-" "cache policy <package></literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "A line started with \"<literal>Package pin:</literal>\" lists the package " "version of <emphasis role=\"strong\">pin</emphasis> if association just with " "<package> is defined, e.g., \"<literal>Package pin: 0.190</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "No line with \"<literal>Package pin:</literal>\" exists if no association " "just with <package> is defined." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The Pin-Priority value associated just with <package> is listed right " "side of all version strings, e.g., \"<literal>0.181 700</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>0</literal>\" is listed right side of all version strings if no " "association just with <package> is defined, e.g., \"<literal>0.181 0</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The Pin-Priority values of archives (defined as \"<literal>Package: *</" "literal>\" in the \"<literal>/etc/apt/preferences</literal>\" file) are " "listed left side of all archive paths, e.g., \"<literal>100 http://ftp.xx." "debian.org/debian/ &codename-stable;-backports/main Packages</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Updates and Backports" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are <ulink url=\"&codenamestableupdates;\">&codename-stable;-updates</" "ulink> and <ulink url=\"&backportsdebianorg;\">backports.debian.org</ulink> " "archives which provide updgrade packages for <literal>stable</literal> " "(<literal>&codename-stable;</literal>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to use these archives, you list all required archives in the " "\"<literal>/etc/apt/sources.list</literal>\" file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "deb http://ftp.us.debian.org/debian/ &codename-stable; main contrib non-free\n" "deb http://security.debian.org/ &codename-stable;/updates main contrib\n" "deb http://ftp.us.debian.org/debian/ &codename-stable;-updates main contrib non-free\n" "deb http://ftp.us.debian.org/debian/ &codename-stable;-backports main contrib non-free" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There is no need to set Pin-Priority value explicitly in the \"<literal>/etc/" "apt/preferences</literal>\" file. When newer packages become available, the " "default configuration provides most reasonable upgrades (see <xref linkend=" "\"_archive_level_release_files\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "All installed older packages are upgraded to newer ones from " "<literal>&codename-stable;-updates</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Only manually installed older packages from <literal>&codename-stable;-" "backports</literal> are upgraded to newer ones from <literal>&codename-" "stable;-backports</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Whenever you wish to install a package named \"<literal><package-name>" "</literal>\" with its dependency from <literal>&codename-stable;-backports</" "literal> archive manually, you use following command while switching target " "release with \"<literal>-t</literal>\" option." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo apt-get install -t &codename-stable;-backports <package-name>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Blocking packages installed by \"Recommends\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you wish not to pull in particular packages automatically by \"Recommends" "\", you must create the \"<literal>/etc/apt/preferences</literal>\" file and " "explicitly list all those packages at the top of it as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Package: <package-1>\n" "Pin: version *\n" "Pin-Priority: -1\n" "\n" "Package: <package-2>\n" "Pin: version *\n" "Pin-Priority: -1" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "" "Tracking <literal>testing</literal> with some packages from " "<literal>unstable</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example of <emphasis role=\"strong\">apt-pinning</emphasis> " "technique to include specific newer upstream version packages found in " "<literal>unstable</literal> regularly upgraded while tracking " "<literal>testing</literal>. You list all required archives in the " "\"<literal>/etc/apt/sources.list</literal>\" file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "deb http://ftp.us.debian.org/debian/ testing main contrib non-free\n" "deb http://ftp.us.debian.org/debian/ unstable main contrib non-free\n" "deb http://security.debian.org/ testing/updates main contrib" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set the \"<literal>/etc/apt/preferences</literal>\" file as as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Package: *\n" "Pin: release a=unstable\n" "Pin-Priority: 100" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you wish to install a package named \"<literal><package-name></" "literal>\" with its dependencies from <literal>unstable</literal> archive " "under this configuration, you issue the following command which switches " "target release with \"<literal>-t</literal>\" option (Pin-Priority of " "<literal>unstable</literal> becomes 990.)." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo apt-get install -t unstable <package-name>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "With this configuration, usual execution of \"<literal>apt-get upgrade</" "literal>\" and \"<literal>apt-get dist-upgrade</literal>\" (or " "\"<literal>aptitude safe-upgrade</literal>\" and \"<literal>aptitude full-" "upgrade</literal>\") upgrades packages which were installed from " "<literal>testing</literal> archive using current <literal>testing</literal> " "archive and packages which were installed from <literal>unstable</literal> " "archive using current <literal>unstable</literal> archive." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Be careful not to remove \"<literal>testing</literal>\" entry from the " "\"<literal>/etc/apt/sources.list</literal>\" file. Without " "\"<literal>testing</literal>\" entry in it, APT system upgrades packages " "using newer <literal>unstable</literal> archive." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "I usually edit the \"<literal>/etc/apt/sources.list</literal>\" file to " "comment out \"<literal>unstable</literal>\" archive entry right after above " "operation. This avoids slow update process of having too many entries in " "the \"<literal>/etc/apt/sources.list</literal>\" file although this prevents " "upgrading packages which were installed from <literal>unstable</literal> " "archive using current <literal>unstable</literal> archive." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If \"<literal>Pin-Priority: 1</literal>\" is used instead of \"<literal>Pin-" "Priority: 100</literal>\" for the \"<literal>/etc/apt/preferences</literal>" "\" file, already installed packages having Pin-Priority value of 100 are not " "upgraded by <literal>unstable</literal> archive even if \"<literal>testing</" "literal>\" entry in the \"<literal>/etc/apt/sources.list</literal>\" file is " "removed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you wish to track particular packages in <literal>unstable</literal> " "automatically without initial \"<literal>-t unstable</literal>\" " "installation, you must create the \"<literal>/etc/apt/preferences</literal>" "\" file and explicitly list all those packages at the top of it as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Package: <package-1>\n" "Pin: release a=unstable\n" "Pin-Priority: 700\n" "\n" "Package: <package-2>\n" "Pin: release a=unstable\n" "Pin-Priority: 700" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "These set Pin-Priority value for each specific package. For example, in " "order to track the latest <literal>unstable</literal> version of this " "\"Debian Reference\" in English, you should have following entries in the " "\"<literal>/etc/apt/preferences</literal>\" file." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Package: debian-reference-en\n" "Pin: release a=unstable\n" "Pin-Priority: 700\n" "\n" "Package: debian-reference-common\n" "Pin: release a=unstable\n" "Pin-Priority: 700" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "This apt-pinning technique is valid even when you are tracking " "<literal>stable</literal> archive. Documentation packages have been always " "safe to install from <literal>unstable</literal> archive in my experience, " "so far." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "" "Tracking <literal>unstable</literal> with some packages from " "<literal>experimental</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is another example of <emphasis role=\"strong\">apt-pinning</emphasis> " "technique to include specific newer upstream version packages found in " "<literal>experimental</literal> while tracking <literal>unstable</literal>. " "You list all required archives in the \"<literal>/etc/apt/sources.list</" "literal>\" file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "deb http://ftp.us.debian.org/debian/ unstable main contrib non-free\n" "deb http://ftp.us.debian.org/debian/ experimental main contrib non-free\n" "deb http://security.debian.org/ testing/updates main contrib" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The default Pin-Priority value for <literal>experimental</literal> archive " "is always 1 (<<100) since it is <emphasis role=\"strong" "\">NotAutomatic</emphasis> archive (see <xref linkend=" "\"_archive_level_release_files\"/>). There is no need to set Pin-Priority " "value explicitly in the \"<literal>/etc/apt/preferences</literal>\" file " "just to use <literal>experimental</literal> archive unless you wish to track " "particular packages in it automatically for next upgrading." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Automatic download and upgrade of packages" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>apt</literal> package comes with its own cron script " "\"<literal>/etc/cron.daily/apt</literal>\" to support the automatic download " "of packages. This script can be enhanced to perform the automatic upgrade " "of packages by installing the <literal>unattended-upgrades</literal> " "package. These can be customized by parameters in \"<literal>/etc/apt/apt." "conf.d/02backup</literal>\" and \"<literal>/etc/apt/apt.conf.d/50unattended-" "upgrades</literal>\" as described in \"<literal>/usr/share/doc/unattended-" "upgrades/README</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>unattended-upgrades</literal> package is mainly intended for " "the security upgrade for the <literal>stable</literal> system. If the risk " "of breaking an existing <literal>stable</literal> system by the automatic " "upgrade is smaller than that of the system broken by the intruder using its " "security hole which has been closed by the security update, you should " "consider using this automatic upgrade with configuration parameters as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "APT::Periodic::Update-Package-Lists \"1\";\n" "APT::Periodic::Download-Upgradeable-Packages \"1\";\n" "APT::Periodic::Unattended-Upgrade \"1\";" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are running an <literal>unstable</literal> system, you do not want to " "use the automatic upgrade since it certainly breaks system some day. Even " "for such <literal>unstable</literal> case, you may still want to download " "packages in advance to save time for the interactive upgrade with " "configuration parameters as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "APT::Periodic::Update-Package-Lists \"1\";\n" "APT::Periodic::Download-Upgradeable-Packages \"1\";\n" "APT::Periodic::Unattended-Upgrade \"0\";" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Limiting download bandwidth for APT" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you want to limit the download bandwidth for APT to e.g. 800Kib/sec " "(=100kiB/sec), you should configure APT with its configuration parameter as " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "APT::Acquire::http::Dl-Limit \"800\";" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Emergency downgrading" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Downgrading is not officially supported by the Debian by design. It should " "be done only as a part of emergency recovery process. Despite of this " "situation, it is known to work well in many incidents. For critical " "systems, You should backup all important data on the system after the " "recovery operation and re-install the new system from the scratch." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may be lucky to downgrade from newer archive to older archive to recover " "from broken system upgrade by manipulating <emphasis role=\"strong" "\">candidate version</emphasis> (see <xref linkend=" "\"_tweaking_candidate_version\"/>). This is lazy alternative to tedious " "actions of many \"<literal>dpkg -i <broken-package>_<old-" "version>.deb</literal>\" commands (see <xref linkend=" "\"_rescue_with_the_dpkg_command\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Search lines in the \"<literal>/etc/apt/sources.list</literal>\" file " "tracking <literal>unstable</literal> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "deb http://ftp.us.debian.org/debian/ &codename-unstable; main contrib non-free" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Replace it with the following to track <literal>testing</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "deb http://ftp.us.debian.org/debian/ &codename-testing; main contrib non-free" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set the \"<literal>/etc/apt/preferences</literal>\" file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Package: *\n" "Pin: release a=testing\n" "Pin-Priority: 1010" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Run \"<literal>apt-get dist-upgrade</literal>\" to force downgrading of " "packages across the system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Remove this special \"<literal>/etc/apt/preferences</literal>\" file after " "this emergency downgrading." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "It is good idea to remove (not purge!) as much packages to minimize " "dependency problems. You may need to manually remove and install some " "packages to get system downgraded. Linux kernel, bootloader, udev, PAM, " "APT, and networking related packages and their configuration files require " "special attention." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Who uploaded the package?" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although the maintainer name listed in \"<literal>/var/lib/dpkg/available</" "literal>\" and \"<literal>/usr/share/doc/package_name/changelog</literal>\" " "provide some information on \"who is behind the packaging activity\", the " "actual uploader of the package is somewhat obscure. " "<citerefentry><refentrytitle>who-uploads</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> in the <literal>devscripts</literal> package " "identifies the actual uploader of Debian source packages." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The equivs package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are to compile a program from source to replace the Debian package, " "it is best to make it into a real local debianized package (<literal>*.deb</" "literal>) and use private archive." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you chose to compile a program from source and to install them under " "\"<literal>/usr/local</literal>\" instead, you may need to use " "<literal>equivs</literal> as a last resort to satisfy the missing package " "dependency." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Package: equivs\n" "Priority: extra\n" "Section: admin\n" "Description: Circumventing Debian package dependencies\n" " This is a dummy package which can be used to create Debian\n" " packages, which only contain dependency information." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Porting a package to the stable system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For partial upgrades of the <literal>stable</literal> system, rebuilding a " "package within its environment using the source package is desirable. This " "avoids massive package upgrades due to their dependencies." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Add the following entries to the \"<literal>/etc/apt/sources.list</literal>" "\" of a <literal>stable</literal> system." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "deb-src http://http.us.debian.org/debian unstable main contrib non-free" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Install required packages for the compilation and download the source " "package as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# apt-get update\n" "# apt-get dist-upgrade\n" "# apt-get install fakeroot devscripts build-essential\n" "$ apt-get build-dep foo\n" "$ apt-get source foo\n" "$ cd foo*" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Adjust installed packages if needed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Execute the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ dch -i" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Bump package version, e.g. one appended with \"<literal>+bp1</literal>\" in " "\"<literal>debian/changelog</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Build packages and install them to the system as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ debuild\n" "$ cd ..\n" "# debi foo*.changes" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Proxy server for APT" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since mirroring whole subsection of Debian archive wastes disk space and " "network bandwidth, deployment of a local proxy server for APT is desirable " "consideration when you administer many systems on <ulink url=\"&lan;\">LAN</" "ulink>. APT can be configure to use generic web (http) proxy servers such " "as <literal>squid</literal> (see <xref linkend=" "\"_other_network_application_servers\"/>) as described in " "<citerefentry><refentrytitle>apt.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> and in \"<literal>/usr/share/doc/apt/examples/" "configure-index.gz</literal>\". The \"<literal>$http_proxy</literal>\" " "environment variable can be used to override proxy server setting in the " "\"<literal>/etc/apt/apt.conf</literal>\" file." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are proxy tools specially for Debian archive. You should check BTS " "before using them." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of the proxy tools specially for Debian archive" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "caching proxy server for Debian archive files (compiled <ulink url=\"&ocaml;" "\">OCaml</ulink> program)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Caching proxy for Debian package and source files (Perl program)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Caching proxy for distribution of software packages (compiled C++ program)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Bittorrent proxy for downloading Debian packages (Python program)" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "When Debian reorganizes its archive structure, these specialized proxy tools " "tend to require code rewrites by the package maintainer and may not be " "functional for a while. On the other hand, generic web (http) proxy servers " "are more robust and easier to cope with such changes." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Small public package archive" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example for creating a small public package archive compatible " "with the modern <emphasis role=\"strong\">secure APT</emphasis> system (see " "<xref linkend=\"_top_level_release_file_and_authenticity\"/>). Let's assume " "few things." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Account name: \"<literal>foo</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Host name: \"<literal>www.example.com</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Required packages: <literal>apt-utils</literal>, <literal>gnupg</literal>, " "and other packages" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "URL: \"<literal>http://www.example.com/~foo/</literal>\" ( → \"<literal>/" "home/foo/public_html/index.html</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Architecture of packages: \"<literal>amd64</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create an APT archive key of Foo on your server system as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ssh foo@www.example.com\n" "$ gpg --gen-key\n" "...\n" "$ gpg -K\n" "...\n" "sec 1024D/3A3CB5A6 2008-08-14\n" "uid Foo (ARCHIVE KEY) <foo@www.example.com>\n" "ssb 2048g/6856F4A7 2008-08-14\n" "$ gpg --export -a 3A3CB5A6 >foo.public.key" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Publish the archive key file \"<literal>foo.public.key</literal>\" with the " "key ID \"<literal>3A3CB5A6</literal>\" for Foo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create an archive tree called \"Origin: Foo\" as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ umask 022\n" "$ mkdir -p ~/public_html/debian/pool/main\n" "$ mkdir -p ~/public_html/debian/dists/unstable/main/binary-amd64\n" "$ mkdir -p ~/public_html/debian/dists/unstable/main/source\n" "$ cd ~/public_html/debian\n" "$ cat > dists/unstable/main/binary-amd64/Release << EOF\n" "Archive: unstable\n" "Version: 4.0\n" "Component: main\n" "Origin: Foo\n" "Label: Foo\n" "Architecture: amd64\n" "EOF\n" "$ cat > dists/unstable/main/source/Release << EOF\n" "Archive: unstable\n" "Version: 4.0\n" "Component: main\n" "Origin: Foo\n" "Label: Foo\n" "Architecture: source\n" "EOF\n" "$ cat >aptftp.conf <<EOF\n" "APT::FTPArchive::Release {\n" " Origin \"Foo\";\n" " Label \"Foo\";\n" " Suite \"unstable\";\n" " Codename \"sid\";\n" " Architectures \"amd64\";\n" " Components \"main\";\n" " Description \"Public archive for Foo\";\n" "};\n" "EOF\n" "$ cat >aptgenerate.conf <<EOF\n" "Dir::ArchiveDir \".\";\n" "Dir::CacheDir \".\";\n" "TreeDefault::Directory \"pool/\";\n" "TreeDefault::SrcDirectory \"pool/\";\n" "Default::Packages::Extensions \".deb\";\n" "Default::Packages::Compress \". gzip bzip2\";\n" "Default::Sources::Compress \"gzip bzip2\";\n" "Default::Contents::Compress \"gzip bzip2\";\n" "\n" "BinDirectory \"dists/unstable/main/binary-amd64\" {\n" " Packages \"dists/unstable/main/binary-amd64/Packages\";\n" " Contents \"dists/unstable/Contents-amd64\";\n" " SrcPackages \"dists/unstable/main/source/Sources\";\n" "};\n" "\n" "Tree \"dists/unstable\" {\n" " Sections \"main\";\n" " Architectures \"amd64 source\";\n" "};\n" "EOF" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can automate repetitive updates of APT archive contents on your server " "system by configuring <literal>dupload</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Place all package files into \"<literal>~foo/public_html/debian/pool/main/</" "literal>\" by executing \"<literal>dupload -t foo changes_file</literal>\" " "in client while having \"<literal>~/.dupload.conf</literal>\" containing the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$cfg{'foo'} = {\n" " fqdn => \"www.example.com\",\n" " method => \"scpb\",\n" " incoming => \"/home/foo/public_html/debian/pool/main\",\n" " # The dinstall on ftp-master sends emails itself\n" " dinstall_runs => 1,\n" "};\n" "\n" "$cfg{'foo'}{postupload}{'changes'} = \"\n" " echo 'cd public_html/debian ;\n" " apt-ftparchive generate -c=aptftp.conf aptgenerate.conf;\n" " apt-ftparchive release -c=aptftp.conf dists/unstable >dists/unstable/Release ;\n" " rm -f dists/unstable/Release.gpg ;\n" " gpg -u 3A3CB5A6 -bao dists/unstable/Release.gpg dists/unstable/Release'|\n" " ssh foo@www.example.com 2>/dev/null ;\n" " echo 'Package archive created!'\";" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">postupload</emphasis> hook script initiated by " "<citerefentry><refentrytitle>dupload</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> creates updated archive files for each upload." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can add this small public archive to the apt-line of your client system " "by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo bash\n" "# echo \"deb http://www.example.com/~foo/debian/ unstable main\" \\\n" " >> /etc/apt/sources.list\n" "# apt-key add foo.public.key" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If the archive is located on the local filesystem, you can use " "\"<literal>deb file:///home/foo/debian/ …</literal>\" instead." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recording and copying system configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can make a local copy of the package and debconf selection states by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# dpkg --get-selections '*' > selection.dpkg\n" "# debconf-get-selections > selection.debconf" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, \"<literal>*</literal>\" makes \"<literal>selection.dpkg</literal>\" " "to include package entries for \"purge\" too." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can transfer these 2 files to another computer, and install there with " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# dselect update\n" "# debconf-set-selections < myselection.debconf\n" "# dpkg --set-selections < myselection.dpkg\n" "# apt-get -u dselect-upgrade # or dselect install" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are thinking about managing many servers in a cluster with " "practically the same configuration, you should consider to use specialized " "package such as <literal>fai</literal> to manage the whole system." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Converting or installing an alien binary package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>alien</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> enables the conversion of binary packages provided in Red Hat " "<literal>rpm</literal>, Stampede <literal>slp</literal>, Slackware " "<literal>tgz</literal>, and Solaris <literal>pkg</literal> file formats into " "a Debian <literal>deb</literal> package. If you want to use a package from " "another Linux distribution than the one you have installed on your system, " "you can use <literal>alien</literal> to convert it from your preferred " "package format and install it. <literal>alien</literal> also supports LSB " "packages." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "<citerefentry><refentrytitle>alien</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> should not be used to replace essential system packages, such " "as <literal>sysvinit</literal>, <literal>libc6</literal>, <literal>libpam-" "modules</literal>, etc. Practically, <citerefentry><refentrytitle>alien</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> should only used for " "<emphasis role=\"strong\">non-free</emphasis> binary-only packages which are " "LSB compliant or statically linked. For free softwares, you should use " "their source packages to make real Debian packages." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Extracting package without dpkg" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The current \"<literal>*.deb</literal>\" package contents can be extracted " "without using <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> on any <ulink url=\"&unixlike;\">Unix-like</ulink> " "environment using standard <citerefentry><refentrytitle>ar</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# ar x /path/to/dpkg_<version>_<arch>.deb\n" "# ls\n" "total 24\n" "-rw-r--r-- 1 bozo bozo 1320 2007-05-07 00:11 control.tar.gz\n" "-rw-r--r-- 1 bozo bozo 12837 2007-05-07 00:11 data.tar.gz\n" "-rw-r--r-- 1 bozo bozo 4 2007-05-07 00:11 debian-binary\n" "# mkdir control\n" "# mkdir data\n" "# tar xvzf control.tar.gz -C control\n" "# tar xvzf data.tar.gz -C data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can also browse package content using the <literal>mc</literal> command." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "More readings for the package management" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can learn more on the package management from following documentations." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Primary documentations on the package management:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>dpkg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>tasksel</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>apt-get</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>apt-config</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>apt-key</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>sources.list</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>apt.conf</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>apt_preferences</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>;" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>/usr/share/doc/apt-doc/guide.html/index.html</literal>\" and " "\"<literal>/usr/share/doc/apt-doc/offline.html/index.html</literal>\" from " "the <literal>apt-doc</literal> package; and" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>/usr/share/doc/aptitude/html/en/index.html</literal>\" from the " "<literal>aptitude-doc-en</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Official and detailed documentations on the Debian archive:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianpolicymanuthedebianarchive;\">\"Debian Policy Manual " "Chapter 2 - The Debian Archive\"</ulink>," msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debiandevelopersthedebianarchive;\">\"Debian Developer's " "Reference, Chapter 4 - Resources for Debian Developers 4.6 The Debian archive" "\"</ulink>, and" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&thedebiangnulinuebianftparchives;\">\"The Debian GNU/Linux " "FAQ, Chapter 5 - The Debian FTP archives\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Tutorial for building of a Debian package for Debian users:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debiannewmaintainersguide;\">\"Debian New Maintainers' Guide" "\"</ulink>." msgstr "" #. type: Content of: <book><chapter><title> msgid "The system initialization" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "It is wise for you as the system administrator to know roughly how the " "Debian system is started and configured. Although the exact details are in " "the source files of the packages installed and their documentations, it is a " "bit overwhelming for most of us." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "I did my best to provide a quick overview of the key points of the Debian " "system and their configuration for your reference, based on the current and " "previous knowledge of mine and others. Since the Debian system is a moving " "target, the situation over the system may have been changed. Before making " "any changes to the system, you should refer to the latest documentation for " "each package." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "An overview of the boot strap process" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The computer system undergoes several phases of <ulink url=" "\"&bootstrapprocesses;\">boot strap processes</ulink> from the power-on " "event until it offers the fully functional operating system (OS) to the user." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For simplicity, I limit discussion to the typical PC platform with the " "default installation." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The typical boot strap process is like a four-stage rocket. Each stage " "rocket hands over the system control to the next stage one." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_stage_1_the_bios\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_stage_2_the_boot_loader\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_stage_3_the_mini_debian_system\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<xref linkend=\"_stage_4_the_normal_debian_system\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, these can be configured differently. For example, if you " "compiled your own kernel, you may be skipping the step with the mini-Debian " "system. So please do not assume this is the case for your system until you " "check it yourself." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "For non-legacy PC platform such as the SUN or the Macintosh system, the BIOS " "on ROM and the partition on the disk may be quite different (<xref linkend=" "\"_disk_partition_configuration\"/>). Please seek the platform specific " "documentations elsewhere for such a case." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Stage 1: the BIOS" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <ulink url=\"&bios;\">BIOS</ulink> is the 1st stage of the boot process " "which is started by the power-on event. The <ulink url=\"&bios;\">BIOS</" "ulink> residing on the <ulink url=\"&readonlymemoryrom;\">read only memory " "(ROM)</ulink> is executed from the particular memory address to which the " "program counter of CPU is initialized by the power-on event." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This BIOS performs the basic initialization of the hardware (<ulink url=" "\"&postpoweronselftest;\">POST: power on self test</ulink>) and hands the " "system control to the next step which you provide. The BIOS is usually " "provided with the hardware." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The BIOS startup screen usually indicates what key(s) to press to enter the " "BIOS setup screen to configure the BIOS behavior. Popular keys used are F1, " "F2, F10, Esc, Ins, and Del. If your BIOS startup screen is hidden by a nice " "graphics screen, you may press some keys such as Esc to disable this. These " "keys are highly dependent on the hardware." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The hardware location and the priority of the code started by the BIOS can " "be selected from the BIOS setup screen. Typically, the first few sectors of " "the first found selected device (hard disk, floppy disk, CD-ROM, …) are " "loaded to the memory and this initial code is executed. This initial code " "can be any one of the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The boot loader code" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The kernel code of the stepping stone OS such as <ulink url=\"&freedos;" "\">FreeDOS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The kernel code of the target OS if it fits in this small space" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Typically, the system is booted from the specified partition of the primary " "hard disk partition. First 2 sectors of the hard disk on legacy PC contain " "the <ulink url=\"&masterbootrecordmbr;\">master boot record (MBR)</ulink>. " "The disk partition information including the boot selection is recorded at " "the end of this MBR. The first boot loader code executed from the BIOS " "occupies the rest of this MBR." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Stage 2: the boot loader" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <ulink url=\"&bootloader;\">boot loader</ulink> is the 2nd stage of the " "boot process which is started by the BIOS. It loads the system kernel image " "and the <ulink url=\"&initrd;\">initrd</ulink> image to the memory and hands " "control over to them. This initrd image is the root filesystem image and " "its support depends on the bootloader used." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The Debian system normally uses the Linux kernel as the default system " "kernel. The initrd image for the current 2.6 Linux kernel is technically the " "initramfs (initial RAM filesystem) image. The initramfs image is a gzipped " "cpio archive of files in the root filesystem." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The default install of the Debian system places first-stage GRUB boot loader " "code into the <ulink url=\"&mbr;\">MBR</ulink> for the PC platform. There " "are many boot loaders and configuration options available." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of boot loaders" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "initrd" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "bootloader" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Supported" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&grublegacy;\">GRUB Legacy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "This is smart enough to understand disk partitions and filesystems such as " "vfat, ext3, …. (<literal>lenny</literal> default)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&grubc;\">GRUB 2</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "This is smart enough to understand disk partitions and filesystems such as " "vfat, ext3, …." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "This is GRUB 2 bootable rescue images (CD and floppy) (PC/BIOS version)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&lilo;\">Lilo</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "This relies on the sector locations of data on the hard disk. (Old)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isolinux;\">Isolinux</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "This understands the ISO9660 filesystem. This is used by the boot CD." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&syslinux;\">Syslinux</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "This understands the <ulink url=\"&msdosfilesystemfat;\">MSDOS filesystem " "(FAT)</ulink>. This is used by the boot floppy." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&loadlin;\">Loadlin</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "New system is started from the FreeDOS/MSDOS system." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Not supported" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&mbrbyneilturton;\">MBR by Neil Turton</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "This is free software which substitutes MSDOS <ulink url=\"&mbr;\">MBR</" "ulink>. This only understands disk partitions." msgstr "" #. type: Content of: <book><chapter><section><warning><para> msgid "" "Do not play with boot loaders without having bootable rescue media (CD or " "floppy) created from images in the <literal>grub-rescue-pc</literal> " "package. It makes you boot your system even without functioning bootloader " "on the hard disk." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For GRUB Legacy, the menu configuration file is located at \"<literal>/boot/" "grub/menu.lst</literal>\". For example, it has entries as the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "title Debian GNU/Linux\n" "root (hd0,2)\n" "kernel /vmlinuz root=/dev/hda3 ro\n" "initrd /initrd.img" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For GRUB 2, the menu configuration file is located at \"<literal>/boot/grub/" "grub.cfg</literal>\". It is automatically generated by \"<literal>/usr/sbin/" "update-grub</literal>\" using templates from \"<literal>/etc/grub.d/*</" "literal>\" and settings from \"<literal>/etc/default/grub</literal>\". For " "example, it has entries as the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "menuentry \"Debian GNU/Linux\" {\n" " set root=(hd0,3)\n" " linux /vmlinuz root=/dev/hda3\n" " initrd /initrd.img\n" "}" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "For these examples, these GRUB parameters mean the following." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "The meaning of GRUB parameters" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "GRUB parameter" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>root</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "use 3rd partition on the primary disk by setting it as \"<literal>(hd0,2)</" "literal>\" in GRUB legacy or as \"<literal>(hd0,3)</literal>\" in GRUB 2" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>kernel</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "use kernel located at \"<literal>/vmlinuz</literal>\" with kernel parameter: " "\"<literal>root=/dev/hda3 ro</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>initrd</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "use <ulink url=\"&initrdinitramfs;\">initrd/initramfs</ulink> image located " "at \"<literal>/initrd.img</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "The value of the partition number used by GRUB legacy program is one less " "than normal one used by Linux kernel and utility tools. GRUB 2 program " "fixes this problem." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "<ulink url=\"&uuid;\">UUID</ulink> (see <xref linkend=" "\"_accessing_partition_using_uuid\"/>) may be used to identify a block " "special device instead of its file name such as \"<literal>/dev/hda3</" "literal>\", e.g.\"<literal>root=UUID=81b289d5-4341-4003-9602-e254a17ac232 " "ro</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "You can start a boot loader from another boot loader using techniques called " "<ulink url=\"&chainloading;\">chain loading</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See \"<literal>info grub</literal>\" and <citerefentry><refentrytitle>grub-" "install</refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Stage 3: the mini-Debian system" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The mini-Debian system is the 3rd stage of the boot process which is started " "by the boot loader. It runs the system kernel with its root filesystem on " "the memory. This is an optional preparatory stage of the boot process." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "The term \"the mini-Debian system\" is coined by the author to describe this " "3rd stage boot process for this document. This system is commonly referred " "as the <ulink url=\"&initrd;\">initrd</ulink> or initramfs system. Similar " "system on the memory is used by <ulink url=\"&thedebianinstaller;\">the " "Debian Installer</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The \"<literal>/init</literal>\" script is executed as the first program in " "this root filesystem on the memory. It is a shell script program which " "initializes the kernel in user space and hands control over to the next " "stage. This mini-Debian system offers flexibility to the boot process such " "as adding kernel modules before the main boot process or mounting the root " "filesystem as an encrypted one." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can interrupt this part of the boot process to gain root shell by " "providing \"<literal>break=init</literal>\" etc. to the kernel boot " "parameter. See the \"<literal>/init</literal>\" script for more break " "conditions. This shell environment is sophisticated enough to make a good " "inspection of your machine's hardware." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Commands available in this mini-Debian system are stripped down ones and " "mainly provided by a GNU tool called <citerefentry><refentrytitle>busybox</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "You need to use \"<literal>-n</literal>\" option for <literal>mount</" "literal> command when you are on the readonly root filesystem." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Stage 4: the normal Debian system" msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of boot utilities for the Debian system" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "scripts for initializing and shutting down the system" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "System-V-like <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> utilities" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "System-V-like runlevel change mechanism" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "System-V-like utilities (<citerefentry><refentrytitle>startpar</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>bootlogd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, …)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&linuxstandardbase;\">Linux Standard Base</ulink> 3.2 init " "script functionality" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "tool to organize boot sequence using LSB init.d script dependencies" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "event-based <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon for concurrency (alternative to " "<literal>sysvinit</literal>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>readahead</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to preload boot process files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "tools to use userspace software suspend provided by Linux" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "kexec tool for <citerefentry><refentrytitle>kexec</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> reboots (warm reboot)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "boot process performance analyser" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "boot process performance analyser (visualisation)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "console-only <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "smart modem <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> replacement" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "All boot mechanisms are compatible through \"<literal>/etc/init.d/rc</" "literal>\", \"<literal>/etc/init.d/rcS</literal>\", \"<literal>/usr/sbin/" "update-rc.d</literal>\", and \"<literal>/usr/sbin/invoke-rc.d</literal>\" " "scripts." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "The <literal>readahead-fedora</literal> package can speed up starting of a " "system with decent amount of DRAM." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The normal Debian system is the 4th stage of the boot process which is " "started by the mini-Debian system. The system kernel for the mini-Debian " "system continues to run in this environment. The root filesystem is switched " "from the one on the memory to the one on the real hard disk filesystem." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The \"<literal>/sbin/init</literal>\" program is executed as the first " "program and performs the main boot process. The Debian normally uses the " "traditional sysvinit scheme with the <literal>sysv-rc</literal> package. " "See <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>inittab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, and \"<literal>/usr/" "share/doc/sysv-rc/README.runlevels.gz</literal>\" for the exact " "explanation. This main boot process essentially goes through the following." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The Debian system goes into <emphasis role=\"strong\">runlevel N</emphasis> " "(none) to initialize the system by following the \"<literal>/etc/inittab</" "literal>\" description." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The Debian system goes into <emphasis role=\"strong\">runlevel S</emphasis> " "to initialize the system under the single-user mode to complete hardware " "initialization etc." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The Debian system goes into one of the specified <emphasis role=\"strong" "\">multi-user runlevels (2 to 5)</emphasis> to start the system services." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The initial runlevel used for multi-user mode is specified with the " "\"<literal>init=</literal>\" kernel boot parameter or in the \"initdefault\" " "line of the \"<literal>/etc/inittab</literal>\". The Debian system as " "installed starts at the <emphasis role=\"strong\">runlevel 2</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "All actual script files executed by the init system are located in the " "directory \"<literal>/etc/init.d/</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The meaning of the runlevel" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each <ulink url=\"&runlevel;\">runlevel</ulink> uses a directory for its " "configuration and has specific meaning as the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of runlevels and description of their usage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "runlevel" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of runlevel usage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>N</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "none" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "system bootup (NONE) level (no \"<literal>/etc/rcN.d/</literal>\" directory)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>0</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc0.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "halt the system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>S</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rcS.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "single-user mode on boot (alias: \"<literal>s</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc1.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "single-user mode switched from multi-user mode" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc2.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "multi-user mode" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>3</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc3.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid ",," msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>4</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc4.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>5</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc5.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>6</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc6.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "reboot the system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>7</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc7.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "valid multi-user mode but not normally used" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc8.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>9</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/rc9.d/</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can change the runlevel from the console to, e.g., 4 by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo telinit 4" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "<emphasis role=\"strong\">The Debian system does not pre-assign any special " "meaning differences among the <ulink url=\"&runlevels;\">runlevels</ulink> " "between 2 and 5.</emphasis> The system administrator on the Debian system " "may change this. (I.e., Debian is not <ulink url=\"&redhatlinux;\">Red Hat " "Linux</ulink> nor <ulink url=\"&solarisbysunmicrosystems;\">Solaris by Sun " "Microsystems</ulink> nor <ulink url=\"&hpuxbyhewlettpackard;\">HP-UX by " "Hewlett Packard</ulink> nor <ulink url=\"&aixbyibm;\">AIX by IBM</ulink> nor " "…)" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The Debian system does not populate directories for the <ulink url=" "\"&runlevels;\">runlevels</ulink> between 7 and 9 when the package is " "installed. Traditional <ulink url=\"&unixvariants;\">Unix variants</ulink> " "don't use these <ulink url=\"&runlevels;\">runlevels</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The configuration of the runlevel" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>telinit</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> commands goes into the " "runlevel to \"<n>\", the system basically executes the initialization " "scripts as follows." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "The script names starting with a \"<literal>K</literal>\" in \"<literal>/etc/" "rc<n>.d/</literal>\" are executed in alphabetical order with the " "single argument \"<literal>stop</literal>\". (killing services)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "The script names starting with an \"<literal>S</literal>\" in \"<literal>/" "etc/rc<n>.d/</literal>\" are executed in alphabetical order with the " "single argument \"<literal>start</literal>\". (starting services)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For example, if you had the links \"<literal>S10sysklogd</literal>\" and " "\"<literal>S20exim4</literal>\" in a runlevel directory, " "\"<literal>S10sysklogd</literal>\" which is symlinked to \"<literal>../init." "d/sysklogd</literal>\" would run before \"<literal>S20exim4</literal>\" " "which is symlinked to \"<literal>../init.d/exim4</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This simple sequential initialization system is the classical <ulink url=" "\"&systemv;\">System V</ulink> style boot system and was used up to the " "Debian <literal>lenny</literal> system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The recent Debian system is optimized to execute the initialization scripts " "concurrently, instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <citerefentry><refentrytitle>insserv</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command uses the LSB package dependency " "information and calculates the dependencies between all scripts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "See \"<literal>/usr/share/doc/insserv/README.Debian</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The LSB package dependency information defined in the header of init scripts " "ensures availabilities of required resources." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "See <ulink url=\"&linuxstandardbaseminitialization;\">Linux Standard Base " "Core Specification 3.1, VII. System Initialization</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&announcementofpaenabledbydefault;\">Announcement of \"Parallel " "booting enabled by default\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "It is not advisable to make any changes to symlinks in \"<literal>/etc/rcS.d/" "</literal>\" unless you know better than the maintainer." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The runlevel management example" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For example, let's set up runlevel system somewhat like <ulink url=" "\"&redhatlinux;\">Red Hat Linux</ulink> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>init</literal> starts the system in runlevel=3 as the default." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>init</literal> does not start <citerefentry><refentrytitle>gdm3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> in runlevel=(0,1,2,6)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>init</literal> starts <citerefentry><refentrytitle>gdm3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> in runlevel=(3,4,5)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This can be done by using editor on the \"<literal>/etc/inittab</literal>\" " "file to change starting runlevel and using user friendly runlevel management " "tools such as <literal>sysv-rc-conf</literal> or <literal>bum</literal> to " "edit the runlevel. If you are to use command line only instead, here is how " "you do it (after the default installation of the <literal>gdm3</literal> " "package and selecting it to be the choice of display manager)." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd /etc/rc2.d ; mv S21gdm3 K21gdm3\n" "# cd /etc ; perl -i -p -e 's/^id:.:/id:3:/' inittab" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note the \"<literal>/etc/X11/default-display-manager</literal>\" file " "is checked when starting the display manager daemons: <literal>xdm</" "literal>, <literal>gdm3</literal>, <literal>kdm</literal>, and <literal>wdm</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "You can still start X from any console shell with the " "<citerefentry><refentrytitle>startx</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> command." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The default parameter for each init script" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The default parameter for each init script in \"<literal>/etc/init.d/</" "literal>\" is given by the corresponding file in \"<literal>/etc/default/</" "literal>\" which contains environment variable assignments <emphasis role=" "\"strong\">only</emphasis>. This choice of directory name is specific to the " "Debian system. It is roughly the equivalent of the \"<literal>/etc/" "sysconfig</literal>\" directory found in <ulink url=\"&redhatlinux;\">Red " "Hat Linux</ulink> and other distributions. For example, \"<literal>/etc/" "default/cron</literal>\" can be used to control how \"<literal>/etc/init.d/" "cron</literal>\" works." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>/etc/default/rcS</literal>\" file can be used to customize " "boot-time defaults for <citerefentry><refentrytitle>motd</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>sulogin</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, etc." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you cannot get the behavior you want by changing such variables then you " "may <ulink url=\"&modifytheinitscripts;\">modify the init scripts</ulink> " "themselves. These are configuration files editable by system administrators." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The hostname" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The kernel maintains the system <emphasis role=\"strong\">hostname</" "emphasis>. The init script in runlevel S which is symlinked to \"<literal>/" "etc/init.d/hostname.sh</literal>\" sets the system hostname at boot time " "(using the <literal>hostname</literal> command) to the name stored in " "\"<literal>/etc/hostname</literal>\". This file should contain <emphasis " "role=\"strong\">only</emphasis> the system hostname, not a fully qualified " "domain name." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "To print out the current hostname run <citerefentry><refentrytitle>hostname</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> without an argument." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although the root filesystem is mounted by the kernel when it is started, " "other filesystems are mounted in the runlevel S by the following init " "scripts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>`/etc/init.d/mountkernfs.sh</literal>\" for kernel filesystems in " "\"<literal>/proc</literal>\", \"<literal>/sys</literal>\", etc." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>`/etc/init.d/mountdevsubfs.sh</literal>\" for virtual filesystems " "in \"<literal>/dev</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>`/etc/init.d/mountall.sh</literal>\" for normal filesystems using " "\"<literal>/etc/fstab</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>`/etc/init.d/mountnfs.sh</literal>\" for network filesystems using" "\"<literal>/etc/fstab</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The mount options of kernel filesystems are set in \"<literal>/etc/default/" "rcS</literal>\". See <citerefentry><refentrytitle>rcS</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The mount options of the filesystem are set in \"<literal>/etc/fstab</" "literal>\". See <xref linkend=\"_optimization_of_filesystem_by_mount_options" "\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The actual mounting of network filesystems waits for the start of the " "network interface." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "After mounting all the filesystems, temporary files in \"<literal>/tmp</" "literal>\", \"<literal>/var/lock</literal>\", and \"<literal>/var/run</" "literal>\" are cleaned for each boot up." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Network interface initialization" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Network interfaces are initialized in runlevel S by the init script " "symlinked to \"<literal>/etc/init.d/ifupdown-clean</literal>\" and " "\"<literal>/etc/init.d/ifupdown</literal>\". See <xref linkend=" "\"_network_setup\"/> for how to configure them." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Network service initialization" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many network services (see <xref linkend=\"_network_applications\"/>) are " "started under multi-user mode directly as daemon processes at boot time by " "the init script, e.g., \"<literal>/etc/rc2.d/S20exim4</literal>\" (for " "RUNLEVEL=2) which is a symlink to \"<literal>/etc/init.d/exim4</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some network services can be started on demand using the <ulink url=" "\"&superserver;\">super-server</ulink> <literal>inetd</literal> (or its " "equivalents). The <literal>inetd</literal> is started at boot time by " "\"<literal>/etc/rc2.d/S20inetd</literal>\" (for RUNLEVEL=2) which is a " "symlink to \"<literal>/etc/init.d/inetd</literal>\". Essentially, " "<literal>inetd</literal> allows one running daemon to invoke several others, " "reducing load on the system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Whenever a request for service arrives at <ulink url=\"&superserver;\">super-" "server</ulink> <literal>inetd</literal> , its protocol and service are " "identified by looking them up in the databases in \"<literal>/etc/protocols</" "literal>\" and \"<literal>/etc/services</literal>\". <literal>inetd</" "literal> then looks up a normal Internet service in the \"<literal>/etc/" "inetd.conf</literal>\" database, or a <ulink url=" "\"&opennetworkcompucalloncrpcsunrpc;\">Open Network Computing Remote " "Procedure Call (ONC RPC)/Sun RPC</ulink> based service in \"<literal>/etc/" "rpc.conf</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Sometimes, <literal>inetd</literal> does not start the intended server " "directly but starts the <ulink url=\"&tcpwrapper;\">TCP wrapper</ulink> " "program, <citerefentry><refentrytitle>tcpd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, with the intended server name as its argument in " "\"<literal>/etc/inetd.conf</literal>\". In this case, <literal>tcpd</" "literal> runs the appropriate server program after logging the request and " "doing some additional checks using \"<literal>/etc/hosts.deny</literal>\" " "and \"<literal>/etc/hosts.allow</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For system security, disable as much network service programs as possible. " "See <xref linkend=\"_restricting_access_to_some_server_services\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>inetd.conf</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>protocols</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>services</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>tcpd</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>hosts_access</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>hosts_options</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>rpcinfo</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>portmap</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, and \"<literal>/usr/share/doc/portmap/portmapper." "txt.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The system message" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The system message can be customized by \"<literal>/etc/default/rsyslog</" "literal>\" and \"<literal>/etc/rsyslog.conf</literal>\" for both the log " "file and on-screen display. See <citerefentry><refentrytitle>rsyslogd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>rsyslog.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>. See also <xref linkend=\"_log_analyzer\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The kernel message" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The kernel message can be customized by \"<literal>/etc/default/klogd</" "literal>\" for both the log file and on-screen display. Set " "\"<literal>KLOGD='-c 3'</literal>\" in this file and run \"<literal>/etc/" "init.d/klogd restart</literal>\". See <citerefentry><refentrytitle>klogd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You may directly change the error message level by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dmesg -n3" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of kernel error levels" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "error level value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "error level name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_EMERG" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "system is unusable" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_ALERT" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "action must be taken immediately" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_CRIT" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "critical conditions" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "3" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_ERR" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "error conditions" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "4" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_WARNING" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "warning conditions" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "5" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_NOTICE" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "normal but significant condition" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "6" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_INFO" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "informational" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "7" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KERN_DEBUG" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "debug-level messages" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The udev system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For Linux kernel 2.6, <ulink url=\"&theudevsystem;\">the udev system</ulink> " "provides mechanism for the automatic hardware discovery and initialization " "(see <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>). Upon discovery of each device by the kernel, the " "udev system starts a user process which uses information from the <ulink url=" "\"&sysfs;\">sysfs</ulink> filesystem (see <xref linkend=\"_procfs_and_sysfs" "\"/>), loads required kernel modules supporting it using the " "<citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> program (see <xref linkend=" "\"_the_kernel_module_initialization\"/>), and creates corresponding device " "nodes." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If \"<literal>/lib/modules/<kernel-version>/modules.dep</literal>\" " "was not generated properly by <citerefentry><refentrytitle>depmod</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for some reason, " "modules may not be loaded as expected by the udev system. Execute " "\"<literal>depmod -a</literal>\" to fix it." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The name of device nodes can be configured by udev rule files in \"<literal>/" "etc/udev/rules.d/</literal>\". Current default rules tend to create " "dynamically generated names resulting non-static device names except for cd " "and network devices. By adding your custom rules similar to what cd and " "network devices do, you can generate static device names for other devices " "such as USB memory sticks, too. See \"<ulink url=\"&writingudevrules;" "\">Writing udev rules</ulink>\" or \"<literal>/usr/share/doc/udev/" "writing_udev_rules/index.html</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since the udev system is somewhat a moving target, I leave details to other " "documentations and describe the minimum information here." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For mounting rules in \"<literal>/etc/fstab</literal>\", device nodes do not " "need to be static ones. You can use <ulink url=\"&uuid;\">UUID</ulink> to " "mount devices instead of device names such as \"<literal>/dev/sda</literal>" "\". See <xref linkend=\"_accessing_partition_using_uuid\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The kernel module initialization" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> program enables us to configure running Linux " "kernel from user process by adding and removing kernel modules. The udev " "system (see <xref linkend=\"_the_udev_system\"/>) automates its invocation " "to help the kernel module initialization." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are non-hardware modules and special hardware driver modules as the " "following which need to be pre-loaded by listing them in the \"<literal>/etc/" "modules</literal>\" file (see <citerefentry><refentrytitle>modules</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&tuntap;\">TUN/TAP</ulink> modules providing virtual Point-to-" "Point network device (TUN) and virtual Ethernet network device (TAP)," msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&netfilter;\">netfilter</ulink> modules providing netfilter " "firewall capabilities (<citerefentry><refentrytitle>iptables</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, <xref linkend=" "\"_netfilter_infrastructure\"/>), and" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&watchdogtimer;\">watchdog timer</ulink> driver modules." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The configuration files for the <citerefentry><refentrytitle>modprobe</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> program are located " "under the \"<literal>/etc/modprobes.d/</literal>\" directory as explained in " "<citerefentry><refentrytitle>modprobe.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>. (If you want to avoid some kernel modules to be " "auto-loaded, consider to blacklist them in the \"<literal>/etc/modprobes.d/" "blacklist</literal>\" file.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>/lib/modules/<version>/modules.dep</literal>\" file " "generated by the <citerefentry><refentrytitle>depmod</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> program describes " "module dependencies used by the <citerefentry><refentrytitle>modprobe</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> program." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If you experience module loading issues with boot time module loading or " "with <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, \"<literal>depmod -a</literal>\" may resolve " "these issues by reconstructing \"<literal>modules.dep</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>modinfo</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> program shows information about a Linux kernel " "module." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>lsmod</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> program nicely formats the contents of the " "\"<literal>/proc/modules</literal>\", showing what kernel modules are " "currently loaded." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can identify exact hardware on your system. See <xref linkend=" "\"_hardware_identification\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may configure hardware at boot time to activate expected hardware " "features. See <xref linkend=\"_hardware_configuration\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can add support for your device by recompiling kernel. See <xref " "linkend=\"_the_kernel\"/>." msgstr "" #. type: Content of: <book><chapter><title> msgid "Authentication" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "When a person (or a program) requests access to the system, authentication " "confirms the identity to be a trusted one." msgstr "" #. type: Content of: <book><chapter><warning><para> msgid "" "Configuration errors of PAM may lock you out of your own system. You must " "have a rescue CD handy or setup an alternative boot partition. To recover, " "boot the system with them and correct things from there." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Normal Unix authentication" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Unix authentication is provided by the " "<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> module under the <ulink url=" "\"&pampluggableauthnticationmodules;\">PAM (Pluggable Authentication Modules)" "</ulink>. Its 3 important configuration files, with \"<literal>:</literal>" "\" separated entries, are the following." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "" "3 important configuration files for <citerefentry><refentrytitle>pam_unix</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "permission" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "user" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/passwd</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "(sanitized) user account information" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/shadow</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>-rw-r-----</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>shadow</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "secure user account information" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/group</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "group information" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "\"<literal>/etc/passwd</literal>\" contains the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " ...\n" "user1:x:1000:1000:User1 Name,,,:/home/user1:/bin/bash\n" "user2:x:1001:1001:User2 Name,,,:/home/user2:/bin/bash\n" " ..." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As explained in <citerefentry><refentrytitle>passwd</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, each \"<literal>:</" "literal>\" separated entry of this file means the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Login name" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Password specification entry" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numerical user ID" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numerical group ID" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "User name or comment field" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "User home directory" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Optional user command interpreter" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The second entry of \"<literal>/etc/passwd</literal>\" was used for the " "encrypted password entry. After the introduction of \"<literal>/etc/shadow</" "literal>\", this entry is used for the password specification entry." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "The second entry content of \"<literal>/etc/passwd</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "(empty)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "passwordless account" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "x" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "the encrypted password is in \"<literal>/etc/shadow</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "*" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "no login for this account" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "!" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "\"<literal>/etc/shadow</literal>\" contains the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " ...\n" "user1:$1$Xop0FYH9$IfxyQwBe9b8tiyIkt2P4F/:13262:0:99999:7:::\n" "user2:$1$vXGZLVbS$ElyErNf/agUDsm1DehJMS/:13261:0:99999:7:::\n" " ..." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As explained in <citerefentry><refentrytitle>shadow</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, each \"<literal>:</" "literal>\" separated entry of this file means the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Encrypted password (The initial \"<literal>$1$</literal>\" indicates use of " "the MD5 encryption. The \"*\" indicates no login.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Days since Jan 1, 1970 that password was last changed" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Days before password may be changed" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Days after which password must be changed" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Days before password is to expire that user is warned" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "\"<literal>/etc/group</literal>\" contains the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "group1:x:20:user1,user2" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As explained in <citerefentry><refentrytitle>group</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, each \"<literal>:</" "literal>\" separated entry of this file means the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Group name" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Encrypted password (not really used)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\",\" separated list of user names" msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "\"<literal>/etc/gshadow</literal>\" provides the similar function as " "\"<literal>/etc/shadow</literal>\" for \"<literal>/etc/group</literal>\" but " "is not really used." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "The actual group membership of a user may be dynamically added if " "\"<literal>auth optional pam_group.so</literal>\" line is added to " "\"<literal>/etc/pam.d/common-auth</literal>\" and set it in \"<literal>/etc/" "security/group.conf</literal>\". See " "<citerefentry><refentrytitle>pam_group</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "The <literal>base-passwd</literal> package contains an authoritative list of " "the user and the group: \"<literal>/usr/share/doc/base-passwd/users-and-" "groups.html</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Managing account and password information" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Here are few notable commands to manage account information." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of commands to manage account information" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "function" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>getent passwd <user_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "browse account information of \"<literal><user_name></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>getent shadow <user_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "browse shadowed account information of \"<literal><user_name></literal>" "\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>getent group <group_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "browse group information of \"<literal><group_name></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>passwd</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manage password for the account" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>passwd -e</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "set one-time password for the account activation" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>chage</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manage password aging information" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You may need to have the root privilege for some functions to work. See " "<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></" "citerefentry> for the password and data encryption." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "On the system set up with PAM and NSS as the Debian <ulink url=\"&alioth;" "\">alioth</ulink> machine, the content of local \"<literal>/etc/passwd</" "literal>\", \"<literal>/etc/group</literal>\" and \"<literal>/etc/shadow</" "literal>\" may not be actively used by the system. Above commands are valid " "even under such environment." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Good password" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When creating an account during your system installation or with the " "<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> command, you should choose a <ulink url=\"&goodpassword;" "\">good password</ulink> which consists of 6 to 8 characters including one " "or more characters from each of the following sets according to " "<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Lower case alphabetics" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Digits 0 through 9" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Punctuation marks" msgstr "" #. type: Content of: <book><chapter><section><warning><para> msgid "Do not chose guessable words for the password." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Creating encrypted password" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "There are independent tools to generate encrypted password with salt." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of tools to generate password" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>mkpasswd</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "over-featured front end to the <citerefentry><refentrytitle>crypt</" "refentrytitle><manvolnum>3</manvolnum></citerefentry> library" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>openssl passwd</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "compute password hashes (OpenSSL). <citerefentry><refentrytitle>passwd</" "refentrytitle><manvolnum>1ssl</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "PAM and NSS" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Modern <ulink url=\"&unixlike;\">Unix-like</ulink> systems such as the " "Debian system provide <ulink url=\"&pampluggableauthnticationmodules;\">PAM " "(Pluggable Authentication Modules)</ulink> and <ulink url=" "\"&nssnameserviceswitch;\">NSS (Name Service Switch)</ulink> mechanism to " "the local system administrator to configure his system. The role of these " "can be summarizes as the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "PAM offers a flexible authentication mechanism used by the application " "software thus involves password data exchange." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "NSS offers a flexible name service mechanism which is frequently used by the " "<ulink url=\"&cstandardlibrary;\">C standard library</ulink> to obtain the " "user and group name for programs such as <citerefentry><refentrytitle>ls</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>id</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "These PAM and NSS systems need to be configured consistently." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "The notable packages of PAM and NSS systems are the following." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of notable PAM and NSS systems" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Pluggable Authentication Modules (basic service)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Pluggable Authentication Module allowing LDAP interfaces" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Pluggable Authentication Module to enable cracklib support" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Pluggable Authentication Modules (documentation in html and text)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "GNU C Library: Shared libraries which also provides \"Name Service Switch\" " "service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GNU C Library: Manpages" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GNU C Library: Reference manual in info, pdf and html format (non-free)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "NSS module for Multicast DNS name resolution" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "NSS module for using LDAP as a naming service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "NSS module for using LDAP as a naming service (new folk of <literal>libnss-" "ldap</literal>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "\"The Linux-PAM System Administrators' Guide\" in <literal>libpam-doc</" "literal> is essential for learning PAM configuration." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "\"System Databases and Name Service Switch\" section in <literal>glibc-doc-" "reference</literal> is essential for learning NSS configuration." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "You can see more extensive and current list by \"<literal>aptitude search " "'libpam-|libnss-'</literal>\" command. The acronym NSS may also mean " "\"Network Security Service\" which is different from \"Name Service Switch\"." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "PAM is the most basic way to initialize environment variables for each " "program with the system wide default value." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Configuration files accessed by the PAM and NSS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here are few notable configuration files accessed by the PAM." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of configuration files accessed by the PAM" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "configuration file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/pam.d/<program_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set up PAM configuration for the \"<literal><program_name></literal>\" " "program; see <citerefentry><refentrytitle>pam</refentrytitle><manvolnum>7</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>pam.d</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/nsswitch.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set up NSS configuration with the entry for each service. See " "<citerefentry><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/nologin</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "limit the user login by the <citerefentry><refentrytitle>pam_nologin</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/securetty</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "limit the tty for the root access by the " "<citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/security/access.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set access limit by the <citerefentry><refentrytitle>pam_access</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/security/group.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set group based restraint by the <citerefentry><refentrytitle>pam_group</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/security/pam_env.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set environment variables by the <citerefentry><refentrytitle>pam_env</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/environment</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set additional environment variables by the " "<citerefentry><refentrytitle>pam_env</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> module with the \"<literal>readenv=1</literal>\" " "argument" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/default/locale</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set locale by <citerefentry><refentrytitle>pam_env</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> module with the " "\"<literal>readenv=1 envfile=/etc/default/locale</literal>\" argument. " "(Debian)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/security/limits.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set resource restraint (ulimit, core, …) by the " "<citerefentry><refentrytitle>pam_linits</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/security/time.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "set time restraint by the <citerefentry><refentrytitle>pam_time</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> module" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The limitation of the password selection is implemented by the PAM modules, " "<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>pam_cracklib</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. They can be " "configured by their arguments." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "PAM modules use suffix \"<literal>.so</literal>\" for their filenames." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The modern centralized system management" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The modern centralized system management can be deployed using the " "centralized <ulink url=\"&lightweightdireccessprotocolldap;\">Lightweight " "Directory Access Protocol (LDAP)</ulink> server to administer many Unix-like " "and non-Unix-like systems on the network. The open source implementation of " "the Lightweight Directory Access Protocol is <ulink url=\"&openldapsoftware;" "\">OpenLDAP Software</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The LDAP server provides the account information through the use of PAM and " "NSS with <literal>libpam-ldap</literal> and <literal>libnss-ldap</literal> " "packages for the Debian system. Several actions are required to enable this " "(I have not used this setup and the following is purely secondary " "information. Please read this in this context.)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You set up a centralized LDAP server by running program such as stand-alone " "LDAP daemon, <citerefentry><refentrytitle>slapd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You change the PAM configuration files in the \"<literal>/etc/pam.d/</" "literal>\" directory to use \"<literal>pam_ldap.so</literal>\" instead of " "the default \"<literal>pam_unix.so</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Debian uses \"<literal>/etc/pam_ldap.conf</literal>\" as the configuration " "file for <literal>libpam-ldap</literal> and \"<literal>/etc/pam_ldap.secret</" "literal>\" as the file to store the password of the root." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You change the NSS configuration in the \"<literal>/etc/nsswitch.conf</" "literal>\" file to use \"<literal>ldap</literal>\" instead of the default " "(\"<literal>compat</literal>\" or \"<literal>file</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Debian uses \"<literal>/etc/libnss-ldap.conf</literal>\" as the " "configuration file for <literal>libnss-ldap</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You must make <literal>libpam-ldap</literal> to use <ulink url=\"&sslortls;" "\">SSL (or TLS)</ulink> connection for the security of password." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You may make <literal>libnss-ldap</literal> to use <ulink url=\"&sslortls;" "\">SSL (or TLS)</ulink> connection to ensure integrity of data at the cost " "of the LDAP network overhead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You should run <citerefentry><refentrytitle>nscd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> locally to cache any " "LDAP search results in order to reduce the LDAP network traffic." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See documentations in <citerefentry><refentrytitle>pam_ldap.conf</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> and \"<literal>/usr/" "share/doc/libpam-doc/html/</literal>\" offered by the <literal>libpam-doc</" "literal> package and \"<literal>info libc 'Name Service Switch'</literal>\" " "offered by the <literal>glibc-doc</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Similarly, you can set up alternative centralized systems with other methods." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Integration of user and group with the Windows system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Access <ulink url=\"&windowsdomain;\">Windows domain</ulink> services by the " "<literal>winbind</literal> and <literal>libpam_winbind</literal> packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "See <citerefentry><refentrytitle>winbindd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <ulink url=\"&integratingmswinetworkswithsamba;" "\">Integrating MS Windows Networks with Samba</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Integration user and group with the legacy Unix-like system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Access <ulink url=\"&nisoriginallycalledyp;\">NIS (originally called YP)</" "ulink> or <ulink url=\"⋼\">NIS+</ulink> by the <literal>nis</literal> " "package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "See <ulink url=\"&thelinuxnisypnysnishowto;\">The Linux NIS(YP)/NYS/NIS+ " "HOWTO</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "\"Why GNU su does not support the wheel group\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is the famous phrase at the bottom of the old \"<literal>info su</" "literal>\" page by Richard M. Stallman. Not to worry: the current " "<literal>su</literal> command in Debian uses PAM, so that one can restrict " "the ability to use <literal>su</literal> to the <literal>root</literal> " "group by enabling the line with \"<literal>pam_wheel.so</literal>\" in " "\"<literal>/etc/pam.d/su</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Stricter password rule" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Installing the <literal>libpam-cracklib</literal> package enables you to " "force stricter password rule, for example, by having active lines in " "\"<literal>/etc/pam.d/common-password</literal>\" as the following." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For <literal>squeeze</literal>:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "password required pam_cracklib.so retry=3 minlen=9 difok=3\n" "password [success=1 default=ignore] pam_unix.so use_authtok nullok md5\n" "password requisite pam_deny.so\n" "password required pam_permit.so" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Other access controls" msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "See <xref linkend=\"_alt_sysrq_key\"/> for restricting the kernel <ulink url=" "\"&secureattentionkeysak;\">secure attention key (SAK)</ulink> feature." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "sudo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> is a program designed to allow a sysadmin to give limited root " "privileges to users and log root activity. <literal>sudo</literal> requires " "only an ordinary user's password. Install <literal>sudo</literal> package " "and activate it by setting options in \"<literal>/etc/sudoers</literal>\". " "See configuration example at \"<literal>/usr/share/doc/sudo/examples/" "sudoers</literal>\" and <xref linkend=\"_sudo_configuration\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "My usage of <literal>sudo</literal> for the single user system (see <xref " "linkend=\"_sudo_configuration\"/>) is aimed to protect myself from my own " "stupidity. Personally, I consider using <literal>sudo</literal> a better " "alternative to using the system from the root account all the time. For " "example, the following changes the owner of \"<literal><some_file></" "literal>\" to \"<literal><my_name></literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo chown <my_name> <some_file>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Of course if you know the root password (as self-installed Debian users do), " "any command can be run under root from any user's account using " "\"<literal>su -c</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "PolicyKit" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&policykit;\">PolicyKit</ulink> is an operating system " "component for controlling system-wide privileges in Unix-like operating " "systems." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer GUI applications are not designed to run as privileged processes. They " "talk to privileged processes via PolicyKit to perform administrative " "operations." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "PolicyKit limits such operations to user accounts belonging to the " "<literal>sudo</literal> group on Debian system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>polkit</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "SELinux" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&securityenhancedlinuxselinux;\">Security-Enhanced Linux " "(SELinux)</ulink> is a framework to tighten privilege model tighter than the " "ordinary Unix-like security model with the <ulink url=" "\"&mandatoryaccesscontrolmac;\">mandatory access control (MAC)</ulink> " "policies. The root power may be restricted under some conditions." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Restricting access to some server services" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For system security, It is a good idea to disable as much server programs as " "possible. This becomes critical for network servers. Having unused " "servers, activated either directly as <ulink url=\"&daemon;\">daemon</ulink> " "or via <ulink url=\"&superserver;\">super-server</ulink> program, are " "considered security risks." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many programs, such as <citerefentry><refentrytitle>sshd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, use PAM based access " "control. There are many ways to restrict access to some server services." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "configuration files: \"<literal>/etc/default/<program_name></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "runlevel configuration for <ulink url=\"&daemon;\">daemon</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&pampluggableauthnticationmodules;\">PAM (Pluggable " "Authentication Modules)</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/inetd.conf</literal>\" for <ulink url=\"&superserver;" "\">super-server</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/hosts.deny</literal>\" and \"<literal>/etc/hosts.allow</" "literal>\" for <ulink url=\"&tcpwrapper;\">TCP wrapper</ulink>, " "<citerefentry><refentrytitle>tcpd</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/rpc.conf</literal>\" for <ulink url=\"&sunrpc;\">Sun RPC</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/at.allow</literal>\" and \"<literal>/etc/at.deny</literal>\" " "for <citerefentry><refentrytitle>atd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/cron.allow</literal>\" and \"<literal>/etc/cron.deny</" "literal>\" for <citerefentry><refentrytitle>crontab</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&networkfirewall;\">Network firewall</ulink> of <ulink url=" "\"&netfilter;\">netfilter</ulink> infrastructure" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <xref linkend=\"_the_runlevel_management_example\"/>, <xref linkend=" "\"_the_default_parameter_for_each_init_script\"/>, <xref linkend=" "\"_configuration_files_accessed_by_the_pam_and_nss\"/>, <xref linkend=" "\"_network_service_initialization\"/>, and <xref linkend=" "\"_netfilter_infrastructure\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&sunrpc;\">Sun RPC</ulink> services need to be active for " "<ulink url=\"&nfs;\">NFS</ulink> and other RPC based programs." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you have problems with remote access in a recent Debian system, comment " "out offending configuration such as \"ALL: PARANOID\" in \"<literal>/etc/" "hosts.deny</literal>\" if it exists. (But you must be careful on security " "risks involved with this kind of action.)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Security of authentication" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The information here may not be sufficient for your security needs but it " "should be a good start." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Secure password over the Internet" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many popular transportation layer services communicate messages including " "password authentication in the plain text. It is very bad idea to transmit " "password in the plain text over the wild Internet where it can be " "intercepted. You can run these services over \"<ulink url=" "\"&transportlayersecurity;\">Transport Layer Security</ulink>\" (TLS) or its " "predecessor, \"Secure Sockets Layer\" (SSL) to secure entire communication " "including password by the encryption." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of insecure and secure services and ports" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "insecure service name" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "port" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "secure service name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "www (http)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "80" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "https" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "443" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "smtp (mail)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "25" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ssmtp (smtps)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "465" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ftp-data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "20" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ftps-data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "989" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ftp" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "21" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ftps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "telnet" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "23" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "telnets" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "992" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "imap2" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "143" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "imaps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "993" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pop3" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "110" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pop3s" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "995" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ldap" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "389" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ldaps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "636" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The encryption costs CPU time. As a CPU friendly alternative, you can keep " "communication in plain text while securing just password with the secure " "authentication protocol such as \"Authenticated Post Office Protocol" "\" (APOP) for POP and \"Challenge-Response Authentication Mechanism " "MD5\" (CRAM-MD5) for SMTP and IMAP. (For sending mail messages over the " "Internet to your mail server from your mail client, it is recently popular " "to use new message submission port 587 instead of traditional SMTP port 25 " "to avoid port 25 blocking by the network provider while authenticating " "yourself with CRAM-MD5.)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Secure Shell" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&secureshellssh;\">Secure Shell (SSH)</ulink> program " "provides secure encrypted communications between two untrusted hosts over an " "insecure network with the secure authentication. It consists of the <ulink " "url=\"&openssh;\">OpenSSH</ulink> client, <citerefentry><refentrytitle>ssh</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, and the <ulink url=" "\"&openssh;\">OpenSSH</ulink> daemon, <citerefentry><refentrytitle>sshd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. This SSH can be used " "to tunnel the insecure protocol communication such as POP and X securely " "over the Internet with the port forwarding feature." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The client tries to authenticate itself using host-based authentication, " "public key authentication, challenge-response authentication, or password " "authentication. The use of public key authentication enables the remote " "password-less login. See <xref linkend=" "\"_the_remote_access_server_and_utility_ssh\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Extra security measures for the Internet" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Even when you run secure services such as <ulink url=\"&secureshellssh;" "\">Secure Shell (SSH)</ulink> and <ulink url=" "\"&pointtopointtunnlingprotocolpptp;\">Point-to-point tunneling protocol " "(PPTP)</ulink> servers, there are still chances for the break-ins using " "brute force password guessing attack etc. from the Internet. Use of the " "firewall policy (see <xref linkend=\"_netfilter_infrastructure\"/>) together " "with the following secure tools may improve the security situation." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of tools to provide extra security measures" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "small port-knock daemon <citerefentry><refentrytitle>knockd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and client " "<citerefentry><refentrytitle>konck</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utility to help sysadmins thwart ssh hackers" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ban IPs that cause multiple authentication errors" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "lock out remote attackers trying password guessing" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Securing the root password" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "To prevent people to access your machine with root privilege, you need to " "make following actions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Prevent physical access to the hard disk" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Lock BIOS and prevent booting from the removable media" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Set password for GRUB interactive session" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Lock GRUB menu from editing" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "With physical access to hard disk, resetting the password is relatively easy " "with following steps." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Move the hard disk to a PC with CD bootable BIOS." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Boot system with a rescue media (Debian boot disk, Knopix CD, GRUB CD, …)." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Mount root partition with read/write access." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Edit \"<literal>/etc/passwd</literal>\" in the root partition and make the " "second entry for the <literal>root</literal> account empty." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have the edit access to the GRUB menu entry (see <xref linkend=" "\"_stage_2_the_boot_loader\"/>) for <literal>grub-rescue-pc</literal> at the " "boot time, it is even easier with following steps." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Boot system with the kernel parameter changed to something like " "\"<literal>root=/dev/hda6 rw init=/bin/sh</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Edit \"<literal>/etc/passwd</literal>\" and make the second entry for the " "<literal>root</literal> account empty." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Reboot system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The root shell of the system is now accessible without password." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Once one has root shell access, he can access everything on the system and " "reset any passwords on the system. Further more, he may compromise password " "for all user accounts using brute force password cracking tools such as " "<literal>john</literal> and <literal>crack</literal> packages (see <xref " "linkend=\"_system_security_and_integrity_check\"/>). This cracked password " "may lead to compromise other systems." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The only reasonable software solution to avoid all these concerns is to use " "software encrypted root partition (or \"<literal>/etc</literal>\" partition) " "using <ulink url=\"&dmcrypt;\">dm-crypt</ulink> and initramfs (see <xref " "linkend=\"_data_encryption_tips\"/>). You always need password to boot the " "system, though." msgstr "" #. type: Content of: <book><chapter><title> msgid "Network setup" msgstr "" #. type: Content of: <book><chapter><tip><para> msgid "" "For general guide to the GNU/Linux networking, read the <ulink url=" "\"&linuxnetworkadministratorsguide;\">Linux Network Administrators Guide</" "ulink>." msgstr "" #. type: Content of: <book><chapter><tip><para> msgid "" "Although this document still uses old <citerefentry><refentrytitle>ifconfig</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> with IPv4 for its " "network configuration examples, Debian is moving to " "<citerefentry><refentrytitle>ip</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> with IPv4+IPv6 in the <literal>wheezy</literal> release. " "Patches to update this document are welcomed." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The basic network infrastructure" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's review the basic network infrastructure on the modern Debian system." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of network configuration tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "packages" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::ifupdown" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "standardized tool to bring up and down the network (Debian specific)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manage the wired network automatically" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "network testing script to enhance \"<literal>ifupdown</literal>\" package" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "set routing metrics for a network interface" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "mapping script to enhance \"<literal>ifupdown</literal>\" package via " "\"<literal>/etc/network/interfaces</literal>\" file" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mapping scripts to enhance \"<literal>ifupdown</literal>\" package" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Zugschlus' interface scripts for ifupdown's manual method" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::NM" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&networkmanager;\">NetworkManager</ulink> (daemon): manage the " "network automatically" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&networkmanager;\">NetworkManager</ulink> (GNOME frontend)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&networkmanager;\">NetworkManager</ulink> (KDE frontend)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::wicd" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "wired and wireless network manager (metapackage)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "wired and wireless network manager (command-line client)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "wired and wireless network manager (Curses client)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "wired and wireless network manager (daemon)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "wired and wireless network manager (GTK+ client)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::Netfilter" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "administration tools for packet filtering and NAT (<ulink url=\"&netfilter;" "\">Netfilter</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::iproute2" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&iproutec;\">iproute2</ulink>, IPv6 and other advanced network " "configuration: <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>tc</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, etc" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "rename network interfaces based on various static criteria: " "<citerefentry><refentrytitle>ifrename</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "display or change Ethernet device settings" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "test::iproute2" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "test network reachability of a remote host by <ulink url=\"&hostname;" "\">hostname</ulink> or <ulink url=\"&ipaddress;\">IP address</ulink> (<ulink " "url=\"&iproutec;\">iproute2</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "test network reachability of a remote host specified by the <ulink url=" "\"&arp;\">ARP</ulink> address" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "trace the network path to a remote host" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::net-tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "NET-3 networking toolkit (<ulink url=\"&nettools;\">net-tools</ulink>, IPv4 " "network configuration): <citerefentry><refentrytitle>ifconfig</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> etc." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "test::net-tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "test network reachability of a remote host by <ulink url=\"&hostname;" "\">hostname</ulink> or <ulink url=\"&ipaddress;\">IP address</ulink> " "(legacy, GNU)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "test network reachability of a remote host specified by the <ulink url=" "\"&arp;\">ARP</ulink> address (legacy)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "trace the network path to a remote host (legacy, console)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::low-level" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DHCP client" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "client support for WPA and WPA2 (IEEE 802.11i)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Qt GUI client for wpa_supplicant" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "tools for manipulating Linux Wireless Extensions" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PPP/PPPoE connection with <literal>chat</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "config::helper" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "configuration helper for PPPoE connection" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "configuration helper for PPP connection with <literal>chat</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "configuration helper for PPP connection with <literal>wvdial</literal> and " "<literal>ppp</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "test::low-level" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "trace the network path to a remote host (curses)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "trace the network path to a remote host (curses and GTK+)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "tools for common network information operations (GNOME)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "network mapper / port scanner (<ulink url=\"&nmap;\">Nmap</ulink>, console)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "network mapper / port scanner (GTK+)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "network traffic analyzer (<ulink url=\"&tcpdump;\">Tcpdump</ulink>, console)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "network traffic analyzer (<ulink url=\"&wireshark;\">Wireshark</ulink>, GTK+)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "network traffic analyzer (console)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "monitoring and management system for hosts, services and networks (<ulink " "url=\"&nagios;\">Nagios</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "produce a summarization of the connections from <literal>tcpdump</literal> " "output" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "flexible network intrusion detection system (<ulink url=\"&snort;\">Snort</" "ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "display network usage in web browser" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "network clients provided with <ulink url=\"&bind;\">BIND</ulink>: " "<citerefentry><refentrytitle>nslookup</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>nsupdate</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>dig</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "check <ulink url=\"&dns;\">DNS</ulink> zone information using nameserver " "lookups" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "trace a chain of <ulink url=\"&dns;\">DNS</ulink> servers to the source" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The domain name" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The naming for the domain name is a tricky one for the normal PC workstation " "users. The PC workstation may be mobile one hopping around the network or " "located behind the NAT firewall inaccessible from the Internet. For such " "case, you may not want the domain name to be a valid domain name to avoid " "name collision." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are not sure what to chose for the domain name, choose " "\"<literal>localdomain</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Other popular choices for such invalid and safe <ulink url=" "\"&topleveldomaintld;\">top-level domain (TLD)</ulink> seem to be " "\"<literal>lan</literal>\", \"<literal>localnet</literal>\", " "\"<literal>home</literal>\", \"<literal>invalid</literal>\", or " "\"<literal>local</literal>\" according to my incoming mail analysis. This " "is consistent with the reported invalid TLD queries. You may also chose " "some unused second or third level domains." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&invalid;\">\".invalid\"</ulink> is intended for use in online " "construction of domain names that are sure to be invalid. (<ulink url=" "\"&rfccgag;\">rfc2606</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&local;\">\".local\"</ulink> is the <ulink url=" "\"&pseudotopleveldomain;\">pseudo-top-level domain</ulink> used by the " "<ulink url=\"&mdns;\">mDNS</ulink> network discovery protocol (<ulink url=" "\"&applebonjourapplerendezvous;\">Apple Bonjour / Apple Rendezvous</ulink>, " "Avahi on Debian)." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "If the DNS service on your LAN uses \"<literal>local</literal>\" as TLD for " "your LAN, it may interfare with mDNS." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "When you use an invalid domain name, you need to spoof the domain name used " "by some programs such as MTA for their proper operation. See <xref linkend=" "\"_the_mail_address_configuration\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The hostname resolution" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The hostname resolution is currently supported by the <ulink url=" "\"&nssnameserviceswitch;\">NSS (Name Service Switch)</ulink> mechanism too. " "The flow of this resolution is the following." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "The \"<literal>/etc/nsswitch.conf</literal>\" file with stanza like " "\"<literal>hosts: files dns</literal>\" dictates the hostname resolution " "order. (This replaces the old functionality of the \"<literal>order</literal>" "\" stanza in \"<literal>/etc/host.conf</literal>\".)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "The <literal>files</literal> method is invoked first. If the hostname is " "found in the \"<literal>/etc/hosts</literal>\" file, it returns all valid " "addresses for it and exits. (The \"<literal>/etc/host.conf</literal>\" file " "contains \"<literal>multi on</literal>\".)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "The <literal>dns</literal> method is invoked. If the hostname is found by " "the query to the <ulink url=\"&internetdomainnamesystemdns;\">Internet " "Domain Name System (DNS)</ulink> identified by the \"<literal>/etc/resolv." "conf</literal>\" file, it returns all valid addresses for it and exits." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For example, \"<literal>/etc/hosts</literal>\" looks like the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "127.0.0.1 localhost\n" "127.0.1.1 <host_name>.<domain_name> <host_name>\n" "\n" "# The following lines are desirable for IPv6 capable hosts\n" "::1 ip6-localhost ip6-loopback\n" "fe00::0 ip6-localnet\n" "ff00::0 ip6-mcastprefix\n" "ff02::1 ip6-allnodes\n" "ff02::2 ip6-allrouters\n" "ff02::3 ip6-allhosts" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each line starts with a <ulink url=\"&ipaddress;\">IP address</ulink> and it " "is followed by the associated <ulink url=\"&hostname;\">hostname</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The IP address <literal>127.0.1.1</literal> in the second line of this " "example may not be found on some other Unix-like systems. The <ulink url=" "\"&debianinstaller;\">Debian Installer</ulink> creates this entry for a " "system without a permanent IP address as a workaround for some software (e." "g., GNOME) as documented in the <ulink url=\"&bugdbgajj;\">bug #316099</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <host_name> matches the hostname defined in the \"<literal>/etc/" "hostname</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For <domain_name> of the mobile PC, you may chose invalid and safe " "domain such as \"<literal>localdomain</literal>\". (See <xref linkend=" "\"_the_domain_name\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For a system with a permanent IP address, that permanent IP address should " "be used here instead of <literal>127.0.1.1</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For a system with a permanent IP address and a <ulink url=" "\"&fullyqualifieddomainnamefqdn;\">fully qualified domain name (FQDN)</" "ulink> provided by the <ulink url=\"&domainnamesystemdns;\">Domain Name " "System (DNS)</ulink>, that canonical <host_name> and <" "domain_name> should be used here." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>/etc/resolv.conf</literal>\" is a static file if the " "<literal>resolvconf</literal> package is not installed. If installed, it is " "a symbolic link. Either way, it contains information that initialize the " "resolver routines. If the DNS is found at IP=\"<literal>192.168.11.1</" "literal>\", it contains the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "nameserver 192.168.11.1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>resolvconf</literal> package makes this \"<literal>/etc/resolv." "conf</literal>\" into a symbolic link and manages its contents by the hook " "scripts automatically." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The hostname resolution via Multicast DNS (using <ulink url=\"&zeroconf;" "\">Zeroconf</ulink>, aka <ulink url=\"&applebonjourapplerendezvous;\">Apple " "Bonjour / Apple Rendezvous</ulink>) which effectively allows name resolution " "by common Unix/Linux programs in the ad-hoc mDNS domain \"<literal>local</" "literal>\", can be provided by installing the <literal>libnss-mdns</literal> " "package. The \"<literal>/etc/nsswitch.conf</literal>\" file should have " "stanza like \"<literal>hosts: files mdns4_minimal [NOTFOUND=return] dns " "mdns4</literal>\" to enable this functionality." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The hostname resolution via deprecated <ulink url=\"&netbiosovertcpip;" "\">NETBios over TCP/IP</ulink> used by the older Windows system can be " "provided by installing the <literal>winbind</literal> package. The " "\"<literal>/etc/nsswitch.conf</literal>\" file should have stanza like " "\"<literal>hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 wins</" "literal>\" to enable this functionality. (Modern Windows system usually use " "the <literal>dns</literal> method for the hostname resolution.)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The network interface name" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The network interface name, e.g. <literal>eth0</literal>, is assigned to " "each hardware in the Linux kernel through the user space configuration " "mechanism, <literal>udev</literal> (see <xref linkend=\"_the_udev_system\"/" ">), as it is found. The network interface name is referred as <emphasis " "role=\"strong\">physical interface</emphasis> in " "<citerefentry><refentrytitle>ifup</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>interfaces</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to ensure each network interface to be named persistently for each " "reboot using <ulink url=\"&macaddress;\">MAC address</ulink> etc., there is " "a record file \"<literal>/etc/udev/rules.d/70-persistent-net.rules</literal>" "\". This file is automatically generated by the \"<literal>/lib/udev/" "write_net_rules</literal>\" program, probably run by the " "\"<literal>persistent-net-generator.rules</literal>\" rules file. You can " "modify it to change naming rule." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "When editing the \"<literal>/etc/udev/rules.d/70-persistent-net.rules</" "literal>\" rules file, you must keep each rule on a single line and the " "<ulink url=\"&macaddress;\">MAC address</ulink> in lowercase. For example, " "if you find \"FireWire device\" and \"PCI device\" in this file, you " "probably want to name \"PCI device\" as <literal>eth0</literal> and " "configure it as the primary network interface." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The network address range for the LAN" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let us be reminded of the IPv4 32 bit address ranges in each class reserved " "for use on the <ulink url=\"&localareanetworkslans;\">local area networks " "(LANs)</ulink> by <ulink url=\"&rfcbjbi;\">rfc1918</ulink>. These addresses " "are guaranteed not to conflict with any addresses on the Internet proper." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of network address ranges" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Class" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "network addresses" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "net mask" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "net mask /bits" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "# of subnets" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "A" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "10.x.x.x" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "255.0.0.0" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "/8" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "B" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "172.16.x.x — 172.31.x.x" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "255.255.0.0" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "/16" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "16" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "C" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "192.168.0.x — 192.168.255.x" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "255.255.255.0" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "/24" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "256" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If one of these addresses is assigned to a host, then that host must not " "access the Internet directly but must access it through a gateway that acts " "as a proxy for individual services or else does <ulink url=" "\"&networkaddresstranslationnat;\">Network Address Translation(NAT)</" "ulink>. The broadband router usually performs NAT for the consumer LAN " "environment." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The network device support" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although most hardware devices are supported by the Debian system, there are " "some network devices which require <ulink url=\"&dfsg;\">DFSG</ulink> non-" "free firmware to support them. Please see <xref linkend=" "\"_hardware_drivers_and_firmware\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The modern network configuration for desktop" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debian <literal>squeeze</literal> systems can manage the network connection " "via management <ulink url=\"&daemon;\">daemon</ulink> software such as " "<ulink url=\"&networkmanagernm;\">NetworkManager (NM)</ulink> (network-" "manager and associated packages) or <ulink url=\"&wicd;\">Wicd</ulink> (wicd " "and associated packages)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "They come with their own <ulink url=\"&gui;\">GUI</ulink> and command-line " "programs as their user interfaces." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "They come with their own <ulink url=\"&daemon;\">daemon</ulink> as their " "backend system." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "They allow easy connection of your system to the Internet." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "They allow easy management of wired and wireless network configuration." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "They allow us to configure network independent of the legacy " "<literal>ifupdown</literal> package." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "Do not use these automatic network configuration tools for servers. These " "are aimed primarily for mobile desktop users on laptops." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These modern network configuration tools need to be configured properly to " "avoid conflicting with the legacy <literal>ifupdown</literal> package and " "its configuration file \"<literal>/etc/network/interfaces</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "Some features of these automatic network configuration tools may suffer " "regressions. These are not as robust as the legacy <literal>ifupdown</" "literal> package. Check <ulink url=\"&btsofnetworkmanager;\">BTS of network-" "manager</ulink> and <ulink url=\"&btsofwicd;\">BTS of wicd</ulink> for " "current issues and limitations." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "GUI network configuration tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Official documentations for NM and Wicd on Debian are provided in " "\"<literal>/usr/share/doc/network-manager/README.Debian</literal>\" and " "\"<literal>/usr/share/doc/wicd/README.Debian</literal>\", respectively." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Essentially, the network configuration for desktop is done as follows." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Make desktop user, e.g. <literal>foo</literal>, belong to group " "\"<literal>netdev</literal>\" by the following (Alternatively, do it " "automatically via <ulink url=\"&dbus;\">D-bus</ulink> under modern desktop " "environments such as GNOME and KDE)." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><screen> #, no-wrap msgid "$ sudo adduser foo netdev" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Keep configuration of \"<literal>/etc/network/interfaces</literal>\" as " "simple as the the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "auto lo\n" "iface lo inet loopback" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Restart NM or Wicd by the following." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><screen> #, no-wrap msgid "$ sudo /etc/init.d/network-manager restart" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><screen> #, no-wrap msgid "$ sudo /etc/init.d/wicd restart" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Configure your network via GUI." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Only interfaces which are <emphasis role=\"strong\">not</emphasis> listed in " "\"<literal>/etc/network/interfaces</literal>\" or which have been configured " "with \"<literal>auto …</literal>\" or \"<literal>allow-hotplug …</literal>\" " "and \"<literal>iface … inet dhcp</literal>\" (with no other options) are " "managed by NM to avoid conflict with <literal>ifupdown</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you wish to extend network configuration capabilities of NM, please seek " "appropriate plug-in modules and supplemental packages such as " "<literal>network-manager-openconnect</literal>, <literal>network-manager-" "openvpn-gnome</literal>, <literal>network-manager-pptp-gnome</literal>, " "<literal>mobile-broadband-provider-info</literal>, <literal>gnome-bluetooth</" "literal>, etc. The same goes for those of Wicd." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "These automatic network configuration tools may not be compatible with " "esoteric configurations of legacy <literal>ifupdown</literal> in \"<literal>/" "etc/network/interfaces</literal>\" such as ones in <xref linkend=" "\"_the_basic_network_configuration_with_ifupdown_legacy\"/> and <xref " "linkend=\"_the_advanced_network_configuration_with_ifupdown_legacy\"/>. " "Check <ulink url=\"&btsofnetworkmanager;\">BTS of network-manager</ulink> " "and <ulink url=\"&btsofwicd;\">BTS of wicd</ulink> for current issues and " "limitations." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The legacy network connection and configuration" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When the method described in <xref linkend=" "\"_the_modern_network_configuration_for_desktop\"/> does not suffice your " "needs, you should use the legacy network connection and configuration method " "which combines many simpler tools." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The legacy network connection is specific for each method (see <xref linkend=" "\"_the_network_connection_method_legacy\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are 2 types of programs for the low level network configuration on " "Linux (see <xref linkend=\"_iproute2_commands\"/>)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Old <ulink url=\"&nettools;\">net-tools</ulink> programs " "(<citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, …) are from the Linux NET-3 networking system. " "Most of these are obsolete now." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "New <ulink url=\"&linuxiproutec;\">Linux iproute2</ulink> programs " "(<citerefentry><refentrytitle>ip</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>, …) are the current Linux networking system." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although these low level networking programs are powerful, they are " "cumbersome to use. So high level network configuration systems have been " "created." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>ifupdown</literal> package is the de facto standard for such " "high level network configuration system on Debian. It enables you to bring " "up network simply by doing , e.g., \"<literal>ifup eth0</literal>\". Its " "configuration file is the \"<literal>/etc/network/interfaces</literal>\" " "file and its typical contents are the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "auto lo\n" "iface lo inet loopback\n" "\n" "auto eth0\n" "iface eth0 inet dhcp" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>resolvconf</literal> package was created to supplement " "<literal>ifupdown</literal> system to support smooth reconfiguration of " "network address resolution by automating rewrite of resolver configuration " "file \"<literal>/etc/resolv.conf</literal>\". Now, most Debian network " "configuration packages are modified to use <literal>resolvconf</literal> " "package (see \"<literal>/usr/share/doc/resolvconf/README.Debian</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Helper scripts to the <literal>ifupdown</literal> package such as " "<literal>ifplugd</literal>, <literal>guessnet</literal>, <literal>ifscheme</" "literal>, etc. are created to automate dynamic configuration of network " "environment such as one for mobile PC on wired LAN. These are relatively " "difficult to use but play well with existing <literal>ifupdown</literal> " "system." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These are explained in detail with examples (see <xref linkend=" "\"_the_basic_network_configuration_with_ifupdown_legacy\"/> and <xref " "linkend=\"_the_advanced_network_configuration_with_ifupdown_legacy\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The network connection method (legacy)" msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "The connection test method described in this section are meant for testing " "purposes. It is not meant to be used directly for the daily network " "connection. You are advised to use them via NM, Wicd, or the " "<literal>ifupdown</literal> package (see <xref linkend=" "\"_the_modern_network_configuration_for_desktop\"/> and <xref linkend=" "\"_the_basic_network_configuration_with_ifupdown_legacy\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The typical network connection method and connection path for a PC can be " "summarized as the following." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of network connection methods and connection paths" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "PC" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "connection method" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "connection path" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Serial port (<literal>ppp0</literal>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PPP" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "⇔ <ulink url=\"&modem;\">modem</ulink> ⇔ POTS ⇔ dial-up access point ⇔ ISP" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Ethernet port (<literal>eth0</literal>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PPPoE/DHCP/Static" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "⇔ BB-modem ⇔ BB service ⇔ BB access point ⇔ ISP" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DHCP/Static" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "⇔ LAN ⇔ BB-router with <ulink url=\"&networkaddresstranslationnat;\">network " "address translation (NAT)</ulink> (⇔ BB-modem …)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Here is the summary of configuration script for each connection method." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of network connection configurations" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "configuration" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "backend package(s)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>pppconfig</literal> to create deterministic chat" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>pppconfig</literal>, <literal>ppp</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PPP (alternative)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>wvdialconf</literal> to create heuristic chat" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>ppp</literal>, <literal>wvdial</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PPPoE" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>pppoeconf</literal> to create deterministic chat" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>pppoeconf</literal>, <literal>ppp</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DHCP" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "described in \"<literal>/etc/dhcp/dhclient.conf</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>isc-dhcp-client</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "static IP (IPv4)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "described in \"<literal>/etc/network/interfaces</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>net-tools</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "static IP (IPv6)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>iproute</literal>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "The network connection acronyms mean the following." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of network connection acronyms" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "acronym" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&pots;\">POTS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "plain old telephone service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "BB" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&broadband;\">broadband</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "BB-service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "e.g., the digital subscriber line (DSL), the cable TV, or the fiber to the " "premises (FTTP)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "BB-modem" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "e.g., <ulink url=\"&thedslmodem;\">the DSL modem</ulink>, <ulink url=" "\"&thecablemodem;\">the cable modem</ulink>, or <ulink url=" "\"&theopticalnetworkterminalont;\">the optical network terminal (ONT)</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&lan;\">LAN</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "local area network" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&wan;\">WAN</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "wide area network" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&dhcp;\">DHCP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "dynamic host configuration protocol" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ppp;\">PPP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "point-to-point protocol" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&pppoe;\">PPPoE</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "point-to-point protocol over Ethernet" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isp;\">ISP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Internet service provider" msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "The WAN connection services via cable TV are generally served by DHCP or " "PPPoE. The ones by ADSL and FTTP are generally served by PPPoE. You have " "to consult your ISP for exact configuration requirements of the WAN " "connection." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "When BB-router is used to create home LAN environment, PCs on LAN are " "connected to the WAN via BB-router with <ulink url=" "\"&networkaddresstranslationnat;\">network address translation (NAT)</" "ulink>. For such case, PC's network interfaces on the LAN are served by " "static IP or DHCP from the BB-router. BB-router must be configured to " "connect the WAN following the instruction by your ISP." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The DHCP connection with the Ethernet" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The typical modern home and small business network, i.e. LAN, are connected " "to the WAN(Internet) using some consumer grade broadband router. The LAN " "behind this router is usually served by the <ulink url=" "\"&dynamichostconfitionprotocoldhcp;\">dynamic host configuration protocol " "(DHCP)</ulink> server running on the router." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Just install the <literal>isc-dhcp-client</literal> package for the Ethernet " "served by the <ulink url=\"&dynamichostconfitionprotocoldhcp;\">dynamic host " "configuration protocol (DHCP)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>dhclient.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The static IP connection with the Ethernet" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "No special action is needed for the Ethernet served by the static IP." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The PPP connection with pppconfig" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The configuration script <literal>pppconfig</literal> configures the <ulink " "url=\"&ppp;\">PPP</ulink> connection interactively just by selecting the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The telephone number" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The ISP user name" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The ISP password" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The port speed" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The modem communication port" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The authentication method" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "List of configuration files for the <ulink url=\"&ppp;\">PPP</ulink> " "connection with pppconfig" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ppp/peers/<isp_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "The <literal>pppconfig</literal> generated configuration file for " "<literal>pppd</literal> specific to <isp_name>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/chatscripts/<isp_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "The <literal>pppconfig</literal> generated configuration file for " "<literal>chat</literal> specific to <isp_name>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ppp/options</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The general execution parameter for <literal>pppd</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ppp/pap-secret</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Authentication data for the <ulink url=\"&pap;\">PAP</ulink> (security risk)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ppp/chap-secret</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Authentication data for the <ulink url=\"&chap;\">CHAP</ulink> (more secure)" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The \"<isp_name>\" value of \"<literal>provider</literal>\" is assumed " "if <literal>pon</literal> and <literal>poff</literal> commands are invoked " "without arguments." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can test configuration using low level network configuration tools as " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo pon <isp_name>\n" "...\n" "$ sudo poff <isp_name>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See \"<literal>/usr/share/doc/ppp/README.Debian.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The alternative PPP connection with wvdialconf" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A different approach to using <citerefentry><refentrytitle>pppd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> is to run it from " "<citerefentry><refentrytitle>wvdial</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> which comes in the <literal>wvdial</literal> package. Instead " "of <literal>pppd</literal> running <citerefentry><refentrytitle>chat</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to dial in and " "negotiate the connection, <literal>wvdial</literal> does the dialing and " "initial negotiating and then starts <literal>pppd</literal> to do the rest." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The configuration script <literal>wvdialconf</literal> configures the PPP " "connection interactively just by selecting the following." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<literal>wvdial</literal> succeeds in making the connection in most cases " "and maintains authentication data list automatically." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of configuration files for the PPP connection with wvdialconf" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ppp/peers/wvdial</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "The <literal>wvdialconf</literal> generated configuration file for " "<literal>pppd</literal> specific to <literal>wvdial</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/wvdial.conf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The <literal>wvdialconf</literal> generated configuration file" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo wvdial\n" "...\n" "$ sudo killall wvdial" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>wvdial</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>wvdial.conf</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The PPPoE connection with pppoeconf" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When your ISP serves you with PPPoE connection and you decide to connect " "your PC directly to the WAN, the network of your PC must be configured with " "the PPPoE. The PPPoE stand for PPP over Ethernet. The configuration script " "<literal>pppoeconf</literal> configures the PPPoE connection interactively." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The configuration files are the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of configuration files for the PPPoE connection with pppoeconf" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ppp/peers/dsl-provider</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "The <literal>pppoeconf</literal> generated configuration file for " "<literal>pppd</literal> specific to <literal>pppoe</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo /sbin/ifconfig eth0 up\n" "$ sudo pon dsl-provider\n" "...\n" "$ sudo poff dsl-provider\n" "$ sudo /sbin/ifconfig eth0 down" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See \"<literal>/usr/share/doc/pppoeconf/README.Debian</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The basic network configuration with ifupdown (legacy)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The traditional <ulink url=\"&tcpipnetwork;\">TCP/IP network</ulink> setup " "on Debian system uses <literal>ifupdown</literal> package as a high level " "tool. There are 2 typical cases." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For <emphasis role=\"strong\">dynamic IP</emphasis> system such as mobile " "PCs, you should setup TCP/IP network <emphasis role=\"strong\">with</" "emphasis> the <literal>resolvconf</literal> package and enable you to switch " "your network configuration easily (see <xref linkend=" "\"_the_network_interface_served_by_the_dhcp\"/>)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For <emphasis role=\"strong\">static IP</emphasis> system such as servers, " "you should setup TCP/IP network <emphasis role=\"strong\">without</emphasis> " "the <literal>resolvconf</literal> package and keep your system simple (see " "<xref linkend=\"_the_network_interface_with_the_static_ip\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These traditional setup methods are quite useful if you wish to set up " "advanced configuration (see <xref linkend=" "\"_the_basic_network_configuration_with_ifupdown_legacy\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>ifupdown</literal> package provides the standardized framework " "for the high level network configuration in the Debian system. In this " "section, we learn the basic network configuration with <literal>ifupdown</" "literal> with simplified introduction and many typical examples." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The command syntax simplified" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifupdown</literal> package contains 2 commands: " "<citerefentry><refentrytitle>ifup</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>ifdown</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. They offer high " "level network configuration dictated by the configuration file \"/etc/" "network/interfaces\"." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of basic network configuration commands with ifupdown" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ifup eth0</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "bring up a network interface <literal>eth0</literal> with the configuration " "<literal>eth0</literal> if \"<literal>iface eth0</literal>\" stanza exists" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ifdown eth0</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "bring down a network interface <literal>eth0</literal> with the " "configuration <literal>eth0</literal> if \"<literal>iface eth0</literal>\" " "stanza exists" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not use low level configuration tools such as " "<citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>ip</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> commands to configure " "an interface in <emphasis role=\"strong\">up</emphasis> state." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "There is no command <literal>ifupdown</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The basic syntax of \"/etc/network/interfaces\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The key syntax of \"<literal>/etc/network/interfaces</literal>\" as " "explained in <citerefentry><refentrytitle>interfaces</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> can be summarized as " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of stanzas in \"<literal>/etc/network/interfaces</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "stanza" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>auto <interface_name></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "start interface <interface_name> upon start of the system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>allow-auto <interface_name></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>allow-hotplug <interface_name></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "start interface <interface_name> when the kernel detects a hotplug " "event from the interface" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Lines started with \"<literal>iface <config_name> …</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "define the network configuration <config_name>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Lines started with \"<literal>mapping <interface_name_glob> </literal>" "\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "define mapping value of <config_name> for the matching <" "interface_name>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "A line starting with a hash \"<literal>#</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "ignore as comments (end-of-line comments are <emphasis role=\"strong\">not</" "emphasis> supported)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "A line ending with a backslash \"<literal>\\</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extend the configuration to the next line" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines started with <emphasis role=\"strong\"><literal>iface</literal></" "emphasis> stanza has the following syntax." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "iface <config_name> <address_family> <method_name>\n" " <option1> <value1>\n" " <option2> <value2>\n" " ..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the basic configuration, the <emphasis role=\"strong\"><literal>mapping</" "literal></emphasis> stanza is not used and you use the network interface " "name as the network configuration name (See <xref linkend=" "\"_the_mapping_stanza\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not define duplicates of the \"<literal>iface</literal>\" stanza for a " "network interface in \"<literal>/etc/network/interfaces</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The loopback network interface" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following configuration entry in the \"<literal>/etc/network/interfaces</" "literal>\" file brings up the loopback network interface <literal>lo</" "literal> upon booting the system (via <emphasis role=\"strong" "\"><literal>auto</literal></emphasis> stanza)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This one always exists in the \"<literal>/etc/network/interfaces</literal>\" " "file." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The network interface served by the DHCP" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "After preparing the system by <xref linkend=" "\"_the_dhcp_connection_with_the_ethernet\"/>, the network interface served " "by the DHCP is configured by creating the configuration entry in the " "\"<literal>/etc/network/interfaces</literal>\" file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "allow-hotplug eth0\n" "iface eth0 inet dhcp" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When the Linux kernel detects the physical interface <literal>eth0</" "literal>, the <emphasis role=\"strong\"><literal>allow-hotplug</literal></" "emphasis> stanza causes <literal>ifup</literal> to bring up the interface " "and the <emphasis role=\"strong\"><literal>iface</literal></emphasis> stanza " "causes <literal>ifup</literal> to use DHCP to configure the interface." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The network interface with the static IP" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The network interface served by the static IP is configured by creating the " "configuration entry in the \"<literal>/etc/network/interfaces</literal>\" " "file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "allow-hotplug eth0\n" "iface eth0 inet static\n" " address 192.168.11.100\n" " netmask 255.255.255.0\n" " gateway 192.168.11.1\n" " dns-domain example.com\n" " dns-nameservers 192.168.11.1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When the Linux kernel detects the physical interface <literal>eth0</" "literal>, the <emphasis role=\"strong\"><literal>allow-hotplug</literal></" "emphasis> stanza causes <literal>ifup</literal> to bring up the interface " "and the <emphasis role=\"strong\"><literal>iface</literal></emphasis> stanza " "causes <literal>ifup</literal> to use the static IP to configure the " "interface." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here, I assumed the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "IP address range of the LAN network: <literal>192.168.11.0</literal> - " "<literal>192.168.11.255</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "IP address of the gateway: <literal>192.168.11.1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "IP address of the PC: <literal>192.168.11.100</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The <literal>resolvconf</literal> package: installed" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The domain name: \"<literal>example.com</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "IP address of the DNS server: <literal>192.168.11.1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When the <literal>resolvconf</literal> package is not installed, DNS related " "configuration needs to be done manually by editing the \"<literal>/etc/" "resolv.conf</literal>\" as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "nameserver 192.168.11.1\n" "domain example.com" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The IP addresses used in the above example are not meant to be copied " "literally. You have to adjust IP numbers to your actual network " "configuration." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The basics of wireless LAN interface" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&wirelesslanwlanforshort;\">wireless LAN (WLAN for short)</" "ulink> provides the fast wireless connectivity through the spread-spectrum " "communication of unlicensed radio bands based on the set of standards called " "<ulink url=\"&ieeeiacbb;\">IEEE 802.11</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The WLAN interfaces are almost like normal Ethernet interfaces but require " "some network ID and encryption key data to be provided when they are " "initialized. Their high level network tools are exactly the same as that of " "Ethernet interfaces except interface names are a bit different like " "<literal>eth1</literal>, <literal>wlan0</literal>, <literal>ath0</literal>, " "<literal>wifi0</literal>, … depending on the kernel drivers used." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The <literal>wmaster0</literal> device is the master device which is an " "internal device used only by <ulink url=\"&softmac;\">SoftMAC</ulink> with " "new <ulink url=\"&maciacbbapioflinux;\">mac80211 API of Linux</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here are some keywords to remember for the WLAN." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of acronyms for WLAN" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "full word" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "NWID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Network ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "16 bit network ID used by pre-802.11 <ulink url=\"&wavelan;\">WaveLAN</" "ulink> network (very deprecated)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "(E)SSID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "(Extended) <ulink url=\"&servicesetidentifier;\">Service Set Identifier</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "network name of the <ulink url=\"&wirelessaccesspointsaps;\">Wireless Access " "Points (APs)</ulink> interconnected to form an integrated <ulink url=" "\"&iacbbwirelesslan;\">802.11 wireless LAN</ulink>, Domain ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "WEP, (WEP2)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&wiredequivalentprivacy;\">Wired Equivalent Privacy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "1st generation 64-bit (128-bit) wireless encryption standard with 40-bit key " "(deprecated)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "WPA" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&wifiprotectedaccess;\">Wi-Fi Protected Access</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "2nd generation wireless encryption standard (most of 802.11i), compatible " "with WEP" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "WPA2" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&wifiprotectedaccessc;\">Wi-Fi Protected Access 2</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "3rd generation wireless encryption standard (full 802.11i), non-compatible " "with WEP" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The actual choice of protocol is usually limited by the wireless router you " "deploy." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The wireless LAN interface with WPA/WPA2" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to install the <literal>wpasupplicant</literal> package to support " "the WLAN with the new WPA/WPA2." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In case of the <ulink url=\"&dhcp;\">DHCP</ulink> served IP on WLAN " "connection, the \"<literal>/etc/network/interfaces</literal>\" file entry " "should be as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "allow-hotplug ath0\n" "iface ath0 inet dhcp\n" " wpa-ssid homezone\n" " # hexadecimal psk is encoded from a plaintext passphrase\n" " wpa-psk 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See \"<literal>/usr/share/doc/wpasupplicant/README.modes.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The wireless LAN interface with WEP" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to install the <literal>wireless-tools</literal> package to support " "the WLAN with the old WEP. (Your consumer grade router may still be using " "this insecure infrastructure but this is better than nothing.)" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Please note that your network traffic on WLAN with WEP may be sniffed by " "others." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "allow-hotplug eth0\n" "iface eth0 inet dhcp\n" " wireless-essid Home\n" " wireless-key1 0123-4567-89ab-cdef\n" " wireless-key2 12345678\n" " wireless-key3 s:password\n" " wireless-defaultkey 2\n" " wireless-keymode open" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See \"<literal>/usr/share/doc/wireless-tools/README.Debian</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The PPP connection" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to configure the PPP connection first as described before (see " "<xref linkend=\"_the_ppp_connection_with_pppconfig\"/>). Then, add the " "\"<literal>/etc/network/interfaces</literal>\" file entry for the primary " "PPP device <literal>ppp0</literal> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "iface ppp0 inet ppp\n" " provider <isp_name>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The alternative PPP connection" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to configure the alternative PPP connection with <literal>wvdial</" "literal> first as described before (see <xref linkend=" "\"_the_alternative_ppp_connection_with_wvdialconf\"/>). Then, add the " "\"<literal>/etc/network/interfaces</literal>\" file entry for the primary " "PPP device <literal>ppp0</literal> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "iface ppp0 inet wvdial" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The PPPoE connection" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For PC connected directly to the WAN served by the PPPoE, you need to " "configure system with the PPPoE connection as described before (see <xref " "linkend=\"_the_pppoe_connection_with_pppoeconf\"/>). Then, add the " "\"<literal>/etc/network/interfaces</literal>\" file entry for the primary " "PPPoE device <literal>eth0</literal> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "allow-hotplug eth0\n" "iface eth0 inet manual\n" " pre-up /sbin/ifconfig eth0 up\n" " up ifup ppp0=dsl\n" " down ifdown ppp0=dsl\n" " post-down /sbin/ifconfig eth0 down\n" "# The following is used internally only\n" "iface dsl inet ppp\n" " provider dsl-provider" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The network configuration state of ifupdown" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>/etc/network/run/ifstate</literal>\" file stores the " "<emphasis role=\"strong\">intended</emphasis> network configuration states " "for all the currently active network interfaces managed by the " "<literal>ifupdown</literal> package are listed. Unfortunately, even if the " "<literal>ifupdown</literal> system fails to bring up the interface as " "intended, the \"<literal>/etc/network/run/ifstate</literal>\" file lists it " "active." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Unless the output of the <citerefentry><refentrytitle>ifconfig</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> command for an " "interface does not have a line like following example, it can not be used as " "a part of <ulink url=\"&ipvenetwork;\">IPV4 network</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid " inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For the Ethernet device connected to the PPPoE, the output of the " "<citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command lacks a line which looks like above " "example." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The basic network reconfiguration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you try to reconfigure the interface, e.g. <literal>eth0</literal>, you " "must disable it first with the \"<emphasis role=\"strong\"><literal>sudo " "ifdown eth0</literal></emphasis>\" command. This removes the entry of " "<literal>eth0</literal> from the \"<literal>/etc/network/run/ifstate</" "literal>\" file. (This may result in some error message if <literal>eth0</" "literal> is not active or it is configured improperly previously. So far, " "it seems to be safe to do this for the simple single user work station at " "any time.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are now free to rewrite the \"<literal>/etc/network/interfaces</literal>" "\" contents as needed to reconfigure the network interface, <literal>eth0</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Then, you can reactivate <literal>eth0</literal> with the \"<emphasis role=" "\"strong\"><literal>sudo ifup eth0</literal></emphasis>\" command." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can (re)initialize the network interface simply by \"<emphasis role=" "\"strong\"><literal>sudo ifdown eth0;sudo ifup eth0</literal></emphasis>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The ifupdown-extra package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifupdown-extra</literal> package provides easy network " "connection tests for use with the <literal>ifupdown</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <citerefentry><refentrytitle>network-test</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command can be used from the shell." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The automatic scripts are run for each <literal>ifup</literal> command " "execution." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>network-test</literal> command frees you from the execution of " "cumbersome low level commands to analyze the network problem." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The automatic scripts are installed in \"<literal>/etc/network/*/</literal>" "\" and performs the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Check the network cable connection" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Check duplicate use of IP address" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Setup system's static routes based on the \"<literal>/etc/network/routes</" "literal>\" definition" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Check if network gateway is reachable" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Record results in the \"<literal>/var/log/syslog</literal>\" file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This syslog record is quite useful for administration of the network problem " "on the remote system." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The automatic behavior of the <literal>ifupdown-extra</literal> package is " "configurable with the \"<literal>/etc/default/network-test</literal>\". Some " "of these automatic checks slow down the system boot-up a little bit since it " "takes some time to listen for <ulink url=\"&arp;\">ARP</ulink> replies." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The advanced network configuration with ifupdown (legacy)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The functionality of the <literal>ifupdown</literal> package can be improved " "beyond what was described in <xref linkend=" "\"_the_basic_network_configuration_with_ifupdown_legacy\"/> with the " "advanced knowledge." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The functionalities described here are completely optional. I, being lazy " "and minimalist, rarely bother to use these." msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "If you could not set up network connection by information in <xref linkend=" "\"_the_basic_network_configuration_with_ifupdown_legacy\"/>, you make " "situation worse by using information below." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The ifplugd package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifplugd</literal> package is older automatic network " "configuration tool which can manage only Ethernet connections. This solves " "unplugged/replugged Ethernet cable issues for mobile PC etc. If you have " "<ulink url=\"&networkmanager;\">NetworkManager</ulink> or <ulink url=\"&wicd;" "\">Wicd</ulink> (see <xref linkend=" "\"_the_modern_network_configuration_for_desktop\"/>) installed, you do not " "need this package." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This package runs <ulink url=\"&daemon;\">daemon</ulink> and replaces " "<emphasis role=\"strong\">auto</emphasis> or <emphasis role=\"strong\">allow-" "hotplug</emphasis> functionalities (see <xref linkend=\"list-of-stanzas-in-" "eni\"/>) and starts interfaces upon their connection to the network." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is how to use the <literal>ifplugd</literal> package for the internal " "Ethernet port, e.g. <literal>eth0</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Remove stanza in \"<literal>/etc/network/interfaces</literal>\": " "\"<literal>auto eth0</literal>\" or \"<literal>allow-hotplug eth0</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Keep stanza in \"<literal>/etc/network/interfaces</literal>\": " "\"<literal>iface eth0 inet …</literal>\" and \"<literal>mapping …</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Install the <literal>ifplugd</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Run \"<literal>sudo dpkg-reconfigure ifplugd</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Put <literal>eth0</literal> as the \"static interfaces to be watched by " "ifplugd\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Now, the network reconfiguration works as you desire." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Upon power-on or upon hardware discovery, the interface is not brought up by " "itself." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Quick boot process without the long DHCP timeout." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "No funny activated interface without proper IPv4 address (see <xref linkend=" "\"_the_network_configuration_state_of_ifupdown\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Upon finding the Ethernet cable, the interface is brought up." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Upon some time after unplugging the Ethernet cable, the interface is brought " "down automatically." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Upon plugging in another Ethernet cable, the interface is brought up under " "the new network environment." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The arguments for the <citerefentry><refentrytitle>ifplugd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> command can set its " "behaviors such as the delay for reconfiguring interfaces." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The ifmetric package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifmeric</literal> package enables us to manipulate metrics of " "routes a posteriori even for DHCP." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following sets the <literal>eth0</literal> interface to be preferred " "over the <literal>wlan0</literal> interface." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Install the <literal>ifmetric</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Add an option line with \"<literal>metric 0</literal>\" just below the " "\"<literal>iface eth0 inet dhcp</literal>\" line." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Add an option line with \"<literal>metric 1</literal>\" just below the " "\"<literal>iface wlan0 inet dhcp</literal>\" line." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The metric 0 means the highest priority route and is the default one. The " "larger metric value means lower priority routes. The IP address of the " "active interface with the lowest metric value becomes the originating one. " "See <citerefentry><refentrytitle>ifmetric</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The virtual interface" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A single physical Ethernet interface can be configured as multiple virtual " "interfaces with different IP addresses. Usually the purpose is to connect " "an interface to several IP subnetworks. For example, IP address based " "virtual web hosting by a single network interface is one such application." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For example, let's suppose the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "A single Ethernet interface on your host is connected to a Ethernet hub (not " "to the broadband router)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The Ethernet hub is connected to both the Internet and LAN network." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The LAN network uses subnet <literal>192.168.0.x/24</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Your host uses DHCP served IP address with the physical interface " "<literal>eth0</literal> for the Internet." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Your host uses <literal>192.168.0.1</literal> with the virtual interface " "<literal>eth0:0</literal> for the LAN." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following stanzas in \"<literal>/etc/network/interfaces</literal>\" " "configure your network." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "iface eth0 inet dhcp\n" " metric 0\n" "iface eth0:0 inet static\n" " address 192.168.0.1\n" " netmask 255.255.255.0\n" " network 192.168.0.0\n" " metric 1" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Although this configuration example with <ulink url=" "\"&networkaddresstranslationnat;\">network address translation (NAT)</ulink> " "using <ulink url=\"&netfilteriptables;\">netfilter/iptables</ulink> (see " "<xref linkend=\"_netfilter_infrastructure\"/>) can provide cheap router for " "the LAN with only single interface, there is no real firewall capability " "with such set up. You should use 2 physical interfaces with NAT to secure " "the local network from the Internet." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The advanced command syntax" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifupdown</literal> package offers advanced network " "configuration using the <emphasis role=\"strong\">network configuration</" "emphasis> name and the <emphasis role=\"strong\">network interface</" "emphasis> name. I use slightly different terminology from one used in " "<citerefentry><refentrytitle>ifup</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>interfaces</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of terminology for network devices" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "manpage terminology" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "my terminology" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "examples in the following text" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">physical interface</emphasis> name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">network interface</emphasis> name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>lo</literal>, <literal>eth0</literal>, <literal><" "interface_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "name given by the Linux kernel (using <literal>udev</literal> mechanism)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">logical interface</emphasis> name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">network configuration</emphasis> name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>config1</literal>, <literal>config2</literal>, <literal><" "config_name></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "name token following <emphasis role=\"strong\"><literal>iface</literal></" "emphasis> in the \"<literal>/etc/network/interfaces</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Basic network configuration commands in <xref linkend=" "\"_the_command_syntax_simplified\"/> require the <emphasis role=\"strong" "\">network configuration</emphasis> name token of the <emphasis role=\"strong" "\"><literal>iface</literal></emphasis> stanza to match the <emphasis role=" "\"strong\">network interface</emphasis> name in the \"<literal>/etc/network/" "interfaces</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Advanced network configuration commands enables separation of the <emphasis " "role=\"strong\">network configuration</emphasis> name and the <emphasis role=" "\"strong\">network interface</emphasis> name in the \"<literal>/etc/network/" "interfaces</literal>\" as the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of advanced network configuration commands with ifupdown" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ifup eth0=config1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "bring up a network interface <literal>eth0</literal> with the configuration " "<literal>config1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ifdown eth0=config1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "bring down a network interface <literal>eth0</literal> with the " "configuration <literal>config1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "bring up a network interface <literal>eth0</literal> with the configuration " "selected by <emphasis role=\"strong\"><literal>mapping</literal></emphasis> " "stanza" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "bring down a network interface <literal>eth0</literal> with the " "configuration selected by <emphasis role=\"strong\"><literal>mapping</" "literal></emphasis> stanza" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The mapping stanza" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "We skipped explaining the <emphasis role=\"strong\"><literal>mapping</" "literal></emphasis> stanza in the \"<literal>/etc/network/interfaces</" "literal>\" in <xref linkend=\"_the_basic_syntax_of_etc_network_interfaces\"/" "> to avoid complication. This stanza has the following syntax." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "mapping <interface_name_glob>\n" " script <script_name>\n" " map <script_input1>\n" " map <script_input2>\n" " map ..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This provides advanced feature to the \"<literal>/etc/network/interfaces</" "literal>\" file by automating the choice of the configuration with the " "mapping script specified by <literal><script_name></literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Let's follow the execution of the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo ifup eth0" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When the \"<literal><interface_name_glob></literal>\" matches " "\"<literal>eth0</literal>\", this execution produces the execution of the " "following command to configure <literal>eth0</literal> automatically." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo ifup eth0=$(echo -e '<script_input1> \\n <script_input2> \\n ...' | <script_name> eth0)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, script input lines with \"<literal>map</literal>\" are optional and " "can be repeated." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The glob for <emphasis role=\"strong\"><literal>mapping</literal></emphasis> " "stanza works like shell filename glob (see <xref linkend=\"_shell_glob\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The manually switchable network configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is how to switch manually among several network configurations without " "rewriting the \"<literal>/etc/network/interfaces</literal>\" file as in " "<xref linkend=\"_the_basic_network_reconfiguration\"/> ." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For all the network configuration you need to access, you create a single " "\"<literal>/etc/network/interfaces</literal>\" file as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "auto lo\n" "iface lo inet loopback\n" "\n" "iface config1 inet dhcp\n" "\n" "iface config2 inet static\n" " address 192.168.11.100\n" " netmask 255.255.255.0\n" " gateway 192.168.11.1\n" " dns-domain example.com\n" " dns-nameservers 192.168.11.1\n" "\n" "iface pppoe inet manual\n" " pre-up /sbin/ifconfig eth0 up\n" " up ifup ppp0=dsl\n" " down ifdown ppp0=dsl\n" " post-down /sbin/ifconfig eth0 down\n" "\n" "# The following is used internally only\n" "iface dsl inet ppp\n" " provider dsl-provider\n" "\n" "iface pots inet ppp\n" " provider provider" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note the <emphasis role=\"strong\">network configuration name</" "emphasis> which is the token after <emphasis role=\"strong\"><literal>iface</" "literal></emphasis> does not use the token for the <emphasis role=\"strong" "\">network interface name</emphasis>. Also, there are no <emphasis role=" "\"strong\"><literal>auto</literal></emphasis> stanza nor <emphasis role=" "\"strong\"><literal>allow-hotplug</literal></emphasis> stanza to start the " "network interface <literal>eth0</literal> automatically upon events." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Now you are ready to switch the network configuration." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's move your PC to a LAN served by the DHCP. You bring up the <emphasis " "role=\"strong\">network interface</emphasis> (the physical interface) " "<literal>eth0</literal> by assigning the <emphasis role=\"strong\">network " "configuration</emphasis> name (the logical interface name) <literal>config1</" "literal> to it by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifup eth0=config1\n" "Password:\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>eth0</literal> is up, configured by DHCP and " "connected to LAN." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifdown eth0=config1\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>eth0</literal> is down and disconnected from LAN." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's move your PC to a LAN served by the static IP. You bring up the " "<emphasis role=\"strong\">network interface</emphasis> <literal>eth0</" "literal> by assigning the <emphasis role=\"strong\">network configuration</" "emphasis> name <literal>config2</literal> to it by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifup eth0=config2\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>eth0</literal> is up, configured with static IP and " "connected to LAN. The additional parameters given as <literal>dns-*</" "literal> configures \"<literal>/etc/resolv.conf</literal>\" contents. This " "\"<literal>/etc/resolv.conf</literal>\" is better manged if the " "<literal>resolvconf</literal> package is installed." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifdown eth0=config2\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>eth0</literal> is down and disconnected from LAN, " "again." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's move your PC to a port on BB-modem connected to the PPPoE served " "service. You bring up the <emphasis role=\"strong\">network interface</" "emphasis> <literal>eth0</literal> by assigning the <emphasis role=\"strong" "\">network configuration</emphasis> name <literal>pppoe</literal> to it by " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifup eth0=pppoe\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>eth0</literal> is up, configured with PPPoE " "connection directly to the ISP." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifdown eth0=pppoe\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The interface <literal>eth0</literal> is down and disconnected, again." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's move your PC to a location without LAN or BB-modem but with POTS and " "modem. You bring up the <emphasis role=\"strong\">network interface</" "emphasis> <literal>ppp0</literal> by assigning the <emphasis role=\"strong" "\">network configuration</emphasis> name <literal>pots</literal> to it by " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifup ppp0=pots\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>ppp0</literal> is up and connected to the Internet " "with PPP." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo ifdown ppp0=pots\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The interface <literal>ppp0</literal> is down and disconnected from the " "Internet." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You should check the \"<literal>/etc/network/run/ifstate</literal>\" file " "for the current network configuration state of the <literal>ifupdown</" "literal> system." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "You may need to adjust numbers at the end of <literal>eth*</literal>, " "<literal>ppp*</literal>, etc. if you have multiple network interfaces." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Scripting with the ifupdown system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifupdown</literal> system automatically runs scripts installed " "in \"<literal>/etc/network/*/</literal>\" while exporting environment " "variables to scripts." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of environment variables passed by the ifupdown system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "environment variable" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "value passed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$IFACE</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "physical name (interface name) of the interface being processed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$LOGICAL</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "logical name (configuration name) of the interface being processed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$ADDRFAM</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<address_family> of the interface" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$METHOD</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<method_name> of the interface. (e.g., \"static\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$MODE</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "\"start\" if run from <literal>ifup</literal>, \"stop\" if run from " "<literal>ifdown</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$PHASE</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "as per \"<literal>$MODE</literal>\", but with finer granularity, " "distinguishing the <literal>pre-up</literal>, <literal>post-up</literal>, " "<literal>pre-down</literal> and <literal>post-down</literal> phases" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$VERBOSITY</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "indicates whether \"<literal>--verbose</literal>\" was used; set to 1 if so, " "0 if not" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$PATH</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "command search path: \"<literal>/usr/local/sbin:/usr/local/bin:/usr/sbin:/" "usr/bin:/sbin:/bin</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$IF_<OPTION></literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "value for the corresponding option under the <emphasis role=\"strong" "\"><literal>iface</literal></emphasis> stanza" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, each environment variable, \"<literal>$IF_<OPTION></literal>\", " "is created from the name for the corresponding option such as <" "option1> and <option2> by prepending \"<literal>$IF_</literal>\", " "converting the case to the upper case, replacing hyphens to underscores, and " "discarding non-alphanumeric characters." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "See <xref linkend=\"_the_basic_syntax_of_etc_network_interfaces\"/> for <" "address_family>, <method_name>, <option1> and <option2>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>ifupdown-extra</literal> package (see <xref linkend=" "\"_the_ifupdown_extra_package\"/>) uses these environment variables to " "extend the functionality of the <literal>ifupdown</literal> package. The " "<literal>ifmetric</literal> package (see <xref linkend=" "\"_the_ifmetric_package\"/>) installs the \"<literal>/etc/network/if-up.d/" "ifmetric</literal>\" script which sets the metric via the \"<literal>" "$IF_METRIC</literal>\" variable. The <literal>guessnet</literal> package " "(see <xref linkend=\"_mapping_with_guessnet\"/>), which provides simple and " "powerful framework for the auto-selection of the network configuration via " "the mapping mechanism, also uses these." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For more specific examples of custom network configuration scripts using " "these environment variables, you should check example scripts in \"<literal>/" "usr/share/doc/ifupdown/examples/*</literal>\" and scripts used in " "<literal>ifscheme</literal> and <literal>ifupdown-scripts-zg2</literal> " "packages. These additional scripts have some overlaps of functionalities " "with basic <literal>ifupdown-extra</literal> and <literal>guessnet</literal> " "packages. If you install these additional scripts, you should customize " "these scripts to avoid interferences." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Mapping with guessnet" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Instead of manually choosing configuration as described in <xref linkend=" "\"_the_manually_switchable_network_configuration\"/>, you can use the " "mapping mechanism described in <xref linkend=\"_the_mapping_stanza\"/> to " "select network configuration automatically with custom scripts." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>guessnet-ifupdown</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> command provided by " "the <literal>guessnet</literal> package is designed to be used as a mapping " "script and provides powerful framework to enhance the <literal>ifupdown</" "literal> system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "You list test condition as the value for <emphasis role=\"strong" "\"><literal>guessnet</literal></emphasis> options for each network " "configuration under <emphasis role=\"strong\"><literal>iface</literal></" "emphasis> stanza." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Mapping choses the <emphasis role=\"strong\"><literal>iface</literal></" "emphasis> with first non-ERROR result as the network configuration." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This dual usage of the \"<literal>/etc/network/interfaces</literal>\" file " "by the mapping script, <literal>guessnet-ifupdown</literal>, and the " "original network configuration infrastructure, <literal>ifupdown</literal>, " "does not cause negative impacts since <emphasis role=\"strong" "\"><literal>guessnet</literal></emphasis> options only export extra " "environment variables to scripts run by the <literal>ifupdown</literal> " "system. See details in <citerefentry><refentrytitle>guessnet-ifupdown</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "When multiple <emphasis role=\"strong\"><literal>guessnet</literal></" "emphasis> option lines are required in \"<literal>/etc/network/interfaces</" "literal>\", use option lines started with <emphasis role=\"strong" "\"><literal>guessnet1</literal></emphasis>, <emphasis role=\"strong" "\"><literal>guessnet2</literal></emphasis>, and so on, since the " "<literal>ifupdown</literal> package does not allow starting strings of " "option lines to be repeated." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The low level network configuration" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Iproute2 commands" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&iproutec;\">Iproute2</ulink> commands offer complete low-level " "network configuration capabilities. Here is a translation table from " "obsolete <ulink url=\"&nettools;\">net-tools</ulink> commands to new <ulink " "url=\"&iproutec;\">iproute2</ulink> etc. commands." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Translation table from obsolete <literal>net-tools</literal> commands to new " "<literal>iproute2</literal> commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "obsolete net-tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "new iproute2 etc." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "manipulation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip addr</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "protocol (IP or IPv6) address on a device" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>route</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip route</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "routing table entry" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip neigh</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ARP or NDISC cache entry" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ipmaddr</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip maddr</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "multicast address" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>iptunnel</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip tunnel</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tunnel over IP" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>nameif</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ifrename</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "name network interfaces based on MAC addresses" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>mii-tool</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ethtool</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Ethernet device settings" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and <ulink url=\"&iproutecutilitysuitehowto;\">IPROUTE2 " "Utility Suite Howto</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Safe low level network operations" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may use low level network commands as follows safely since they do not " "change network configuration." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of low level network commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ifconfig</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display the link and address status of active interfaces" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip addr show</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>route -n</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display all the routing table in numerical addresses" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ip route show</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>arp</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "display the current content of the <ulink url=\"&arp;\">ARP</ulink> cache " "tables" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>plog</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display ppp daemon log" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ping yahoo.com</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "check the Internet connection to \"<literal>yahoo.com</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>whois yahoo.com</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "check who registered \"<literal>yahoo.com</literal>\" in the domains database" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>traceroute yahoo.com</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "trace the Internet connection to \"<literal>yahoo.com</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tracepath yahoo.com</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mtr yahoo.com</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "trace the Internet connection to \"<literal>yahoo.com</literal>" "\" (repeatedly)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dig [@dns-server.com] example.com [{a|mx|any}]</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "check <ulink url=\"&dns;\">DNS</ulink> records of \"<literal>example.com</" "literal>\" by \"<literal>dns-server.com</literal>\" for a \"<literal>a</" "literal>\", \"<literal>mx</literal>\", or \"<literal>any</literal>\" record" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>iptables -L -n</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "check packet filter" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>netstat -a</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "find all open ports" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>netstat -l --inet</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "find listening ports" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>netstat -ln --tcp</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "find listening TCP ports (numeric)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>dlint example.com</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "check DNS zone information of \"<literal>example.com</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Some of these low level network configuration tools reside in \"<literal>/" "sbin/</literal>\". You may need to issue full command path such as " "\"<literal>/sbin/ifconfig</literal>\" or add \"<literal>/sbin</literal>\" to " "the \"<literal>$PATH</literal>\" list in your \"<literal>~/.bashrc</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Network optimization" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Generic network optimization is beyond the scope of this documentation. I " "touch only subjects pertinent to the consumer grade connection." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of network optimization tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "display bandwidth usage information on an network interface" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Internet Protocol bandwidth measuring tool" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "write a \"<literal>/etc/apt/sources.list</literal>\" file based on bandwidth " "tests" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "InterFace STATistics Monitoring" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "portable bandwidth monitor and rate estimator" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "script that quickly measures network device throughput" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "empirical stochastic bandwidth tester" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "small and simple console-based bandwidth monitor" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "console-based Ethernet statistics monitor" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "bandwidth analysis tool" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Finding optimal MTU" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&maximumtransmissionunitmtu;\">Maximum Transmission Unit " "(MTU)</ulink> value can be determined experimentally with " "<citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> with \"<literal>-M do</literal>\" option which sends ICMP " "packets with data size starting from 1500 (with offset of 28 bytes for the IP" "+ICMP header) and finding the largest size without IP fragmentation." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ping -c 1 -s $((1500-28)) -M do www.debian.org\n" "PING www.debian.org (194.109.137.218) 1472(1500) bytes of data.\n" "From 192.168.11.2 icmp_seq=1 Frag needed and DF set (mtu = 1454)\n" "\n" "--- www.debian.org ping statistics ---\n" "0 packets transmitted, 0 received, +1 errors" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Try 1454 instead of 1500" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You see <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> succeed with 1454." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This process is <ulink url=\"&pathmtupmtudiscovery;\">Path MTU (PMTU) " "discovery</ulink> (<ulink url=\"&rfcbbjb;\">RFC1191</ulink>) and the " "<citerefentry><refentrytitle>tracepath</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command can automate this." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The above example with PMTU value of 1454 is for my previous FTTP provider " "which used <ulink url=\"&asynchronoustransfermode;\">Asynchronous Transfer " "Mode</ulink> (ATM) as its backbone network and served its clients with the " "<ulink url=\"&pppoe;\">PPPoE</ulink>. The actual PMTU value depends on your " "environment, e.g., 1500 for the my new FTTP provider." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Basic guide lines of the optimal MTU value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "network environment" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "MTU" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "rationale" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Dial-up link (IP: PPP)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "576" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "standard" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Ethernet link (IP: DHCP or fixed)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1500" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "standard and default" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Ethernet link (IP: PPPoE)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1492 (=1500-8)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "2 bytes for PPP header and 6 bytes for PPPoE header" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Ethernet link (ISP's backbone: ATM, IP: DHCP or fixed)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1462 (=48*31-18-8)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "author's speculation: 18 for Ethernet header, 8 for SAR trailer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Ethernet link (ISP's backbone: ATM, IP: PPPoE)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1454 (=48*31-8-18-8)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "see \"<ulink url=\"&optimalmtuconfigeadslconnections;\">Optimal MTU " "configuration for PPPoE ADSL Connections</ulink>\" for rationale" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "In addtion to these basic guide lines, you should know the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Any use of tunneling methods (<ulink url=\"&vpn;\">VPN</ulink> etc.) may " "reduce optimal MTU further by their overheads." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The MTU value should not exceed the experimentally determined PMTU value." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The bigger MTU value is generally better when other limitations are met." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Setting MTU" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are examples for setting the MTU value from its default 1500 to 1454." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the DHCP (see <xref linkend=\"_the_network_interface_served_by_the_dhcp" "\"/>), you can replace pertinent <emphasis role=\"strong\"><literal>iface</" "literal></emphasis> stanza lines in the \"<literal>/etc/network/interfaces</" "literal>\" with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "iface eth0 inet dhcp\n" " pre-up /sbin/ifconfig $IFACE mtu 1454" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the static IP (see <xref linkend=" "\"_the_network_interface_with_the_static_ip\"/>), you can replace pertinent " "<emphasis role=\"strong\"><literal>iface</literal></emphasis> stanza lines " "in the \"<literal>/etc/network/interfaces</literal>\" with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "iface eth0 inet static\n" " address 192.168.11.100\n" " netmask 255.255.255.0\n" " gateway 192.168.11.1\n" " mtu 1454\n" " dns-domain example.com\n" " dns-nameservers 192.168.11.1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the direct PPPoE (see <xref linkend=" "\"_the_pppoe_connection_with_pppoeconf\"/>), you can replace pertinent " "\"<literal>mtu</literal>\" line in the \"<literal>/etc/ppp/peers/dsl-" "provider</literal>\" with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "mtu 1454" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&maximumsegmentsize;\">maximum segment size</ulink> (MSS) " "is used as an alternative measure of packet size. The relationship between " "MSS and MTU are the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "MSS = MTU - 40 for IPv4" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "MSS = MTU - 60 for IPv6" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The <citerefentry><refentrytitle>iptables</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> (see <xref linkend=\"_netfilter_infrastructure\"/" ">) based optimization can clamp packet size by the MSS and is useful for the " "router. See \"TCPMSS\" in <citerefentry><refentrytitle>iptables</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "WAN TCP optimization" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The TCP throughput can be maximized by adjusting TCP buffer size parameters " "as described in \"<ulink url=\"&tcptuningguide;\">TCP Tuning Guide</ulink>\" " "and \"<ulink url=\"&tcptuning;\">TCP tuning</ulink>\" for the modern high-" "bandwidth and high-latency WAN. So far, the current Debian default settings " "serve well even for my LAN connected by the fast 1G bps FTTP service." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Netfilter infrastructure" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&netfilter;\">Netfilter</ulink> provides infrastructure for " "<ulink url=\"&statefulfirewall;\">stateful firewall</ulink> and <ulink url=" "\"&networkaddresstranslationnat;\">network address translation (NAT)</ulink> " "with <ulink url=\"&linuxkernel;\">Linux kernel</ulink> modules (see <xref " "linkend=\"_the_kernel_module_initialization\"/>)." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of firewall tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "administration tools for <ulink url=\"&netfilter;\">netfilter</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "continuously monitor <ulink url=\"&netfilter;\">netfilter</ulink> state " "(similar to <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&shorelinefirewall;\">Shoreline Firewall</ulink> initialization" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&shorelinefirewall;\">Shoreline Firewall</ulink>, <ulink url=" "\"&netfilter;\">netfilter</ulink> configuration file generator" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&shorelinefirewall;\">Shoreline Firewall</ulink>, <ulink url=" "\"&netfilter;\">netfilter</ulink> configuration file generator (light " "version)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&shorelinefirewall;\">Shoreline Firewall</ulink>, <ulink url=" "\"&netfilter;\">netfilter</ulink> configuration file generator (IPv6 version)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&shorelinefirewall;\">Shoreline Firewall</ulink>, <ulink url=" "\"&netfilter;\">netfilter</ulink> configuration file generator (IPv6, light " "version)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Main user space program of <ulink url=\"&netfilter;\">netfilter</ulink> is " "<citerefentry><refentrytitle>iptables</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>. You can manually configure <ulink url=" "\"&netfilter;\">netfilter</ulink> interactively from shell, save its state " "with <citerefentry><refentrytitle>iptables-save</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, and restore it via init script with " "<citerefentry><refentrytitle>iptables-restore</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> upon system reboot." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Configuration helper scripts such as <ulink url=\"&shorewall;\">shorewall</" "ulink> ease this process." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See documentations at <ulink url=\"&httpwwwnetfilterorgdocumentation;" "\">http://www.netfilter.org/documentation/</ulink> (or in \"<literal>/usr/" "share/doc/iptables/html/</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&linuxnetworkingconceptshowto;\">Linux Networking-concepts " "HOWTO</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&linuxcepacketfilteringhowto;\">Linux 2.4 Packet Filtering " "HOWTO</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&linuxcenathowto;\">Linux 2.4 NAT HOWTO</ulink>" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "Although these were written for Linux <emphasis role=\"strong\">2.4</" "emphasis>, both <citerefentry><refentrytitle>iptables</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> command and netfilter " "kernel function apply for current Linux <emphasis role=\"strong\">2.6</" "emphasis>." msgstr "" #. type: Content of: <book><chapter><title> msgid "Network applications" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "After establishing network connectivity (see <xref linkend=\"_network_setup" "\"/>), you can run various network applications." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Web browsers" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are many <ulink url=\"&webbrowser;\">web browser</ulink> packages to " "access remote contents with <ulink url=\"&hypertexttransferprotocol;" "\">Hypertext Transfer Protocol</ulink> (HTTP)." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of web browsers" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "description of web browser" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "X" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&chromium;\">Chromium</ulink>, (open-source browser from Google)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&unbranded;\">unbranded</ulink> <ulink url=\"&mozillafirefox;" "\">Mozilla Firefox</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&unbranded;\">unbranded</ulink><ulink url=\"&mozilla;" "\">Mozilla</ulink>, removed due to security concerns <ulink url=\"&bugfaffgf;" "\">bug#505565</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&gnome;\">GNOME</ulink>, <ulink url=\"&hig;\">HIG</ulink> " "compliant, <ulink url=\"&epiphany;\">Epiphany</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&kde;\">KDE</ulink>, <ulink url=\"&konqueror;\">Konqueror</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&dillo;\">Dillo</ulink>, (light weight browser, <ulink url=" "\"&fltk;\">FLTK</ulink> based)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "text" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&wdm;\">w3m</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&lynx;\">Lynx</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&elinks;\">ELinks</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&links;\">Links</ulink> (text only)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "graphics" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&links;\">Links</ulink> (console graphics without X)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Browser configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may be able to use following special URL strings for some browsers to " "confirm their settings." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>about:</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>about:config</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>about:plugins</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Debian offers many free browser plugin packages in the main archive area " "which can handle not only <ulink url=\"&javasoftwareplatform;\">Java " "(software platform)</ulink> and <ulink url=\"&flash;\">Flash</ulink> but " "also <ulink url=\"&mpeg;\">MPEG</ulink>, <ulink url=\"&mpegc;\">MPEG2</" "ulink>, <ulink url=\"&mpege;\">MPEG4</ulink>, <ulink url=\"&divx;\">DivX</" "ulink>, <ulink url=\"&windowsmediavideowmv;\">Windows Media Video (.wmv)</" "ulink>, <ulink url=\"&quicktimemov;\">QuickTime (.mov)</ulink>, <ulink url=" "\"&mpdmpd;\">MP3 (.mp3)</ulink>, <ulink url=\"&oggvorbis;\">Ogg/Vorbis</" "ulink> files, DVDs, VCDs, etc. Debian also offers helper programs to " "install non-free browser plugin packages as contrib or non-free archive area." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of browser plugin packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "main" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Java plugin based on OpenJDK and IcedTea" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Flash plugin based on Gnash" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "contrib" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Flash plugin helper to install Adobe Flash Player (i386, amd64 only)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Multimedia plugin based on <ulink url=\"&vlcmediaplayer;\">VLC media player</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Multimedia plugin based on <ulink url=\"&gnomestotemmediaplayer;\">GNOME's " "Totem media player</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Multimedia plugin based on (GNOME) <ulink url=\"&mplayer;\">MPlayer</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Although use of above Debian packages are much easier, browser plugins can " "be still manually enabled by installing \"*.so\" into plugin directories (e." "g., \"<literal>/usr/lib/iceweasel/plugins/</literal>\") and restarting " "browsers." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some web sites refuse to be connected based on the user-agent string of your " "browser. You can work around this situation by <ulink url=" "\"&spoofingtheuseragentstring;\">spoofing the user-agent string</ulink>. " "For example, you can do this by adding following line into user " "configuration files such as \"<literal>~/.gnome2/epiphany/mozilla/epiphany/" "user.js</literal>\" or \"<literal>~/.mozilla/firefox/*.default/user.js</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "user_pref{\"general.useragent.override\",\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)\"};" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively, you can add and reset this variable by typing " "\"<literal>about:config</literal>\" into URL and right clicking its display " "contents." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Spoofed user-agent string may cause <ulink url=\"&badsideeffectswithjava;" "\">bad side effects with Java</ulink>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The mail system" msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "If you are to set up the mail server to exchange mail directly with the " "Internet, you should be better than reading this elementary document." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "The following configuration examples are only valid for the typical mobile " "workstation on consumer grade Internet connections." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Email basics" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "An <ulink url=\"&email;\">email</ulink> message consists of three " "components, the message envelope, the message header, and the message body." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"To\" and \"From\" information in the message envelope is used by the " "<ulink url=\"&smtp;\">SMTP</ulink> to deliver the email. (The \"From\" " "information in the message envelope is also called <ulink url=" "\"&bounceaddress;\">bounce address</ulink>, From_, etc.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"To\" and \"From\" information in the message header is displayed by " "the <ulink url=\"&emailclient;\">email client</ulink>. (While it is most " "common for these to be the same as ones in the message envelope, such is not " "always the case.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&emailclient;\">email client</ulink> needs to interpret the " "message header and body data using <ulink url=" "\"&multipurposeinteilextensionsmime;\">Multipurpose Internet Mail Extensions " "(MIME)</ulink> to deal the content data type and encoding." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Modern mail service basics" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to contain spam (unwanted and unsolicited email) problems, many " "ISPs which provide consumer grade Internet connections are implementing " "counter measures." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The smarthost service for their customers to send message uses the message " "submission port (587) specified in <ulink url=\"&rfceeaj;\">rfc4409</ulink> " "with the password (<ulink url=\"&smtpauth;\">SMTP AUTH</ulink> service) " "specified in <ulink url=\"&rfcejfe;\">rfc4954</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&smtp;\">SMTP</ulink> port (25) connection from their " "internal network hosts (except ISP's own outgoing mail server) to the " "Internet are blocked." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&smtp;\">SMTP</ulink> port (25) connection to the ISP's " "incoming mail server from some suspicious external network hosts are " "blocked. (The connection from hosts on the dynamic IP address range used by " "the dial-up and other consumer grade Internet connections are the first ones " "to be blocked.)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&antispamtechniques;\">Anti-spam techniques</ulink> such as " "<ulink url=\"&domainkeysidentifiedmaildkim;\">DomainKeys Identified Mail " "(DKIM)</ulink> and <ulink url=\"&sender_policy_frameworkspf;" "\">Sender_Policy_Framework (SPF)</ulink> are widely used for the <ulink url=" "\"&emailfiltering;\">email filtering</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&domainkeysidentifiedmail;\">DomainKeys Identified Mail</" "ulink> service may be provided for your mail sent through the smarthost." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When configuring your mail system or resolving mail delivery problems, you " "must consider these new limitations." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In light of these hostile Internet situation and limitations, some " "independent Internet mail ISPs such as Yahoo.com and Gmail.com offer the " "secure mail service which can be connected from anywhere on the Internet " "using <ulink url=\"&transportlayerseesocketslayerssl;\">Transport Layer " "Security (TLS) and its predecessor, Secure Sockets Layer (SSL)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The smarthost service on port 465 with the deprecated SMTP over SSL (<ulink " "url=\"&smtps;\">SMTPS</ulink> protocol)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The smarthost service on port 587 with the <ulink url=\"&starttls;" "\">STARTTLS</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The incoming mail is accessible at the TLS/POP3 port (995) with <ulink url=" "\"&popd;\">POP3</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "It is not realistic to run SMTP server on consumer grade network to send " "mail directly to the remote host reliably. They are very likely to be " "rejected. You must use some smarthost services offered by your connection " "ISP or independent mail ISPs." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the simplicity, I assume that the smarthost is located at " "\"<literal>smtp.hostname.dom</literal>\", requires <ulink url=" "\"&smtpauthentication;\">SMTP Authentication</ulink>, and uses the message " "submission port (587) with the <ulink url=\"&starttls;\">STARTTLS</ulink> in " "the following text." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The mail configuration strategy for workstation" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The most simple mail configuration is that the mail is sent to the ISP's " "smarthost and received from ISP's POP3 server by the MUA (see <xref linkend=" "\"_mail_user_agent_mua\"/>) itself. This type of configuration is popular " "with full featured GUI based MUA such as " "<citerefentry><refentrytitle>icedove</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>evolution</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, etc. If you need to " "filter mail by their types, you use MUA's filtering function. For this case, " "the local MTA (see <xref linkend=\"_mail_transport_agent_mta\"/>) need to do " "local delivery only." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The alternative mail configuration is that the mail is sent via local MTA to " "the ISP's smarthost and received from ISP's POP3 by the mail retriever (see " "<xref linkend=\"_the_remote_mail_retrieval_and_forward_utility\"/>) to the " "local mailbox. If you need to filter mail by their types, you use MDA with " "filter (see <xref linkend=\"_mail_delivery_agent_mda_with_filter\"/>) to " "filter mail into separate mailboxes. This type of configuration is popular " "with simple console based MUA such as <citerefentry><refentrytitle>mutt</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>gnus</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, etc., although this is possible with any MUAs (see <xref " "linkend=\"_mail_user_agent_mua\"/>). For this case, the local MTA (see <xref " "linkend=\"_mail_transport_agent_mta\"/>) need to do both smarthost delivery " "and local delivery. Since mobile workstation does not have valid FQDN, you " "must configure the local MTA to hide and spoof the real local mail name in " "outgoing mail to avoid mail delivery errors (see <xref linkend=" "\"_the_mail_address_configuration\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may wish to configure MUA/MDA to use <ulink url=\"&maildir;\">Maildir</" "ulink> for storing email messages somewhere under your home directory." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Mail transport agent (MTA)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For normal workstation, the popular choice for Mail transport agent (MTA) is " "either <literal>exim4-*</literal> or <literal>postfix</literal> packages. " "It is really up to you." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of basic mail transport agent related packages for workstation" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Exim4 mail transport agent (MTA: Debian default)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Exim4 documentation (text) and common files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Exim4 documentation (html)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Exim4 documentation (info)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Postfix mail transport agent (MTA: alternative)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Postfix documentation (html+text)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Cyrus SASL API implementation (supplement postfix for SMTP AUTH)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Cyrus SASL - documentation" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although the popcon vote count of <literal>exim4-*</literal> looks several " "times popular than that of <literal>postfix</literal>, this does not mean " "<literal>postfix</literal> is not popular with Debian developers. The " "Debian server system uses both <literal>exim4</literal> and " "<literal>postfix</literal>. The <ulink url=\"&mailheaderanalysis;\">mail " "header analysis</ulink> of mailing list postings from prominent Debian " "developers also indicate both of these MTAs are as popular." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>exim4-*</literal> packages are known to have very small memory " "consumption and very flexible for its configuration. The <literal>postfix</" "literal> package is known to be compact, fast, simple, and secure. Both " "come with ample documentation and are as good in quality and license." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are many choices for mail transport agent (MTA) packages with " "different capability and focus in Debian archive." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "" "List of choices for mail transport agent (MTA) packages in Debian archive" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "capability and focus" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "full" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "full (security)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "full (flexible)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "full (only if you are already familiar)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "strip down, no local mail" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "very full (web interface etc.)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "light" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "light (sendmail compatibility extension to <literal>esmtp</literal>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "light (sendmail compatibility extension to <literal>msmtp</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The configuration of exim4" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the Internet mail via smarthost, you (re)configure <literal>exim4-*</" "literal> packages as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo /etc/init.d/exim4 stop\n" "$ sudo dpkg-reconfigure exim4-config" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Select \"mail sent by smarthost; received via SMTP or fetchmail\" for " "\"General type of mail configuration\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set \"System mail name:\" to its default as the FQDN (see <xref linkend=" "\"_the_hostname_resolution\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set \"IP-addresses to listen on for incoming SMTP connections:\" to its " "default as \"127.0.0.1 ; ::1\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Unset contents of \"Other destinations for which mail is accepted:\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Unset contents of \"Machines to relay mail for:\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set \"IP address or host name of the outgoing smarthost:\" to \"smtp." "hostname.dom:587\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Select \"<No>\" for \"Hide local mail name in outgoing mail?\". (Use " "\"<literal>/etc/email-addresses</literal>\" as in <xref linkend=" "\"_the_mail_address_configuration\"/>, instead.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Reply to \"Keep number of DNS-queries minimal (Dial-on-Demand)?\" as one of " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"No\" if the system is connected to the Internet while booting." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"Yes\" if the system is <emphasis role=\"strong\">not</emphasis> connected " "to the Internet while booting." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set \"Delivery method for local mail:\" to \"mbox format in /var/mail/\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Select \"<Yes>\" for \"Split configuration into small files?:\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create password entries for the smarthost by editing \"<literal>/etc/exim4/" "passwd.client</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo vim /etc/exim4/passwd.client\n" " ...\n" "$ cat /etc/exim4/passwd.client\n" "^smtp.*\\.hostname\\.dom:username@hostname.dom:password" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Start <literal>exim4</literal> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo /etc/init.d/exim4 start" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The host name in \"<literal>/etc/exim4/passwd.client</literal>\" should not " "be the alias. You check the real host name with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ host smtp.hostname.dom\n" "smtp.hostname.dom is an alias for smtp99.hostname.dom.\n" "smtp99.hostname.dom has address 123.234.123.89" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I use regex in \"<literal>/etc/exim4/passwd.client</literal>\" to work " "around the alias issue. SMTP AUTH probably works even if the ISP moves host " "pointed by the alias." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can manually updating <literal>exim4</literal> configuration by the " "following:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Update <literal>exim4</literal> configuration files in \"<literal>/etc/exim4/" "</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "creating \"<literal>/etc/exim4/exim4.conf.localmacros</literal>\" to set " "MACROs and editing \"<literal>/etc/exim4/exim4.conf.template</literal>\". " "(non-split configuration)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "creating new files or editing existing files in the \"<literal>/etc/exim4/" "exim4.conf.d</literal>\" subdirectories. (split configuration)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Run \"<literal>invoke-rc.d exim4 reload</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please read the official guide at: \"<literal>/usr/share/doc/exim4-base/" "README.Debian.gz</literal>\" and <citerefentry><refentrytitle>update-exim4." "conf</refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Starting <literal>exim4</literal> takes long time if \"No\" (default value) " "was chosen for the debconf query of \"Keep number of DNS-queries minimal " "(Dial-on-Demand)?\" and the system is <emphasis role=\"strong\">not</" "emphasis> connected to the Internet while booting." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "It is insecure to use plain text password without encryption even if your " "ISP allows it." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Although use of <ulink url=\"&smtp;\">SMTP</ulink> with <ulink url=" "\"&starttls;\">STARTTLS</ulink> on port 587 is recommended, some ISPs still " "use deprecated <ulink url=\"&smtps;\">SMTPS</ulink> (SSL on port 465). " "Exim4 after 4.77 supports this deprecated SMTPS protocol for both as client " "and as server." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you are looking for a light weight MTA that respects \"<literal>/etc/" "aliases</literal>\" for your laptop PC, you should consider to configure " "<citerefentry><refentrytitle>exim4</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> with \"<literal>QUEUERUNNER='queueonly'</literal>\", " "\"<literal>QUEUERUNNER='nodaemon'</literal>\", etc. in \"<literal>/etc/" "default/exim4</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The configuration of postfix with SASL" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the Internet mail via smarthost, you should first read <ulink url=" "\"&postfixdocumentation;\">postfix documentation</ulink> and key manual " "pages." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of important postfix manual pages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>postfix</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Postfix control program" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>postconf</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Postfix configuration utility" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>postconf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Postfix configuration parameters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>postmap</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Postfix lookup table maintenance" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>postalias</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Postfix alias database maintenance" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You (re)configure <literal>postfix</literal> and <literal>sasl2-bin</" "literal> packages as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo /etc/init.d/postfix stop\n" "$ sudo dpkg-reconfigure postfix" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Chose \"Internet with smarthost\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set \"SMTP relay host (blank for none):\" to \"<literal>[smtp.hostname." "dom]:587</literal>\" and configure it by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo postconf -e 'smtp_sender_dependent_authentication = yes'\n" "$ sudo postconf -e 'smtp_sasl_auth_enable = yes'\n" "$ sudo postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'\n" "$ sudo postconf -e 'smtp_sasl_type = cyrus'\n" "$ sudo vim /etc/postfix/sasl_passwd" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create password entries for the smarthost." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cat /etc/postfix/sasl_passwd\n" "[smtp.hostname.dom]:587 username:password\n" "$ sudo postmap hush:/etc/postfix/sasl_passwd" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Start the <literal>postfix</literal> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo /etc/init.d/postfix start" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here the use of \"<literal>[</literal>\" and \"<literal>]</literal>\" in the " "<literal>dpkg-reconfigure</literal> dialog and \"<literal>/etc/postfix/" "sasl_passwd</literal>\" ensures not to check MX record but directly use " "exact hostname specified. See \"Enabling SASL authentication in the Postfix " "SMTP client\" in \"<literal>/usr/share/doc/postfix/html/SASL_README.html</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The mail address configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are a few <ulink url=\"&mailaddressconfieryanduseragents;\">mail " "address configuration files for mail transport, delivery and user agents</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of mail address related configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "application" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/mailname</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "default host name for (outgoing) mail" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Debian specific, <citerefentry><refentrytitle>mailname</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/email-addresses</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "host name spoofing for outgoing mail" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>exim</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> specific, <citerefentry><refentrytitle>exim4-config_files</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/postfix/generic</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>postfix</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> specific, activated after " "<citerefentry><refentrytitle>postmap</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command execution." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/aliases</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "account name alias for incoming mail" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "general, activated after <citerefentry><refentrytitle>newaliases</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> command execution." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <emphasis role=\"strong\">mailname</emphasis> in the \"<literal>/etc/" "mailname</literal>\" file is usually a fully qualified domain name (FQDN) " "that resolves to one of the host's IP addresses. For the mobile workstation " "which does not have a hostname with resolvable IP address, set this " "<emphasis role=\"strong\">mailname</emphasis> to the value of " "\"<literal>hostname -f</literal>\". (This is safe choice and works for both " "<literal>exim4-*</literal> and <literal>postfix</literal>.)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The contents of \"<literal>/etc/mailname</literal>\" is used by many non-MTA " "programs for their default behavior. For <literal>mutt</literal>, set " "\"<literal>hostname</literal>\" and \"<literal>from</literal>\" variables in " "<literal>~/muttrc</literal> file to override the <emphasis role=\"strong" "\">mailname</emphasis> value. For programs in the <literal>devscripts</" "literal> package, such as <citerefentry><refentrytitle>bts</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>dch</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, export environment variables \"<literal>$DEBFULLNAME</literal>" "\" and \"<literal>$DEBEMAIL</literal>\" to override it." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The <literal>popularity-contest</literal> package normally send mail from " "root account with FQDN. You need to set <literal>MAILFROM</literal> in " "<literal>/etc/popularity-contest.conf</literal> as described in the " "<literal>/usr/share/popularity-contest/default.conf</literal> file. " "Otherwise, your mail will be rejected by the smarthost SMTP server. Although " "this is tedious, this approach is safer than rewriting the source address " "for all mails from root by MTA and should be used for other daemons and cron " "scripts." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When setting the <emphasis role=\"strong\">mailname</emphasis> to " "\"<literal>hostname -f</literal>\", the spoofing of the source mail address " "via MTA can be realized by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/email-addresses</literal>\" file for " "<citerefentry><refentrytitle>exim4</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> as explained in the <citerefentry><refentrytitle>exim4-" "config_files</refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/postfix/generic</literal>\" file for " "<citerefentry><refentrytitle>postfix</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> as explained in the " "<citerefentry><refentrytitle>generic</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For <literal>postfix</literal>, the following extra steps are needed." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# postmap hash:/etc/postfix/generic\n" "# postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'\n" "# postfix reload" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can test mail address configuration using the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>exim</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> with <literal>-brw, -bf, -bF, -bV, …</literal> options" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>postmap</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> with <literal>-q</literal> option." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Exim comes with several utility programs such as " "<citerefentry><refentrytitle>exiqgrep</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>exipick</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. See \"<literal>dpkg -" "L exim4-base|grep man8/</literal>\" for available commands." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic MTA operations" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are several basic MTA operations. Some may be performed via " "<citerefentry><refentrytitle>sendmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> compatibility interface." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of basic MTA operation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "exim command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "postfix command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>sendmail</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "read mails from standard input and arrange for delivery (<literal>-bm</" "literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mailq</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list the mail queue with status and queue ID (<literal>-bp</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>newaliases</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "initialize alias database (<literal>-I</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>exim4 -q</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>postqueue -f</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "flush waiting mails (<literal>-q</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>exim4 -qf</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>postsuper -r ALL deferred; postqueue -f</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "flush all mails" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>exim4 -qff</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>postsuper -r ALL; postqueue -f</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "flush even frozen mails" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>exim4 -Mg queue_id</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>postsuper -h queue_id</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "freeze one message by its queue ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>exim4 -Mrm queue_id</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>postsuper -d queue_id</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove one message by its queue ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>postsuper -d ALL</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove all messages" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "It may be a good idea to flush all mails by a script in \"<literal>/etc/ppp/" "ip-up.d/*</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Mail user agent (MUA)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you subscribe to Debian related mailing list, it may be a good idea to " "use such MUA as <literal>mutt</literal> and <literal>gnus</literal> which " "are the de facto standard for the participant and known to behave as " "expected." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of mail user agent (MUA)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "X GUI program (GNOME3, groupware suite)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "X GUI program (GNOME2, <ulink url=\"&unbranded;\">unbranded</ulink> <ulink " "url=\"&mozillathunderbird;\">Mozilla Thunderbird</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "X GUI program (KDE)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "character terminal program probably used with <literal>vim</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "character terminal program under <literal>(x)emacs</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic MUA — Mutt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Customize \"<literal>~/.muttrc</literal>\" as the following to use " "<literal>mutt</literal> as the mail user agent (MUA) in combination with " "<literal>vim</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "#\n" "# User configuration file to override /etc/Muttrc\n" "#\n" "# spoof source mail address\n" "set use_from\n" "set hostname=example.dom\n" "set from=\"Name Surname <username@example.dom>\"\n" "set signature=\"~/.signature\"\n" "\n" "# vim: \"gq\" to reformat quotes\n" "set editor=\"vim -c 'set tw=72 et ft=mail'\"\n" "\n" "# \"mutt\" goes to Inbox, while \"mutt -y\" lists mailboxes\n" "set mbox_type=Maildir # use qmail Maildir format for creating mbox\n" "set mbox=~/Mail # keep all mail boxes in $HOME/Mail/\n" "set spoolfile=+Inbox # mail delivered to $HOME/Mail/Inbox\n" "set record=+Outbox # save fcc mail to $HOME/Mail/Outbox\n" "set postponed=+Postponed # keep postponed in $HOME/Mail/postponed\n" "set move=no # do not move Inbox items to mbox\n" "set quit=ask-yes # do not quit by \"q\" only\n" "set delete=yes # always delete w/o asking while exiting\n" "set fcc_clear # store fcc as non encrypted\n" "\n" "# Mailboxes in Maildir (automatic update)\n" "mailboxes `cd ~/Mail; /bin/ls -1|sed -e 's/^/+/' | tr \"\\n\" \" \"`\n" "unmailboxes Maillog *.ev-summary\n" "\n" "## Default\n" "#set index_format=\"%4C %Z %{%b %d} %-15.15L (%4l) %s\"\n" "## Thread index with senders (collapse)\n" "set index_format=\"%4C %Z %{%b %d} %-15.15n %?M?(#%03M)&(%4l)? %s\"\n" "\n" "## Default\n" "#set folder_format=\"%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f\"\n" "## just folder names\n" "set folder_format=\"%2C %t %N %f\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Add the following to \"<literal>/etc/mailcap</literal>\" or \"<literal>~/." "mailcap</literal>\" to display HTML mail and MS Word attachments inline." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "text/html; lynx -force_html %s; needsterminal;\n" "application/msword; /usr/bin/antiword '%s'; copiousoutput; description=\"Microsoft Word Text\"; nametemplate=%s.doc" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Mutt can be used as the <ulink url=\"&imap;\">IMAP</ulink> client and the " "mailbox format converter. You can tag messages with \"<literal>t</literal>" "\", \"<literal>T</literal>\", etc. These tagged messages can be copied with " "\"<literal>;C</literal>\" between different mailboxes and deleted with " "\"<literal>;d</literal>\" in one action." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The remote mail retrieval and forward utility" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although <citerefentry><refentrytitle>fetchmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> has been de facto standard for the remote mail " "retrieval on GNU/Linux, the author likes " "<citerefentry><refentrytitle>getmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> now. If you want to reject mail before " "downloading to save bandwidth, <literal>mailfilter</literal> or " "<literal>mpop</literal> may be useful. Whichever mail retriever utilities " "are used, it is good idea to configure system to deliver retrieved mails to " "MDA, such as <literal>maildrop</literal>, via pipe." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of remote mail retrieval and forward utilities" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mail retriever (POP3, APOP, IMAP) (old)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mail retriever (POP3, IMAP4, and SDPS) (simple, secure, and reliable)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mail retriever (POP3) with with regex filtering capability" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mail retriever (POP3) and MDA with filtering capability" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "getmail configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>getmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> configuration is described in <ulink url=" "\"&getmaildocumentation;\">getmail documentation</ulink>. Here is my set up " "to access multiple POP3 accounts as user." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create \"<literal>/usr/local/bin/getmails</literal>\" as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "if [ -f $HOME/.getmail/running ]; then\n" " echo \"getmail is already running ... (if not, remove $HOME/.getmail/running)\" >&2\n" " pgrep -l \"getmai[l]\"\n" " exit 1\n" "else\n" " echo \"getmail has not been running ... \" >&2\n" "fi\n" "if [ -f $HOME/.getmail/stop ]; then\n" " echo \"do not run getmail ... (if not, remove $HOME/.getmail/stop)\" >&2\n" " exit\n" "fi\n" "if [ \"x$1\" = \"x-l\" ]; then\n" " exit\n" "fi\n" "rcfiles=\"/usr/bin/getmail\"\n" "for file in $HOME/.getmail/config/* ; do\n" " rcfiles=\"$rcfiles --rcfile $file\"\n" "done\n" "date -u > $HOME/.getmail/running\n" "eval \"$rcfiles $@\"\n" "rm $HOME/.getmail/running" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Configure it as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo chmod 755 /usr/local/bin/getmails\n" "$ mkdir -m 0700 $HOME/.getmail\n" "$ mkdir -m 0700 $HOME/.getmail/config\n" "$ mkdir -m 0700 $HOME/.getmail/log" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create configuration files \"<literal>$HOME/.getmail/config/pop3_name</" "literal>\" for each POP3 accounts as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "[retriever]\n" "type = SimplePOP3SSLRetriever\n" "server = pop.example.com\n" "username = pop3_name@example.com\n" "password = secret\n" "\n" "[destination]\n" "type = MDA_external\n" "path = /usr/bin/maildrop\n" "unixfrom = True\n" "\n" "[options]\n" "verbose = 0\n" "delete = True\n" "delivered_to = False\n" "message_log = ~/.getmail/log/pop3_name.log" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ chmod 0600 $HOME/.getmail/config/*" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Schedule \"<literal>/usr/local/bin/getmails</literal>\" to run every 15 " "minutes with <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> by executing \"<literal>sudo crontab -e -u <" "user_name></literal>\" and adding following to user's cron entry." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "5,20,35,50 * * * * /usr/local/bin/getmails --quiet" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Problems of POP3 access may not come from <literal>getmail</literal>. Some " "popular free POP3 services may be violating the POP3 protocol and their SPAM " "filter may not be perfect. For example, they may delete messages just after " "receiving RETR command before receiving DELE command and may quarantined " "messages into Spam mailbox. You should minimize damages by configuring them " "to archive accessed messages and not to delete them. See also <ulink url=" "\"&somemailwasnotdownloaded;\">\"Some mail was not downloaded\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "fetchmail configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>fetchmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> configuration is set by \"<literal>/etc/default/" "fetchmail</literal>\", \"<literal>/etc/fetchmailrc</literal>\" and " "\"<literal>$HOME/.fetchmailrc</literal>\". See its example in \"<literal>/" "usr/share/doc/fetchmail/examples/fetchmailrc.example</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Mail delivery agent (MDA) with filter" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Most MTA programs, such as <literal>postfix</literal> and <literal>exim4</" "literal>, function as MDA (mail delivery agent). There are specialized MDA " "with filtering capabilities." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although <citerefentry><refentrytitle>procmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> has been de facto standard for MDA with filter on " "GNU/Linux, author likes <citerefentry><refentrytitle>maildrop</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> now. Whichever " "filtering utilities are used, it is good idea to configure system to deliver " "filtered mails to a <ulink url=\"&qmailstylemaildir;\">qmail-style Maildir</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of MDA with filter" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "MDA with filter (old)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "MDA with Perl filter" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "MDA with structured filtering language" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "maildrop configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>maildrop</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> configuration is described in <ulink url=" "\"&maildropfilterdocumentation;\">maildropfilter documentation</ulink>. " "Here is a configuration example for \"<literal>$HOME/.mailfilter</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# Local configuration\n" "MAILROOT=\"$HOME/Mail\"\n" "# set this to /etc/mailname contents\n" "MAILHOST=\"example.dom\"\n" "logfile $HOME/.maildroplog\n" "\n" "# rules are made to override the earlier value by the later one.\n" "\n" "# mailing list mails ?\n" "if ( /^Precedence:.*list/:h || /^Precedence:.*bulk/:h )\n" "{\n" " # rules for mailing list mails\n" " # default mailbox for mails from mailing list\n" " MAILBOX=\"Inbox-list\"\n" " # default mailbox for mails from debian.org\n" " if ( /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h )\n" " {\n" " MAILBOX=\"service.debian.org\"\n" " }\n" " # default mailbox for mails from bugs.debian.org (BTS)\n" " if ( /^(Sender|Resent-From|Resent-sender): .*@bugs.debian.org/:h )\n" " {\n" " MAILBOX=\"bugs.debian.org\"\n" " }\n" " # mailbox for each properly maintained mailing list with \"List-Id: foo\" or \"List-Id: ...<foo.bar>\"\n" " if ( /^List-Id: ([^<]*<)?([^<>]*)>?/:h )\n" " {\n" " MAILBOX=\"$MATCH2\"\n" " }\n" "}\n" "else\n" "{\n" " # rules for non-mailing list mails\n" " # default incoming box\n" " MAILBOX=\"Inbox-unusual\"\n" " # local mails\n" " if ( /Envelope-to: .*@$MAILHOST/:h )\n" " {\n" " MAILBOX=\"Inbox-local\"\n" " }\n" " # html mails (99% spams)\n" " if ( /DOCTYPE html/:b ||\\\n" " /^Content-Type: text\\/html/ )\n" " {\n" " MAILBOX=\"Inbox-html\"\n" " }\n" " # blacklist rule for spams\n" " if ( /^X-Advertisement/:h ||\\\n" " /^Subject:.*BUSINESS PROPOSAL/:h ||\\\n" " /^Subject:.*URGENT.*ASISSTANCE/:h ||\\\n" " /^Subject: *I NEED YOUR ASSISTANCE/:h )\n" " {\n" " MAILBOX=\"Inbox-trash\"\n" " }\n" " # whitelist rule for normal mails\n" " if ( /^From: .*@debian.org/:h ||\\\n" " /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ||\\\n" " /^Subject: .*(debian|bug|PATCH)/:h )\n" " {\n" " MAILBOX=\"Inbox\"\n" " }\n" " # whiltelist rule for BTS related mails\n" " if ( /^Subject: .*Bug#.*/:h ||\\\n" " /^(To|Cc): .*@bugs.debian.org/:h )\n" " {\n" " MAILBOX=\"bugs.debian.org\"\n" " }\n" " # whitelist rule for getmails cron mails\n" " if ( /^Subject: Cron .*getmails/:h )\n" " {\n" " MAILBOX=\"Inbox-getmails\"\n" " }\n" "}\n" "\n" "# check existance of $MAILBOX\n" "`test -d $MAILROOT/$MAILBOX`\n" "if ( $RETURNCODE == 1 )\n" "{\n" " # create maildir mailbox for $MAILBOX\n" " `maildirmake $MAILROOT/$MAILBOX`\n" "}\n" "# deliver to maildir $MAILBOX\n" "to \"$MAILROOT/$MAILBOX/\"\n" "exit" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Unlike <literal>procmail</literal>, <literal>maildrop</literal> does not " "create missing maildir directories automatically. You must create them " "manually using <citerefentry><refentrytitle>maildirmake</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> in advance as in the " "example \"<literal>$HOME/.mailfilter</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "procmail configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a similar configuration with \"<literal>$HOME/.procmailrc</literal>" "\" for <citerefentry><refentrytitle>procmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "MAILDIR=$HOME/Maildir\n" "DEFAULT=$MAILDIR/Inbox/\n" "LOGFILE=$MAILDIR/Maillog\n" "# clearly bad looking mails: drop them into X-trash and exit\n" ":0\n" "* 1^0 ^X-Advertisement\n" "* 1^0 ^Subject:.*BUSINESS PROPOSAL\n" "* 1^0 ^Subject:.*URGENT.*ASISSTANCE\n" "* 1^0 ^Subject: *I NEED YOUR ASSISTANCE\n" "X-trash/\n" "\n" "# Delivering mailinglist messages\n" ":0\n" "* 1^0 ^Precedence:.*list\n" "* 1^0 ^Precedence:.*bulk\n" "* 1^0 ^List-\n" "* 1^0 ^X-Distribution:.*bulk\n" "{\n" ":0\n" "* 1^0 ^Return-path:.*debian-devel-admin@debian.or.jp\n" "jp-debian-devel/\n" "\n" ":0\n" "* ^Resent-Sender.*debian-user-request@lists.debian.org\n" "debian-user/\n" "\n" ":0\n" "* ^Resent-Sender.*debian-devel-request@lists.debian.org\n" "debian-devel/\n" "\n" ":0\n" "* ^Resent-Sender.*debian-announce-request@lists.debian.org\n" "debian-announce\n" "\n" ":0\n" "mailing-list/\n" "}\n" "\n" ":0\n" "Inbox/" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Redeliver mbox contents" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to manually deliver mails to the sorted mailboxes in your home " "directory from \"<literal>/var/mail/<username></literal>\" if your " "home directory became full and <citerefentry><refentrytitle>procmail</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> failed. After making " "disk space in the home directory, run the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# /etc/init.d/${MAILDAEMON} stop\n" "# formail -s procmail </var/mail/<username>\n" "# /etc/init.d/${MAILDAEMON} start" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "POP3/IMAP4 server" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you are to run a private server on LAN, you may consider to run <ulink " "url=\"&popd;\">POP3</ulink> / <ulink url=\"&imape;\">IMAP4</ulink> server " "for delivering mail to LAN clients." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of POP3/IMAP4 servers" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "POP3" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Courier mail server - POP3 server (maildir format only)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Cyrus mail system (POP3 support)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ESMTP/POP3 mail server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "IMAP" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Courier mail server - IMAP server (maildir format only)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Cyrus mail system (IMAP support)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The print server and utility" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In the old Unix-like system, the BSD <ulink url=\"&lineprinterdaemon;\">Line " "printer daemon</ulink> was the standard. Since the standard print out " "format of the free software is PostScript on the Unix like system, some " "filter system was used along with <ulink url=\"&ghostscript;\">Ghostscript</" "ulink> to enable printing to the non-PostScript printer." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Recently, <ulink url=\"&commonunixprintingsystem;\">Common UNIX Printing " "System</ulink> (CUPS) is the new de facto standard. The CUPS uses <ulink " "url=\"&internetprintingprotocol;\">Internet Printing Protocol</ulink> (IPP). " "The IPP is now supported by other OSs such as Windows XP and Mac OS X and " "has became new cross-platform de facto standard for remote printing with bi-" "directional communication capability." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The standard printable data format for the application on the Debian system " "is the <ulink url=\"&postscriptps;\">PostScript (PS)</ulink> which is a page " "description language. The data in PS format is fed into the Ghostscript " "PostScript interpreter to produce the printable data specific to the " "printer. See <xref linkend=\"_ghostscript\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Thanks to the file format dependent auto-conversion feature of the CUPS " "system, simply feeding any data to the <literal>lpr</literal> command should " "generate the expected print output. (In CUPS, <literal>lpr</literal> can be " "enabled by installing the <literal>cups-bsd</literal> package.)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The Debian system has some notable packages for the print servers and " "utilities." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of print servers and utilities" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "printer (515)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "BSD lpr/lpd (<ulink url=\"&lineprinterdaemon;\">Line printer daemon</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid ", , (Enhanced)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "IPP (631)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Internet Printing CUPS server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&systemvprintercommands;\">System V printer commands</ulink> " "for CUPS: <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>lpstat</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>lpoptions</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>cancel</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>lpmove</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>lpinfo</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>lpadmin</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&bsdprintercommands;\">BSD printer commands</ulink> for CUPS: " "<citerefentry><refentrytitle>lpr</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>lpq</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>lprm</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>lpc</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Not applicable" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "printer drivers for CUPS" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "You can configure CUPS system by pointing your web browser to \"<ulink url=" "\"&httplocalhostgdb;\">http://localhost:631/</ulink>\" ." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The remote access server and utility (SSH)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <ulink url=\"&secureshell;\">Secure SHell</ulink> (SSH) is the <emphasis " "role=\"strong\">secure</emphasis> way to connect over the Internet. A free " "version of SSH called <ulink url=\"&openssh;\">OpenSSH</ulink> is available " "as <literal>openssh-client</literal> and <literal>openssh-server</literal> " "packages in Debian." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of remote access server and utilities" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "tool" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Secure shell client" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>sshd</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Secure shell server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ssh-askpass-fullscreen</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "asks user for a pass phrase for ssh-add (GNOME2)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ssh-askpass</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "asks user for a pass phrase for ssh-add (plain X)" msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "See <xref linkend=\"_extra_security_measures_for_the_internet\"/> if your " "SSH is accessible from the Internet." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "Please use the <citerefentry><refentrytitle>screen</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> program to enable " "remote shell process to survive the interrupted connection (see <xref " "linkend=\"_the_screen_program\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basics of SSH" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "\"<literal>/etc/ssh/sshd_not_to_be_run</literal>\" must not be present if " "one wishes to run the OpenSSH server." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "SSH has two authentication protocols." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of SSH authentication protocols and methods" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "SSH protocol" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "SSH method" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "SSH-1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>RSAAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "RSA identity key based user authentication" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>RhostsAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "\"<literal>.rhosts</literal>\" based host authentication (insecure, disabled)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>RhostsRSAAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "\"<literal>.rhosts</literal>\" based host authentication combined with RSA " "host key (disabled)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>ChallengeResponseAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "RSA challenge-response authentication" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>PasswordAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "password based authentication" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "SSH-2" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>PubkeyAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "public key based user authentication" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>HostbasedAuthentication</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "\"<literal>~/.rhosts</literal>\" or \"<literal>/etc/hosts.equiv</literal>\" " "based host authentication combined with public key client host " "authentication (disabled)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "challenge-response authentication" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Be careful about these differences if you are using a non-Debian system." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See \"<literal>/usr/share/doc/ssh/README.Debian.gz</literal>\", " "<citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>sshd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, and <citerefentry><refentrytitle>ssh-keygen</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> for details." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Following are the key configuration files." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of SSH configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of configuration file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ssh/ssh_config</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "SSH client defaults, see <citerefentry><refentrytitle>ssh_config</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>/etc/ssh/sshd_config</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "SSH server defaults, see <citerefentry><refentrytitle>sshd_config</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~/.ssh/authorized_keys</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "default public SSH keys that clients use to connect to this account on this " "SSH server" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~/.ssh/identity</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "secret SSH-1 RSA key of the user" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~/.ssh/id_rsa</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "secret SSH-2 RSA key of the user" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>~/.ssh/id_dsa</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "secret SSH-2 DSA key of the user" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "See <citerefentry><refentrytitle>ssh-keygen</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>ssh-add</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> for how to use public and secret SSH keys." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Make sure to verify settings by testing the connection. In case of any " "problem, use \"<literal>ssh -v</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can change the pass phrase to encrypt local secret SSH keys later with " "\"<literal>ssh-keygen -p</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can add options to the entries in \"<literal>~/.ssh/authorized_keys</" "literal>\" to limit hosts and to run specific commands. See " "<citerefentry><refentrytitle>sshd</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> for details." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following starts an <citerefentry><refentrytitle>ssh</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> connection from a " "client." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of SSH client startup examples" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ssh username@hostname.domain.ext</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "connect with default mode" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ssh -v username@hostname.domain.ext</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "connect with default mode with debugging messages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ssh -1 username@hostname.domain.ext</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "force to connect with SSH version 1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>ssh -1 -o RSAAuthentication=no -l username hostname.domain.ext</" "literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "force to use password with SSH version 1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>ssh -o PreferredAuthentications=password -l username hostname." "domain.ext</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "force to use password with SSH version 2" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you use the same user name on the local and the remote host, you can " "eliminate typing \"<literal>username@</literal>\". Even if you use " "different user name on the local and the remote host, you can eliminate it " "using \"<literal>~/.ssh/config</literal>\". For <ulink url=" "\"&debianaliothservice;\">Debian Alioth service</ulink> with account name " "\"<literal>foo-guest</literal>\", you set \"<literal>~/.ssh/config</literal>" "\" to contain the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "Host alioth.debian.org svn.debian.org git.debian.org\n" " User foo-guest" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the user, <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> functions as a smarter and more secure " "<citerefentry><refentrytitle>telnet</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>. Unlike <literal>telnet</literal> command, <literal>ssh</" "literal> command does not bomb on the <literal>telnet</literal> escape " "character (initial default CTRL-])." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Port forwarding for SMTP/POP3 tunneling" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "To establish a pipe to connect to port 25 of <literal>remote-server</" "literal> from port 4025 of <literal>localhost</literal>, and to port 110 of " "<literal>remote-server</literal> from port 4110 of <literal>localhost</" "literal> through <literal>ssh</literal>, execute on the local host as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# ssh -q -L 4025:remote-server:25 4110:remote-server:110 username@remote-server" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is a secure way to make connections to SMTP/POP3 servers over the " "Internet. Set the \"<literal>AllowTcpForwarding</literal>\" entry to " "\"<literal>yes</literal>\" in \"<literal>/etc/ssh/sshd_config</literal>\" of " "the remote host." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Connecting without remote passwords" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "One can avoid having to remember passwords for remote systems by using " "\"<literal>RSAAuthentication</literal>\" (SSH-1 protocol) or " "\"<literal>PubkeyAuthentication</literal>\" (SSH-2 protocol)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "On the remote system, set the respective entries, " "\"<literal>RSAAuthentication yes</literal>\" or " "\"<literal>PubkeyAuthentication yes</literal>\", in \"<literal>/etc/ssh/" "sshd_config</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Generate authentication keys locally and install the public key on the " "remote system by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>RSAAuthentication</literal>\": RSA key for SSH-1 (deprecated " "because it is superseded.)" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ssh-keygen\n" "$ cat .ssh/identity.pub | ssh user1@remote \"cat - >>.ssh/authorized_keys\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>PubkeyAuthentication</literal>\": RSA key for SSH-2" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ssh-keygen -t rsa\n" "$ cat .ssh/id_rsa.pub | ssh user1@remote \"cat - >>.ssh/authorized_keys\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>PubkeyAuthentication</literal>\": DSA key for SSH-2 (deprecated " "because it is slow.)" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ssh-keygen -t dsa\n" "$ cat .ssh/id_dsa.pub | ssh user1@remote \"cat - >>.ssh/authorized_keys\"" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use of DSA key for SSH-2 is deprecated because key is smaller and slow. " "There are no more reasons to work around RSA patent using DSA since it has " "been expired. DSA stands for <ulink url=\"&digitalsignaturealgorithm;" "\">Digital Signature Algorithm</ulink> and slow. Also see <ulink url=" "\"&dsabfhbb;\">DSA-1571-1</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For \"<literal>HostbasedAuthentication</literal>\" to work in SSH-2, you " "must adjust the settings of \"<literal>HostbasedAuthentication</literal>\" " "to \"<literal>yes</literal>\" in both \"<literal>/etc/ssh/sshd_config</" "literal>\" on the server host and \"<literal>/etc/ssh/ssh_config</literal>\" " "or \"<literal>~/.ssh/config</literal>\" on the client host." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Dealing with alien SSH clients" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are some free <ulink url=\"&ssh;\">SSH</ulink> clients available for " "other platforms." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of free SSH clients for other platforms" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "environment" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "free SSH program" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Windows" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "puTTY (<ulink url=\"&httpwwwchiarkgreguksgtathamputty;\">http://www.chiark." "greenend.org.uk/~sgtatham/putty/</ulink>) (GPL)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Windows (cygwin)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "SSH in cygwin (<ulink url=\"&httpwwwcygwincom;\">http://www.cygwin.com/</" "ulink>) (GPL)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Macintosh Classic" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "macSSH (<ulink url=\"&httpwwwmacsshcom;\">http://www.macssh.com/</ulink>) " "(GPL)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Mac OS X" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "OpenSSH; use <literal>ssh</literal> in the Terminal application (GPL)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Setting up ssh-agent" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "It is safer to protect your SSH authentication secret keys with a pass " "phrase. If a pass phrase was not set, use \"<literal>ssh-keygen -p</literal>" "\" to set it." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Place your public SSH key (e.g. \"<literal>~/.ssh/id_rsa.pub</literal>\") " "into \"<literal>~/.ssh/authorized_keys</literal>\" on a remote host using a " "password-based connection to the remote host as described above." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ssh-agent bash\n" "$ ssh-add ~/.ssh/id_rsa\n" "Enter passphrase for /home/<username>/.ssh/id_rsa:\n" "Identity added: /home/<username>/.ssh/id_rsa (/home/<username>/.ssh/id_rsa)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "No remote password needed from here on for the next command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ scp foo <username>@remote.host:foo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Press ^D to terminating ssh-agent session." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the X server, the normal Debian startup script executes <literal>ssh-" "agent</literal> as the parent process. So you only need to execute " "<literal>ssh-add</literal> once. For more, read " "<citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>and <citerefentry><refentrytitle>ssh-add</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "How to shutdown the remote system on SSH" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to protect the process doing \"<literal>shutdown -h now</literal>" "\" (see <xref linkend=\"_how_to_shutdown_the_system\"/>) from the " "termination of SSH using the <citerefentry><refentrytitle>at</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> command (see <xref " "linkend=\"_scheduling_tasks_once\"/>) by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# echo \"shutdown -h now\" | at now" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Running \"<literal>shutdown -h now</literal>\" in " "<citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> (see <xref linkend=\"_the_screen_program\"/>) session is " "another way to do the same." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Troubleshooting SSH" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have problems, check the permissions of configuration files and run " "<literal>ssh</literal> with the \"<literal>-v</literal>\" option." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Use the \"<literal>-P</literal>\" option if you are root and have trouble " "with a firewall; this avoids the use of server ports 1 — 1023." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If <literal>ssh</literal> connections to a remote site suddenly stop " "working, it may be the result of tinkering by the sysadmin, most likely a " "change in \"<literal>host_key</literal>\" during system maintenance. After " "making sure this is the case and nobody is trying to fake the remote host by " "some clever hack, one can regain a connection by removing the " "\"<literal>host_key</literal>\" entry from \"<literal>~/.ssh/known_hosts</" "literal>\" on the local host." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Other network application servers" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Here are other network application servers." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of other network application servers" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "protocol" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&telnet;\">TELNET</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "TELNET server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid ", , (SSL support)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&nfs;\">NFS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Unix file sharing" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&smb;\">SMB</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Windows file and printer sharing" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&atp;\">ATP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Apple/Mac file and printer sharing (AppleTalk)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ftp;\">FTP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "General file download" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&http;\">HTTP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "General web server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "General web <ulink url=\"&proxyserver;\">proxy server</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&slp;\">SLP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&openslp;\">OpenSLP</ulink> Server as <ulink url=\"&ldap;" "\">LDAP</ulink> server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&dns;\">DNS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "IP address for other hosts" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "IP address of client itself" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Common Internet File System Protocol (CIFS) is the same protocol as <ulink " "url=\"&servermessageblocksmb;\">Server Message Block (SMB)</ulink> and is " "used widely by Microsoft Windows." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "See <xref linkend=\"_the_modern_centralized_system_management\"/> for " "integration of server systems." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "The hostname resolution is usually provided by the <ulink url=\"&dns;\">DNS</" "ulink> server. For the host IP address dynamically assigned by <ulink url=" "\"&dhcp;\">DHCP</ulink>, <ulink url=\"&dynamicdns;\">Dynamic DNS</ulink> can " "be set up for the hostname resolution using <literal>bind9</literal> and " "<literal>isc-dhcp-server</literal> as described in the <ulink url=" "\"&ddnspageonthedebianwiki;\">DDNS page on the Debian wiki</ulink>." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "Use of proxy server such as <literal>squid</literal> is much more efficient " "for saving bandwidth than use of local mirror server with the full Debian " "archive contents." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Other network application clients" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Here are other network application clients." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of network application clients" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&tcpip;\">TCP/IP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "TCP/IP swiss army knife" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ssl;\">SSL</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Secure Socket Layer (SSL) binary and related cryptographic tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "universal SSL Wrapper" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "TELNET client" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "MS Windows file and printer sharing client" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mount and umount commands for remote MS Windows file" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "FTP client" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "full screen FTP client" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&http;\">HTTP</ulink> and <ulink url=\"&ftp;\">FTP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "web downloader" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "accelerated downloader" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "accelerated downloader with <ulink url=\"&bittorrent;\">BitTorrent</ulink> " "and <ulink url=\"&metalink;\">Metalink</ulink> supports" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>host</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> from bind9, \"<literal>Priority: standard</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>dig</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> from bind, \"<literal>Priority: standard</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "obtain IP address" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ldap;\">LDAP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "obtain data from LDAP server" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The diagnosis of the system daemons" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>telnet</literal> program enables manual connection to the " "system daemons and its diagnosis." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For testing plain <ulink url=\"&popd;\">POP3</ulink> service, try the " "following" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ telnet mail.ispname.net pop3" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For testing the <ulink url=\"&tls;\">TLS</ulink>/SSL enabled <ulink url=" "\"&popd;\">POP3</ulink> service by some ISPs, you need TLS/SSL enabled " "<literal>telnet</literal> client by the <literal>telnet-ssl</literal> or " "<literal>openssl</literal> packages." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ telnet -z ssl pop.gmail.com 995" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ openssl s_client -connect pop.gmail.com:995" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following <ulink url=\"&rfcs;\">RFCs</ulink> provide required knowledge " "to each system daemon." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of popular RFCs" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "RFC" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&rfcbjdj;\">rfc1939</ulink> and <ulink url=\"&rfcceej;" "\">rfc2449</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&popd;\">POP3</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rfcdfab;\">rfc3501</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&imape;\">IMAP4</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&rfccicb;\">rfc2821</ulink> (<ulink url=\"&rfcicb;\">rfc821</" "ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&smtp;\">SMTP</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&rfccicc;\">rfc2822</ulink> (<ulink url=\"&rfcicc;\">rfc822</" "ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Mail file format" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rfccaef;\">rfc2045</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&multipurposeinteilextensionsmime;\">Multipurpose Internet Mail " "Extensions (MIME)</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rfcibj;\">rfc819</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&dns;\">DNS</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rfccgbg;\">rfc2616</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&http;\">HTTP</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rfccdjg;\">rfc2396</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&uri;\">URI</ulink> definition" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "The port usage is described in \"<literal>/etc/services</literal>\"." msgstr "" #. type: Content of: <book><chapter><title> msgid "The X Window System" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The <ulink url=\"&xwindowsystem;\">X Window System</ulink> on the Debian " "system is based on the source from <ulink url=\"&xorg;\">X.Org</ulink>. As " "of July 2009, they are X11R7.1(etch), X11R7.3(lenny), X11R7.3(squeeze) and " "X11R7.4(sid)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Key packages" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "There are a few (meta)packages provided to ease installation." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of key (meta)packages for X Window" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "(meta)package" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "X libraries, an X server, a set of fonts, and a group of basic X clients and " "utilities (metapackage)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "full suits of the X server and its configuration" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "miscellaneous assortment of X clients" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "filesystem infrastructure for the X Window System" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "miscellaneous documentation for the X.Org software suite" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "generate the Debian menu for all menu-aware applications" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "Gtk+ frontend to <citerefentry><refentrytitle>su</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> or " "<citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "convert the Debian menu structure to the <ulink url=\"&freedesktoporg;" "\">freedesktop.org</ulink> xdg menu structure" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "utilities to integrate desktop environment provided by the <ulink url=" "\"&freedesktoporg;\">freedesktop.org</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "standard <ulink url=\"&gnome;\">GNOME</ulink> desktop environment " "(metapackage)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "core <ulink url=\"&kde;\">KDE</ulink> desktop environment (metapackage)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&xfce;\">Xfce</ulink> lightweight desktop environment " "(metapackage)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&lxde;\">LXDE</ulink> lightweight desktop environment " "(metapackage)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&fluxbox;\">Fluxbox</ulink>: package for highly configurable " "and low resource <ulink url=\"&xwindowmanager;\">X window manager</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For the basics of X, refer to <citerefentry><refentrytitle>X</" "refentrytitle><manvolnum>7</manvolnum></citerefentry>, <ulink url=" "\"&theldpxwindowuserhowto;\">the LDP XWindow-User-HOWTO</ulink>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Setting up desktop environment" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "A <ulink url=\"&desktopenvironment;\">desktop environment</ulink> is usually " "a combination of a <ulink url=\"&xwindowmanager;\">X window manager</ulink>, " "a file manager, and a suite of compatible utility programs." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can setup a full <ulink url=\"&desktopenvironment;\">desktop " "environment</ulink> such as <ulink url=\"&gnome;\">GNOME</ulink>, <ulink url=" "\"&kde;\">KDE</ulink>, <ulink url=\"&xfce;\">Xfce</ulink>, or <ulink url=" "\"&lxde;\">LXDE</ulink>, from the <literal>aptitude</literal> under the task " "menu." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "Task menu may be out of sync with the latest package transition state under " "Debian <literal>unstable</literal>/<literal>testing</literal> environment. " "In such situation, you need to deselect some (meta)packages listed under " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> task menu to avoid package conflicts. When " "deselecting (meta)packages, you must select certain packages providing their " "dependencies manually to avoid them deleted automatically." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You may alternatively setup a simple environment manually just with a <ulink " "url=\"&xwindowmanager;\">X window manager</ulink> such as <ulink url=" "\"&fluxbox;\">Fluxbox</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&windowmanagersforx;\">Window Managers for X</ulink> for " "the guide to the X window manager and the desktop environment." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debian menu" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&debianmenusystem;\">Debian menu system</ulink> provides a " "general interface for both text- and X-oriented programs with " "<citerefentry><refentrytitle>update-menus</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> from the <literal>menu</literal> package. Each " "package installs its menu data in the \"<literal>/usr/share/menu/</literal>" "\" directory. See \"<literal>/usr/share/menu/README</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Freedesktop.org menu" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each package which is compliant to Freedesktop.org's xdg menu system " "installs its menu data provided by \"<literal>*.desktop</literal>\" under " "\"<literal>/usr/share/applications/</literal>\". Modern desktop environments " "which are compliant to Freedesktop.org standard use these data to generate " "their menu using the <literal>xdg-utils</literal> package. See \"<literal>/" "usr/share/doc/xdg-utils/README</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debian menu under GNOME desktop environment" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to obtain access to the traditional Debian menu under GNOME desktop " "environment, you must install the <literal>menu-xdg</literal> package, click " "\"System\" → \"Preference\" → \"Main Menu\", and check the box for \"Debian" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may need to do the similar for other modern desktop environments which " "are compliant to Freedesktop.org standard." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The server/client relationship" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The X Window System is activated as a combination of the server and client " "programs. The meaning for the words <emphasis role=\"strong\">server</" "emphasis> and <emphasis role=\"strong\">client</emphasis> with respect to " "the words <emphasis role=\"strong\">local</emphasis> and <emphasis role=" "\"strong\">remote</emphasis> requires attention here." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of server/client terminology" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">X server</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "a program run on a <emphasis role=\"strong\">local host</emphasis> connected " "to the user's display and input devices." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">X client</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "a program run on a <emphasis role=\"strong\">remote host</emphasis> that " "processes data and talks to the X server." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">application server</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "a program run on a <emphasis role=\"strong\">remote host</emphasis> that " "processes data and talks to the clients." msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">application client</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The X server" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry><refentrytitle>xorg</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> for X server information." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The (re)configuration of the X server" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "X server (post-<literal>lenny</literal>) is rewritten to use more " "information from standardized OS services such as <ulink url=\"&hal;\">HAL</" "ulink> and <ulink url=\"&dbus;\">D-bus</ulink>, for its configuration than " "that from \"<literal>/etc/X11/xorg.conf</literal>\". So contents in " "\"<literal>/etc/X11/xorg.conf</literal>\" are getting less. You may need to " "<ulink url=\"&workaroundtransiroblemsofxserver;\">work around transitional " "problems of X server</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following (re)configures an X server by generating a new \"<literal>/etc/" "X11/xorg.conf</literal>\" file using <citerefentry><refentrytitle>dexconf</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# dpkg-reconfigure --priority=low x11-common\n" "# dpkg-reconfigure --priority=low xserver-xorg" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have manually edited this \"<literal>/etc/X11/xorg.conf</literal>\" " "file but would like it to be automatically updated again, run the following " "command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# sudo dpkg-reconfigure -phigh xserver-xorg" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please check your X configuration with respect to the specification of your " "monitor carefully. For the large high resolution CRT monitor, it is a good " "idea to set the refresh rate as high as your monitor can handle (85 Hz is " "great, 75 Hz is OK) to reduce flicker. For the LCD monitor, slower standard " "refresh rate (60Hz) is usually fine due to its slow response." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Be careful not to use too high refresh rate which may cause fatal hardware " "failure of your monitor system." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The connection methods to the X server" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are several ways of getting the \"X server\" (<emphasis role=\"strong" "\">display</emphasis> side) to accept connections from an \"X client" "\" (<emphasis role=\"strong\">application</emphasis> side)." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of connection methods to the X server" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "encryption" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "method" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "pertinent use" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "unchecked" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "no" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xhost</literal> command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "deprecated" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "checked" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xauth</literal> command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "local connection via pipe" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "yes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ssh -X</literal> command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remote network connection" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "no(XDMCP)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNOME display manager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KDE display manager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "X display manager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "WindowMaker display manager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "LTSP display manager" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remote SSH network connection (thin client)" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not use remote <ulink url=\"&tcp;\">TCP</ulink>/<ulink url=\"&ip;\">IP</" "ulink> connection over <emphasis role=\"strong\">unsecured</emphasis> " "network for X connection unless you have very good reason such as use of " "encryption. A remote TCP/IP socket connection without encryption is prone " "to the <emphasis role=\"strong\">eavesdropping attack</emphasis> and is " "disabled by default on the Debian system. Use \"<literal>ssh -X</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not use <ulink url=\"&xdmcpconnection;\">XDMCP connection</ulink> over " "<emphasis role=\"strong\">unsecured</emphasis> network either. It sends " "data via <ulink url=\"&udp;\">UDP</ulink>/<ulink url=\"&ip;\">IP</ulink> " "without encryption and is prone to the <emphasis role=\"strong" "\">eavesdropping attack</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "LTSP stands for <ulink url=\"&linuxterminalserverproject;\">Linux Terminal " "Server Project</ulink>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Starting the X Window System" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The X Window System is usually started as an <ulink url=\"&xsession;\">X " "session</ulink> which is the combination of an X server and connecting X " "clients. For the normal desktop system, both of them are executed on a " "workstation." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <ulink url=\"&xsession;\">X session</ulink> is started by the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>startx</literal> command started from the command line" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "One of the <ulink url=\"&xdisplaymanager;\">X display manager</ulink> daemon " "programs <literal>*dm</literal> started from the end of the start up script " "in \"<literal>/etc/rc?.d/</literal>\" (\"<literal>?</literal>\" " "corresponding to the runlevel) directory" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "The start up script for the display manager daemons checks the content of " "the \"<literal>/etc/X11/default-display-manager</literal>\" file before " "actually executing themselves. This ensures to have only one <ulink url=" "\"&xdisplaymanager;\">X display manager</ulink> daemon program activated." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "See <xref linkend=\"_specific_locale_only_under_x_window\"/> for initial " "environment variables of the X display manager." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Essentially, all these programs execute the \"<literal>/etc/X11/Xsession</" "literal>\" script. Then the \"<literal>/etc/X11/Xsession</literal>\" script " "performs <citerefentry><refentrytitle>run-parts</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> like action to execute scripts in the \"<literal>/" "etc/X11/Xsession.d/</literal>\" directory. This is essentially an execution " "of a first program which is found in the following order with the " "<literal>exec</literal> builtin command." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The script specified as the argument of \"<literal>/etc/X11/Xsession</" "literal>\" by the X display manager, if it is defined." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The \"<literal>~/.xsession</literal>\" or \"<literal>~/.Xsession</literal>\" " "script, if it is defined." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The \"<literal>/usr/bin/x-session-manager</literal>\" command, if it is " "defined." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The \"<literal>/usr/bin/x-window-manager</literal>\" command, if it is " "defined." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "The \"<literal>/usr/bin/x-terminal-emulator</literal>\" command, if it is " "defined." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This process is affected by the content of \"<literal>/etc/X11/Xsession." "options</literal>\". The exact programs to which these \"<literal>/usr/bin/" "x-*</literal>\" commands point, are determined by the Debian alternative " "system and changed by \"<literal>update-alternatives --config x-session-" "manager</literal>\", etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Starting X session with gdm3" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>gdm3</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> lets you select the session type (or desktop environment: " "<xref linkend=\"_setting_up_desktop_environment\"/>), and language (or " "locale: <xref linkend=\"_the_locale\"/>) of the X session from its menu. It " "keeps the selected default value in \"<literal>~/.dmrc</literal>\" as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "[Desktop]\n" "Session=default\n" "Language=ja_JP.UTF-8" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customizing the X session (classic method)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "On a system where \"<literal>/etc/X11/Xsession.options</literal>\" contains " "a line \"<literal>allow-user-xsession</literal>\" without preceding " "\"<literal>#</literal>\" characters, any user who defines \"<literal>~/." "xsession</literal>\" or \"<literal>~/.Xsession</literal>\" is able to " "customize the action of \"<literal>/etc/X11/Xsession</literal>\" by " "completely overriding the system code. The last command in the \"<literal>~/." "xsession</literal>\" file should use form of \"<literal>exec some-window/" "session-manager</literal>\" to start your favorite X window/session managers." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customizing the X session (new method)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are new methods to customize the X session without completely " "overriding the system code as above." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The display manager <literal>gdm3</literal> can select a specific session " "and set it as the argument of \"<literal>/etc/X11/Xsession</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The \"<literal>~/.xsessionrc</literal>\" file is executed as a part of start " "up process. (desktop independent)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The \"<literal>~/.gnomerc</literal>\" file is executed as a part of start up " "process. (GNOME desktop only)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The GUI program based session management software may use the \"<literal>~/." "gnome2/session</literal>\" file etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Connecting a remote X client via SSH" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The use of \"<literal>ssh -X</literal>\" enables a secure connection from a " "local X server to a remote application server." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Set \"<literal>X11Forwarding</literal>\" entries to \"<literal>yes</literal>" "\" in \"<literal>/etc/ssh/sshd_config</literal>\" of the remote host, if you " "want to avoid \"<literal>-X</literal>\" command-line option." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Start the X server on the local host." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Open an <literal>xterm</literal> in the local host." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Run <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to establish a connection with the remote site as " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "localname @ localhost $ ssh -q -X loginname@remotehost.domain\n" "Password:" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Run an X application command, e.g. \"<literal>gimp</literal>\", on the " "remote site as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "loginname @ remotehost $ gimp &" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This method can display the output from a remote X client as if it were " "locally connected through a local UNIX domain socket." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Secure X terminal via the Internet" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Secure X terminal via the Internet, which displays remotely run entire X " "desktop environment, can easily achieved by using specialized package such " "as <literal>ldm</literal>. Your local machine becomes a secure thin client " "to the remote application server connected via SSH." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Fonts in the X Window" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&fontconfigca;\">Fontconfig 2.0</ulink> was created to provide " "a distribution independent library for configuring and customizing font " "access in 2002. Debian after <literal>squeeze</literal> uses <ulink url=" "\"&fontconfigca;\">Fontconfig 2.0</ulink> for its font configuration." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Font supports on X Window System can be summarized as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Legacy X server side font support system" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The original core X11 font system provides backward compatibility for older " "version of X client applications." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "The original core X11 fonts are installed on the X server." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Modern X client side font support system" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Modern X system supports all fonts listed below (<xref linkend=\"_basic_fonts" "\"/>, <xref linkend=\"_additional_fonts\"/>, and <xref linkend=\"_cjk_fonts" "\"/>) with advanced features such as anti-aliasing." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&xft;\">Xft</ulink> 2.0 connects modern X applications such as " "ones from <ulink url=\"&gnome;\">GNOME</ulink>, <ulink url=\"&kde;\">KDE</" "ulink>, and <ulink url=\"&libreoffice;\">LibreOffice</ulink> with <ulink url=" "\"&freetype;\">FreeType</ulink> 2.0 library." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&freetype;\">FreeType</ulink> 2.0 provides font rasterization " "library." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&fontconfig;\">Fontconfig</ulink> provides resolution of the " "font specification for <ulink url=\"&xft;\">Xft</ulink> 2.0. See " "<citerefentry><refentrytitle>fonts.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for its configuration." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "All modern X applications using <ulink url=\"&xft;\">Xft</ulink> 2.0 can " "talk to modern X server using the <ulink url=\"&xrenderingextension;\">X " "Rendering Extension</ulink>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&xrenderingextension;\">X Rendering Extension</ulink> moves " "font access and glyph image generation from the X server to the X client." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "Table of packages to support X Window font systems" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "X Window System font utility programs" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "Xft, a library that connects X applications with the FreeType font " "rasterization library" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&freetype;\">FreeType</ulink> 2.0 font rasterization library" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&fontconfig;\">Fontconfig</ulink>, a generic font configuration " "library — support binaries" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&fontconfig;\">Fontconfig</ulink>, a generic font configuration " "library — configuration data" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You can check font configuration information by the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>xset q</literal>\" for core X11 font path" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>fc-match</literal>\" for fontconfig font default" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>fc-list</literal>\" for available fontconfig fonts" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "\"<ulink url=\"&thepenguinandunicode;\">The Penguin and Unicode</ulink>\" is " "a good overview of modern X Window System. Other documentations at <ulink " "url=\"&httpunifontorg;\">http://unifont.org/</ulink> should provide good " "information on Unicode fonts, Unicode-enabled software, " "internationalization, and Unicode usability issues on <ulink url=" "\"&freelibreopensourcefloss;\">free/libre/open source (FLOSS)</ulink> " "operating systems." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic fonts" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are 2 major types of <ulink url=\"&computerfonts;\">computer fonts</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Bitmap fonts (good for low resolution rasterization)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Outline/stroke fonts (good for high resolution rasterization)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "While scaling of bitmap fonts causes jugged image, scaling of outline/stroke " "fonts produces smooth image." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Bitmap fonts on the Debian system are usually provided by compressed <ulink " "url=\"&xbbpcfbitmapfontfiles;\">X11 pcf bitmap font files</ulink> having " "their file extension \"<literal>.pcf.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Outline fonts on the Debian system are provided by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&postscript;\">PostScript</ulink> Type 1 font files having " "their file extension \"<literal>.pfb</literal>\" (binary font file) and " "\"<literal>.afm</literal>\" (font metrics file)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&truetype;\">TrueType</ulink> (or <ulink url=\"&opentype;" "\">OpenType</ulink>) font files usually having their file extension " "\"<literal>.ttf</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&opentype;\">OpenType</ulink> is intended to supersede both " "<ulink url=\"&truetype;\">TrueType</ulink> and <ulink url=\"&postscript;" "\">PostScript</ulink> Type 1." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Table of corresponding <ulink url=\"&postscript;\">PostScript</ulink> Type 1 " "fonts" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "font package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "sans-serif font" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "serif font" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "monospace font" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "source of font" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PostScript" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&helvetica;\">Helvetica</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"×\">Times</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&courier;\">Courier</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Adobe" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Nimbus Sans L" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Nimbus Roman No9 L" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Nimbus Mono L" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&urw;\">URW</ulink> (Adobe compatible size)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "X font support with PostScript Type 1 fonts." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Free Helvetian" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Free Times" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Free Courier" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "URW extended (Adobe compatible size)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "LMSans*" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "LMRoman*" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "LMTypewriter*" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "scalable PostScript and OpenType fonts based on Computer Modern (from TeX)" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Table of corresponding <ulink url=\"&truetype;\">TrueType</ulink> fonts" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&arial;\">Arial</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"×newroman;\">Times New Roman</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&couriernew;\">Courier New</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Microsoft (Adobe compatible size) (This installs non-free data)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Liberation Sans" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Liberation Serif" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Liberation Mono" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&liberationfontsproject;\">Liberation Fonts project</ulink> " "(Microsoft compatible size)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "FreeSans" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "FreeSerif" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "FreeMono" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&gnufreefont;\">GNU freefont</ulink> (Microsoft compatible size)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "DejaVu Sans" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "DejaVu Serif" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "DejaVu Sans Mono" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&dejavu;\">DejaVu</ulink>, <ulink url=\"&bitstreamvera;" "\">Bitstream Vera</ulink> with Unicode coverage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&dejavu;\">DejaVu</ulink>, <ulink url=\"&bitstreamvera;" "\">Bitstream Vera</ulink> with Unicode coverage (sans, sans-bold, serif, " "serif-bold, mono, mono-bold)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&dejavu;\">DejaVu</ulink>, <ulink url=\"&bitstreamvera;" "\">Bitstream Vera</ulink> with Unicode coverage (oblique, italic, bold-" "oblique, bold-italic, condensed)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "unifont" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&gnuunifont;\">GNU Unifont</ulink>, with all printable " "character code in Unicode 5.1 Basic Multilingual Plane (BMP)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&dejavu;\">DejaVu</ulink> fonts are based on and superset of " "<ulink url=\"&bitstreamvera;\">Bitstream Vera</ulink> fonts." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Additional fonts" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> helps you find additional fonts easily." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The short package list under \"Tasks\" → \"Localization\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The filtered flat package list of font data with regex on debtag: " "\"<literal>~Gmade-of::data:font</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The filtered flat package list of the BDF (bitmap) font packages with regex " "on package name: \"<literal>~nxfonts-</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The filtered flat package list of the TrueType (outline) font packages with " "regex on package name: \"<literal>~nttf-</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since <emphasis role=\"strong\">Free</emphasis> fonts are sometimes limited, " "installing or sharing some commercial TrueType fonts is an option for a " "Debian users. In order to make this process easy for the user, some " "convenience packages have been created." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>ttf-mathematica4.1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>ttf-mscorefonts-installer</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You'll have a really good selection of TrueType fonts at the expense of " "contaminating your <emphasis role=\"strong\">Free</emphasis> system with non-" "Free fonts." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "CJK fonts" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are some key points focused on fonts of <ulink url=\"&cjkcharacters;" "\">CJK characters</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Table of key words used in CJK font names to indicate font types" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "font type" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Japanese font name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Chinese font name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Korean font name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sans-serif" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "gothic, ゴチック" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "hei, gothic" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "dodum, gulim, gothic" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "serif" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "mincho, 明朝" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "song, ming" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "batang" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Font name such as \"VL PGothic\" with \"P\" is a proportional font which " "corresponds to the fixed width \"VL Gothic\" font." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For example, <ulink url=\"&shift_jis;\">Shift_JIS</ulink> code table " "comprises 7070 characters. They can be grouped as the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "JIS X 0201 single-byte characters (191 characters, a.k.a. half-width " "characters)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "JIS X 0208 double-byte characters (6879 characters, a.k.a. full-width " "characters)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Double-byte characters occupy double width on console terminals which uses " "CJK fixed width fonts. In order to cope with such situation, <ulink url=" "\"&hanzibitmapfonthbffile;\">Hanzi Bitmap Font (HBF) File</ulink> with file " "extension \"<literal>.hbf</literal>\" may be deployed for fonts containing " "single-byte and double-byte characters." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to save space for <ulink url=\"&truetype;\">TrueType</ulink> font " "files, <ulink url=\"&truetype;\">TrueType</ulink> font collection file with " "file extension \"<literal>.ttc</literal>\" may be used." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to cover complicated code space of characters, CID keyed <ulink url=" "\"&postscript;\">PostScript</ulink> Type 1 font is used with CMap files " "starting themselves with \"<literal>%!PS-Adobe-3.0 Resource-CMap</literal>" "\". This is rarely used for normal X display but used for PDF rendering " "etc. (see <xref linkend=\"_x_utility_applications\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The multiple <ulink url=\"&glyphs;\">glyphs</ulink> are expected for some " "<ulink url=\"&unicode;\">Unicode</ulink> code points due to <ulink url=" "\"&hanunification;\">Han unification</ulink>. One of the most annoying ones " "are \"U+3001 IDEOGRAPHIC COMMA\" and \"U+3002 IDEOGRAPHIC FULL STOP\" whose " "character positions differ among CJK countries. Configuring priority of " "Japanese centric fonts over Chinese ones using \"<literal>~/.fonts.conf</" "literal>\" should give peace of minds to Japanese." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "X applications" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "X office applications" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here is a list of basic office applications (LO is LibreOffice)." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of basic X office applications" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "package size" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "LO" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "word processor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "spreadsheet" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "presentation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "database management" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "vector graphics editor (draw)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "mathematical equation/formula editor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNOME" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GTK" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "bitmap graphics editor (paint)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "flowchart and diagram editor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "project management" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KDE" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "X utility applications" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here is a list of basic utility applications which caught my eyes." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of basic X utility applications" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "document(pdf) viewer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Personal information Management (groupware and email)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "desktop page layout editor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "label editor" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "personal accounting" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "scanner frontend" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The <literal>poppler-data</literal> package (previously non-free, see <xref " "linkend=\"_ghostscript\"/>) needs to be installed for <literal>evince</" "literal> and <literal>okular</literal> to display CJK PDF documents using " "Cmap data (<xref linkend=\"_cjk_fonts\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Installing softwares such as <literal>scribus</literal> (KDE) on GNOME " "desktop environment are quite acceptable since corresponding functionality " "is not available under GNOME desktop environment. But installing too many " "packages with duplicated functionalities clutter your menu." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The X trivia" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Keymaps and pointer button mappings in X" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>xmodmap</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> is a utility for modifying keymaps and pointer " "button mappings in the X Window System. To get the <emphasis role=\"strong" "\">keycode</emphasis>, run <citerefentry><refentrytitle>xev</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> in the X and press " "keys. To get the meaning of <emphasis role=\"strong\">keysym</emphasis>, " "look into the MACRO definition in \"<literal>/usr/include/X11/keysymdef.h</" "literal>\" file (<literal>x11proto-core-dev</literal> package). All " "\"<literal>#define</literal>\" statements in this file are named as " "\"<literal>XK_</literal>\" prepended to <emphasis role=\"strong\">keysym</" "emphasis> names." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Classic X clients" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Most traditional X client programs, such as " "<citerefentry><refentrytitle>xterm</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, can be started with a set of standard command line options to " "specify geometry, font, and display." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "They also use the X resource database to configure their appearance. The " "system-wide defaults of X resources are stored in \"<literal>/etc/X11/" "Xresources/*</literal>\" and application defaults of them are stored in " "\"<literal>/etc/X11/app-defaults/*</literal>\". Use these settings as the " "starting points." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>~/.Xresources</literal>\" file is used to store user resource " "specifications. This file is automatically merged into the default X " "resources upon login. To make changes to these settings and make them " "effective immediately, merge them into the database using the following " "command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ xrdb -merge ~/.Xresources" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>x</refentrytitle><manvolnum>7</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>xrdb</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The X terminal emulator — xterm" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Learn everything about <citerefentry><refentrytitle>xterm</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> at <ulink url=" "\"&httpdickeyhiscomtermxtermfaqhtml;\">http://dickey.his.com/xterm/xterm.faq." "html</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Running X clients as root" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Never start the X display/session manager under the root account by typing " "in <literal>root</literal> to the prompt of the display manager such as " "<literal>gdm3</literal> because it is considered unsafe (insecure), even " "when you plan to perform administrative activities. The entire X " "architecture is considered insecure if run as root. You must always use the " "lowest privilege level possible, like a regular user account." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Easy ways to run a particular X client, e.g. \"<literal>foo</literal>\" as " "root is to use <citerefentry><refentrytitle>sudo</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> etc. as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo foo &" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo -s\n" "# foo &" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ gksu foo &" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ssh -X root@localhost\n" "# foo &" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Use of <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> just for this purpose as above is waste of " "resource." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order for the X client to connect to the X server, please note the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Values of the old user's \"<literal>$XAUTHORITY</literal>\" and \"<literal>" "$DISPLAY</literal>\" environment variables must be copied to the new user's " "ones." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The file pointed by value of the \"<literal>$XAUTHORITY</literal>\" " "environment variable must be readable by the new user." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>gksu</literal> package (popcon: &pop-gksu;) is a specialized GTK" "+ GUI package for gaining the root privileges. It can be configured to use " "<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> or <citerefentry><refentrytitle>sudo</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> as its backend " "depending on the \"<literal>/apps/gksu/sudo-mode</literal>\" gconf key. You " "can edit gconf key using <citerefentry><refentrytitle>gconf-editor</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (menu: \"Applications" "\" → \"System Tools\" → \"Configuration Editor\")." msgstr "" #. type: Content of: <book><chapter><title> msgid "I18N and L10N" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "<ulink url=\"&multilingualizatelanguagesupport;\">Multilingualization (M17N) " "or Native Language Support</ulink> for an application software is done in 2 " "steps." msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "Internationalization (I18N): To make a software potentially handle multiple " "locales." msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "Localization (L10N): To make a software handle an specific locale." msgstr "" #. type: Content of: <book><chapter><tip><para> msgid "" "There are 17, 18, or 10 letters between \"m\" and \"n\", \"i\" and \"n\", or " "\"l\" and \"n\" in multilingualization, internationalization, and " "localization which correspond to M17N, I18N, and L10N." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The modern software such as GNOME and KDE are multilingualized. They are " "internationalized by making them handle <ulink url=\"&utfi;\">UTF-8</ulink> " "data and localized by providing their translated messages through the " "<citerefentry><refentrytitle>gettext</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> infrastructure. Translated messages may be " "provided as separate localization packages. They can be selected simply by " "setting pertinent environment variables to the appropriate locale." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The simplest representation of the text data is <emphasis role=\"strong" "\">ASCII</emphasis> which is sufficient for English and uses less than 127 " "characters (representable with 7 bits). In order to support much more " "characters for the international support, many character encoding systems " "have been invented. The modern and sensible encoding system is <emphasis " "role=\"strong\">UTF-8</emphasis> which can handle practically all the " "characters known to the human (see <xref linkend=\"_basics_of_encoding\"/>)." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "See <ulink url=\"&introductiontoibin;\">Introduction to i18n</ulink> for " "details." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The international hardware support is enabled with localized hardware " "configuration data." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The keyboard input" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The Debian system can be configured to work with many international keyboard " "arrangements." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of keyboard reconfiguration methods" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Linux console" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg-reconfigure --priority=low console-data</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "X Window" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>dpkg-reconfigure --priority=low xserver-xorg</literal>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This supports keyboard input for accented characters of many European " "languages with its dead-key function. For Asian languages, you need more " "complicated <ulink url=\"&inputmethod;\">input method</ulink> support such " "as <ulink url=\"&ibus;\">IBus</ulink> discussed next." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The input method support with IBus" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Setup of multilingual input for the Debian system is simplified by using the " "<ulink url=\"&ibus;\">IBus</ulink> family of packages with the <literal>im-" "config</literal> package. The list of IBus packages are the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of input method supports with IBus" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "supported locale" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "input method framework using dbus" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Japanese" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Chinese (for zh_CN)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid ", , (for zh_TW)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Korean" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "table engine for IBus" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Thai" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Vietnamese" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Multilingual: Indic, Arabic and others" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The kinput2 method and other locale dependent Asian classic <ulink url=" "\"&inputmethods;\">input methods</ulink> still exist but are not recommended " "for the modern UTF-8 X environment. The <ulink url=\"&scim;\">SCIM</ulink> " "and <ulink url=\"&uim;\">uim</ulink> tool chains are an slightly older " "approach for the international input method for the modern UTF-8 X " "environment." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "An example for Japanese" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I find the Japanese input method started under English environment " "(\"<literal>en_US.UTF-8</literal>\") very useful. Here is how I did this " "with IBus." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Install the Japanese input tool package <literal>ibus-mozc</literal> with " "its recommended packages such as <literal>im-config</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Execute \"<literal>im-config</literal>\" from user's shell and select " "\"<literal>ibus</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Select \"System\" → \"Preferences\" → \"IBus Preferences\" → \"Input Method" "\" → \"Select an input method\" → \"Japanese\" → \"MOZC\" and click \"Add\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Relogin to user's account." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Verify setting by \"<literal>im-config</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Setup input method and mode by right clicking GUI toolbar. (You can reduce " "menu choice of input method.)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Start IBus input method by CTRL-SPACE." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>im-config</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> behaves differently if command is executed from " "root or not." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>im-config</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> enables the best input method on the system as " "default without any user actions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The GUI menu entry for <citerefentry><refentrytitle>im-config</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> is disabled as default " "to prevent cluttering." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Disabling the input method" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you wish to input without going through XIM, set \"<literal>$XMODIFIERS</" "literal>\" value to \"none\" while starting a program. This may be the case " "if you use Japanese input infrastructure <literal>egg</literal> on " "<citerefentry><refentrytitle>emacs</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>. From shell, execute as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ XMODIFIERS=none emacs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to adjust the command executed by the Debian menu, place customized " "configuration in \"<literal>/etc/menu/</literal>\" following method " "described in \"<literal>/usr/share/doc/menu/html</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The display output" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Linux console can only display limited characters. (You need to use special " "terminal program such as <citerefentry><refentrytitle>jfbterm</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to display non-" "European languages on the non-X console.)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "X Window can display any characters in the UTF-8 as long as required font " "data exists. (The encoding of the original font data is taken care by the X " "Window System and transparent to the user.)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The locale" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following focuses on the locale for applications run under X Window " "environment started from <citerefentry><refentrytitle>gdm3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basics of encoding" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The environment variable \"<literal>LANG=xx_YY.ZZZZ</literal>\" sets the " "locale to language code \"<literal>xx</literal>\", country code " "\"<literal>yy</literal>\", and encoding \"<literal>ZZZZ</literal>\" (see " "<xref linkend=\"_literal_lang_literal_variable\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Current Debian system normally sets the locale as \"<literal>LANG=xx_YY." "UTF-8</literal>\". This uses the <ulink url=\"&utfi;\">UTF-8</ulink> " "encoding with the <ulink url=\"&unicode;\">Unicode</ulink> character set. " "This <ulink url=\"&utfi;\">UTF-8</ulink> encoding system is a multibyte code " "system and uses code points smartly. The <ulink url=\"&ascii;\">ASCII</" "ulink> data, which consist only with 7-bit range codes, are always valid " "UTF-8 data consisting only with 1 byte per character." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Previous Debian system used to set the locale as \"<literal>LANG=C</literal>" "\" or \"<literal>LANG=xx_YY</literal>\" (without \"<literal>.UTF-8</literal>" "\")." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&ascii;\">ASCII</ulink> character set is used for " "\"<literal>LANG=C</literal>\" or \"<literal>LANG=POSIX</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The traditional encoding system in Unix is used for \"<literal>LANG=xx_YY</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Actual traditional encoding system used for \"<literal>LANG=xx_YY</literal>" "\" can be identified by checking \"<literal>/usr/share/i18n/SUPPORTED</" "literal>\". For example, \"<literal>en_US</literal>\" uses " "\"<literal>ISO-8859-1</literal>\" encoding and \"<literal>fr_FR@euro</" "literal>\" uses \"<literal>ISO-8859-15</literal>\" encoding." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For meaning of encoding values, see <xref linkend=\"list-of-encoding-values" "\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Rationale for UTF-8 locale" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&utfi;\">UTF-8</ulink> encoding is the modern and sensible " "text encoding system for I18N and enables to represent <ulink url=\"&unicode;" "\">Unicode</ulink> characters, i.e., practically all characters known to " "human. <emphasis role=\"strong\">UTF</emphasis> stands for Unicode " "Transformation Format (UTF) schemes." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I recommend to use <ulink url=\"&utfi;\">UTF-8</ulink> locale for your " "desktop, e.g., \"<literal>LANG=en_US.UTF-8</literal>\". The first part of " "the locale determines messages presented by applications. For example, " "<citerefentry><refentrytitle>gedit</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> (text editor for the GNOME Desktop) under " "\"<literal>LANG=fr_FR.UTF-8</literal>\" locale can display and edit Chinese " "character text data while presenting menus in French, as long as required " "fonts and input methods are installed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I also recommend to set the locale only using the \"<literal>$LANG</literal>" "\" environment variable. I do not see much benefit of setting a complicated " "combination of \"<literal>LC_*</literal>\" variables (see " "<citerefentry><refentrytitle>locale</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>) under UTF-8 locale." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Even plain English text may contain non-ASCII characters, e.g. left and " "right quotation marks are not available in ASCII." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "“double quoted text”\n" "‘single quoted text’" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When <ulink url=\"&ascii;\">ASCII</ulink> plain text data is converted to " "<ulink url=\"&utfi;\">UTF-8</ulink> one, it has exactly the same content and " "size as the original ASCII one. So you loose nothing by deploying UTF-8 " "locale." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some programs consume more memory after supporting I18N. This is because " "they are coded to use <ulink url=\"&utfdcucse;\">UTF-32(UCS4)</ulink> " "internally to support Unicode for speed optimization and consume 4 bytes per " "each ASCII character data independent of locale selected. Again, you loose " "nothing by deploying UTF-8 locale." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The vendor specific old non-UTF-8 encoding systems tend to have minor but " "annoying differences on some characters such as graphic ones for many " "countries. The deployment of the UTF-8 system by the modern OSs practically " "solved these conflicting encoding issues." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The reconfiguration of the locale" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order for the system to access a particular locale, the locale data must " "be compiled from the locale database. (The Debian system does <emphasis role=" "\"strong\">not</emphasis> come with all available locales pre-compiled " "unless you installed the <literal>locales-all</literal> package.) The full " "list of supported locales available for compiling are listed in \"<literal>/" "usr/share/i18n/SUPPORTED</literal>\". This lists all the proper locale " "names. The following lists all the available UTF-8 locales already compiled " "to the binary form." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ locale -a | grep utf8" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following command execution reconfigures the <literal>locales</literal> " "package." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dpkg-reconfigure locales" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This process involves 3 steps." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Update the list of available locales" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Compile them into the binary form" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Set the system wide default locale value in the \"<literal>/etc/defaults/" "locale</literal>\" for use by PAM (see <xref linkend=\"_pam_and_nss\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The list of available locale should include \"<literal>en_US.UTF-8</literal>" "\" and all the interesting languages with \"<literal>UTF-8</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The recommended default locale is \"<literal>en_US.UTF-8</literal>\" for US " "English. For other languages, please make sure to chose locale with " "\"<literal>UTF-8</literal>\". Any one of these settings can handle any " "international characters." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Although setting locale to \"<literal>C</literal>\" uses US English message, " "it handles only ASCII characters." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The value of the \"<literal>$LANG</literal>\" environment variable" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The value of the \"<literal>$LANG</literal>\" environment variable is set " "and changed by many applications." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Set initially by the PAM mechanism of <citerefentry><refentrytitle>login</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> for the local Linux " "console programs" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Set initially by the PAM mechanism of the display manager for all X programs" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Set initially by the PAM mechanism of <citerefentry><refentrytitle>ssh</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> for the remote console " "programs" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Changed by some display manager such as <citerefentry><refentrytitle>gdm3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> for all X programs" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Changed by the X session startup code via \"<literal>~/.xsessionrc</literal>" "\" for all X programs (<literal>lenny</literal> feature)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Changed by the shell startup code, e.g. \"<literal>~/.bashrc</literal>\", " "for all console programs" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "It is good idea to install system wide default locale as \"<literal>en_US." "UTF-8</literal>\" for maximum compatibility." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Specific locale only under X Window" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can chose specific locale only under X Window irrespective of your " "system wide default locale using PAM customization (see <xref linkend=" "\"_pam_and_nss\"/>) as follows." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This environment should provide you with your best desktop experience with " "stability. You have access to the functioning character terminal with " "readable messages even when the X Window System is not working. This " "becomes essential for languages which use non-roman characters such as " "Chinese, Japanese, and Korean." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "There may be another way available as the improvement of X session manager " "package but please read following as the generic and basic method of setting " "the locale. For <citerefentry><refentrytitle>gdm3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, I know you can select " "the locale of X session via its memu." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following line defines file location of the language environment in the " "PAM configuration file, such as \"<literal>/etc/pam.d/gdm3</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "auth required pam_env.so read_env=1 envfile=/etc/default/locale" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Change this to the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "auth required pam_env.so read_env=1 envfile=/etc/default/locale-x" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For Japanese, create a \"<literal>/etc/defaults/locale-x</literal>\" file " "with \"<literal>-rw-r--r-- 1 root root</literal>\" permission containing the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "LANG=\"ja_JP.UTF-8\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Keep the default \"<literal>/etc/defaults/locale</literal>\" file for other " "programs as the the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "LANG=\"en_US.UTF-8\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is the most generic technique to customize locale and makes the menu " "selection dialog of <citerefentry><refentrytitle>gdm3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> itself to be localized." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively for this case, you may simply change locale using the " "\"<literal>~/.xsessionrc</literal>\" file." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Filename encoding" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For cross platform data exchanges (see <xref linkend=" "\"_removable_storage_device\"/>), you may need to mount some filesystem with " "particular encodings. For example, <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for <ulink url=" "\"&vfatfilesystem;\">vfat filesystem</ulink> assumes <ulink url=\"&cpedh;" "\">CP437</ulink> if used without option. You need to provide explicit mount " "option to use <ulink url=\"&utfi;\">UTF-8</ulink> or <ulink url=\"&cpjdc;" "\">CP932</ulink> for filenames." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "When auto-mounting a hot-pluggable USB memory stick under modern desktop " "environment such as GNOME, you may provide such mount option by right " "clicking the icon on the desktop, click \"Drive\" tab, click to expand " "\"Setting\", and entering \"utf8\" to \"Mount options:\". The next time " "this memory stick is mounted, mount with UTF-8 is enabled." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If you are upgrading system or moving disk drives from older non-UTF-8 " "system, file names with non-ASCII characters may be encoded in the historic " "and deprecated encodings such as <ulink url=\"&isoiifjb;\">ISO-8859-1</" "ulink> or <ulink url=\"&eucjp;\">eucJP</ulink>. Please seek help of text " "conversion tools to convert them to <ulink url=\"&utfi;\">UTF-8</ulink>. See " "<xref linkend=\"_text_data_conversion_tools\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&samba;\">Samba</ulink> uses Unicode for newer clients (Windows " "NT, 200x, XP) but uses <ulink url=\"&cpifa;\">CP850</ulink> for older " "clients (DOS and Windows 9x/Me) as default. This default for older clients " "can be changed using \"<literal>dos charset</literal>\" in the \"<literal>/" "etc/samba/smb.conf</literal>\" file, e.g., to <ulink url=\"&cpjdc;\">CP932</" "ulink> for Japanese." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Localized messages and translated documentation" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Translations exist for many of the text messages and documents that are " "displayed in the Debian system, such as error messages, standard program " "output, menus, and manual pages. <ulink url=\"&gnugettextbcommandtoolchain;" "\">GNU gettext(1) command tool chain</ulink> is used as the backend tool for " "most translation activities." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> lists under \"Tasks\" → \"Localization\" provide " "extensive list of useful binary packages which add localized messages to " "applications and provide translated documentation." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For example, you can obtain the localized message for manpage by installing " "the <literal>manpages-<LANG></literal> package. To read the Italian-" "language manpage for <programname> from \"<literal>/usr/share/man/it/</" "literal>\", execute as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "LANG=it_IT.UTF-8 man <programname>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Effects of the locale" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The sort order of characters with <citerefentry><refentrytitle>sort</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is affected by the " "language choice of the locale. Spanish and English locale sort differently." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The date format of <citerefentry><refentrytitle>ls</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is affected by the " "locale. The date format of \"<literal>LANG=C ls -l</literal>\" and " "\"<literal>LANG=en_US.UTF-8</literal>\" are different (see <xref linkend=" "\"_customized_display_of_time_and_date\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Number punctuation are different for locales. For example, in English " "locale, one thousand one point one is displayed as \"<literal>1,000.1</" "literal>\" while in German locale, it is displayed as \"<literal>1.000,1</" "literal>\". You may see this difference in spreadsheet program." msgstr "" #. type: Content of: <book><chapter><title> msgid "System tips" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Here, I describe basic tips to configure and manage systems, mostly from the " "console." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The screen program" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is a very useful tool for people to access remote sites via " "unreliable or intermittent connections since it support interrupted network " "connections." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of programs to support interrupted network connections" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "terminal multiplexer with VT100/ANSI terminal emulation" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The use scenario for screen(1)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> not only allows one terminal window to work with multiple " "processes, but also allows <emphasis role=\"strong\">remote shell process to " "survive interrupted connections</emphasis>. Here is a typical use scenario " "of <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "You login to a remote machine." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "You start <literal>screen</literal> on a single console." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "You execute multiple programs in <literal>screen</literal> windows created " "with <literal>^A c</literal> (\"Control-A\" followed by \"c\")." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "You switch among the multiple <literal>screen</literal> windows by " "<literal>^A n</literal> (\"Control-A\" followed by \"n\")." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Suddenly you need to leave your terminal, but you don't want to lose your " "active work by keeping the connection." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "You may <emphasis role=\"strong\">detach</emphasis> the <literal>screen</" "literal> session by any methods." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Brutally unplug your network connection" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "Type <literal>^A d</literal> (\"Control-A\" followed by \"d\") and manually " "logging out from the remote connection" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "Type <literal>^A DD</literal> (\"Control-A\" followed by \"DD\") to have " "<literal>screen</literal> detach and log you out" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "You log in again to the same remote machine (even from a different terminal)." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "You start <literal>screen</literal> as \"<literal>screen -r</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "<literal>screen</literal> magically <emphasis role=\"strong\">reattaches</" "emphasis> all previous <literal>screen</literal> windows with all actively " "running programs." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can save connection fees with <literal>screen</literal> for metered " "network connections such as dial-up and packet ones, because you can leave a " "process active while disconnected, and then re-attach it later when you " "connect again." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Key bindings for the screen command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In a <literal>screen</literal> session, all keyboard inputs are sent to your " "current window except for the command keystroke. All <literal>screen</" "literal> command keystrokes are entered by typing <literal>^A</literal> " "(\"Control-A\") plus a single key [plus any parameters]. Here are important " "ones to remember." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of key bindings for screen" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A ?</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "show a help screen (display key bindings)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A c</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "create a new window and switch to it" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A n</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "go to next window" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A p</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "go to previous window" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A 0</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "go to window number 0" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A 1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "go to window number 1" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A w</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "show a list of windows" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A a</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "send a Ctrl-A to current window as keyboard input" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A h</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "write a hardcopy of current window to file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A H</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "begin/end logging current window to file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A ^X</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "lock the terminal (password protected)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A d</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "detach screen session from the terminal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^A DD</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "detach screen session and log out" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> for details." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Data recording and presentation" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The log daemon" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many programs record their activities under the \"<literal>/var/log/</" "literal>\" directory." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The kernel log daemon: <citerefentry><refentrytitle>klogd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The system log daemon: <citerefentry><refentrytitle>rsyslogd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See <xref linkend=\"_the_system_message\"/> and <xref linkend=" "\"_the_kernel_message\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Log analyzer" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are notable log analyzers (\"<literal>~Gsecurity::log-analyzer</literal>" "\" in <citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>)." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of system log analyzers" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "log analyzer with nice output written in Perl" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "web server log analyzer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "powerful and featureful web server log analyzer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "squid analysis report generator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Postfix log entry summarizer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "summarize the contents of a syslog log file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "full-featured log analyzer and report generator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "firewall log analyzer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "monitor and analyze squid access.log files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "fast web server log analyzer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "log file viewer with regexp matching, highlighting, and hooks" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Controllable Regex Mutilator and Spam Filter (CRM114)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "interpret ICMP messages" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<ulink url=\"&crmbbe;\">CRM114</ulink> provides language infrastructure to " "write <emphasis role=\"strong\">fuzzy</emphasis> filters with the <ulink url=" "\"&treregexlibrary;\">TRE regex library</ulink>. Its popular use is spam " "mail filter but it can be used as log analyzer." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recording the shell activities cleanly" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The simple use of <citerefentry><refentrytitle>script</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (see <xref linkend=" "\"_recording_the_shell_activities\"/>) to record shell activity produces a " "file with control characters. This can be avoided by using " "<citerefentry><refentrytitle>col</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> as the following." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Do whatever … and press <literal>Ctrl-D</literal> to exit <literal>script</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ col -bx <typescript >cleanedfile\n" "$ vim cleanedfile" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you don't have <literal>script</literal> (for example, during the boot " "process in the initramfs), you can use following instead." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sh -i 2>&1 | tee typescript" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Some <literal>x-terminal-emulator</literal> such as <literal>gnome-terminal</" "literal> can record. You may wish to extend line buffer for scrollback." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may use <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> with \"<literal>^A H</literal>\" (see <xref " "linkend=\"_key_bindings_for_the_screen_command\"/>) to perform recording of " "console." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may use <citerefentry><refentrytitle>emacs</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> with \"<literal>M-x shell</literal>\", " "\"<literal>M-x eshell</literal>\", or \"<literal>M-x term</literal>\" to " "perform recording of console. You may later use \"<literal>C-x C-w</literal>" "\" to write the buffer to a file." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customized display of text data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although pager tools such as <citerefentry><refentrytitle>more</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> (see <xref linkend=\"_the_pager\"/>) and custom tools for " "highlighting and formatting (see <xref linkend=" "\"_highlighting_and_formatting_plain_text_data\"/>) can display text data " "nicely, general purpose editors (see <xref linkend=\"_the_text_editor\"/>) " "are most versatile and customizable." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For <citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and its pager mode alias " "<citerefentry><refentrytitle>view</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, \"<literal>:set hls</literal>\" enables highlighted search." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customized display of time and date" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The default display format of time and date by the \"<literal>ls -l</literal>" "\" command depends on the <emphasis role=\"strong\">locale</emphasis> (see " "<xref linkend=\"_timestamps\"/> for value). The \"<literal>$LANG</literal>" "\" variable is referred first and it can be overridden by the \"<literal>" "$LC_TIME</literal>\" variable." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The actual default display format for each locale depends on the version of " "the standard C library (the <literal>libc6</literal> package) used. I.e., " "different releases of Debian had different defaults." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you really wish to customize this display format of time and date beyond " "the <emphasis role=\"strong\">locale</emphasis>, you should set the " "<emphasis role=\"strong\">time style value</emphasis> by the \"<literal>--" "time-style</literal>\" argument or by the \"<literal>$TIME_STYLE</literal>\" " "value (see <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>date</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, \"<literal>info " "coreutils 'ls invocation'</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Display examples of time and date for the \"<literal>ls -l</literal>\" " "command for <literal>wheezy</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "time style value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "locale" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "display of time and date" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>iso</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "any" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>01-19 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>long-iso</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>2009-01-19 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>full-iso</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>2009-01-19 00:15:16.000000000 +0900</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>locale</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>Jan 19 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ene 19 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>+%d.%m.%y %H:%M</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>19.01.09 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>+%d.%b.%y %H:%M</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>C</literal> or <literal>en_US.UTF-8</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>19.Jan.09 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>19.ene.09 00:15</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can eliminate typing long option on commandline using command alias, e." "g. \"<literal>alias ls='ls --time-style=+%d.%m.%y\\ %H:%M'</literal>\" (see " "<xref linkend=\"_command_alias\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&isoigab;\">ISO 8601</ulink> is followed for these iso-formats." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Colorized shell echo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Shell echo to most modern terminals can be colorized using <ulink url=" "\"&ansiescapecode;\">ANSI escape code</ulink> (see \"<literal>/usr/share/doc/" "xterm/ctlseqs.txt.gz</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ RED=$(printf \"\\x1b[31m\")\n" "$ NORMAL=$(printf \"\\x1b[0m\")\n" "$ REVERSE=$(printf \"\\x1b[7m\")\n" "$ echo \"${RED}RED-TEXT${NORMAL} ${REVERSE}REVERSE-TEXT${NORMAL}\"" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Colorized commands" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Colorized commands are handy for inspecting their output in the interactive " "environment. I include the following in my \"<literal>~/.bashrc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "if [ \"$TERM\" != \"dumb\" ]; then\n" " eval \"`dircolors -b`\"\n" " alias ls='ls --color=always'\n" " alias ll='ls --color=always -l'\n" " alias la='ls --color=always -A'\n" " alias less='less -R'\n" " alias ls='ls --color=always'\n" " alias grep='grep --color=always'\n" " alias egrep='egrep --color=always'\n" " alias fgrep='fgrep --color=always'\n" " alias zgrep='zgrep --color=always'\n" "else\n" " alias ll='ls -l'\n" " alias la='ls -A'\n" "fi" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The use of alias limits color effects to the interactive command usage. It " "has advantage over exporting environment variable \"<literal>export " "GREP_OPTIONS='--color=auto'</literal>\" since color can be seen under pager " "programs such as <citerefentry><refentrytitle>less</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. If you wish to " "suppress color when piping to other programs, use \"<literal>--color=auto</" "literal>\" instead in the above example for \"<literal>~/.bashrc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can turn off these colorizing aliases in the interactive environment by " "invoking shell with \"<literal>TERM=dumb bash</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recording the editor activities for complex repeats" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can record the editor activities for complex repeats." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For <ulink url=\"&vim;\">Vim</ulink>, as follows." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>qa</literal>\": start recording typed characters into named " "register \"<literal>a</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "… editor activities" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>q</literal>\": end recording typed characters." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>@a</literal>\": execute the contents of register \"<literal>a</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For <ulink url=\"&emacs;\">Emacs</ulink>, as follows." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>C-x (</literal>\": start defining a keyboard macro." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>C-x )</literal>\": end defining a keyboard macro." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>C-x e</literal>\": execute a keyboard macro." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recording the graphic image of an X application" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are few ways to record the graphic image of an X application, " "including an <literal>xterm</literal> display." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of graphic image manipulation tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>xwd</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GUI menu" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>import</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>scrot</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Recording changes in configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are specialized tools to record changes in configuration files with " "help of DVCS system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of packages to record configuration history in VCS" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "store configuration files and their metadata with <ulink url=\"&git;\">Git</" "ulink> (default), <ulink url=\"&mercurial;\">Mercurial</ulink>, or <ulink " "url=\"&bazaar;\">Bazaar</ulink> (new)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "store configuration files with <ulink url=\"&rcs;\">RCS</ulink> (old)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I recommend to use the <literal>etckeeper</literal> package with " "<citerefentry><refentrytitle>git</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> which put entire \"<literal>/etc</literal>\" under VCS " "control. Its installation guide and tutorial are found in \"<literal>/usr/" "share/doc/etckeeper/README.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Essentially, running \"<literal>sudo etckeeper init</literal>\" initializes " "the git repository for \"<literal>/etc</literal>\" just like the process " "explained in <xref linkend=\"_git_for_recording_configuration_history\"/> " "but with special hook scripts for more thorough setups." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "As you change your configuration, you can use " "<citerefentry><refentrytitle>git</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> normally to record them. It automatically records changes " "nicely every time you run package management commands, too." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can browse the change history of \"<literal>/etc</literal>\" by " "executing \"<literal>sudo GIT_DIR=/etc/.git gitk</literal>\" with clear view " "for new installed packages, removed packages, and version changes of " "packages." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Data storage tips" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Booting your system with Linux <ulink url=\"&livecds;\">live CDs</ulink> or " "<ulink url=\"&debianinstallercds;\">debian-installer CDs</ulink> in rescue " "mode make it easy for you to reconfigure data storage on your boot device. " "See also <xref linkend=\"_the_binary_data\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Disk space usage" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The disk space usage can be evaluated by programs provided by the " "<literal>mount</literal>, <literal>coreutils</literal>, and <literal>xdu</" "literal> packages:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> reports all mounted filesystems (= disks)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>df</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> reports the disk space usage for the file system." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>du</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> reports the disk space usage for the directory tree." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can feed the output of <citerefentry><refentrytitle>du</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to " "<citerefentry><refentrytitle>xdu</refentrytitle><manvolnum>1x</manvolnum></" "citerefentry> to produce its graphical and interactive presentation with " "\"<literal>du -k . |xdu</literal>\", \"<literal>sudo du -k -x / |xdu</" "literal>\", etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Disk partition configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For <ulink url=\"&diskpartition;\">disk partition</ulink> configuration, " "although <citerefentry><refentrytitle>fdisk</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> has been considered standard, " "<citerefentry><refentrytitle>parted</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> deserves some attention. \"Disk partitioning data\", " "\"partition table\", \"partition map\", and \"disk label\" are all synonyms." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Most PCs use the classic <ulink url=\"&masterbootrecordmbr;\">Master Boot " "Record (MBR)</ulink> scheme to hold <ulink url=\"&diskpartitioning;\">disk " "partitioning</ulink> data in the first sector, i.e., <ulink url=\"&lba;" "\">LBA</ulink> sector 0 (512 bytes)." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Some new PCs with <ulink url=\"&extensiblefirmwareinterfaceefi;\">Extensible " "Firmware Interface (EFI)</ulink>, including Intel-based Macs, use <ulink url=" "\"&guidpartitiontablegpt;\">GUID Partition Table (GPT)</ulink> scheme to " "hold <ulink url=\"&diskpartitioning;\">disk partitioning</ulink> data not in " "the first sector." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <citerefentry><refentrytitle>fdisk</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> has been standard for the disk partitioning tool, " "<citerefentry><refentrytitle>parted</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> is replacing it." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of disk partition management packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "GPT" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "miscellaneous system utilities including <citerefentry><refentrytitle>fdisk</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>cfdisk</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNU Parted disk partition resizing program" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNOME partition editor based on <literal>libparted</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "GNU replacements of console <citerefentry><refentrytitle>fdisk</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>cfdisk</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>, etc." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "partition editor for the GPT disk" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "synchronize classic MBR partition table with the GPT one" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program to create device mappings for partitions" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Although <citerefentry><refentrytitle>parted</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> claims to create and to resize filesystem too, it " "is safer to do such things using best maintained specialized tools such as " "<citerefentry><refentrytitle>mkfs</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> (<citerefentry><refentrytitle>mkfs.msdos</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>mkfs.ext2</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>mkfs.ext3</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, …) and " "<citerefentry><refentrytitle>resize2fs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "In order to switch between <ulink url=\"&gpt;\">GPT</ulink> and <ulink url=" "\"&mbr;\">MBR</ulink>, you need to erase first few blocks of disk contents " "directly (see <xref linkend=\"_clearing_file_contents\"/>) and use " "\"<literal>parted /dev/sdx mklabel gpt</literal>\" or \"<literal>parted /dev/" "sdx mklabel msdos</literal>\" to set it. Please note \"<literal>msdos</" "literal>\" is use here for <ulink url=\"&mbr;\">MBR</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Accessing partition using UUID" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although reconfiguration of your partition or activation order of removable " "storage media may yield different names for partitions, you can access them " "consistently. This is also helpful if you have multiple disks and your BIOS " "doesn't give them consistent device names." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> with \"<literal>-U</literal>\" option can mount a block device " "using <ulink url=\"&uuid;\">UUID</ulink>, instead of using its file name " "such as \"<literal>/dev/sda3</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/etc/fstab</literal>\" (see <citerefentry><refentrytitle>fstab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>) can use <ulink url=" "\"&uuid;\">UUID</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Boot loaders (<xref linkend=\"_stage_2_the_boot_loader\"/>) may use <ulink " "url=\"&uuid;\">UUID</ulink> too." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can probe <ulink url=\"&uuid;\">UUID</ulink> of a block special device " "with <citerefentry><refentrytitle>blkid</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Device nodes of devices such as removable storage media can be made static " "by using <ulink url=\"&udevrules;\">udev rules</ulink>, if needed. See " "<xref linkend=\"_the_udev_system\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Filesystem configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For <ulink url=\"&extd;\">ext3</ulink> filesystem, the <literal>e2fsprogs</" "literal> package provides the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>mkfs.ext3</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to create new <ulink url=\"&extd;\">ext3</ulink> " "filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>fsck.ext3</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to check and to repair existing <ulink url=\"&extd;" "\">ext3</ulink> filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tune2fs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to configure superblock of <ulink url=\"&extd;" "\">ext3</ulink> filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>mkfs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>fsck</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> commands are provided " "by the <literal>e2fsprogs</literal> package as front-ends to various " "filesystem dependent programs (<literal>mkfs.fstype</literal> and " "<literal>fsck.fstype</literal>). For <ulink url=\"&extd;\">ext3</ulink> " "filesystem, they are <citerefentry><refentrytitle>mkfs.ext3</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>fsck.ext3</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> (they are hardlinked to " "<citerefentry><refentrytitle>mke2fs</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>e2fsck</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Similar commands are available for each filesystem supported by Linux." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of filesystem management packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for the <ulink url=\"&extc;\">ext2</ulink>/<ulink url=\"&extd;" "\">ext3</ulink>/<ulink url=\"&exte;\">ext4</ulink> filesystems" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for the <ulink url=\"&reiserfs;\">Reiserfs</ulink> filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for the <ulink url=\"&fat;\">FAT</ulink> filesystem. (Microsoft: " "MS-DOS, Windows)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for the <ulink url=\"&xfs;\">XFS</ulink> filesystem. (SGI: IRIX)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for the <ulink url=\"&ntfs;\">NTFS</ulink> filesystem. (Microsoft: " "Windows NT, …)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for the <ulink url=\"&jfs;\">JFS</ulink> filesystem. (IBM: AIX, " "OS/2)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for the <ulink url=\"&reisere;\">Reiser4</ulink> filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for <ulink url=\"&hfs;\">HFS</ulink> and <ulink url=\"&hfsplus;" "\">HFS Plus</ulink> filesystem. (Apple: Mac OS)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for the <ulink url=\"&btrfs;\">Btrfs</ulink> filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "program to zero free blocks from ext2/3 filesystems" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&exte;\">Ext4</ulink> filesystem is the default filesystem for " "the Linux system and strongly recommended to use it unless you have some " "specific reasons not to." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&btrfs;\">Btrfs</ulink> filesystem is available in Linux kernel " "3.2 (Debian <literal>wheezy</literal>). It is expected to be the next " "default filesystem after the ext4 filesystem." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "You should not use the Btrfs filesystem for your critical data yet before it " "aquires the live kernel space <citerefentry><refentrytitle>fsck</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> feature and the boot " "loader support." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Some tools allow access to filesystem without Linux kernel support (see " "<xref linkend=\"_manipulating_files_without_mounting_disk\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Filesystem creation and integrity check" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>mkfs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command creates the filesystem on a Linux system. " "The <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command provides the filesystem integrity check " "and repair on a Linux system." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "It is generally not safe to run <literal>fsck</literal> on <emphasis role=" "\"strong\">mounted filesystems</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Check files in \"<literal>/var/log/fsck/</literal>\" for the result of the " "<citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> command run from the boot script." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use \"<literal>shutdown -F -r now</literal>\" to force to run the " "<citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> command safely on all filesystems including root filesystem on " "reboot. See the <citerefentry><refentrytitle>shutdown</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> manpage for more." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Optimization of filesystem by mount options" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The basic static filesystem configuration is given by \"<literal>/etc/fstab</" "literal>\". For example," msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# <file system> <mount point> <type> <options> <dump> <pass>\n" "proc /proc proc defaults 0 0\n" "UUID=709cbe4c-80c1-56db-8ab1-dbce3146d2f7 / ext4 noatime,errors=remount-ro 0 1\n" "UUID=817bae6b-45d2-5aca-4d2a-1267ab46ac23 none swap sw 0 0\n" "/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&uuid;\">UUID</ulink> (see <xref linkend=" "\"_accessing_partition_using_uuid\"/>) may be used to identify a block " "device instead of normal block device names such as \"<literal>/dev/sda1</" "literal>\", \"<literal>/dev/sda2</literal>\", …" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Performance and characteristics of a filesystem can be optimized by mount " "options used on it (see <citerefentry><refentrytitle>fstab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>). Notable ones are the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>defaults</literal>\" option implies default options: " "\"<literal>rw,suid,dev,exec,auto,nouser,async</literal>\". (general)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>noatime</literal>\" or \"<literal>relatime</literal>\" option is " "very effective for speeding up the read access. (general)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>user</literal>\" option allows an ordinary user to mount the " "filesystem. This option implies \"<literal>noexec,nosuid,nodev</literal>\" " "option combination. (general, used for CD and floppy)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>noexec,nodev,nosuid</literal>\" option combination is used to " "enhance security. (general)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>noauto</literal>\" option limits mounting by explicit operation " "only. (general)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>data=journal</literal>\" option for ext3fs can enhance data " "integrity against power failure with some loss of write speed." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You need to provide kernel boot parameter (see <xref linkend=" "\"_stage_2_the_boot_loader\"/>), e.g. \"<literal>rootflags=data=journal</" "literal>\" to deploy a non-default journaling mode for the root filesystem. " "For <literal>lenny</literal>, the default jounaling mode is " "\"<literal>rootflags=data=ordered</literal>\". For <literal>squeeze</" "literal>, it is \"<literal>rootflags=data=writeback</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Optimization of filesystem via superblock" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Characteristics of a filesystem can be optimized via its superblock using " "the <citerefentry><refentrytitle>tune2fs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Execution of \"<literal>sudo tune2fs -l /dev/hda1</literal>\" displays the " "contents of the filesystem superblock on \"<literal>/dev/hda1</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Execution of \"<literal>sudo tune2fs -c 50 /dev/hda1</literal>\" changes " "frequency of filesystem checks (<literal>fsck</literal> execution during " "boot-up) to every 50 boots on \"<literal>/dev/hda1</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Execution of \"<literal>sudo tune2fs -j /dev/hda1</literal>\" adds " "journaling capability to the filesystem, i.e. filesystem conversion from " "<ulink url=\"&extc;\">ext2</ulink> to <ulink url=\"&extd;\">ext3</ulink> on " "\"<literal>/dev/hda1</literal>\". (Do this on the unmounted filesystem.)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Execution of \"<literal>sudo tune2fs -O extents,uninit_bg,dir_index /dev/" "hda1 && fsck -pf /dev/hda1</literal>\" converts it from <ulink url=" "\"&extd;\">ext3</ulink> to <ulink url=\"&exte;\">ext4</ulink> on \"<literal>/" "dev/hda1</literal>\". (Do this on the unmounted filesystem.)" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Filesystem conversion for the boot device to the <ulink url=\"&exte;\">ext4</" "ulink> filesystem should be avoided until <ulink url=" "\"&grubbootloadersutefilesystemwell;\">GRUB boot loader supports the ext4 " "filesystem well</ulink> and installed Linux Kernel version is newer than " "2.6.30." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Despite its name, <citerefentry><refentrytitle>tune2fs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> works not only on the " "<ulink url=\"&extc;\">ext2</ulink> filesystem but also on the <ulink url=" "\"&extd;\">ext3</ulink> and <ulink url=\"&exte;\">ext4</ulink> filesystems." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Optimization of hard disk" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Please check your hardware and read manpage of " "<citerefentry><refentrytitle>hdparam</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> before playing with hard disk configuration " "because this may be quite dangerous for the data integrity." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can test disk access speed of a hard disk, e.g. \"<literal>/dev/hda</" "literal>\", by \"<literal>hdparm -tT /dev/hda</literal>\". For some hard " "disk connected with (E)IDE, you can speed it up with \"<literal>hdparm -q -" "c3 -d1 -u1 -m16 /dev/hda</literal>\" by enabling the \"(E)IDE 32-bit I/O " "support\", enabling the \"using_dma flag\", setting \"interrupt-unmask flag" "\", and setting the \"multiple 16 sector I/O\" (dangerous!)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can test write cache feature of a hard disk, e.g. \"<literal>/dev/sda</" "literal>\", by \"<literal>hdparm -W /dev/sda</literal>\". You can disable " "its write cache feature with \"<literal>hdparm -W 0 /dev/sda</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may be able to read badly pressed CDROMs on modern high speed CD-ROM " "drive by slowing it down with \"<literal>setcd -x 2</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Optimization of solid state drive" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Performance and disk wear of the <ulink url=\"&solidstatedrivessd;\">solid " "state drive (SSD)</ulink> can be optimized as follows." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Use the latest Linux kernel. (>= 3.2)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Reduce disk writes for read disk accesses." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set \"<literal>noatime</literal>\" or \"<literal>relatime</literal>\" mount " "option in <literal>/etc/fstab</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Enable the <ulink url=\"&trim;\">TRIM</ulink> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set \"<literal>discard</literal>\" mount option in <literal>/etc/fstab</" "literal> for the ext4 filesystem, swap partition, Btrfs, etc. See " "<citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set \"<literal>discard</literal>\" option in <literal>/etc/lvm/lvm.conf</" "literal> for <ulink url=\"&lvm;\">LVM</ulink>. See " "<citerefentry><refentrytitle>lvm.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set \"<literal>discard</literal>\" option in <literal>/etc/crypttab</" "literal> for <ulink url=\"&dmcrypt;\">dm-crypt</ulink>. See " "<citerefentry><refentrytitle>crypttab</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Enable the SSD optimized disk space allocation scheme." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set \"<literal>ssd</literal>\" mount option in <literal>/etc/fstab</literal> " "for the Btrfs." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Make system flush data to the disk every 10 minutes for laptop PCs." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set \"<literal>commit=600</literal>\" mount option in <literal>/etc/fstab</" "literal>. See <citerefentry><refentrytitle>fstab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Set pm-utils to use laptop-mode even under AC operation. See <ulink url=" "\"&debianbtsgfjcga;\">Debian BTS #659260</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Changing flushing interval from normal 5 seconds to 10 minutes makes your " "data venerable to the power failure." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Using SMART to predict hard disk failure" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can monitor and log your hard disk which is compliant to <ulink url=" "\"&smart;\">SMART</ulink> with the <citerefentry><refentrytitle>smartd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> daemon." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Enable <ulink url=\"&smart;\">SMART</ulink> feature in <ulink url=\"&bios;" "\">BIOS</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Install the <literal>smartmontools</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Identify your hard disk drives by listing them with " "<citerefentry><refentrytitle>df</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "Let's assume a hard disk drive to be monitored as \"<literal>/dev/hda</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Check the output of \"<literal>smartctl -a /dev/hda</literal>\" to see if " "<ulink url=\"&smart;\">SMART</ulink> feature is actually enabled." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "If not, enable it by \"<literal>smartctl -s on -a /dev/hda</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Enable <citerefentry><refentrytitle>smartd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon to run by the following." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "uncomment \"<literal>start_smartd=yes</literal>\" in the \"<literal>/etc/" "default/smartmontools</literal>\" file." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "restart the <citerefentry><refentrytitle>smartd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon by \"<literal>sudo /etc/init.d/" "smartmontools restart</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The <citerefentry><refentrytitle>smartd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon can be customized with the <literal>/etc/" "smartd.conf</literal> file including how to be notified of warnings." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Specify temporary storage directory via $TMPDIR" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Applications create temporary files normally under the temporary storage " "directory \"<literal>/tmp</literal>\". If \"<literal>/tmp</literal>\" does " "not provide enough space, you can specify such temporary storage directory " "via the <literal>$TMPDIR</literal> variable for well-behaving programs." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Expansion of usable storage space via LVM" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For partitions created on <ulink url=\"&logicalvolumemanagerlvm;\">Logical " "Volume Manager (LVM)</ulink> (Linux feature) at install time, they can be " "resized easily by concatenating extents onto them or truncating extents from " "them over multiple storage devices without major system reconfiguration." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Deployment of the current LVM system may degrade guarantee against " "filesystem corruption offered by journaled filesystems such as ext3fs unless " "their system performance is sacrificed by disabling write cache of hard disk." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Expansion of usable storage space by mounting another partition" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have an empty partition (e.g., \"<literal>/dev/sdx</literal>\"), you " "can format it with <citerefentry><refentrytitle>mkfs.ext3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> it to a directory where you need more space. (You need to copy " "original data contents.)" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo mv work-dir old-dir\n" "$ sudo mkfs.ext3 /dev/sdx\n" "$ sudo mount -t ext3 /dev/sdx work-dir\n" "$ sudo cp -a old-dir/* work-dir\n" "$ sudo rm -rf old-dir" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may alternatively mount an empty disk image file (see <xref linkend=" "\"_making_the_empty_disk_image_file\"/>) as a loop device (see <xref linkend=" "\"_mounting_the_disk_image_file\"/>). The actual disk usage grows with the " "actual data stored." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Expansion of usable storage space by bind-mounting another directory" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have an empty directory (e.g., \"<literal>/path/to/emp-dir</literal>" "\") on another partition with usable space, you can mount(8) it with " "\"<literal>--bind</literal>\" option to a directory (e.g., \"<literal>work-" "dir</literal>\") where you need more space." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo mount --bind /path/to/emp-dir work-dir" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Expansion of usable storage space using symlink" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "This is a deprecated method. Use <xref linkend=" "\"_expansion_of_usable_storage_space_by_bind_mounting_another_directory\"/> " "instead, if possible." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have an empty directory (e.g., \"<literal>/path/to/emp-dir</literal>" "\") in another partition with usable space, you can create a symlink to the " "directory with <citerefentry><refentrytitle>ln</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo mv work-dir old-dir\n" "$ sudo mkdir -p /path/to/emp-dir\n" "$ sudo ln -sf /path/to/emp-dir work-dir\n" "$ sudo cp -a old-dir/* work-dir\n" "$ sudo rm -rf old-dir" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not use \"symlink to a directory\" for directories managed by the system " "such as \"<literal>/opt</literal>\". Such a symlink may be overwritten when " "the system is upgraded." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "Some software may not function well with \"symlink to a directory\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Expansion of usable storage space using aufs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have usable space in another partition (e.g., \"<literal>/path/to/</" "literal>\"), you can create a directory in it and stack that on to a " "directory where you need space with <ulink url=\"&aufs;\">aufs</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo mv work-dir old-dir\n" "$ sudo mkdir work-dir\n" "$ sudo mkdir -p /path/to/emp-dir\n" "$ sudo mount -t aufs -o br:/path/to/emp-dir:old-dir none work-dir" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Use of <ulink url=\"&aufs;\">aufs</ulink> for long term data storage is not " "good idea since it is under development and its design change may introduce " "issues." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "In order to use <ulink url=\"&aufs;\">aufs</ulink>, its utility package " "<literal>aufs-tools</literal> and kernel module package for <ulink url=" "\"&aufs;\">aufs</ulink> such as <literal>aufs-modules-2.6-amd64</literal> " "need to be installed." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&aufs;\">aufs</ulink> is used to provide writable root " "filesystem by many modern <ulink url=\"&livecd;\">live CD</ulink> projects." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Data encryption tips" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "With physical access to your PC, anyone can easily gain root privilege and " "access all the files on your PC (see <xref linkend=" "\"_securing_the_root_password\"/>). This means that login password system " "can not secure your private and sensitive data against possible theft of " "your PC. You must deploy data encryption technology to do it. Although " "<ulink url=\"&gnuprivacyguard;\">GNU privacy guard</ulink> (see <xref " "linkend=\"_data_security_infrastructure\"/>) can encrypt files, it takes " "some user efforts." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&dmcrypt;\">dm-crypt</ulink> and <ulink url=\"&ecryptfs;" "\">eCryptfs</ulink> facilitates automatic data encryption natively via Linux " "kernel modules with minimal user efforts." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of data encryption utilities" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "utilities for encrypted block device (<ulink url=\"&dmcrypt;\">dm-crypt</" "ulink> / <ulink url=\"&luks;\">LUKS</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "utilities for encrypted block device (<ulink url=\"&dmcrypt;\">dm-crypt</" "ulink> / <ulink url=\"&luks;\">LUKS</ulink>) with focus on mount/unmount by " "normal users" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "utilities for encrypted stacked filesystem (<ulink url=\"&ecryptfs;" "\">eCryptfs</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&dmcrypt;\">Dm-crypt</ulink> is a cryptographic filesystem " "using <ulink url=\"&devicemapper;\">device-mapper</ulink>. <ulink url=" "\"&devicemapper;\">Device-mapper</ulink> maps one block device to another." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&ecryptfs;\">eCryptfs</ulink> is another cryptographic " "filesystem using stacked filesystem. Stacked filesystem stacks itself on " "top of an existing directory of a mounted filesystem." msgstr "" #. type: Content of: <book><chapter><section><caution><para> msgid "" "Data encryption costs CPU time etc. Please weigh its benefits and costs." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "Entire Debian system can be installed on a encrypted disk by the <ulink url=" "\"&debianinstaller;\">debian-installer</ulink> (lenny or newer) using <ulink " "url=\"&dmcrypt;\">dm-crypt</ulink>/<ulink url=\"&luks;\">LUKS</ulink> and " "initramfs." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "See <xref linkend=\"_data_security_infrastructure\"/> for user space " "encryption utility: <ulink url=\"&gnuprivacyguard;\">GNU Privacy Guard</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Removable disk encryption with dm-crypt/LUKS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can encrypt contents of removable mass devices, e.g. USB memory stick on " "\"<literal>/dev/sdx</literal>\", using <ulink url=\"&dmcrypt;\">dm-crypt</" "ulink>/<ulink url=\"&luks;\">LUKS</ulink>. You simply formatting it as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# badblocks -c 1024 -s -w -t random -v /dev/sdx\n" "# fdisk /dev/sdx\n" "... \"n\" \"p\" \"1\" \"return\" \"return\" \"w\"\n" "# cryptsetup luksFormat /dev/sdx1\n" "...\n" "# cryptsetup luksOpen /dev/sdx1 sdx1\n" "...\n" "# ls -l /dev/mapper/\n" "total 0\n" "crw-rw---- 1 root root 10, 60 2008-10-04 18:44 control\n" "brw-rw---- 1 root disk 254, 0 2008-10-04 23:55 sdx1\n" "# mkfs.vfat /dev/mapper/sdx1\n" "...\n" "# cryptsetup luksClose sdx1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Then, it can be mounted just like normal one on to \"<literal>/media/<" "disk_label></literal>\", except for asking password (see <xref linkend=" "\"_removable_storage_device\"/>) under modern desktop environment, such as " "GNOME using <citerefentry><refentrytitle>gnome-mount</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. The difference is " "that every data written to it is encrypted. You may alternatively format " "media in different file format, e.g., ext3 with \"<literal>mkfs.ext3 /dev/" "sdx1</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If you are really paranoid for the security of data, you may need to " "overwrite multiple times in the above example. This operation is very time " "consuming though." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Encrypted swap partition with dm-crypt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's assume that your original \"<literal>/etc/fstab</literal>\" contains " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "/dev/sda7 swap sw 0 0" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can enable encrypted swap partition using <ulink url=\"&dmcrypt;\">dm-" "crypt</ulink> by as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# aptitude install cryptsetup\n" "# swapoff -a\n" "# echo \"cswap /dev/sda7 /dev/urandom swap\" >> /etc/crypttab\n" "# perl -i -p -e \"s/\\/dev\\/sda7/\\/dev\\/mapper\\/cswap/\" /etc/fstab\n" "# /etc/init.d/cryptdisks restart\n" " ...\n" "# swapon -a" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Automatically encrypting files with eCryptfs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can encrypt files written under \"<literal>~/Private/</literal>\" " "automatically using <ulink url=\"&ecryptfs;\">eCryptfs</ulink> and the " "<literal>ecryptfs-utils</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Run <citerefentry><refentrytitle>ecryptfs-setup-private</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and set up " "\"<literal>~/Private/</literal>\" by following prompts." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Activate \"<literal>~/Private/</literal>\" by running " "<citerefentry><refentrytitle>ecryptfs-mount-private</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Move sensitive data files to \"<literal>~/Private/</literal>\" and make " "symlinks as needed." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Candidates: \"<literal>~/.fetchmailrc</literal>\", \"<literal>~/.ssh/" "identity</literal>\", \"<literal>~/.ssh/id_rsa</literal>\", \"<literal>~/." "ssh/id_dsa</literal>\" and other files with \"<literal>go-rwx</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Move sensitive data directories to a subdirectory in \"<literal>~/Private/</" "literal>\" and make symlinks as needed." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Candidates: \"<literal>~/.gnupg</literal>\" and other directories with " "\"<literal>go-rwx</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Create symlink from \"<literal>~/Desktop/Private/</literal>\" to " "\"<literal>~/Private/</literal>\" for easier desktop operations." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Deactivate \"<literal>~/Private/</literal>\" by running " "<citerefentry><refentrytitle>ecryptfs-umount-private</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Activate \"<literal>~/Private/</literal>\" by issuing \"<literal>ecryptfs-" "mount-private</literal>\" as you need encrypted data." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Since <ulink url=\"&ecryptfs;\">eCryptfs</ulink> selectively encrypt only " "the sensitive files, its system cost is much less than using <ulink url=" "\"&dmcrypt;\">dm-crypt</ulink> on the entire root or \"<literal>/home</" "literal>\" device. It does not require any special on-disk storage " "allocation effort but cannot keep all filesystem metadata confidential." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Automatically mounting eCryptfs" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you use your login password for wrapping encryption keys, you can " "automate mounting eCryptfs via <ulink url=" "\"&pampluggableauthnticationmodules;\">PAM (Pluggable Authentication Modules)" "</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Insert the following line just before \"<literal>pam_permit.so</literal>\" " "in \"<literal>/etc/pam.d/common-auth</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "auth required pam_ecryptfs.so unwrap" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Insert the following line just at the last line in \"<literal>/etc/pam.d/" "common-session</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "session optional pam_ecryptfs.so unwrap" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Insert the following line at first active line in \"<literal>/etc/pam.d/" "common-password</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "password required pam_ecryptfs.so" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This is quite convenient." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Configuration errors of <ulink url=\"&pam;\">PAM</ulink> may lock you out of " "your own system. See <xref linkend=\"_authentication\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "If you use your login password for wrapping encryption keys, your encrypted " "data are as secure as your user login password (see <xref linkend=" "\"_good_password\"/>). Unless you are careful to set up a <ulink url=" "\"&strongpassword;\">strong password</ulink>, your data is at risk when " "someone runs <ulink url=\"&passwordcracking;\">password cracking</ulink> " "software after stealing your laptop (see <xref linkend=" "\"_securing_the_root_password\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Monitoring, controlling, and starting program activities" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Program activities can be monitored and controlled using specialized tools." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of tools for monitoring and controlling program activities" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>nice</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: run a program with modified scheduling priority" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>renice</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: modify the scheduling priority of a running process" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "\"<literal>/proc</literal>\" filesystem utilities: " "<citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>kill</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>watch</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "\"<literal>/proc</literal>\" filesystem utilities: " "<citerefentry><refentrytitle>killall</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>fuser</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>peekfd</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>pstree</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>time</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: run a program to report system resource usages with respect " "to time" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>sar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>iostat</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>mpstat</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, …: system performance tools for Linux" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Interactive System Activity Grapher for sysstat" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>lsof</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>: list open files by a running process using \"<literal>-p</" "literal>\" option" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>strace</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: trace system calls and signals" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ltrace</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: trace library calls" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>xtrace</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: trace communication between X11 client and server" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>powertop</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>: information about system power use on Intel-based " "laptops" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "run processes according to a schedule in background from " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> daemon" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "cron-like command scheduler for systems that don't run 24 hours a day" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>at</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> or <citerefentry><refentrytitle>batch</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>: run a job at a " "specified time or below certain load level" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "The <literal>procps</literal> packages provide very basics of monitoring, " "controlling, and starting program activities. You should learn all of them." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Timing a process" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Display time used by the process invoked by the command." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# time some_command >/dev/null\n" "real 0m0.035s # time on wall clock (elapsed real time)\n" "user 0m0.000s # time in user mode\n" "sys 0m0.020s # time in kernel mode" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The scheduling priority" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A nice value is used to control the scheduling priority for the process." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of nice values for the scheduling priority" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "nice value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "scheduling priority" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "19" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "lowest priority process (nice)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "very high priority process for user" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "-20" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "very high priority process for root (not-nice)" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# nice -19 top # very nice\n" "# nice --20 wodim -v -eject speed=2 dev=0,0 disk.img # very fast" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Sometimes an extreme nice value does more harm than good to the system. Use " "this command carefully." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The ps command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> command on the Debian support both BSD and SystemV features " "and helps to identify the process activity statically." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of ps command styles" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "style" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "typical command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "feature" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "BSD" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ps aux</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display %CPU %MEM" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "System V" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>ps -efH</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display PPID" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the zombie (defunct) children process, you can kill them by the parent " "process ID identified in the \"<literal>PPID</literal>\" field." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <citerefentry><refentrytitle>pstree</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command display a tree of processes." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The top command" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> on the Debian has rich features and helps to identify what " "process is acting funny dynamically." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of commands for top" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "command key" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>h</literal> or <literal>?</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "show help" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>f</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "set/reset display field" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>o</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "reorder display field" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>F</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "set sort key field" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>k</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "kill a process" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>r</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "renice a process" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "quit the <literal>top</literal> command" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Listing files opened by a process" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can list all files opened by a process with a process ID (PID), e.g. 1, " "by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo lsof -p 1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "PID=1 is usually <literal>init</literal> program." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Tracing program activities" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can trace program activity with <citerefentry><refentrytitle>strace</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>ltrace</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, or <citerefentry><refentrytitle>xtrace</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> for system calls and " "signals, library calls, or communication between X11 client and server." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can trace system calls of the <literal>ls</literal> command as the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo strace ls" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Identification of processes using files or sockets" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can also identify processes using files by " "<citerefentry><refentrytitle>fuser</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, e.g. for \"<literal>/var/log/mail.log</literal>\" by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo fuser -v /var/log/mail.log\n" " USER PID ACCESS COMMAND\n" "/var/log/mail.log: root 2946 F.... rsyslogd" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You see that file \"<literal>/var/log/mail.log</literal>\" is open for " "writing by the <citerefentry><refentrytitle>rsyslogd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> command." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can also identify processes using sockets by " "<citerefentry><refentrytitle>fuser</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, e.g. for \"<literal>smtp/tcp</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo fuser -v smtp/tcp\n" " USER PID ACCESS COMMAND\n" "smtp/tcp: Debian-exim 3379 F.... exim4" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Now you know your system runs <citerefentry><refentrytitle>exim4</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to handle <ulink url=" "\"&tcp;\">TCP</ulink> connections to <ulink url=\"&smtp;\">SMTP</ulink> port " "(25)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Repeating a command with a constant interval" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>watch</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> executes a program repeatedly with a constant interval while " "showing its output in fullscreen." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ watch w" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This displays who is logged on to the system updated every 2 seconds." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Repeating a command looping over files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are several ways to repeat a command looping over files matching some " "condition, e.g. matching glob pattern \"<literal>*.ext</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Shell for-loop method (see <xref linkend=\"_shell_loops\"/>):" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "for x in *.ext; do if [ -f \"$x\"]; then command \"$x\" ; fi; done" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>xargs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> combination:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "find . -type f -maxdepth 1 -name '*.ext' -print0 | xargs -0 -n 1 command" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> with \"<literal>-exec</literal>\" option with a command:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "find . -type f -maxdepth 1 -name '*.ext' -exec command '{}' \\;" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> with \"<literal>-exec</literal>\" option with a short shell " "script:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "find . -type f -maxdepth 1 -name '*.ext' -exec sh -c \"command '{}' && echo 'successful'\" \\;" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The above examples are written to ensure proper handling of funny file names " "such as ones containing spaces. See <xref linkend=" "\"_idioms_for_the_selection_of_files\"/> for more advance uses of " "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Starting a program from GUI" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can set up to start a process from <ulink url=" "\"&graphicaluserinterfacegui;\">graphical user interface (GUI)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Under GNOME desktop environment, a program can be started with proper " "argument by <emphasis role=\"strong\">double-clicking</emphasis> the " "launcher icon, by <emphasis role=\"strong\">drag-and-drop</emphasis> of a " "file icon to the launcher icon, or by \"<emphasis role=\"strong\">Open with …" "</emphasis>\" menu via right clicking a file icon. KDE can do the " "equivalent, too." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example under GNOME to create a launcher icon for " "<citerefentry><refentrytitle>mc</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> started in <citerefentry><refentrytitle>gnome-terminal</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create an executable program \"<literal>mc-term</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cat >/usr/local/bin/mc-term <<EOF\n" "#!/bin/sh\n" "gnome-terminal -e \"mc \\$1\"\n" "EOF\n" "# chmod 755 /usr/local/bin/mc-term" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create a desktop launcher as the following." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Right click desktop space to select \"<literal>Create Launcher …</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Set \"Type\" to \"<literal>Application</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Set \"Name\" to \"<literal>mc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Set \"Command\" to \"<literal>mc-term %f</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Click \"OK\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create an open-with association as as the following." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Right click folder to select \"<literal>Open with Other Application …</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Click open \"Use a custom command\" dialog and enter \"<literal>mc-term %f</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Click \"Open\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Launcher is a file at \"<literal>~/Desktop</literal>\" with \"<literal>." "desktop</literal>\" as its extension." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customizing program to be started" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Some programs start another program automatically. Here are check points " "for customizing this process." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Application configuration menu:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "GNOME desktop: \"System\" → \"Preferences\" → \"Preferred Application\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "KDE desktop: \"K\" → \"Control Center\" → \"KDE Components\" → \"Component " "Chooser\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Iceweasle browser: \"Edit\" → \"Preferences\" → \"Applications\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>mc</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: \"<literal>/etc/mc/mc.ext</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Environment variables such as \"<literal>$BROWSER</literal>\", \"<literal>" "$EDITOR</literal>\", \"<literal>$VISUAL</literal>\", and \"<literal>$PAGER</" "literal>\" (see <citerefentry><refentrytitle>eviron</" "refentrytitle><manvolnum>7</manvolnum></citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <citerefentry><refentrytitle>update-alternatives</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> system for programs " "such as \"<literal>editor</literal>\", \"<literal>view</literal>\", " "\"<literal>x-www-browser</literal>\", \"<literal>gnome-www-browser</literal>" "\", and \"<literal>www-browser</literal>\" (see <xref linkend=" "\"_setting_a_default_text_editor\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "the \"<literal>~/.mailcap</literal>\" and \"<literal>/etc/mailcap</literal>" "\" file contents which associate <ulink url=\"&mime;\">MIME</ulink> type " "with program (see <citerefentry><refentrytitle>mailcap</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The \"<literal>~/.mime.types</literal>\" and \"<literal>/etc/mime.types</" "literal>\" file contents which associate file name extension with <ulink url=" "\"&mime;\">MIME</ulink> type (see <citerefentry><refentrytitle>run-mailcap</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<citerefentry><refentrytitle>update-mime</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> updates the \"<literal>/etc/mailcap</literal>\" " "file using \"<literal>/etc/mailcap.order</literal>\" file (see " "<citerefentry><refentrytitle>mailcap.order</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>)." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The <literal>debianutils</literal> package provides " "<citerefentry><refentrytitle>sensible-browser</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>sensible-editor</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>sensible-pager</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> which make sensible decisions on which editor, " "pager, and web browser to call, respectively. I recommend you to read these " "shell scripts." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "In order to run a console application such as <literal>mutt</literal> under " "X as your preferred application, you should create an X application as " "following and set \"<literal>/usr/local/bin/mutt-term</literal>\" as your " "preferred application to be started as described." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cat /usr/local/bin/mutt-term <<EOF\n" "#!/bin/sh\n" "gnome-terminal -e \"mutt \\$@\"\n" "EOF\n" "chmod 755 /usr/local/bin/mutt-term" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Killing a process" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Use <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to kill (or send a signal to) a process by the " "process ID." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Use <citerefentry><refentrytitle>killall</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>pkill</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to do the same by the " "process command name and other attributes." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of frequently used signals for kill command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "signal value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "signal name" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "HUP" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "restart daemon" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "15" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "TERM" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "normal kill" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "9" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "KILL" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "kill hard" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Scheduling tasks once" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Run the <citerefentry><refentrytitle>at</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> command to schedule a one-time job by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ echo 'command -args'| at 3:40 monday" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Scheduling tasks regularly" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Use <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to schedule tasks regularly. See " "<citerefentry><refentrytitle>crontab</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>crontab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can schedule to run processes as a normal user, e.g. <literal>foo</" "literal> by creating a <citerefentry><refentrytitle>crontab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> file as \"<literal>/" "var/spool/cron/crontabs/foo</literal>\" with \"<literal>crontab -e</literal>" "\" command." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example of a <citerefentry><refentrytitle>crontab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> file." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# use /bin/sh to run commands, no matter what /etc/passwd says\n" "SHELL=/bin/sh\n" "# mail any output to paul, no matter whose crontab this is\n" "MAILTO=paul\n" "# Min Hour DayOfMonth Month DayOfWeek command (Day... are OR'ed)\n" "# run at 00:05, every day\n" "5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1\n" "# run at 14:15 on the first of every month -- output mailed to paul\n" "15 14 1 * * $HOME/bin/monthly\n" "# run at 22:00 on weekdays(1-5), annoy Joe. % for newline, last % for cc:\n" "0 22 * * 1-5 mail -s \"It's 10pm\" joe%Joe,%%Where are your kids?%.%%\n" "23 */2 1 2 * echo \"run 23 minutes after 0am, 2am, 4am ..., on Feb 1\"\n" "5 4 * * sun echo \"run at 04:05 every Sunday\"\n" "# run at 03:40 on the first Monday of each month\n" "40 3 1-7 * * [ \"$(date +%a)\" == \"Mon\" ] && command -args" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For the system not running continuously, install the <literal>anacron</" "literal> package to schedule periodic commands at the specified intervals as " "closely as machine-uptime permits. See " "<citerefentry><refentrytitle>anacron</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>anacrontab</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For scheduled system maintenance scripts, you can run them periodically from " "root account by placing such scripts in \"<literal>/etc/cron.hourly/</" "literal>\", \"<literal>/etc/cron.daily/</literal>\", \"<literal>/etc/cron." "weekly/</literal>\", or \"<literal>/etc/cron.monthly/</literal>\". " "Execution timings of these scripts can be customized by \"<literal>/etc/" "crontab</literal>\" and \"<literal>/etc/anacrontab</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Alt-SysRq key" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Insurance against system malfunction is provided by the kernel compile " "option \"Magic SysRq key\" (<ulink url=\"&sak;\">SAK</ulink> key) which is " "now the default for the Debian kernel. Pressing Alt-SysRq followed by one " "of the following keys does the magic of rescuing control of the system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of SAK command keys" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "key following Alt-SysRq" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of action" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "restore the keyboard from <emphasis role=\"strong\">r</emphasis>aw mode " "after X crashes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "change the console loglevel to <emphasis role=\"strong\">0</emphasis> to " "reduce error messages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<emphasis role=\"strong\">k</emphasis>ill all processes on the <emphasis " "role=\"strong\">current virtual console</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>e</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "send a SIGT<emphasis role=\"strong\">E</emphasis>RM to all processes, except " "for <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>i</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "send a SIGK<emphasis role=\"strong\">I</emphasis>LL to all processes, except " "for <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<emphasis role=\"strong\">s</emphasis>ync all mounted filesystems" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "remount all mounted filesystems read-only (<emphasis role=\"strong\">u</" "emphasis>mount)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "re<emphasis role=\"strong\">b</emphasis>oot the system without syncing or " "unmounting" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The combination of \"Alt-SysRq s\", \"Alt-SysRq u\", and \"Alt-SysRq r\" is " "good for getting out of really bad situations." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See \"<literal>/usr/share/doc/linux-doc-2.6.*/Documentation/sysrq.txt.gz</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "The Alt-SysRq feature may be considered a security risk by allowing users " "access to root-privileged functions. Placing \"<literal>echo 0 >/proc/" "sys/kernel/sysrq</literal>\" in \"<literal>/etc/rc.local</literal>\" or " "\"<literal>kernel.sysrq = 0</literal>\" in \"<literal>/etc/sysctl.conf</" "literal>\" disables the Alt-SysRq feature." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "From SSH terminal etc., you can use the Alt-SysRq feature by writing to the " "\"<literal>/proc/sysrq-trigger</literal>\". For example, \"<literal>echo s " "> /proc/sysrq-trigger; echo u > /proc/sysrq-trigger</literal>\" from " "the root shell prompt <emphasis role=\"strong\">s</emphasis>yncs and " "<emphasis role=\"strong\">u</emphasis>mounts all mounted filesystems." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "System maintenance tips" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Who is on the system?" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can check who is on the system by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>who</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> shows who is logged on." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>w</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> shows who is logged on and what they are doing." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>last</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> shows listing of last logged in user." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>lastb</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> shows listing of last bad logged in users." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "\"<literal>/var/run/utmp</literal>\", \"<literal>/var/log/wtmp</literal>\", " "and \"<literal>/var/run/utmp</literal>\" hold such user information. See " "<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>utmp</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Warning everyone" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can send message to everyone who is logged on to the system with " "<citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ echo \"We are shutting down in 1 hour\" | wall" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Hardware identification" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the <ulink url=\"&pci;\">PCI</ulink>-like devices (<ulink url=\"&agp;" "\">AGP</ulink>, <ulink url=\"&pciexpress;\">PCI-Express</ulink>, <ulink url=" "\"&cardbus;\">CardBus</ulink>, <ulink url=\"&expresscard;\">ExpressCard</" "ulink>, etc.), <citerefentry><refentrytitle>lspci</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> (probably with " "\"<literal>-nn</literal>\" option) is a good start for the hardware " "identification" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively, you can identify the hardware by reading contents of " "\"<literal>/proc/bus/pci/devices</literal>\" or browsing directory tree " "under \"<literal>/sys/bus/pci</literal>\" (see <xref linkend=" "\"_procfs_and_sysfs\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of hardware identification tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Linux PCI Utilities: <citerefentry><refentrytitle>lspci</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Linux USB utilities: <citerefentry><refentrytitle>lsusb</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "PCMCIA utilities for Linux 2.6: <citerefentry><refentrytitle>pccardctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "collection of tools for SCSI hardware management: " "<citerefentry><refentrytitle>lsscsi</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "system information obtained from \"<literal>/proc</literal>\": " "<citerefentry><refentrytitle>lsdev</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "information about hardware configuration: <citerefentry><refentrytitle>lshw</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "hardware identification system: <citerefentry><refentrytitle>discover</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Hardware configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although most of the hardware configuration on modern GUI desktop systems " "such as GNOME and KDE can be managed through accompanying GUI configuration " "tools, it is a good idea to know some basics methods to configure them." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of hardware configuration tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Hardware Abstraction Layer: <citerefentry><refentrytitle>lshal</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Linux console font and keytable utilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "X server utilities: <citerefentry><refentrytitle>xset</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>xmodmap</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "daemon to manage events delivered by the Advanced Configuration and Power " "Interface (ACPI)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utility to display information on ACPI devices" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "daemon to manage events delivered by the Advanced Power Management (APM)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "daemon to allow idle hard disks to spin down" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "daemon to put a laptop to sleep during inactivity" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "hard disk access optimization (see <xref linkend=\"_optimization_of_hard_disk" "\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "control and monitor storage systems using <ulink url=\"&smart;\">S.M.A.R.T.</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "collection of tools for serial port management" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "collection of tools for memory hardware management" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "collection of tools for <ulink url=\"&scsi;\">SCSI</ulink> hardware " "management" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utility to configure touchpad devices" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "compact disc drive access optimization" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "larger mouse cursors for X" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, <ulink url=\"&acpi;\">ACPI</ulink> is a newer framework for the power " "management system than <ulink url=\"&apm;\">APM</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "CPU frequency scaling on modern system is governed by kernel modules such as " "<literal>acpi_cpufreq</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "System and hardware time" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The following sets system and hardware time to MM/DD hh:mm, CCYY." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# date MMDDhhmmCCYY\n" "# hwclock --utc --systohc\n" "# hwclock --show" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Times are normally displayed in the local time on the Debian system but the " "hardware and system time usually use <ulink url=\"&utgmt;\">UT(GMT)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the hardware (BIOS) time is set to UT, change the setting to " "\"<literal>UTC=yes</literal>\" in the \"<literal>/etc/default/rcS</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you wish to update system time via network, consider to use the <ulink " "url=\"&ntp;\">NTP</ulink> service with the packages such as <literal>ntp</" "literal>, <literal>ntpdate</literal>, and <literal>chrony</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&managingaccuratedateandtimehowto;\">Managing Accurate Date and " "Time HOWTO</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&ntppublicservicesproject;\">NTP Public Services Project</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The <literal>ntp-doc</literal> package" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<citerefentry><refentrytitle>ntptrace</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> in the <literal>ntp</literal> package can trace a " "chain of NTP servers back to the primary source." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The terminal configuration" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are several components to configure character console and " "<citerefentry><refentrytitle>ncurses</refentrytitle><manvolnum>3</" "manvolnum></citerefentry> system features." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The \"<literal>/etc/terminfo/*/*</literal>\" file " "(<citerefentry><refentrytitle>terminfo</refentrytitle><manvolnum>5</" "manvolnum></citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The \"<literal>$TERM</literal>\" environment variable " "(<citerefentry><refentrytitle>term</refentrytitle><manvolnum>7</manvolnum></" "citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>setterm</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>stty</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>tic</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, and <citerefentry><refentrytitle>toe</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <literal>terminfo</literal> entry for <literal>xterm</literal> " "doesn't work with a non-Debian <literal>xterm</literal>, change your " "terminal type, \"<literal>$TERM</literal>\", from \"<literal>xterm</literal>" "\" to one of the feature-limited versions such as \"<literal>xterm-r6</" "literal>\" when you log in to a Debian system remotely. See \"<literal>/usr/" "share/doc/libncurses5/FAQ</literal>\" for more. \"<literal>dumb</literal>\" " "is the lowest common denominator for \"<literal>$TERM</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The sound infrastructure" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Device drivers for sound cards for current Linux 2.6 are provided by <ulink " "url=\"&advancedlinuxsouarchitecturealsa;\">Advanced Linux Sound Architecture " "(ALSA)</ulink>. ALSA provides emulation mode for previous <ulink url=" "\"&opensoundsystemoss;\">Open Sound System (OSS)</ulink> for compatibility." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Run \"<literal>dpkg-reconfigure linux-sound-base</literal>\" to select the " "sound system to use ALSA via blacklisting of kernel modules. Unless you have " "very new sound hardware, udev infrastructure should configure your sound " "system." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use \"<literal>cat /dev/urandom > /dev/audio</literal>\" or " "<citerefentry><refentrytitle>speaker-test</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to test speaker. (^C to stop)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you can not get sound, your speaker may be connected to a muted output. " "Modern sound system has many outputs. " "<citerefentry><refentrytitle>alsamixer</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> in the <literal>alsa-utils</literal> package is " "useful to configure volume and mute settings." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Application softwares may be configured not only to access sound devices " "directly but also to access them via some standardized sound server system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of sound packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "base package for ALSA and OSS sound systems" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ALSA driver configuration files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for configuring and using ALSA" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "OSS compatibility under ALSA preventing \"<literal>/dev/dsp not found</" "literal>\" errors" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&jackaudioconnectionkitjack;\">JACK Audio Connection Kit. (JACK)" "</ulink> server (low latency)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&jackaudioconnectionkitjack;\">JACK Audio Connection Kit. (JACK)" "</ulink> library (low latency)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&networkaudiosystemnas;\">Network Audio System (NAS)</ulink> " "server" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&networkaudiosystemnas;\">Network Audio System (NAS)</ulink> " "library" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&pulseaudio;\">PulseAudio</ulink> server, replacement for ESD" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&pulseaudio;\">PulseAudio</ulink> client library, replacement " "for ESD" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&gstreamer;\">GStreamer</ulink>: GNOME sound engine" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&xine;\">xine</ulink>: KDE older sound engine" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&phonon;\">Phonon</ulink>: KDE sound engine" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There is usually a common sound engine for each popular desktop environment. " "Each sound engine used by the application can choose to connect to different " "sound servers." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Disabling the screen saver" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For disabling the screen saver, use following commands." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of commands for disabling the screen saver" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The Linux console" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>setterm -powersave off</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The X Window (turning off screensaver)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xset s off</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The X Window (disabling dpms)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xset -dpms</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "The X Window (GUI configuration of screen saver)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>xscreensaver-command -prefs</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Disabling beep sounds" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "One can always unplug the PC speaker to disable beep sounds. Removing " "<literal>pcspkr</literal> kernel module does this for you." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following prevents the <citerefentry><refentrytitle>readline</" "refentrytitle><manvolnum>3</manvolnum></citerefentry> program used by " "<citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> to beep when encountering \"<literal>\\a</literal>\" (ASCII=7)." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ echo \"set bell-style none\">> ~/.inputrc" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Memory usage" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The kernel boot message in the \"<literal>/var/log/dmesg</literal>\" " "contains the total exact size of available memory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>free</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>top</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> display information on " "memory resources on the running system." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# grep '\\] Memory' /var/log/dmesg\n" "[ 0.004000] Memory: 990528k/1016784k available (1975k kernel code, 25868k reserved, 931k data, 296k init)\n" "$ free -k\n" " total used free shared buffers cached\n" "Mem: 997184 976928 20256 0 129592 171932\n" "-/+ buffers/cache: 675404 321780\n" "Swap: 4545576 4 4545572" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Do not worry about the large size of \"<literal>used</literal>\" and the " "small size of \"<literal>free</literal>\" in the \"<literal>Mem:</literal>\" " "line, but read the one under them (675404 and 321780 in the example below) " "and relax." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For my MacBook with 1GB=1048576k DRAM (video system steals some of this), I " "see the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of memory sizes reported" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "report" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Total size in dmesg" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1016784k = 1GB - 31792k" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Free in dmesg" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "990528k" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Total under shell" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "997184k" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Free under shell" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "20256k (but effectively 321780k)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "System security and integrity check" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Poor system maintenance may expose your system to external exploitation." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For system security and integrity check, you should start with the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <literal>debsums</literal> package, See " "<citerefentry><refentrytitle>debsums</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <xref linkend=" "\"_top_level_release_file_and_authenticity\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <literal>chkrootkit</literal> package, See " "<citerefentry><refentrytitle>chkrootkit</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <literal>clamav</literal> package family, See " "<citerefentry><refentrytitle>clamscan</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>freahclam</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debiansecurityfaq;\">Debian security FAQ</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&securingdebianmanual;\">Securing Debian Manual</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of tools for system security and integrity check" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "daemon to mail anomalies in the system logfiles to the administrator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utility to verify installed package files against MD5 checksums" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rootkit;\">rootkit</ulink> detector" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "anti-virus utility for Unix - command-line interface" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "report system security vulnerabilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "file and directory integrity checker" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "active password cracking tool" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Advanced Intrusion Detection Environment - static binary" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "security hardening tool" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "file integrity verification program" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "password guessing program" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a simple script to check for typical world writable incorrect file " "permissions." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# find / -perm 777 -a \\! -type s -a \\! -type l -a \\! \\( -type d -a -perm 1777 \\)" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Since the <literal>debsums</literal> package uses <ulink url=\"&mdf;\">MD5</" "ulink> checksums stored locally, it can not be fully trusted as the system " "security audit tool against malicious attacks." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The kernel" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debian distributes modularized <ulink url=\"&linuxkernel;\">Linux kernel</" "ulink> as packages for supported architectures." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Linux kernel 2.6" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are few notable features on Linux kernel 2.6 compared to 2.4." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Devices are created by the udev system (see <xref linkend=\"_the_udev_system" "\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Read/write accesses to IDE CD/DVD devices do not use the <literal>ide-scsi</" "literal> module." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Network packet filtering functions use <literal>iptable</literal> kernel " "modules." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Kernel parameters" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Many Linux features are configurable via kernel parameters as follows." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Kernel parameters initialized by the bootloader (see <xref linkend=" "\"_stage_2_the_boot_loader\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Kernel parameters changed by <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> at runtime for ones " "accessible via sysfs (see <xref linkend=\"_procfs_and_sysfs\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Module parameters set by arguments of <citerefentry><refentrytitle>modprobe</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> when a module is " "activated (see <xref linkend=\"_mounting_the_disk_image_file\"/>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See \"<literal>kernel-parameters.txt(.gz)</literal>\" and other related " "documents in the Linux kernel documentation (\"<literal>/usr/share/doc/linux-" "doc-2.6.*/Documentation/filesystems/*</literal>\") provided by the " "<literal>linux-doc-2.6.*</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Kernel headers" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Most <emphasis role=\"strong\">normal programs</emphasis> don't need kernel " "headers and in fact may break if you use them directly for compiling. They " "should be compiled against the headers in \"<literal>/usr/include/linux</" "literal>\" and \"<literal>/usr/include/asm</literal>\" provided by the " "<literal>libc6-dev</literal> package (created from the <literal>glibc</" "literal> source package) on the Debian system." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For compiling some kernel-specific programs such as the kernel modules from " "the external source and the automounter daemon (<literal>amd</literal>), you " "must include path to the corresponding kernel headers, e.g. \"<literal>-I/" "usr/src/linux-particular-version/include/</literal>\", to your command line. " "<citerefentry><refentrytitle>module-assistant</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> (or its short form <literal>m-a</literal>) helps " "users to build and install module package(s) easily for one or more custom " "kernels." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Compiling the kernel and related modules" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Debian has its own method of compiling the kernel and related modules." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "List of key packages to be installed for the kernel recompilation on the " "Debian system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "essential packages for building Debian packages: <literal>make</literal>, " "<literal>gcc</literal>, …" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "compress and decompress utilities for bz2 files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "developer's libraries and docs for ncurses" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "git: distributed revision control system used by the Linux kernel" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "provide fakeroot environment for building package as non-root" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tool to build an initramfs (Debian specific)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&dynamickernelmodulesupportdkms;\">dynamic kernel module " "support (DKMS)</ulink> (generic)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "helper scripts for a Debian Package maintainer (Debian specific)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you use <literal>initrd</literal> in <xref linkend=" "\"_stage_2_the_boot_loader\"/>, make sure to read the related information in " "<citerefentry><refentrytitle>initramfs-tools</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>update-initramfs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>mkinitramfs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>initramfs.conf</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not put symlinks to the directories in the source tree (e.g. \"<literal>/" "usr/src/linux*</literal>\") from \"<literal>/usr/include/linux</literal>\" " "and \"<literal>/usr/include/asm</literal>\" when compiling the Linux kernel " "source. (Some outdated documents suggest this.)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "When compiling the latest Linux kernel on the Debian <literal>stable</" "literal> system, the use of backported latest tools from the Debian " "<literal>unstable</literal> may be needed." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The <ulink url=\"&dynamickernelmodulesupportdkms;\">dynamic kernel module " "support (DKMS)</ulink> is a new distribution independent framework designed " "to allow individual kernel modules to be upgraded without changing the whole " "kernel. This will be endorsed for the maintenance of out-of-tree modules for " "<literal>squeeze</literal>. This also makes it very easy to rebuild modules " "as you upgrade kernels." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Compiling the kernel source: Debian Kernel Team recommendation" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For building custom kernel binary packages from the upstream kernel source, " "you should use the \"<literal>deb-pkg</literal>\" target provided by it." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo apt-get build-dep linux-2.6\n" "$ cd /usr/src\n" "$ wget http://www.kernel.org/pub/linux/kernel/v3.2/linux-<version>.tar.bz2\n" "$ tar -xjvf linux-<version>.tar.bz2\n" "$ cd linux-<version>\n" "$ cp /boot/config-<version> .config\n" "$ make menuconfig\n" " ...\n" "$ make deb-pkg" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The linux-source-<version> package provides the Linux kernel source " "with Debian patches as \"<literal>/usr/src/linux-<version>.tar.bz2</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For building specific binary packages from the Debian kernel source package, " "you should use the \"<literal>binary-arch_<architecture>_<" "featureset>_<flavour></literal>\" targets in \"<literal>debian/" "rules.gen</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo apt-get build-dep linux-2.6\n" "$ apt-get source linux-2.6\n" "$ cd linux-2.6-*\n" "$ fakeroot make -f debian/rules.gen binary-arch_i386_none_686" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See further information:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Debian Wiki: <ulink url=\"&kernelfaq;\">KernelFAQ</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Debian Wiki: <ulink url=\"&debiankernel;\">DebianKernel</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Debian Linux Kernel Handbook: <ulink url=\"&httpkernelhandbokaliothdebianorg;" "\">http://kernel-handbook.alioth.debian.org</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Hardware drivers and firmware" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The hardware driver is the code running on the target system. Most hardware " "drivers are available as free software now and are included in the normal " "Debian kernel packages in the <literal>main</literal> area." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&gpu;\">GPU</ulink> driver" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Intel GPU driver (<literal>main</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "AMD/ATI GPU driver (<literal>main</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "NVIDIA GPU driver (<literal>main</literal> for <ulink url=\"&nouveau;" "\">nouveau</ulink> driver, and <literal>non-free</literal> for binary-only " "drivers supported by the vendor.)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&softmodem;\">Softmodem</ulink> driver" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "martian-modem and sl-modem-dkms packages (<literal>non-free</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The firmware is the code or data loaded on the device (e.g., CPU <ulink url=" "\"µcode;\">microcode</ulink>, rendering code running on GPU, or <ulink " "url=\"&fpga;\">FPGA</ulink> / <ulink url=\"&cpld;\">CPLD</ulink> data, …). " "Some firmware packages are available as free software but many firmware " "packages are not available as free software since they contain sourceless " "binary data." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "firmware-linux-free (<literal>main</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "firmware-linux-nonfree (<literal>non-free</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "firmware-linux-* (<literal>non-free</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "*-firmware (<literal>non-free</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "intel-microcode (<literal>non-free</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "amd64-microcode (<literal>non-free</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that <literal>non-free</literal> and <literal>contrib</literal> " "packages are not part of the Debian system. The access configuration to " "enable and to disable the <literal>non-free</literal> and <literal>contrib</" "literal> areas is described in <xref linkend=\"_debian_archive_basics\"/>. " "You should be aware of negatives associated with the use of the <literal>non-" "free</literal> and <literal>contrib</literal> packages as described in <xref " "linkend=\"_debian_is_100_free_software\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Virtualized system" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Use of virtualized system enables us to run multiple instances of system " "simultaneously on a single hardware." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "See <ulink url=\"&httpwikidebianoremvirtualization;\">http://wiki.debian.org/" "SystemVirtualization</ulink> ." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Virtualization tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are several system <ulink url=\"&virtualization;\">virtualization</" "ulink> and <ulink url=\"&emulation;\">emulation</ulink> related packages in " "Debian beyond simple <ulink url=\"&chroot;\">chroot</ulink>. Some packages " "also help you to setup such system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of virtualization tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "specialized tool for executing Debian binary packages in chroot" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tool for building Debian binary packages from Debian sources" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "personal package builder for Debian packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "bootstrap a basic Debian system (written in sh)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "bootstrap a Debian system (written in C)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tool for building complete Linux filesystem images" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&virtualmachinemanager;\">Virtual Machine Manager</ulink>: " "desktop application for managing virtual machines" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "programs for the <ulink url=\"&libvirt;\">libvirt</ulink> library" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&usermodelinux;\">User-mode Linux</ulink> (kernel)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&bochs;\">Bochs</ulink>: IA-32 PC emulator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&qemu;\">QEMU</ulink>: fast generic processor emulator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&qemu;\">QEMU</ulink>: full system emulation binaries" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&qemu;\">QEMU</ulink>: user mode emulation binaries" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&qemu;\">QEMU</ulink>: utilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&kvm;\">KVM</ulink>: full virtualization on x86 hardware with " "the <ulink url=\"&hardwareassistedvirtualization;\">hardware-assisted " "virtualization</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&virtualbox;\">VirtualBox</ulink>: x86 virtualization solution " "on i386 and amd64" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tools to manage debian <ulink url=\"&xen;\">XEN</ulink> virtual server" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&wine;\">Wine</ulink>: Windows API Implementation (standard " "suite)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&dosbox;\">DOSBox</ulink>: x86 emulator with Tandy/Herc/CGA/EGA/" "VGA/SVGA graphics, sound and DOS" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&dosemu;\">DOSEMU</ulink>: The Linux DOS Emulator" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&openvz;\">OpenVZ</ulink> server virtualization solution - " "control tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&openvz;\">OpenVZ</ulink> server virtualization solution - " "quota tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&linuxcontainers;\">Linux containers</ulink> user space tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See Wikipedia article <ulink url=\"&comparisonofplatmvirtualmachines;" "\">Comparison of platform virtual machines</ulink> for detail comparison of " "different platform virtualization solutions." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Virtualization work flow" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Some functionalities described here are only available in <literal>squeeze</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Default Debian kernels support <ulink url=\"&kvm;\">KVM</ulink> since " "<literal>lenny</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Typical work flow for <ulink url=\"&virtualization;\">virtualization</ulink> " "involves several steps." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Create an empty filesystem (a file tree or a disk image)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The file tree can be created by \"<literal>mkdir -p /path/to/chroot</literal>" "\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The raw disk image file can be created with <citerefentry><refentrytitle>dd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (see <xref linkend=" "\"_making_the_disk_image_file\"/> and <xref linkend=" "\"_making_the_empty_disk_image_file\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>qemu-img</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> can be used to create and convert disk image files " "supported by <ulink url=\"&qemu;\">QEMU</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The raw and <ulink url=\"&vmdk;\">VMDK</ulink> file format can be used as " "common format among virtualization tools." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Mount the disk image with <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to the filesystem " "(optional)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the raw disk image file, mount it as <ulink url=\"&loopdevice;\">loop " "device</ulink> or <ulink url=\"&devicemapper;\">device mapper</ulink> " "devices (see <xref linkend=\"_mounting_the_disk_image_file\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For disk images supported by <ulink url=\"&qemu;\">QEMU</ulink>, mount them " "as <ulink url=\"&networkblockdevice;\">network block device</ulink> (see " "<xref linkend=\"_mounting_the_virtual_disk_image_file\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Populate the target filesystem with required system data." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Use programs such as <literal>debootstrap</literal> and " "<literal>cdebootstrap</literal> help this process (see <xref linkend=" "\"_chroot_system\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use installers of OSs under the full system emulation." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Run a program under a virtualized environment." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&chroot;\">chroot</ulink> provides basic virtualized " "environment enough to compile programs, run console applications, and run " "daemons in it." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&qemu;\">QEMU</ulink> provides cross-platform CPU emulation." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&qemu;\">QEMU</ulink> with <ulink url=\"&kvm;\">KVM</ulink> " "provides full system emulation by the <ulink url=" "\"&hardwareassistedvirtualization;\">hardware-assisted virtualization</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&virtualbox;\">VirtualBox</ulink> provides full system " "emulation on i386 and amd64 with or without the <ulink url=" "\"&hardwareassistedvirtualization;\">hardware-assisted virtualization</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Mounting the virtual disk image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "For the raw disk image file, see <xref linkend=\"_the_disk_image\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For other virtual disk image files, you can use " "<citerefentry><refentrytitle>qemu-nbd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to export them using <ulink url=" "\"&networkblockdevice;\">network block device</ulink> protocol and mount " "them using the <literal>nbd</literal> kernel module." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>qemu-nbd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> supports disk formats supported by <ulink url=" "\"&qemu;\">QEMU</ulink>: <ulink url=\"&qemu;\">QEMU</ulink> supports " "following disk formats: raw, <ulink url=\"&qcowcqcow;\">qcow2, qcow</ulink>, " "<ulink url=\"&vmdk;\">vmdk</ulink>, <ulink url=\"&vdi;\">vdi</ulink>, <ulink " "url=\"&bochs;\">bochs</ulink>, cow (user-mode Linux copy-on-write), <ulink " "url=\"¶llels;\">parallels</ulink>, <ulink url=\"&dmg;\">dmg</ulink>, " "<ulink url=\"&cloop;\">cloop</ulink>, <ulink url=\"&vpc;\">vpc</ulink>, " "vvfat (virtual VFAT), and host_device." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&networkblockdevice;\">network block device</ulink> can " "support partitions in the same way as the <ulink url=\"&loopdevice;\">loop " "device</ulink> (see <xref linkend=\"_mounting_the_disk_image_file\"/>). You " "can mount the first partition of \"<literal>disk.img</literal>\" as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# modprobe nbd max_part=16\n" "# qemu-nbd -v -c /dev/nbd0 disk.img\n" "...\n" "# mkdir /mnt/part1\n" "# mount /dev/nbd0p1 /mnt/part1" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may export only the first partition of \"<literal>disk.img</literal>\" " "using \"<literal>-P 1</literal>\" option to " "<citerefentry><refentrytitle>qemu-nbd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Chroot system" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> offers most basic way to run different instances of the GNU/" "Linux environment on a single system simultaneously without rebooting." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Examples below assumes both parent system and chroot system share the same " "CPU architecture." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can learn how to setup and use <citerefentry><refentrytitle>chroot</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> by running " "<citerefentry><refentrytitle>pbuilder</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> program under <citerefentry><refentrytitle>script</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ sudo mkdir /sid-root\n" "$ sudo pbuilder --create --no-targz --debug --buildplace /sid-root" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You see how <citerefentry><refentrytitle>debootstrap</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> or " "<citerefentry><refentrytitle>cdebootstrap</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> populate system data for <literal>sid</literal> " "environment under \"<literal>/sid-root</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "These <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>cdebootstrap</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> are used to <ulink url=" "\"&installdebian;\">install Debian</ulink> by the Debian Installer. These " "can also be used to install Debian to a system without using a Debian " "install disk, but instead from another GNU/Linux distribution." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ sudo pbuilder --login --no-targz --debug --buildplace /sid-root" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You see how a system shell running under <literal>sid</literal> environment " "is created as the following." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Copy local configuration (<literal>\"/etc/hosts</literal>\", <literal>\"/etc/" "hostname</literal>\", <literal>\"/etc/resolv.conf</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Mount \"<literal>/proc</literal>\" filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Mount \"<literal>/dev/pts</literal>\" filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Create \"<literal>/usr/sbin/policy-rc.d</literal>\" which always exits with " "101" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Run \"<literal>chroot /sid-root bin/bash -c 'exec -a -bash bin/bash'</" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Some programs under chroot may require access to more files from the parent " "system to function than <literal>pbuilder</literal> provides. For example, " "\"<literal>/sys</literal>\", \"<literal>/etc/passwd</literal>\", \"<literal>/" "etc/group</literal>\", \"<literal>/var/run/utmp</literal>\", \"<literal>/var/" "log/wtmp</literal>\", etc. may need to be bind-mounted or copied." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The \"<literal>/usr/sbin/policy-rc.d</literal>\" file prevents daemon " "programs to be started automatically on Debian system. See \"<literal>/usr/" "share/doc/sysv-rc/README.policy-rc.d.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The original purpose of the specialized chroot package, <literal>pbuilder</" "literal> is to construct a chroot system and builds a package inside the " "chroot. It is an ideal system to use to check that a package's build-" "dependencies are correct, and to be sure that unnecessary and wrong build " "dependencies do not exist in the resulting package." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Similar <literal>schroot</literal> package may give you an idea to run " "<literal>i386</literal> chroot system under <literal>amd64</literal> parent " "system." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Multiple desktop systems" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I recommend you to use <ulink url=\"&qemu;\">QEMU</ulink> or <ulink url=" "\"&virtualbox;\">VirtualBox</ulink> on a Debian <literal>stable</literal> " "system to run multiple desktop systems safely using <ulink url=" "\"&virtualization;\">virtualization</ulink>. These enable you to run " "desktop applications of Debian <literal>unstable</literal> and " "<literal>testing</literal> without usual risks associated with them." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since pure <ulink url=\"&qemu;\">QEMU</ulink> is very slow, it is " "recommended to accelerate it with <ulink url=\"&kvm;\">KVM</ulink> when the " "host system support it." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The virtual disk image \"<literal>virtdisk.qcow2</literal>\" containing " "Debian system for <ulink url=\"&qemu;\">QEMU</ulink> can be created using " "<ulink url=\"&debianinstallersmallcds;\">debian-installer: Small CDs</ulink> " "as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ wget http://cdimage.debian.org/debian-cd/5.0.3/amd64/iso-cd/debian-503-amd64-netinst.iso\n" "$ qemu-img create -f qcow2 virtdisk.qcow2 5G\n" "$ qemu -hda virtdisk.qcow2 -cdrom debian-503-amd64-netinst.iso -boot d -m 256\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See more tips at <ulink url=\"&debianwikiqemu;\">Debian wiki: QEMU</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<ulink url=\"&virtualbox;\">VirtualBox</ulink> comes with <ulink url=\"&qt;" "\">Qt</ulink> GUI tools and quite intuitive. Its GUI and command line tools " "are explained in <ulink url=\"&virtualboxusermanual;\">VirtualBox User " "Manual</ulink> and <ulink url=\"&virtualboxusermanualpdf;\">VirtualBox User " "Manual (PDF)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Running other GNU/Linux distributions such as <ulink url=\"&ubuntu;" "\">Ubuntu</ulink> and <ulink url=\"&fedra;\">Fedra</ulink> under <ulink url=" "\"&virtualization;\">virtualization</ulink> is a great way to learn " "configuration tips. Other proprietary OSs may be run nicely under this GNU/" "Linux <ulink url=\"&virtualization;\">virtualization</ulink>, too." msgstr "" #. type: Content of: <book><chapter><title> msgid "Data management" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Tools and tips for managing binary and text data on the Debian system are " "described." msgstr "" #. type: Content of: <book><chapter><warning><para> msgid "" "The uncoordinated write access to actively accessed devices and files from " "multiple processes must not be done to avoid the <ulink url=\"&racecondition;" "\">race condition</ulink>. <ulink url=\"&filelocking;\">File locking</" "ulink> mechanisms using <citerefentry><refentrytitle>flock</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> may be used to avoid " "it." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Sharing, copying, and archiving" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The security of the data and its controlled sharing have several aspects." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The creation of data archive" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The remote storage access" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The duplication" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The tracking of the modification history" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The facilitation of data sharing" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The prevention of unauthorized file access" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The detection of unauthorized file modification" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "These can be realized by using some combination of tools." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Archive and compression tools" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Copy and synchronization tools" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Network filesystems" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Removable storage media" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The secure shell" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The authentication system" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Version control system tools" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Hash and cryptographic encryption tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a summary of archive and compression tools available on the Debian " "system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of archive and compression tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "extension" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "comment" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.tar</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the standard archiver (de facto standard)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.cpio</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Unix System V style archiver, use with <citerefentry><refentrytitle>find</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.ar</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "archiver for the creation of static libraries" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.jar</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>fastjar</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "archiver for Java (zip like)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.pax</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>pax</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "new POSIX standard archiver, compromise between <literal>tar</literal> and " "<literal>cpio</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.gz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>gzip</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>zcat</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "GNU <ulink url=\"&lzhh;\">LZ77</ulink> compression utility (de facto " "standard)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.bz2</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>bzip2</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>bzcat</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&burrowswheelerblrtingcompression;\">Burrows-Wheeler block-" "sorting compression</ulink> utility with higher compression ratio than " "<citerefentry><refentrytitle>gzip</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> (slower than <literal>gzip</literal> with similar syntax)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.lzma</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>lzma</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&lzma;\">LZMA</ulink> compression utility with higher " "compression ratio than <citerefentry><refentrytitle>gzip</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (deprecated)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.xz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>xz</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>xzdec</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&xz;\">XZ</ulink> compression utility with higher compression " "ratio than <citerefentry><refentrytitle>bzip2</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> (slower than <literal>gzip</literal> but faster " "than <literal>bzip2</literal>; replacement for <ulink url=\"&lzma;\">LZMA</" "ulink> compression utility)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.7z</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>7zr</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>p7zip</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&hzip;\">7-Zip</ulink> file archiver with high compression " "ratio (<ulink url=\"&lzma;\">LZMA</ulink> compression)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>7z</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>7za</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&hzip;\">7-Zip</ulink> file archiver with high compression " "ratio (<ulink url=\"&lzma;\">LZMA</ulink> compression and others)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.lzo</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>lzop</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&lzo;\">LZO</ulink> compression utility with higher compression " "and decompression speed than <citerefentry><refentrytitle>gzip</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (lower compression " "ratio than <literal>gzip</literal> with similar syntax)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>.zip</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>zip</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&infozip;\">InfoZIP</ulink>: DOS archive and compression tool" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>unzip</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&infozip;\">InfoZIP</ulink>: DOS unarchive and decompression " "tool" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not set the \"<literal>$TAPE</literal>\" variable unless you know what to " "expect. It changes <citerefentry><refentrytitle>tar</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> behavior." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The gzipped <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> archive uses the file extension \"<literal>.tgz</" "literal>\" or \"<literal>.tar.gz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The xz-compressed <citerefentry><refentrytitle>tar</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> archive uses the file " "extension \"<literal>.txz</literal>\" or \"<literal>.tar.xz</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Popular compression method in <ulink url=\"&foss;\">FOSS</ulink> tools such " "as <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> has been moving as follows: <literal>gzip</literal> → " "<literal>bzip2</literal> → <literal>xz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<citerefentry><refentrytitle>cp</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>scp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>tar</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> may have some " "limitation for special files. <citerefentry><refentrytitle>cpio</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is most versatile." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is designed to be used with <citerefentry><refentrytitle>find</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and other commands and " "suitable for creating backup scripts since the file selection part of the " "script can be tested independently." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Internal structure of OpenOffice data files are \"<literal>.jar</literal>\" " "file." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a summary of simple copy and backup tools available on the Debian " "system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of copy and synchronization tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNU cp" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "locally copy files and directories (\"-a\" for recursive)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "scp" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "remotely copy files and directories (client, \"<literal>-r</literal>\" for " "recursive)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sshd" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remotely copy files and directories (remote server)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "-" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1-way remote synchronization and backup" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "2-way remote synchronization and backup" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Copying files with <citerefentry><refentrytitle>rsync</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> offers richer features " "than others." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "delta-transfer algorithm that sends only the differences between the source " "files and the existing files in the destination" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "quick check algorithm (by default) that looks for files that have changed in " "size or in last-modified time" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>--exclude</literal>\" and \"<literal>--exclude-from</literal>\" " "options similar to <citerefentry><refentrytitle>tar</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"a trailing slash on the source directory\" syntax that avoids creating an " "additional directory level at the destination." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Execution of the <literal>bkup</literal> script mentioned in <xref linkend=" "\"_a_copy_script_for_the_data_backup\"/> with the \"<literal>-gl</literal>\" " "option under <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> should provide very similar functionality as " "Plan9's <literal>dumpfs</literal> for the static data archive." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Version control system (VCS) tools in <xref linkend=\"list-of-vcs\"/> can " "function as the multi-way copy and synchronization tools." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Idioms for the archive" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are several ways to archive and unarchive the entire content of the " "directory \"<literal>./source</literal>\" using different tools." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "GNU <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ tar cvzf archive.tar.gz ./source\n" "$ tar xvzf archive.tar.gz" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ find ./source -xdev -print0 | cpio -ov --null > archive.cpio; gzip archive.cpio\n" "$ zcat archive.cpio.gz | cpio -i" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Idioms for the copy" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are several ways to copy the entire content of the directory " "\"<literal>./source</literal>\" using different tools." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Local copy: \"<literal>./source</literal>\" directory → \"<literal>/dest</" "literal>\" directory" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Remote copy: \"<literal>./source</literal>\" directory at local host → " "\"<literal>/dest</literal>\" directory at \"<literal>user@host.dom</literal>" "\" host" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd ./source; rsync -av . /dest\n" "# cd ./source; rsync -av . user@host.dom:/dest" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can alternatively use \"a trailing slash on the source directory\" " "syntax." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# rsync -av ./source/ /dest\n" "# rsync -av ./source/ user@host.dom:/dest" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "GNU <citerefentry><refentrytitle>cp</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and openSSH <citerefentry><refentrytitle>scp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd ./source; cp -a . /dest\n" "# cd ./source; scp -pr . user@host.dom:/dest" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# (cd ./source && tar cf - . ) | (cd /dest && tar xvfp - )\n" "# (cd ./source && tar cf - . ) | ssh user@host.dom '(cd /dest && tar xvfp - )'" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# cd ./source; find . -print0 | cpio -pvdm --null --sparse /dest" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can substitute \"<literal>.</literal>\" with \"<literal>foo</literal>\" " "for all examples containing \"<literal>.</literal>\" to copy files from " "\"<literal>./source/foo</literal>\" directory to \"<literal>/dest/foo</" "literal>\" directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can substitute \"<literal>.</literal>\" with the absolute path " "\"<literal>/path/to/source/foo</literal>\" for all examples containing " "\"<literal>.</literal>\" to drop \"<literal>cd ./source;</literal>\". These " "copy files to different locations depending on tools used as follows." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/dest/foo</literal>\": <citerefentry><refentrytitle>rsync</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, GNU " "<citerefentry><refentrytitle>cp</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, and <citerefentry><refentrytitle>scp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>/path/to/source/foo</literal>\": GNU " "<citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, and <citerefentry><refentrytitle>cpio</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and GNU <citerefentry><refentrytitle>cp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> have option " "\"<literal>-u</literal>\" to skip files that are newer on the receiver." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Idioms for the selection of files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is used to select files for archive and copy commands (see " "<xref linkend=\"_idioms_for_the_archive\"/> and <xref linkend=" "\"_idioms_for_the_copy\"/>) or for <citerefentry><refentrytitle>xargs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (see <xref linkend=" "\"_repeating_a_command_looping_over_files\"/>). This can be enhanced by " "using its command arguments." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Basic syntax of <citerefentry><refentrytitle>find</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> can be summarized as " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Its conditional arguments are evaluated from left to right." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "This evaluation stops once its outcome is determined." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"Logical <emphasis role=\"strong\">OR</emphasis>\" (specified by " "\"<literal>-o</literal>\" between conditionals) has lower precedence than " "\"logical <emphasis role=\"strong\">AND</emphasis>\" (specified by " "\"<literal>-a</literal>\" or nothing between conditionals)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"Logical <emphasis role=\"strong\">NOT</emphasis>\" (specified by " "\"<literal>!</literal>\" before a conditional) has higher precedence than " "\"logical <emphasis role=\"strong\">AND</emphasis>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>-prune</literal>\" always returns logical <emphasis role=\"strong" "\">TRUE</emphasis> and, if it is a directory, searching of file is stopped " "beyond this point." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>-name</literal>\" matches the base of the filename with shell " "glob (see <xref linkend=\"_shell_glob\"/>) but it also matches its initial " "\"<literal>.</literal>\" with metacharacters such as \"<literal>*</literal>" "\" and \"<literal>?</literal>\". (New <ulink url=\"&posix;\">POSIX</ulink> " "feature)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>-regex</literal>\" matches the full path with emacs style " "<emphasis role=\"strong\">BRE</emphasis> (see <xref linkend=" "\"_regular_expressions\"/>) as default." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>-size</literal>\" matches the file based on the file size (value " "precedented with \"<literal>+</literal>\" for larger, precedented with " "\"<literal>-</literal>\" for smaller)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>-newer</literal>\" matches the file newer than the one specified " "in its argument." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>-print0</literal>\" always returns logical <emphasis role=\"strong" "\">TRUE</emphasis> and print the full filename (<ulink url=\"&nullterminated;" "\">null terminated</ulink>) on the standard output." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>find</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is often used with an idiomatic style as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# find /path/to \\\n" " -xdev -regextype posix-extended \\\n" " -type f -regex \".*\\.cpio|.*~\" -prune -o \\\n" " -type d -regex \".*/\\.git\" -prune -o \\\n" " -type f -size +99M -prune -o \\\n" " -type f -newer /path/to/timestamp -print0" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This means to do following actions." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Search all files starting from \"<literal>/path/to</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Globally limit its search within its starting filesystem and uses <emphasis " "role=\"strong\">ERE</emphasis> (see <xref linkend=\"_regular_expressions\"/" ">) instead" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Exclude files matching regex of \"<literal>.*\\.cpio</literal>\" or " "\"<literal>.*~</literal>\" from search by stop processing" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Exclude directories matching regex of \"<literal>.*/\\.git</literal>\" from " "search by stop processing" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Exclude files larger than 99 Megabytes (units of 1048576 bytes) from search " "by stop processing" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "" "Print filenames which satisfy above search conditions and newer than " "\"<literal>/path/to/timestamp</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note the idiomatic use of \"<literal>-prune -o</literal>\" to exclude " "files in the above example." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For non-Debian <ulink url=\"&unixlike;\">Unix-like</ulink> system, some " "options may not be supported by <citerefentry><refentrytitle>find</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. In such a case, " "please consider to adjust matching methods and replace \"<literal>-print0</" "literal>\" with \"<literal>-print</literal>\". You may need to adjust " "related commands too." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Backup and recovery" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "We all know that computers fail sometime or human errors cause system and " "data damages. Backup and recovery operations are the essential part of " "successful system administration. All possible failure modes hit you some " "day." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Keep your backup system simple and backup your system often. Having backup " "data is more important than how technically good your backup method is." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are 3 key factors which determine actual backup and recovery policy." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Knowing what to backup and recover." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Data files directly created by you: data in \"<literal>~/</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "Data files created by applications used by you: data in \"<literal>/var/</" "literal>\" (except \"<literal>/var/cache/</literal>\", \"<literal>/var/run/</" "literal>\", and \"<literal>/var/tmp/</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "System configuration files: data in \"<literal>/etc/</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "Local softwares: data in \"<literal>/usr/local/</literal>\" or \"<literal>/" "opt/</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "System installation information: a memo in plain text on key steps " "(partition, …)" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "" "Proven set of data: confirmed by experimental recovery operations in advance" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Knowing how to backup and recover." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Secure storage of data: protection from overwrite and system failure" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Frequent backup: scheduled backup" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Redundant backup: data mirroring" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Fool proof process: easy single command backup" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><para> msgid "Assessing risks and costs involved." msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Value of data when lost" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Required resources for backup: human, hardware, software, …" msgstr "" #. type: Content of: <book><chapter><section><section><orderedlist><listitem><itemizedlist><listitem><para> msgid "Failure mode and their possibility" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "As for secure storage of data, data should be at least on different disk " "partitions preferably on different disks and machines to withstand the " "filesystem corruption. Important data are best stored on a write-once media " "such as CD/DVD-R to prevent overwrite accidents. (See <xref linkend=" "\"_the_binary_data\"/> for how to write to the storage media from the shell " "commandline. GNOME desktop GUI environment gives you easy access via menu: " "\"Places→CD/DVD Creator\".)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "You may wish to stop some application daemons such as MTA (see <xref linkend=" "\"_mail_transport_agent_mta\"/>) while backing up data." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "You should pay extra care to the backup and restoration of identity related " "data files such as \"<literal>/etc/ssh/ssh_host_dsa_key</literal>\", " "\"<literal>/etc/ssh/ssh_host_rsa_key</literal>\", \"<literal>~/.gnupg/*</" "literal>\", \"<literal>~/.ssh/*</literal>\", \"<literal>/etc/passwd</literal>" "\", \"<literal>/etc/shadow</literal>\", \"<literal>/etc/fetchmailrc</literal>" "\", \"<literal>popularity-contest.conf</literal>\", \"<literal>/etc/ppp/pap-" "secrets</literal>\", and \"<literal>/etc/exim4/passwd.client</literal>\". " "Some of these data can not be regenerated by entering the same input string " "to the system." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If you run a cron job as a user process, you must restore files in " "\"<literal>/var/spool/cron/crontabs</literal>\" directory and restart " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>. See <xref linkend=\"_scheduling_tasks_regularly\"/> for " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>crontab</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Backup utility suites" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a select list of notable backup utility suites available on the " "Debian system." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of backup suite utilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "(remote) incremental backup" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "4.4 <ulink url=\"&bsd;\">BSD</ulink> <citerefentry><refentrytitle>dump</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for <ulink url=\"&extc;\">ext2</ulink>/<ulink url=" "\"&extd;\">ext3</ulink> filesystems" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "dump and restore with <citerefentry><refentrytitle>xfsdump</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>xfsrestore</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for <ulink url=\"&xfs;\">XFS</ulink> filesystem on " "GNU/Linux and <ulink url=\"&irix;\">IRIX</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "lightweight, extensible <emphasis role=\"strong\">meta-backup</emphasis> " "system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "simple backup suite for GNOME desktop" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&bacula;\">Bacula</ulink>: network backup, recovery and " "verification - common support files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&bacula;\">Bacula</ulink>: network backup, recovery and " "verification - client meta-package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&bacula;\">Bacula</ulink>: network backup, recovery and " "verification - text console" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&bacula;\">Bacula</ulink>: network backup, recovery and " "verification - server meta-package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&amanda;\">Amanda</ulink>: Advanced Maryland Automatic Network " "Disk Archiver (Libs)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&amanda;\">Amanda</ulink>: Advanced Maryland Automatic Network " "Disk Archiver (Client)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&amanda;\">Amanda</ulink>: Advanced Maryland Automatic Network " "Disk Archiver (Server)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&backuppc;\">BackupPC</ulink> is a high-performance, enterprise-" "grade system for backing up PCs (disk based)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "command-line backup tool" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "low-maintenance backup/restore tool for mountable media (disk based)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Backup tools have their specialized focuses." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&mondorescue;\">Mondo Rescue</ulink> is a backup system to " "facilitate restoration of complete system quickly from backup CD/DVD etc. " "without going through normal system installation processes." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>sbackup</literal> and <literal>keep</literal> packages provide easy " "GUI frontend for desktop users to make regular backups of user data. An " "equivalent function can be realized by a simple script (<xref linkend=" "\"_an_example_script_for_the_system_backup\"/>) and " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&bacula;\">Bacula</ulink>, <ulink url=\"&amanda;\">Amanda</" "ulink>, and <ulink url=\"&backuppc;\">BackupPC</ulink> are full featured " "backup suite utilities which are focused on regular backups over network." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Basic tools described in <xref linkend=\"_archive_and_compression_tools\"/> " "and <xref linkend=\"_copy_and_synchronization_tools\"/> can be used to " "facilitate system backup via custom scripts. Such script can be enhanced by " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <literal>rdiff-backup</literal> package enables incremental (remote) " "backups." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The <literal>dump</literal> package helps to archive and restore the whole " "filesystem incrementally and efficiently." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "See files in \"<literal>/usr/share/doc/dump/</literal>\" and <ulink url=" "\"&isdumpreallydeprecated;\">\"Is dump really deprecated?\"</ulink> to lean " "about the <literal>dump</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "An example script for the system backup" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For a personal Debian desktop system running <literal>unstable</literal> " "suite, I only need to protect personal and critical data. I reinstall " "system once a year anyway. Thus I see no reason to backup the whole system " "or to install a full featured backup utility." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "I use a simple script to make a backup archive and burn it into CD/DVD using " "GUI. Here is an example script for this." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "#!/bin/sh -e\n" "# Copyright (C) 2007-2008 Osamu Aoki <osamu@debian.org>, Public Domain\n" "BUUID=1000; USER=osamu # UID and name of a user who accesses backup files\n" "BUDIR=\"/var/backups\"\n" "XDIR0=\".+/Mail|.+/Desktop\"\n" "XDIR1=\".+/\\.thumbnails|.+/\\.?Trash|.+/\\.?[cC]ache|.+/\\.gvfs|.+/sessions\"\n" "XDIR2=\".+/CVS|.+/\\.git|.+/\\.svn|.+/Downloads|.+/Archive|.+/Checkout|.+/tmp\"\n" "XSFX=\".+\\.iso|.+\\.tgz|.+\\.tar\\.gz|.+\\.tar\\.bz2|.+\\.cpio|.+\\.tmp|.+\\.swp|.+~\"\n" "SIZE=\"+99M\"\n" "DATE=$(date --utc +\"%Y%m%d-%H%M\")\n" "[ -d \"$BUDIR\" ] || mkdir -p \"BUDIR\"\n" "umask 077\n" "dpkg --get-selections \\* > /var/lib/dpkg/dpkg-selections.list\n" "debconf-get-selections > /var/cache/debconf/debconf-selections\n" "\n" "{\n" "find /etc /usr/local /opt /var/lib/dpkg/dpkg-selections.list \\\n" " /var/cache/debconf/debconf-selections -xdev -print0\n" "find /home/$USER /root -xdev -regextype posix-extended \\\n" " -type d -regex \"$XDIR0|$XDIR1\" -prune -o -type f -regex \"$XSFX\" -prune -o \\\n" " -type f -size \"$SIZE\" -prune -o -print0\n" "find /home/$USER/Mail/Inbox /home/$USER/Mail/Outbox -print0\n" "find /home/$USER/Desktop -xdev -regextype posix-extended \\\n" " -type d -regex \"$XDIR2\" -prune -o -type f -regex \"$XSFX\" -prune -o \\\n" " -type f -size \"$SIZE\" -prune -o -print0\n" "} | cpio -ov --null -O $BUDIR/BU$DATE.cpio\n" "chown $BUUID $BUDIR/BU$DATE.cpio\n" "touch $BUDIR/backup.stamp" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This is meant to be a script example executed from root." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "I expect you to change and execute this as follows." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Edit this script to cover all your important data (see <xref linkend=" "\"_idioms_for_the_selection_of_files\"/> and <xref linkend=" "\"_backup_and_recovery\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Replace \"<literal>find … -print0</literal>\" with \"<literal>find … -newer " "$BUDIR/backup.stamp -print0</literal>\" to make a incremental backup." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Transfer backup files to the remote host using " "<citerefentry><refentrytitle>scp</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> or <citerefentry><refentrytitle>rsync</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> or burn them to CD/DVD " "for extra data security. (I use GNOME desktop GUI for burning CD/DVD. See " "<xref linkend=\"_shell_script_example_with_zenity\"/> for extra redundancy.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Keep it simple!" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can recover debconf configuration data with \"<literal>debconf-set-" "selections debconf-selections</literal>\" and dpkg selection data with " "\"<literal>dpkg --set-selection <dpkg-selections.list</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "A copy script for the data backup" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the set of data under a directory tree, the copy with \"<literal>cp -a</" "literal>\" provides the normal backup." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For the set of large non-overwritten static data under a directory tree such " "as the one under the \"<literal>/var/cache/apt/packages/</literal>\" " "directory, hardlinks with \"<literal>cp -al</literal>\" provide an " "alternative to the normal backup with efficient use of the disk space." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a copy script, which I named as <literal>bkup</literal>, for the " "data backup. This script copies all (non-VCS) files under the current " "directory to the dated directory on the parent directory or on a remote host." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "#!/bin/sh -e\n" "# Copyright (C) 2007-2008 Osamu Aoki <osamu@debian.org>, Public Domain\n" "fdot(){ find . -type d \\( -iname \".?*\" -o -iname \"CVS\" \\) -prune -o -print0;}\n" "fall(){ find . -print0;}\n" "mkdircd(){ mkdir -p \"$1\";chmod 700 \"$1\";cd \"$1\">/dev/null;}\n" "FIND=\"fdot\";OPT=\"-a\";MODE=\"CPIOP\";HOST=\"localhost\";EXTP=\"$(hostname -f)\"\n" "BKUP=\"$(basename $(pwd)).bkup\";TIME=\"$(date +%Y%m%d-%H%M%S)\";BU=\"$BKUP/$TIME\"\n" "while getopts gcCsStrlLaAxe:h:T f; do case $f in\n" "g) MODE=\"GNUCP\";; # cp (GNU)\n" "c) MODE=\"CPIOP\";; # cpio -p\n" "C) MODE=\"CPIOI\";; # cpio -i\n" "s) MODE=\"CPIOSSH\";; # cpio/ssh\n" "t) MODE=\"TARSSH\";; # tar/ssh\n" "r) MODE=\"RSYNCSSH\";; # rsync/ssh\n" "l) OPT=\"-alv\";; # hardlink (GNU cp)\n" "L) OPT=\"-av\";; # copy (GNU cp)\n" "a) FIND=\"fall\";; # find all\n" "A) FIND=\"fdot\";; # find non CVS/ .???/\n" "x) set -x;; # trace\n" "e) EXTP=\"${OPTARG}\";; # hostname -f\n" "h) HOST=\"${OPTARG}\";; # user@remotehost.example.com\n" "T) MODE=\"TEST\";; # test find mode\n" "\\?) echo \"use -x for trace.\"\n" "esac; done\n" "shift $(expr $OPTIND - 1)\n" "if [ $# -gt 0 ]; then\n" " for x in $@; do cp $OPT $x $x.$TIME; done\n" "elif [ $MODE = GNUCP ]; then\n" " mkdir -p \"../$BU\";chmod 700 \"../$BU\";cp $OPT . \"../$BU/\"\n" "elif [ $MODE = CPIOP ]; then\n" " mkdir -p \"../$BU\";chmod 700 \"../$BU\"\n" " $FIND|cpio --null --sparse -pvd ../$BU\n" "elif [ $MODE = CPIOI ]; then\n" " $FIND|cpio -ov --null | ( mkdircd \"../$BU\"&&cpio -i )\n" "elif [ $MODE = CPIOSSH ]; then\n" " $FIND|cpio -ov --null|ssh -C $HOST \"( mkdircd \\\"$EXTP/$BU\\\"&&cpio -i )\"\n" "elif [ $MODE = TARSSH ]; then\n" " (tar cvf - . )|ssh -C $HOST \"( mkdircd \\\"$EXTP/$BU\\\"&& tar xvfp - )\"\n" "elif [ $MODE = RSYNCSSH ]; then\n" " rsync -rlpt ./ \"${HOST}:${EXTP}-${BKUP}-${TIME}\"\n" "else\n" " echo \"Any other idea to backup?\"\n" " $FIND |xargs -0 -n 1 echo\n" "fi" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is meant to be command examples. Please read script and edit it by " "yourself before using it." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "I keep this <literal>bkup</literal> in my \"<literal>/usr/local/bin/</" "literal>\" directory. I issue this <literal>bkup</literal> command without " "any option in the working directory whenever I need a temporary snapshot " "backup." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For making snapshot history of a source file tree or a configuration file " "tree, it is easier and space efficient to use " "<citerefentry><refentrytitle>git</refentrytitle><manvolnum>7</manvolnum></" "citerefentry> (see <xref linkend=\"_git_for_recording_configuration_history" "\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Removable storage device" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Removable storage devices may be any one of the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&usbflashdrive;\">USB flash drive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&harddiskdrive;\">Hard disk drive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&opticaldiscdrive;\">Optical disc drive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Digital camera" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Digital music player" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "They may be connected via any one of the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&usb;\">USB</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&ieeebdjefirewire;\">IEEE 1394 / FireWire</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<ulink url=\"&pccard;\">PC Card</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Modern desktop environments such as GNOME and KDE can mount these removable " "devices automatically without a matching \"<literal>/etc/fstab</literal>\" " "entry." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>udisks</literal> package provides a daemon and associated utilities " "to mount and unmount these devices." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&dbus;\">D-bus</ulink> creates events to initiate automatic " "processes." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policykit;\">PolicyKit</ulink> provides required privileges." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Automounted devices may have the \"<literal>uhelper=</literal>\" mount " "option which is used by <citerefentry><refentrytitle>umount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Automounting under modern desktop environment happens only when those " "removable media devices are not listed in \"<literal>/etc/fstab</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Mount point under modern desktop environment is chosen as \"<literal>/media/" "<disk_label></literal>\" which can be customized by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>mlabel</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> for FAT filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>genisoimage</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> with \"<literal>-V</literal>\" option for ISO9660 " "filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tune2fs</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> with \"<literal>-L</literal>\" option for ext2/" "ext3/ext4 filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The choice of encoding may need to be provided as mount option (see <xref " "linkend=\"_filename_encoding\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Filesystem choice for sharing data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When sharing data with other system via removable storage device, you should " "format it with common <ulink url=\"&filesystem;\">filesystem</ulink> " "supported by both systems. Here is a list of filesystem choices." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "List of filesystem choices for removable storage devices with typical usage " "scenarios" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of typical usage scenario" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&fatbc;\">FAT12</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "cross platform sharing of data on the floppy disk (<32MiB)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&fatbg;\">FAT16</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "cross platform sharing of data on the small hard disk like device (<2GiB)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&fatdc;\">FAT32</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "cross platform sharing of data on the large hard disk like device (<8TiB, " "supported by newer than MS Windows95 OSR2)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ntfs;\">NTFS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "cross platform sharing of data on the large hard disk like device (supported " "natively on <ulink url=\"&mswindowsnt;\">MS Windows NT</ulink> and later " "version, and supported by <ulink url=\"&ntfsdg;\">NTFS-3G</ulink> via <ulink " "url=\"&fuse;\">FUSE</ulink> on Linux)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isojgga;\">ISO9660</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "cross platform sharing of static data on CD-R and DVD+/-R" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&udf;\">UDF</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "incremental data writing on CD-R and DVD+/-R (new)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&minixfilesystem;\">MINIX filesystem</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "space efficient unix file data storage on the floppy disk" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&extcfilesystem;\">ext2 filesystem</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sharing of data on the hard disk like device with older Linux systems" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&extdfilesystem;\">ext3 filesystem</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&extefilesystem;\">ext4 filesystem</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sharing of data on the hard disk like device with current Linux systems" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "See <xref linkend=\"_removable_disk_encryption_with_dm_crypt_luks\"/> for " "cross platform sharing of data using device level encryption." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The FAT filesystem is supported by almost all modern operating systems and " "is quite useful for the data exchange purpose via removable hard disk like " "media." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When formatting removable hard disk like devices for cross platform sharing " "of data with the FAT filesystem, the following should be safe choices." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Partitioning them with <citerefentry><refentrytitle>fdisk</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>cfdisk</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> or <citerefentry><refentrytitle>parted</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> (see <xref linkend=" "\"_disk_partition_configuration\"/>) into a single primary partition and to " "mark it as the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Type \"6\" for FAT16 for media smaller than 2GB." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Type \"c\" for FAT32 (LBA) for larger media." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Formatting the primary partition with <citerefentry><refentrytitle>mkfs." "vfat</refentrytitle><manvolnum>8</manvolnum></citerefentry> with the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Just its device name, e.g. \"<literal>/dev/sda1</literal>\" for FAT16" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The explicit option and its device name, e.g. \"<literal>-F 32 /dev/sda1</" "literal>\" for FAT32" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When using the FAT or ISO9660 filesystems for sharing data, the following " "should be the safe considerations." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Archiving files into an archive file first using " "<citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, or <citerefentry><refentrytitle>cpio</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to retain the long " "filename, the symbolic link, the original Unix file permission and the owner " "information." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Splitting the archive file into less than 2 GiB chunks with the " "<citerefentry><refentrytitle>split</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> command to protect it from the file size limitation." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Encrypting the archive file to secure its contents from the unauthorized " "access." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "For FAT filesystems by its design, the maximum file size is <literal>(2^32 - " "1) bytes = (4GiB - 1 byte)</literal>. For some applications on the older 32 " "bit OS, the maximum file size was even smaller <literal>(2^31 - 1) bytes = " "(2GiB - 1 byte)</literal>. Debian does not suffer the latter problem." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Microsoft itself does not recommend to use FAT for drives or partitions of " "over 200 MB. Microsoft highlights its short comings such as inefficient " "disk space usage in their \"<ulink url=\"&overviewoffathpfdntfsfilesystems;" "\">Overview of FAT, HPFS, and NTFS File Systems</ulink>\". Of course, we " "should normally use the ext4 filesystem for Linux." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For more on filesystems and accessing filesystems, please read \"<ulink url=" "\"&filesystemshowto;\">Filesystems HOWTO</ulink>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Sharing data via network" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When sharing data with other system via network, you should use common " "service. Here are some hints." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of the network service to chose with the typical usage scenario" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "network service" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&smbcifs;\">SMB/CIFS</ulink> network mounted filesystem with " "<ulink url=\"&samba;\">Samba</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "sharing files via \"Microsoft Windows Network\", see " "<citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> and <ulink url=\"&theofficialsambandreferenceguide;" "\">The Official Samba 3.2.x HOWTO and Reference Guide</ulink> or the " "<literal>samba-doc</literal> package" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&nfs;\">NFS</ulink> network mounted filesystem with the Linux " "kernel" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "sharing files via \"Unix/Linux Network\", see " "<citerefentry><refentrytitle>exports</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> and <ulink url=\"&linuxnfshowto;\">Linux NFS-" "HOWTO</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sharing file between the web server/client" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&https;\">HTTPS</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "sharing file between the web server/client with encrypted Secure Sockets " "Layer (SSL) or <ulink url=\"&transportlayersecurity;\">Transport Layer " "Security</ulink> (TLS)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ftp;\">FTP</ulink> service" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sharing file between the FTP server/client" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although these filesystems mounted over network and file transfer methods " "over network are quite convenient for sharing data, these may be insecure. " "Their network connection must be secured by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Encrypt it with <ulink url=\"&ssltls;\">SSL/TLS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Tunnel it via <ulink url=\"&ssh;\">SSH</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Tunnel it via <ulink url=\"&vpn;\">VPN</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Limit it behind the secure firewall" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "See also <xref linkend=\"_other_network_application_servers\"/> and <xref " "linkend=\"_other_network_application_clients\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Archive media" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When choosing <ulink url=\"&computerdatastoragemedia;\">computer data " "storage media</ulink> for important data archive, you should be careful " "about their limitations. For small personal data backup, I use CD-R and DVD-" "R by the brand name company and store in a cool, shaded, dry, clean " "environment. (Tape archive media seem to be popular for professional use.)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<ulink url=\"&afireresistantsafe;\">A fire-resistant safe</ulink> are meant " "for paper documents. Most of the computer data storage media have less " "temperature tolerance than paper. I usually rely on multiple secure " "encrypted copies stored in multiple secure locations." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Optimistic storage life of archive media seen on the net (mostly from vendor " "info)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "100+ years : Acid free paper with ink" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "100 years : Optical storage (CD/DVD, CD/DVD-R)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "30 years : Magnetic storage (tape, floppy)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "20 years : Phase change optical storage (CD-RW)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "These do not count on the mechanical failures due to handling etc." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Optimistic write cycle of archive media seen on the net (mostly from vendor " "info)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "250,000+ cycles : Harddisk drive" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "10,000+ cycles : Flash memory" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "1,000 cycles : CD/DVD-RW" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "1 cycles : CD/DVD-R, paper" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Figures of storage life and write cycle here should not be used for " "decisions on any critical data storage. Please consult the specific product " "information provided by the manufacture." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Since CD/DVD-R and paper have only 1 write cycle, they inherently prevent " "accidental data loss by overwriting. This is advantage!" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If you need fast and frequent backup of large amount of data, a hard disk on " "a remote host linked by a fast network connection, may be the only realistic " "option." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The disk image" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here, we discuss manipulations of the disk image. See <xref linkend=" "\"_data_storage_tips\"/>, too." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Making the disk image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The disk image file, \"<literal>disk.img</literal>\", of an unmounted " "device, e.g., the second SCSI drive \"<literal>/dev/sdb</literal>\", can be " "made using <citerefentry><refentrytitle>cp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>dd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cp /dev/sdb disk.img\n" "# dd if=/dev/sdb of=disk.img" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The disk image of the traditional PC's <ulink url=\"&masterbootrecordmbr;" "\">master boot record (MBR)</ulink> (see <xref linkend=" "\"_disk_partition_configuration\"/>) which reside on the first sector on the " "primary IDE disk can be made by using <citerefentry><refentrytitle>dd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# dd if=/dev/hda of=mbr.img bs=512 count=1\n" "# dd if=/dev/hda of=mbr-nopart.img bs=446 count=1\n" "# dd if=/dev/hda of=mbr-part.img skip=446 bs=1 count=66" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>mbr.img</literal>\": The MBR with the partition table" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>mbr-nopart.img</literal>\": The MBR without the partition table" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>part.img</literal>\": The partition table of the MBR only" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have a SCSI device (including the new serial ATA drive) as the boot " "disk, substitute \"<literal>/dev/hda</literal>\" with \"<literal>/dev/sda</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are making an image of a disk partition of the original disk, " "substitute \"<literal>/dev/hda</literal>\" with \"<literal>/dev/hda1</" "literal>\" etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Writing directly to the disk" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The disk image file, \"<literal>disk.img</literal>\" can be written to an " "unmounted device, e.g., the second SCSI drive \"<literal>/dev/sdb</literal>" "\" with matching size, by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dd if=disk.img of=/dev/sdb" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Similarly, the disk partition image file, \"<literal>partition.img</literal>" "\" can be written to an unmounted partition, e.g., the first partition of " "the second SCSI drive \"<literal>/dev/sdb1</literal>\" with matching size, " "by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dd if=partition.img of=/dev/sdb1" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Mounting the disk image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The disk image \"<literal>partition.img</literal>\" containing a single " "partition image can be mounted and unmounted by using the <ulink url=" "\"&loopdevice;\">loop device</ulink> as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# losetup -v -f partition.img\n" "Loop device is /dev/loop0\n" "# mkdir -p /mnt/loop0\n" "# mount -t auto /dev/loop0 /mnt/loop0\n" "...hack...hack...hack\n" "# umount /dev/loop0\n" "# losetup -d /dev/loop0" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "This can be simplified as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# mkdir -p /mnt/loop0\n" "# mount -t auto -o loop partition.img /mnt/loop0\n" "...hack...hack...hack\n" "# umount partition.img" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each partition of the disk image \"<literal>disk.img</literal>\" containing " "multiple partitions can be mounted by using the <ulink url=\"&loopdevice;" "\">loop device</ulink>. Since the loop device does not manage partitions by " "default, we need to reset it as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# modinfo -p loop # verify kernel capability\n" "max_part:Maximum number of partitions per loop device\n" "max_loop:Maximum number of loop devices\n" "# losetup -a # verify nothing using the loop device\n" "# rmmod loop\n" "# modprobe loop max_part=16" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Now, the loop device can manage up to 16 partitions." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# losetup -v -f disk.img\n" "Loop device is /dev/loop0\n" "# fdisk -l /dev/loop0\n" "\n" "Disk /dev/loop0: 5368 MB, 5368709120 bytes\n" "255 heads, 63 sectors/track, 652 cylinders\n" "Units = cylinders of 16065 * 512 = 8225280 bytes\n" "Disk identifier: 0x452b6464\n" "\n" " Device Boot Start End Blocks Id System\n" "/dev/loop0p1 1 600 4819468+ 83 Linux\n" "/dev/loop0p2 601 652 417690 83 Linux\n" "# mkdir -p /mnt/loop0p1\n" "# mount -t ext3 /dev/loop0p1 /mnt/loop0p1\n" "# mkdir -p /mnt/loop0p2\n" "# mount -t ext3 /dev/loop0p2 /mnt/loop0p2\n" "...hack...hack...hack\n" "# umount /dev/loop0p1\n" "# umount /dev/loop0p2\n" "# losetup -d /dev/loop0" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively, similar effects can be done by using the <ulink url=" "\"&devicemapper;\">device mapper</ulink> devices created by " "<citerefentry><refentrytitle>kpartx</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> from the <literal>kpartx</literal> package as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# kpartx -a -v disk.img\n" "...\n" "# mkdir -p /mnt/loop0p2\n" "# mount -t ext3 /dev/mapper/loop0p2 /mnt/loop0p2\n" "...\n" "...hack...hack...hack\n" "# umount /dev/mapper/loop0p2\n" "...\n" "# kpartx -d /mnt/loop0" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "You can mount a single partition of such disk image with <ulink url=" "\"&loopdevice;\">loop device</ulink> using offset to skip <ulink url=\"&mbr;" "\">MBR</ulink> etc., too. But this is more error prone." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Cleaning a disk image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A disk image file, \"<literal>disk.img</literal>\" can be cleaned of all " "removed files into clean sparse image \"<literal>new.img</literal>\" by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# mkdir old; mkdir new\n" "# mount -t auto -o loop disk.img old\n" "# dd bs=1 count=0 if=/dev/zero of=new.img seek=5G\n" "# mount -t auto -o loop new.img new\n" "# cd old\n" "# cp -a --sparse=always ./ ../new/\n" "# cd ..\n" "# umount new.img\n" "# umount disk.img" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If \"<literal>disk.img</literal>\" is in ext2 or ext3, you can also use " "<citerefentry><refentrytitle>zerofree</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> from the <literal>zerofree</literal> package as " "follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# losetup -f -v disk.img\n" "Loop device is /dev/loop3\n" "# zerofree /dev/loop3\n" "# cp --sparse=always disk.img new.img" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Making the empty disk image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The empty disk image \"<literal>disk.img</literal>\" which can grow up to " "5GiB can be made using <citerefentry><refentrytitle>dd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ dd bs=1 count=0 if=/dev/zero of=disk.img seek=5G" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can create an ext3 filesystem on this disk image \"<literal>disk.img</" "literal>\" using the <ulink url=\"&loopdevice;\">loop device</ulink> as " "follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# losetup -f -v disk.img\n" "Loop device is /dev/loop1\n" "# mkfs.ext3 /dev/loop1\n" "...hack...hack...hack\n" "# losetup -d /dev/loop1\n" "$ du --apparent-size -h disk.img\n" "5.0G disk.img\n" "$ du -h disk.img\n" "83M disk.img" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For \"<literal>disk.img</literal>\", its file size is 5.0 GiB and its actual " "disk usage is mere 83MiB. This discrepancy is possible since <ulink url=" "\"&extcfs;\">ext2fs</ulink> can hold <ulink url=\"&sparsefile;\">sparse " "file</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The actual disk usage of <ulink url=\"&sparsefile;\">sparse file</ulink> " "grows with data which are written to it." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Using similar operation on devices created by the <ulink url=\"&loopdevice;" "\">loop device</ulink> or the <ulink url=\"&devicemapper;\">device mapper</" "ulink> devices as <xref linkend=\"_mounting_the_disk_image_file\"/>, you can " "partition this disk image \"<literal>disk.img</literal>\" using " "<citerefentry><refentrytitle>parted</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> or <citerefentry><refentrytitle>fdisk</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, and can create " "filesystem on it using <citerefentry><refentrytitle>mkfs.ext3</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>mkswap</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>, etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Making the ISO9660 image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&isojgga;\">ISO9660</ulink> image file, \"<literal>cd.iso</" "literal>\", from the source directory tree at \"<literal>source_directory</" "literal>\" can be made using <citerefentry><refentrytitle>genisoimage</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> provided by <ulink url=" "\"&cdrkit;\">cdrkit</ulink> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# genisoimage -r -J -T -V volume_id -o cd.iso source_directory" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Similarly, the bootable ISO9660 image file, \"<literal>cdboot.iso</literal>" "\", can be made from <literal>debian-installer</literal> like directory tree " "at \"<literal>source_directory</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# genisoimage -r -o cdboot.iso -V volume_id \\\n" " -b isolinux/isolinux.bin -c isolinux/boot.cat \\\n" " -no-emul-boot -boot-load-size 4 -boot-info-table source_directory" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here <ulink url=\"&isolinuxbootloader;\">Isolinux boot loader</ulink> (see " "<xref linkend=\"_stage_2_the_boot_loader\"/>) is used for booting." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can calculate the md5sum value and make the ISO9660 image directly from " "the CD-ROM device as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ isoinfo -d -i /dev/cdrom\n" "CD-ROM is in ISO 9660 format\n" "...\n" "Logical block size is: 2048\n" "Volume size is: 23150592\n" "...\n" "# dd if=/dev/cdrom bs=2048 count=23150592 conv=notrunc,noerror | md5sum\n" "# dd if=/dev/cdrom bs=2048 count=23150592 conv=notrunc,noerror > cd.iso" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "You must carefully avoid ISO9660 filesystem read ahead bug of Linux as above " "to get the right result." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Writing directly to the CD/DVD-R/RW" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "DVD is only a large CD to <citerefentry><refentrytitle>wodim</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> provided by <ulink url=" "\"&cdrkit;\">cdrkit</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can find a usable device by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# wodim --devices" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Then the blank CD-R is inserted to the CD drive, and the ISO9660 image file, " "\"<literal>cd.iso</literal>\" is written to this device, e.g., \"<literal>/" "dev/hda</literal>\", using <citerefentry><refentrytitle>wodim</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# wodim -v -eject dev=/dev/hda cd.iso" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "If CD-RW is used instead of CD-R, do this instead by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# wodim -v -eject blank=fast dev=/dev/hda cd.iso" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "If your desktop system mounts CD automatically, unmount it by " "\"<literal>sudo unmount /dev/hda</literal>\" before using " "<citerefentry><refentrytitle>wodim</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Mounting the ISO9660 image file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If \"<literal>cd.iso</literal>\" contains an ISO9660 image, then the " "following manually mounts it to \"<literal>/cdrom</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# mount -t iso9660 -o ro,loop cd.iso /cdrom" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Modern desktop system mounts removable media automatically (see <xref " "linkend=\"_removable_storage_device\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The binary data" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here, we discuss direct manipulations of the binary data on storage media. " "See <xref linkend=\"_data_storage_tips\"/>, too." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Viewing and editing binary data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The most basic viewing method of binary data is to use \"<literal>od -t x1</" "literal>\" command." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of packages which view and edit binary data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "basic package which has <citerefentry><refentrytitle>od</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to dump files (HEX, " "ASCII, OCTAL, …)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utility package which has <citerefentry><refentrytitle>hd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to dump files (HEX, " "ASCII, OCTAL, …)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "binary editor and viewer (HEX, ASCII)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "full featured hexadecimal editor (GNOME)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "full featured hexadecimal editor (KDE4)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "binary editor and viewer (HEX, ASCII, EBCDIC)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "binary editor and viewer (HEX, ASCII, EBCDIC, OCTAL, …)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "HEX is used as an acronym for <ulink url=\"&hexadecimal;\">hexadecimal</" "ulink> format with <ulink url=\"&radix;\">radix</ulink> 16. OCTAL is for " "<ulink url=\"&octal;\">octal</ulink> format with <ulink url=\"&radix;" "\">radix</ulink> 8. ASCII is for <ulink url=" "\"&americanstandardationinterchange;\">American Standard Code for " "Information Interchange</ulink>, i.e., normal English text code. EBCDIC is " "for <ulink url=\"&extendedbinarycolinterchangecode;\">Extended Binary Coded " "Decimal Interchange Code</ulink> used on <ulink url=\"&ibmmainframe;\">IBM " "mainframe</ulink> operating systems." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Manipulating files without mounting disk" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are tools to read and write files without mounting disk." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of packages to manipulate files without mounting disk" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for MSDOS files without mounting them" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for HFS and HFS+ files without mounting them" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Data redundancy" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Software <ulink url=\"&raid;\">RAID</ulink> systems offered by the Linux " "kernel provide data redundancy in the kernel filesystem level to achieve " "high levels of storage reliability." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are tools to add data redundancy to files in application program level " "to achieve high levels of storage reliability, too." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of tools to add data redundancy to files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Parity Archive Volume Set, for checking and repair of files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "data loss/scratch/aging protection for CD/DVD media" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "backup tool using MiniDV camcorders (providing " "<citerefentry><refentrytitle>rsbep</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "recover lost blocks using Forward Error Correction" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Data file recovery and forensic analysis" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are tools for data file recovery and forensic analysis." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of packages for data file recovery and forensic analysis" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utilities for partition scan and disk recovery" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utility to recover files by looking for magic bytes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "frugal, high performance file carver" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "rescue data from damaged harddisks" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "utility to undelete files on the ext2 filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tool to help recover deleted files on the ext3 filesystem" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "data recovery program for NTFS filesystems" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "gzip recovery toolkit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tools for forensics analysis. (Sleuthkit)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "graphical interface to SleuthKit" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "forensics application to recover data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "forensic imaging tool based on Qt" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "enhanced version of <literal>dd</literal> for forensics and security" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "forensic copy program" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Splitting a large file into small files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When a data is too big to backup as a single file, you can backup its " "content after splitting it into, e.g. 2000MiB chunks and merge those chunks " "back into the original file later." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ split -b 2000m large_file\n" "$ cat x* >large_file" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Please make sure you do not have any files starting with \"<literal>x</" "literal>\" to avoid name crashes." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Clearing file contents" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to clear the contents of a file such as a log file, do not use " "<citerefentry><refentrytitle>rm</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> to delete the file and then create a new empty file, because " "the file may still be accessed in the interval between commands. The " "following is the safe way to clear the contents of the file." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ :>file_to_be_cleared" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Dummy files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The following commands create dummy or empty files." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ dd if=/dev/zero of=5kb.file bs=1k count=5\n" "$ dd if=/dev/urandom of=7mb.file bs=1M count=7\n" "$ touch zero.file\n" "$ : > alwayszero.file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You should find following files." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>5kb.file</literal>\" is 5KB of zeros." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>7mb.file</literal>\" is 7MB of random data." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>zero.file</literal>\" may be a 0 byte file. If it existed, its " "<literal>mtime</literal> is updated while its content and its length are " "kept." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>alwayszero.file</literal>\" is always a 0 byte file. If it " "existed, its <literal>mtime</literal> is updated and its content is reset." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Erasing an entire hard disk" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are several ways to completely erase data from an entire hard disk " "like device, e.g., USB memory stick at \"<literal>/dev/sda</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Check your USB memory stick location with " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> first before executing commands here. The device pointed by " "\"<literal>/dev/sda</literal>\" may be SCSI hard disk or serial-ATA hard " "disk where your entire system resides." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Erase all the disk content by resetting data to 0 with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dd if=/dev/zero of=/dev/sda" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Erase all by overwriting random data with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# dd if=/dev/urandom of=/dev/sda" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Erase all by overwriting random data very efficiently with the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# shred -v -n 1 /dev/sda" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since <citerefentry><refentrytitle>dd</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> is available from the shell of many bootable Linux " "CDs such as Debian installer CD, you can erase your installed system " "completely by running an erase command from such media on the system hard " "disk, e.g., \"<literal>/dev/hda</literal>\", \"<literal>/dev/sda</literal>" "\", etc." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Erasing unused area of an hard disk" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Unused area on an hard disk (or USB memory stick), e.g. \"<literal>/dev/" "sdb1</literal>\" may still contain erased data themselves since they are " "only unlinked from the filesystem. These can be cleaned by overwriting them." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# mount -t auto /dev/sdb1 /mnt/foo\n" "# cd /mnt/foo\n" "# dd if=/dev/zero of=junk\n" "dd: writing to `junk': No space left on device\n" "...\n" "# sync\n" "# umount /dev/sdb1" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "This is usually a good enough for your USB memory stick. But this is not " "perfect. Most parts of erased filenames and their attributes may be hidden " "and remain in the filesystem." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Undeleting deleted but still open files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Even if you have accidentally deleted a file, as long as that file is still " "being used by some application (read or write mode), it is possible to " "recover such a file." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ echo foo > bar\n" "$ less bar\n" "$ ps aux | grep ' less[ ]'\n" "bozo 4775 0.0 0.0 92200 884 pts/8 S+ 00:18 0:00 less bar\n" "$ rm bar\n" "$ ls -l /proc/4775/fd | grep bar\n" "lr-x------ 1 bozo bozo 64 2008-05-09 00:19 4 -> /home/bozo/bar (deleted)\n" "$ cat /proc/4775/fd/4 >bar\n" "$ ls -l\n" "-rw-r--r-- 1 bozo bozo 4 2008-05-09 00:25 bar\n" "$ cat bar\n" "foo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Execute on another terminal (when you have the <literal>lsof</literal> " "package installed) as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ls -li bar\n" "2228329 -rw-r--r-- 1 bozo bozo 4 2008-05-11 11:02 bar\n" "$ lsof |grep bar|grep less\n" "less 4775 bozo 4r REG 8,3 4 2228329 /home/bozo/bar\n" "$ rm bar\n" "$ lsof |grep bar|grep less\n" "less 4775 bozo 4r REG 8,3 4 2228329 /home/bozo/bar (deleted)\n" "$ cat /proc/4775/fd/4 >bar\n" "$ ls -li bar\n" "2228302 -rw-r--r-- 1 bozo bozo 4 2008-05-11 11:05 bar\n" "$ cat bar\n" "foo" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Searching all hardlinks" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Files with hardlinks can be identified by \"<literal>ls -li</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ls -li\n" "total 0\n" "2738405 -rw-r--r-- 1 root root 0 2008-09-15 20:21 bar\n" "2738404 -rw-r--r-- 2 root root 0 2008-09-15 20:21 baz\n" "2738404 -rw-r--r-- 2 root root 0 2008-09-15 20:21 foo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Both \"<literal>baz</literal>\" and \"<literal>foo</literal>\" have link " "counts of \"2\" (>1) showing them to have hardlinks. Their <ulink url=" "\"&inode;\">inode</ulink> numbers are common \"2738404\". This means they " "are the same hardlinked file. If you do not happen to find all hardlinked " "files by chance, you can search it by the <ulink url=\"&inode;\">inode</" "ulink>, e.g., \"2738404\" as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# find /path/to/mount/point -xdev -inum 2738404" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Invisible disk space consumption" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "All deleted but open files consumes disk space although they are not visible " "from normal <citerefentry><refentrytitle>du</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>. They can be listed with their size by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# lsof -s -X / |grep deleted" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Data security infrastructure" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The data security infrastructure is provided by the combination of data " "encryption tool, message digest tool, and signature tool." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of data security infrastructure tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>gpg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&gnuprivacyguard;\">GNU Privacy Guard</ulink> - OpenPGP " "encryption and signing tool" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GNU Privacy Guard documentation" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>gpgv</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GNU Privacy Guard - signature verification tool" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>paperkey</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "extract just the secret information out of OpenPGP secret keys" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "utilities for <ulink url=\"&dmcrypto;\">dm-crypto</ulink> block device " "encryption supporting <ulink url=\"&luks;\">LUKS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ecryptfs</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "utilities for <ulink url=\"&ecryptfs;\">ecryptfs</ulink> stacked filesystem " "encryption" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>md5sum</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compute and check MD5 message digest" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>sha1sum</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compute and checks SHA1 message digest" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>openssl</refentrytitle><manvolnum>1ssl</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "compute message digest with \"<literal>openssl dgst</literal>\" (OpenSSL)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See <xref linkend=\"_data_encryption_tips\"/> on <ulink url=\"&dmcrypto;" "\">dm-crypto</ulink> and <ulink url=\"&ecryptfs;\">ecryptfs</ulink> which " "implement automatic data encryption infrastructure via Linux kernel modules." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Key management for GnuPG" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are <ulink url=\"&gnuprivacyguard;\">GNU Privacy Guard</ulink> commands " "for the basic key management." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of GNU Privacy Guard commands for the key management" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --gen-key</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "generate a new key" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --gen-revoke my_user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "generate revoke key for my_user_ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --edit-key user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "edit key interactively, \"help\" for help" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o file --exports</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "export all keys to file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --imports file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "import all keys from file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --send-keys user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "send key of user_ID to keyserver" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --recv-keys user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "recv. key of user_ID from keyserver" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --list-keys user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list keys of user_ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --list-sigs user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "list sig. of user_ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --check-sigs user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "check sig. of user_ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --fingerprint user_ID</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "check fingerprint of user_ID" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --refresh-keys</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "update local keyring" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here is the meaning of the trust code." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of the meaning of the trust code" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "code" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description of trust" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "no owner trust assigned / not yet calculated" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "trust calculation failed" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "not enough information for calculation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>n</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "never trust this key" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>m</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "marginally trusted" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "fully trusted" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ultimately trusted" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following uploads my key \"<literal>1DD8D791</literal>\" to the popular " "keyserver \"<literal>hkp://keys.gnupg.net</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ gpg --keyserver hkp://keys.gnupg.net --send-keys 1DD8D791" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A good default keyserver set up in \"<literal>~/.gnupg/gpg.conf</literal>" "\" (or old location \"<literal>~/.gnupg/options</literal>\") contains the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "keyserver hkp://keys.gnupg.net" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The following obtains unknown keys from the keyserver." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ gpg --list-sigs --with-colons | grep '^sig.*\\[User ID not found\\]' |\\\n" " cut -d ':' -f 5| sort | uniq | xargs gpg --recv-keys" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There was a bug in <ulink url=\"&openpgppublickeyserver;\">OpenPGP Public " "Key Server</ulink> (pre version 0.9.6) which corrupted key with more than 2 " "sub-keys. The newer <literal>gnupg</literal> (>1.2.1-2) package can " "handle these corrupted subkeys. See <citerefentry><refentrytitle>gpg</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> under \"<literal>--" "repair-pks-subkey-bug</literal>\" option." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Using GnuPG on files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here are examples for using <ulink url=\"&gnuprivacyguard;\">GNU Privacy " "Guard</ulink> commands on files." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of GNU Privacy Guard commands on files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -a -s file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sign file into <ulink url=\"&ascii;\">ASCII</ulink> armored file.asc" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --armor --sign file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --clearsign file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "clear-sign message" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --clearsign file|mail foo@example.org</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "mail a clear-signed message to <literal>foo@example.org</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --clearsign --not-dash-escaped patchfile</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "clear-sign patchfile" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --verify file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "verify clear-signed file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o file.sig -b file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "create detached signature" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o file.sig --detach-sig file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg --verify file.sig file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "verify file with file.sig" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o crypt_file.gpg -r name -e file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "public-key encryption intended for name from file to binary crypt_file.gpg" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<literal>gpg -o crypt_file.gpg --recipient name --encrypt file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o crypt_file.asc -a -r name -e file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "public-key encryption intended for name from file to <ulink url=\"&ascii;" "\">ASCII</ulink> armored crypt_file.asc" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o crypt_file.gpg -c file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "symmetric encryption from file to crypt_file.gpg" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o crypt_file.gpg --symmetric file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o crypt_file.asc -a -c file</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "symmetric encryption intended for name from file to <ulink url=\"&ascii;" "\">ASCII</ulink> armored crypt_file.asc" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o file -d crypt_file.gpg -r name</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "decryption" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gpg -o file --decrypt crypt_file.gpg</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Using GnuPG with Mutt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Add the following to \"<literal>~/.muttrc</literal>\" to keep a slow GnuPG " "from automatically starting, while allowing it to be used by typing " "\"<literal>S</literal>\" at the index menu." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "macro index S \":toggle pgp_verify_sig\\n\"\n" "set pgp_verify_sig=no" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Using GnuPG with Vim" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>gnupg</literal> plugin let you run GnuPG transparently for " "files with extension \"<literal>.gpg</literal>\", \"<literal>.asc</literal>" "\", and \"<literal>.ppg</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# aptitude install vim-scripts vim-addon-manager\n" "$ vim-addons install gnupg" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The MD5 sum" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>md5sum</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> provides utility to make a digest file using the method in " "<ulink url=\"&rfcbdcb;\">rfc1321</ulink> and verifying each file with it." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ md5sum foo bar >baz.md5\n" "$ cat baz.md5\n" "d3b07384d113edec49eaa6238ad5ff00 foo\n" "c157a79031e1c40f85931829bc5fc552 bar\n" "$ md5sum -c baz.md5\n" "foo: OK\n" "bar: OK" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The computation for the <ulink url=\"&mdf;\">MD5</ulink> sum is less CPU " "intensive than the one for the cryptographic signature by <ulink url=" "\"&gnuprivacyguardgnupg;\">GNU Privacy Guard (GnuPG)</ulink>. Usually, only " "the top level digest file is cryptographically signed to ensure data " "integrity." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Source code merge tools" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are many merge tools for the source code. Following commands caught " "my eyes." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of source code merge tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>diff</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compare files line by line" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>diff3</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compare and merges three files line by line" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>vimdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compare 2 files side by side in vim" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>patch</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "apply a diff file to an original" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>dpatch</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manage series of patches for Debian package" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>diffstat</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "produce a histogram of changes by the diff" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>combinediff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "create a cumulative patch from two incremental patches" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>dehtmldiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "extract a diff from an HTML page" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>filterdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "extract or excludes diffs from a diff file" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>fixcvsdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "fix diff files created by CVS that <citerefentry><refentrytitle>patch</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> mis-interprets" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>flipdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "exchange the order of two patches" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>grepdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "show which files are modified by a patch matching a regex" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>interdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "show differences between two unified diff files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>lsdiff</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "show which files are modified by a patch" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>recountdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "recompute counts and offsets in unified context diffs" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>rediff</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "fix offsets and counts of a hand-edited diff" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>splitdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "separate out incremental patches" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>unwrapdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "demangle patches that have been word-wrapped" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>wiggle</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "apply rejected patches" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>quilt</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manage series of patches" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>meld</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compare and merge files (GTK)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>dirdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "display differences and merge changes between directory trees" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>docdiff</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "compare two files word by word / char by char" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>imediff2</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "interactive full screen 2-way merge tool" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>makepatch</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "generate extended patch files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>applypatch</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "apply extended patch files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>wdiff</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "display word differences between text files" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Extracting differences for source files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "One of following procedures extract differences between two source files and " "create unified diff files \"<literal>file.patch0</literal>\" or " "\"<literal>file.patch1</literal>\" depending on the file location." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ diff -u file.old file.new > file.patch0\n" "$ diff -u old/file new/file > file.patch1" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Merging updates for source files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The diff file (alternatively called patch file) is used to send a program " "update. The receiving party applies this update to another file by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ patch -p0 file < file.patch0\n" "$ patch -p1 file < file.patch1" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Updating via 3-way-merge" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have three versions of a source code, you can perform 3-way-merge " "effectively using <citerefentry><refentrytitle>diff3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ diff3 -m file.mine file.old file.yours > file" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Version control systems" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here is a summary of the <ulink url=\"&versioncontrolsystemsvcs;\">version " "control systems (VCS)</ulink> on the Debian system." msgstr "" #. type: Content of: <book><chapter><section><note><para> msgid "" "If you are new to VCS systems, you should start learning with <emphasis role=" "\"strong\">Git</emphasis>, which is growing fast in popularity." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of version control system tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "VCS type" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cssc;\">CSSC</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "local" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "clone of the <ulink url=\"&unixsccs;\">Unix SCCS</ulink> (deprecated)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&rcs;\">RCS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "\"<ulink url=\"&unixsccs;\">Unix SCCS</ulink> done right\"" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cvs;\">CVS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "remote" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "previous standard remote VCS" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&subversion;\">Subversion</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "\"CVS done right\", the new de facto standard remote VCS" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&git;\">Git</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "distributed" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "fast DVCS in C (used by the Linux kernel and others)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&mercurial;\">Mercurial</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DVCS in Python and some C" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&bazaar;\">Bazaar</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "DVCS influenced by <literal>tla</literal> written in Python (used by <ulink " "url=\"&ubuntu;\">Ubuntu</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&darcs;\">Darcs</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DVCS with smart algebra of patches (slow)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&gnuarch;\">GNU arch</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DVCS mainly by Tom Lord (Historic)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&monotone;\">Monotone</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DVCS in C++" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "CVS, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GUI display of VCS (CVS, Subversion, RCS) repository tree" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Git" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GUI display of VCS (Git) repository tree" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "VCS is sometimes known as revision control system (RCS), or software " "configuration management (SCM)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Distributed VCS such as Git is the tool of choice these days. CVS and " "Subversion may still be useful to join some existing open source program " "activities." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debian provides free VCS services via <ulink url=\"&debianaliothservice;" "\">Debian Alioth service</ulink>. It supports practically all VCSs. Its " "documentation can be found at <ulink url=\"&httpwikidebianorgalioth;" "\">http://wiki.debian.org/Alioth</ulink> ." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "There are few basics for creating a shared access VCS archive." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use \"<literal>umask 002</literal>\" (see <xref linkend=" "\"_control_of_permissions_for_newly_created_files_umask\"/>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Make all VCS archive files belonging to a pertinent group" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Enable set group ID on all VCS archive directories (BSD-like file creation " "scheme, see <xref linkend=\"_filesystem_permissions\"/>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Make user sharing the VCS archive belonging to the group" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Comparison of VCS commands" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an oversimplified comparison of native VCS commands to provide the " "big picture. The typical command sequence may require options and arguments." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "Comparison of native VCS commands" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "CVS" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Subversion" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs init</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn create</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git init</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "create the (local) repository" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs login</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "login to the remote repository" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs co</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn co</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git clone</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "check out the remote repository as the working tree" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs up</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn up</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git pull</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "update the working tree by merging the remote repository" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs add</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn add</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git add .</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "add file(s) in the working tree to the VCS" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs rm</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn rm</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git rm</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove file(s) in working tree from the VCS" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs ci</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn ci</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "commit changes to the remote repository" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git commit -a</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "commit changes to the local repository" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git push</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "update the remote repository by the local repository" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs status</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn status</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git status</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display the working tree status from the VCS" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>cvs diff</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>svn diff</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git diff</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "diff <reference_repository> <working_tree>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>git repack -a -d; git prune</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "repack the local repository into single pack" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>tkcvs</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>gitk</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GUI display of VCS repository tree" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "Invoking a <literal>git</literal> subcommand directly as \"<literal>git-xyz</" "literal>\" from the command line has been deprecated since early 2006." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "GUI tools such as <citerefentry><refentrytitle>tkcvs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>gitk</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> really help you with tracking revision history of files. The " "web interface provided by many public archives for browsing their " "repositories is also quite useful, too." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Git can work directly with different VCS repositories such as ones provided " "by CVS and Subversion, and provides the local repository for local changes " "with <literal>git-cvs</literal> and <literal>git-svn</literal> packages. " "See <ulink url=\"&gitforcvsusers;\">git for CVS users</ulink>, and <xref " "linkend=\"_git_for_the_subversion_repository\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Git has commands which have no equivalents in CVS and Subversion: \"fetch\", " "\"rebase\", \"cherry-pick\", …" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>cvs</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/usr/share/doc/cvs/html-cvsclient</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/usr/share/doc/cvs/html-info</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>/usr/share/doc/cvsbook</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>info cvs</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Configuration of CVS repository" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following configuration allows commits to the CVS repository only by a " "member of the \"<literal>src</literal>\" group, and administration of CVS " "only by a member of the \"<literal>staff</literal>\" group, thus reducing " "the chance of shooting oneself." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd /var/lib; umask 002; mkdir cvs\n" "# export CVSROOT=/srv/cvs/project\n" "# cd $CVSROOT\n" "# chown root:src .\n" "# chmod 2775 .\n" "# cvs -d $CVSROOT init\n" "# cd CVSROOT\n" "# chown -R root:staff .\n" "# chmod 2775 .\n" "# touch val-tags\n" "# chmod 664 history val-tags\n" "# chown root:src history val-tags" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You may restrict creation of new project by changing the owner of \"<literal>" "$CVSROOT</literal>\" directory to \"<literal>root:staff</literal>\" and its " "permission to \"<literal>3775</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Local access to CVS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The default CVS repository is pointed by \"<literal>$CVSROOT</literal>\". " "The following sets up \"<literal>$CVSROOT</literal>\" for the local access." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ export CVSROOT=/srv/cvs/project" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Remote access to CVS with pserver" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many public CVS servers provide read-only remote access to them with account " "name \"<literal>anonymous</literal>\" via pserver service. For example, " "Debian web site contents are maintained by <ulink url=\"&webwmlproject;" "\">webwml project</ulink> via CVS at Debian alioth service. The following " "sets up \"<literal>$CVSROOT</literal>\" for the remote access to this CVS " "repository." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ export CVSROOT=:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/webwml\n" "$ cvs login" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Since pserver is prone to eavesdropping attack and insecure, write access is " "usually disable by server administrators." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Remote access to CVS with ssh" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following sets up \"<literal>$CVS_RSH</literal>\" and \"<literal>" "$CVSROOT</literal>\" for the remote access to the CVS repository by <ulink " "url=\"&webwmlproject;\">webwml project</ulink> with SSH." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ export CVS_RSH=ssh\n" "$ export CVSROOT=:ext:account@cvs.alioth.debian.org:/cvs/webwml" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can also use public key authentication for SSH which eliminates the " "remote password prompt." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Importing a new source to CVS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create a new local source tree location at \"<literal>~/path/to/module1</" "literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ mkdir -p ~/path/to/module1; cd ~/path/to/module1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Populate a new local source tree under \"<literal>~/path/to/module1</literal>" "\" with files." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Import it to CVS with the following parameters." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Module name: \"<literal>module1</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Vendor tag: \"<literal>Main-branch</literal>\" (tag for the entire branch)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Release tag: \"<literal>Release-initial</literal>\" (tag for a specific " "release)" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd ~/path/to/module1\n" "$ cvs import -m \"Start module1\" module1 Main-branch Release-initial\n" "$ rm -Rf . # optional" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "File permissions in CVS repository" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "CVS does not overwrite the current repository file but replaces it with " "another one. Thus, write permission to the repository directory is " "critical. For every new module for \"<literal>module1</literal>\" in " "repository at \"<literal>/srv/cvs/project</literal>\", run the following to " "ensure this condition if needed." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# cd /srv/cvs/project\n" "# chown -R root:src module1\n" "# chmod -R ug+rwX module1\n" "# chmod 2775 module1" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Work flow of CVS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here is an example of typical work flow using CVS." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Check all available modules from CVS project pointed by \"<literal>$CVSROOT</" "literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cvs rls\n" "CVSROOT\n" "module1\n" "module2\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Checkout \"<literal>module1</literal>\" to its default directory " "\"<literal>./module1</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd ~/path/to\n" "$ cvs co module1\n" "$ cd module1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Make changes to the content as needed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Check changes by making \"<literal>diff -u [repository] [local]</literal>\" " "equivalent by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs diff -u" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You find that you broke some file \"<literal>file_to_undo</literal>\" " "severely but other files are fine." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Overwrite \"<literal>file_to_undo</literal>\" file with the clean copy from " "CVS by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs up -C file_to_undo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Save the updated local source tree to CVS by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs ci -m \"Describe change\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create and add \"<literal>file_to_add</literal>\" file to CVS by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ vi file_to_add\n" "$ cvs add file_to_add\n" "$ cvs ci -m \"Added file_to_add\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Merge the latest version from CVS by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs up -d" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Watch out for lines starting with \"<literal>C filename</literal>\" which " "indicates conflicting changes." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Look for unmodified code in \"<literal>.#filename.version</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Search for \"<literal><<<<<<<</literal>\" and " "\"<literal>>>>>>>></literal>\" in files for conflicting " "changes." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Edit files to fix conflicts as needed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Add a release tag \"<literal>Release-1</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cvs ci -m \"last commit for Release-1\"\n" "$ cvs tag Release-1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Edit further." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Remove the release tag \"<literal>Release-1</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs tag -d Release-1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Check in changes to CVS by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs ci -m \"real last commit for Release-1\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Re-add the release tag \"<literal>Release-1</literal>\" to updated CVS HEAD " "of main by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs tag Release-1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create a branch with a sticky branch tag \"<literal>Release-initial-" "bugfixes</literal>\" from the original version pointed by the tag " "\"<literal>Release-initial</literal>\" and check it out to \"<literal>~/path/" "to/old</literal>\" directory by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cvs rtag -b -r Release-initial Release-initial-bugfixes module1\n" "$ cd ~/path/to\n" "$ cvs co -r Release-initial-bugfixes -d old module1\n" "$ cd old" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use \"<literal>-D 2005-12-20</literal>\" (<ulink url=\"&isoigab;\">ISO 8601</" "ulink> date format) instead of \"<literal>-r Release-initial</literal>\" to " "specify particular date as the branch point." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Work on this local source tree having the sticky tag \"<literal>Release-" "initial-bugfixes</literal>\" which is based on the original version." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Work on this branch by yourself … until someone else joins to this " "\"<literal>Release-initial-bugfixes</literal>\" branch." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Sync with files modified by others on this branch while creating new " "directories as needed by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs ci -m \"checked into this branch\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Update the local tree by HEAD of main while removing sticky tag (\"<literal>-" "A</literal>\") and without keyword expansion (\"<literal>-kk</literal>\") by " "the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs up -d -kk -A" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Update the local tree (content = HEAD of main) by merging from the " "\"<literal>Release-initial-bugfixes</literal>\" branch and without keyword " "expansion by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs up -d -kk -j Release-initial-bugfixes" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Fix conflicts with editor." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs ci -m \"merged Release-initial-bugfixes\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Make archive by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd ..\n" "$ mv old old-module1-bugfixes\n" "$ tar -cvzf old-module1-bugfixes.tar.gz old-module1-bugfixes\n" "$ rm -rf old-module1-bugfixes" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "\"<literal>cvs up</literal>\" command can take \"<literal>-d</literal>\" " "option to create new directories and \"<literal>-P</literal>\" option to " "prune empty directories." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can checkout only a sub directory of \"<literal>module1</literal>\" by " "providing its name as \"<literal>cvs co module1/subdir</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Notable options for CVS commands (use as first argument(s) to " "<citerefentry><refentrytitle>cvs</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "option" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-n</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "dry run, no effect" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-t</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display messages showing steps of cvs activity" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Latest files from CVS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "To get the latest files from CVS, use \"<literal>tomorrow</literal>\" by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ cvs ex -D tomorrow module_name" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Administration of CVS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Add module alias \"<literal>mx</literal>\" to a CVS project (local server) " "by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ export CVSROOT=/srv/cvs/project\n" "$ cvs co CVSROOT/modules\n" "$ cd CVSROOT\n" "$ echo \"mx -a module1\" >>modules\n" "$ cvs ci -m \"Now mx is an alias for module1\"\n" "$ cvs release -d ." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Now, you can check out \"<literal>module1</literal>\" (alias: \"<literal>mx</" "literal>\") from CVS to \"<literal>new</literal>\" directory by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cvs co -d new mx\n" "$ cd new" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "In order to perform above procedure, you should have appropriate file " "permissions." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Execution bit for CVS checkout" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you checkout files from CVS, their execution permission bit is retained." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Whenever you see execution permission problems in a checked out file, e.g. " "\"<literal>filename</literal>\", change its permission in the corresponding " "CVS repository by the following to fix it." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# chmod ugo-x filename" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Subversion is a <emphasis role=\"strong\">recent-generation</emphasis> " "version control system replacing older CVS. It has most of CVS's features " "except tags and branches." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You need to install <literal>subversion</literal>, <literal>libapache2-svn</" "literal> and <literal>subversion-tools</literal> packages to set up a " "Subversion server." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Configuration of Subversion repository" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Currently, the <literal>subversion</literal> package does not set up a " "repository, so one must set it up manually. One possible location for a " "repository is in \"<literal>/srv/svn/project</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create a directory by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# mkdir -p /srv/svn/project" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create the repository database by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# svnadmin create /srv/svn/project" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Access to Subversion via Apache2 server" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you only access Subversion repository via Apache2 server, you just need " "to make the repository only writable by the WWW server by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# chown -R www-data:www-data /srv/svn/project" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Add (or uncomment) the following in \"<literal>/etc/apache2/mods-available/" "dav_svn.conf</literal>\" to allow access to the repository via user " "authentication." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "<Location /project>\n" " DAV svn\n" " SVNPath /srv/svn/project\n" " AuthType Basic\n" " AuthName \"Subversion repository\"\n" " AuthUserFile /etc/subversion/passwd\n" "<LimitExcept GET PROPFIND OPTIONS REPORT>\n" " Require valid-user\n" "</LimitExcept>\n" "</Location>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Create a user authentication file with the command by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# htpasswd2 -c /etc/subversion/passwd some-username" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Restart Apache2." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Your new Subversion repository is accessible at URL \"<literal>http://" "localhost/project</literal>\" and \"<literal>http://example.com/project</" "literal>\" from <citerefentry><refentrytitle>svn</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (assuming your URL of " "web server is \"<literal>http://example.com/</literal>\")." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Local access to Subversion by group" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following sets up Subversion repository for the local access by a group, " "e.g. <literal>project</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "# chmod 2775 /srv/svn/project\n" "# chown -R root:src /srv/svn/project\n" "# chmod -R ug+rwX /srv/svn/project" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Your new Subversion repository is group accessible at URL \"<literal>file:///" "localhost/srv/svn/project</literal>\" or \"<literal>file:///srv/svn/project</" "literal>\" from <citerefentry><refentrytitle>svn</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> for local users " "belonging to <literal>project</literal> group. You must run commands, such " "as <literal>svn</literal>, <literal>svnserve</literal>, <literal>svnlook</" "literal>, and <literal>svnadmin</literal> under \"<literal>umask 002</" "literal>\" to ensure group access." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Remote access to Subversion via SSH" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A group accessible Subversion repository is at URL \"<literal>example.com:/" "srv/svn/project</literal>\" for SSH, you can access it from " "<citerefentry><refentrytitle>svn</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> at URL \"<literal>svn+ssh://example.com:/srv/svn/project</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Subversion directory structure" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many projects uses directory tree similar to the following for Subversion to " "compensate its lack of branches and tags." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " ----- module1\n" " | |-- branches\n" " | |-- tags\n" " | | |-- release-1.0\n" " | | `-- release-2.0\n" " | |\n" " | `-- trunk\n" " | |-- file1\n" " | |-- file2\n" " | `-- file3\n" " |\n" " `-- module2" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You must use \"<literal>svn copy …</literal>\" command to mark branches and " "tags. This ensures Subversion to record modification history of files " "properly and saves storage spaces." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Importing a new source to Subversion" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Import it to Subversion with the following parameters." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Subversion site URL: \"<literal>file:///srv/svn/project</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Subversion directory: \"<literal>module1/trunk</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Subversion tag: \"<literal>module1/tags/Release-initial</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd ~/path/to/module1\n" "$ svn import file:///srv/svn/project/module1/trunk -m \"Start module1\"\n" "$ svn cp file:///srv/svn/project/module1/trunk file:///srv/svn/project/module1/tags/Release-initial" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Alternatively, by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ svn import ~/path/to/module1 file:///srv/svn/project/module1/trunk -m \"Start module1\"\n" "$ svn cp file:///srv/svn/project/module1/trunk file:///srv/svn/project/module1/tags/Release-initial" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can replace URLs such as \"<literal>file:///…</literal>\" by any other " "URL formats such as \"<literal>http://…</literal>\" and \"<literal>svn+ssh://" "…</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Work flow of Subversion" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example of typical work flow using Subversion with its native " "client." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Client commands offered by the <literal>git-svn</literal> package may offer " "alternative work flow of Subversion using the <literal>git</literal> " "command. See <xref linkend=\"_git_for_the_subversion_repository\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Check all available modules from Subversion project pointed by URL " "\"<literal>file:///srv/svn/project</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ svn list file:///srv/svn/project\n" "module1\n" "module2\n" "..." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Checkout \"<literal>module1/trunk</literal>\" to a directory " "\"<literal>module1</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd ~/path/to\n" "$ svn co file:///srv/svn/project/module1/trunk module1\n" "$ cd module1" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn diff" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Overwrite \"<literal>file_to_undo</literal>\" file with the clean copy from " "Subversion by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn revert file_to_undo" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Save the updated local source tree to Subversion by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn ci -m \"Describe change\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create and add \"<literal>file_to_add</literal>\" file to Subversion by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ vi file_to_add\n" "$ svn add file_to_add\n" "$ svn ci -m \"Added file_to_add\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Merge the latest version from Subversion by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn up" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Look for unmodified code in, e.g., \"<literal>filename.r6</literal>\", " "\"<literal>filename.r9</literal>\", and \"<literal>filename.mine</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ svn ci -m \"last commit for Release-1\"\n" "$ svn cp file:///srv/svn/project/module1/trunk file:///srv/svn/project/module1/tags/Release-1" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn rm file:///srv/svn/project/module1/tags/Release-1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Check in changes to Subversion by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn ci -m \"real last commit for Release-1\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Re-add the release tag \"<literal>Release-1</literal>\" from updated " "Subversion HEAD of trunk by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn cp file:///srv/svn/project/module1/trunk file:///srv/svn/project/module1/tags/Release-1" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Create a branch with a path \"<literal>module1/branches/Release-initial-" "bugfixes</literal>\" from the original version pointed by the path " "\"<literal>module1/tags/Release-initial</literal>\" and check it out to " "\"<literal>~/path/to/old</literal>\" directory by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ svn cp file:///srv/svn/project/module1/tags/Release-initial file:///srv/svn/project/module1/branches/Release-initial-bugfixes\n" "$ cd ~/path/to\n" "$ svn co file:///srv/svn/project/module1/branches/Release-initial-bugfixes old\n" "$ cd old" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use \"<literal>module1/trunk@{2005-12-20}</literal>\" (<ulink url=\"&isoigab;" "\">ISO 8601</ulink> date format) instead of \"<literal>module1/tags/Release-" "initial</literal>\" to specify particular date as the branch point." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Work on this local source tree pointing to branch \"<literal>Release-initial-" "bugfixes</literal>\" which is based on the original version." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Sync with files modified by others on this branch by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn ci -m \"checked into this branch\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Update the local tree with HEAD of trunk by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn switch file:///srv/svn/project/module1/trunk" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Update the local tree (content = HEAD of trunk) by merging from the " "\"<literal>Release-initial-bugfixes</literal>\" branch by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn merge file:///srv/svn/project/module1/branches/Release-initial-bugfixes" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ svn ci -m \"merged Release-initial-bugfixes\"" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "You can checkout only a sub directory of \"<literal>module1</literal>\" by " "providing its name as \"<literal>svn co file:///srv/svn/project/module1/" "trunk/subdir module1/subdir</literal>\", etc." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "Notable options for Subversion commands (use as first argument(s) to " "<citerefentry><refentrytitle>svn</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>--dry-run</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>-v</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display detail messages of svn activity" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Git can do everything for both local and remote source code management. " "This means that you can record the source code changes without needing " "network connectivity to the remote repository." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Configuration of Git client" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may wish to set several global configuration in \"<literal>~/.gitconfig</" "literal>\" such as your name and email address used by Git by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ git config --global user.name \"Name Surname\"\n" "$ git config --global user.email yourname@example.com" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are too used to CVS or Subversion commands, you may wish to set " "several command aliases by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ git config --global alias.ci \"commit -a\"\n" "$ git config --global alias.co checkout" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can check your global configuration by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ git config --global --list" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Git references" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&manpagegitb;\">manpage: git(1)</ulink> (<literal>/usr/share/" "doc/git-doc/git.html</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&gitusersmanual;\">Git User's Manual</ulink> (<literal>/usr/" "share/doc/git-doc/user-manual.html</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&atutorialintroductiontogit;\">A tutorial introduction to git</" "ulink> (<literal>/usr/share/doc/git-doc/gittutorial.html</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&atutorialintrodutiontogitparttwo;\">A tutorial introduction to " "git: part two</ulink> (<literal>/usr/share/doc/git-doc/gittutorial-2.html</" "literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&everydaygitwithcacommandsorso;\">Everyday GIT With 20 Commands " "Or So</ulink> (<literal>/usr/share/doc/git-doc/everyday.html</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&gitforcvsusers;\">git for CVS users</ulink> (<literal>/usr/" "share/doc/git-doc/gitcvs-migration.html</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This also describes how to set up server like CVS and extract old data from " "CVS into Git." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&othergitresourcevailableontheweb;\">Other git resources " "available on the web</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<ulink url=\"&gitsvncrashcourse;\">Git - SVN Crash Course</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&gitmagic;\">Git Magic</ulink> (<literal>/usr/share/doc/" "gitmagic/html/index.html</literal>)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>git-gui</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>gitk</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> commands make using " "Git very easy." msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not use the tag string with spaces in it even if some tools such as " "<citerefentry><refentrytitle>gitk</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> allow you to use it. It may choke some other <literal>git</" "literal> commands." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Git commands" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Even if your upstream uses different VCS, it may be good idea to use " "<citerefentry><refentrytitle>git</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> for local activity since you can manage your local copy of " "source tree without the network connection to the upstream. Here are some " "packages and commands used with <citerefentry><refentrytitle>git</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of git related packages and commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "official documentation for Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"Git Magic\", easier to understand guide for Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git</refentrytitle><manvolnum>7</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Git, the fast, scalable, distributed revision control system" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>gitk</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GUI Git repository browser with history" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-gui</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GUI for Git (No history)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-svnimport</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "import the data out of Subversion into Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-svn</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "provide bidirectional operation between the Subversion and Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-cvsimport</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "import the data out of CVS into Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-cvsexportcommit</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "export a commit to a CVS checkout from Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-cvsserver</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "CVS server emulator for Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-send-email</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "send a collection of patches as email from the Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>stg</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "quilt on top of git (Python)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>git-buildpackage</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "automate the Debian packaging with the Git" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>guilt</refentrytitle><manvolnum>7</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "quilt on top of git (SH/AWK/SED/…)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "With <citerefentry><refentrytitle>git</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, you work on a local branch with many commits and " "use something like \"<literal>git rebase -i master</literal>\" to reorganize " "change history later. This enables you to make clean change history. See " "<citerefentry><refentrytitle>git-rebase</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>git-cherry-pick</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "When you want to go back to a clean working directory without loosing the " "current state of the working directory, you can use \"<literal>git stash</" "literal>\". See <citerefentry><refentrytitle>git-stash</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Git for the Subversion repository" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can check out a Subversion repository at \"<literal>svn+ssh://svn." "example.org/project/module/trunk</literal>\" to a local Git repository at " "\"<literal>./dest</literal>\" and commit back to the Subversion repository. " "E.g.:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ git svn clone -s -rHEAD svn+ssh://svn.example.org/project dest\n" "$ cd dest\n" "... make changes\n" "$ git commit -a\n" "... keep working locally with git\n" "$ git svn dcommit" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The use of \"<literal>-rHEAD</literal>\" enables us to avoid cloning entire " "historical contents from the Subversion repository." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Git for recording configuration history" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can manually record chronological history of configuration using <ulink " "url=\"&git;\">Git</ulink> tools. Here is a simple example for your practice " "to record \"<literal>/etc/apt/</literal>\" contents." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd /etc/apt/\n" "$ sudo git init\n" "$ sudo chmod 700 .git\n" "$ sudo git add .\n" "$ sudo git commit -a" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Commit configuration with description." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Make modification to the configuration files." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd /etc/apt/\n" "$ sudo git commit -a" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Commit configuration with description and continue your life." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd /etc/apt/\n" "$ sudo gitk --all" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You have full configuration history with you." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> is needed to work with any file permissions of configuration " "data. For user configuration data, you may skip <literal>sudo</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The \"<literal>chmod 700 .git</literal>\" command in the above example is " "needed to protect archive data from unauthorized read access." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For more complete setup for recording configuration history, please look for " "the <literal>etckeeper</literal> package: <xref linkend=" "\"_recording_changes_in_configuration_files\"/>." msgstr "" #. type: Content of: <book><chapter><title> msgid "Data conversion" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Tools and tips for converting data formats on the Debian system are " "described." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Standard based tools are in very good shape but support for proprietary data " "formats are limited." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Text data conversion tools" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Following packages for the text data conversion caught my eyes." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of text data conversion tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "keyword" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "charset" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "text encoding converter between locales by " "<citerefentry><refentrytitle>iconv</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> (fundamental)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "charset+eol" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "text encoding converter between locales (versatile, more aliases and " "features)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "text encoding converter between locales (fancy)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "character set translator for Japanese" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "character set translator" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "replace accented letters by their unaccented equivalent" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "eol" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "text format converter between DOS and Unix: " "<citerefentry><refentrytitle>fromdos</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>todos</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "text format converter between Macintosh and Unix: " "<citerefentry><refentrytitle>frommac</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>tomac</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Converting a text file with iconv" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<citerefentry><refentrytitle>iconv</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is provided as a part of the <literal>libc6</literal> package " "and it is always available on practically all systems to convert the " "encoding of characters." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can convert encodings of a text file with " "<citerefentry><refentrytitle>iconv</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ iconv -f encoding1 -t encoding2 input.txt >output.txt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Encoding values are case insensitive and ignore \"<literal>-</literal>\" and " "\"<literal>_</literal>\" for matching. Supported encodings can be checked " "by the \"<literal>iconv -l</literal>\" command." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of encoding values and their usage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "encoding value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&ascii;\">ASCII</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&americanstandardationinterchange;\">American Standard Code for " "Information Interchange</ulink>, 7 bit code w/o accented characters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&utfi;\">UTF-8</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "current multilingual standard for all modern OSs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isoiifjb;\">ISO-8859-1</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "old standard for western European languages, ASCII + accented characters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isoiifjc;\">ISO-8859-2</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "old standard for eastern European languages, ASCII + accented characters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isoiifjbf;\">ISO-8859-15</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "old standard for western European languages, <ulink url=\"&isoiifjb;" "\">ISO-8859-1</ulink> with euro sign" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpifa;\">CP850</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 850, Microsoft DOS characters with graphics for western European " "languages, <ulink url=\"&isoiifjb;\">ISO-8859-1</ulink> variant" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpjdc;\">CP932</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 932, Microsoft Windows style <ulink url=\"&shiftjis;\">Shift-JIS</" "ulink> variant for Japanese" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpjdg;\">CP936</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 936, Microsoft Windows style <ulink url=\"&gbcdbc;\">GB2312</" "ulink>, <ulink url=\"&gbk;\">GBK</ulink> or <ulink url=\"&gbbiada;" "\">GB18030</ulink> variant for Simplified Chinese" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpjej;\">CP949</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 949, Microsoft Windows style <ulink url=\"&euckr;\">EUC-KR</ulink> " "or Unified Hangul Code variant for Korean" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpjfa;\">CP950</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 950, Microsoft Windows style <ulink url=\"&bigf;\">Big5</ulink> " "variant for Traditional Chinese" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpbcfb;\">CP1251</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 1251, Microsoft Windows style encoding for the Cyrillic alphabet" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&cpbcfc;\">CP1252</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "code page 1252, Microsoft Windows style <ulink url=\"&isoiifjbf;" "\">ISO-8859-15</ulink> variant for western European languages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&koiir;\">KOI8-R</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "old Russian UNIX standard for the Cyrillic alphabet" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&isocaccjp;\">ISO-2022-JP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "standard encoding for Japanese email which uses only 7 bit codes" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&eucjp;\">eucJP</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "old Japanese UNIX standard 8 bit code and completely different from <ulink " "url=\"&shiftjis;\">Shift-JIS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&shiftjis;\">Shift-JIS</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "JIS X 0208 Appendix 1 standard for Japanese (see <ulink url=\"&cpjdc;" "\">CP932</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Some encodings are only supported for the data conversion and are not used " "as locale values (<xref linkend=\"_basics_of_encoding\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For character sets which fit in single byte such as <ulink url=\"&ascii;" "\">ASCII</ulink> and <ulink url=\"&isoiifj;\">ISO-8859</ulink> character " "sets, the <ulink url=\"&characterencoding;\">character encoding</ulink> " "means almost the same thing as the character set." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For character sets with many characters such as <ulink url=\"&jisxacbd;" "\">JIS X 0213</ulink> for Japanese or <ulink url=" "\"&universalcharactunicodeisobagegb;\">Universal Character Set (UCS, " "Unicode, ISO-10646-1)</ulink> for practically all languages, there are many " "encoding schemes to fit them into the sequence of the byte data." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&euc;\">EUC</ulink> and <ulink url=" "\"&isoieccaccalsoknownasjisxacac;\">ISO/IEC 2022 (also known as JIS X 0202)</" "ulink> for Japanese" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&utfi;\">UTF-8</ulink>, <ulink url=\"&utfbgucsc;\">UTF-16/" "UCS-2</ulink> and <ulink url=\"&utfdcucse;\">UTF-32/UCS-4</ulink> for Unicode" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For these, there are clear differentiations between the character set and " "the character encoding." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&codepage;\">code page</ulink> is used as the synonym to " "the character encoding tables for some vendor specific ones." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Please note most encoding systems share the same code with ASCII for the 7 " "bit characters. But there are some exceptions. If you are converting old " "Japanese C programs and URLs data from the casually-called shift-JIS " "encoding format to UTF-8 format, use \"<literal>CP932</literal>\" as the " "encoding name instead of \"<literal>shift-JIS</literal>\" to get the " "expected results: <literal>0x5C</literal> → \"<literal>\\</literal>\" and " "<literal>0x7E</literal> → \"<literal>~</literal>\" . Otherwise, these are " "converted to wrong characters." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<citerefentry><refentrytitle>recode</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> may be used too and offers more than the combined " "functionality of <citerefentry><refentrytitle>iconv</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>fromdos</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>todos</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>frommac</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, and <citerefentry><refentrytitle>tomac</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. For more, see " "\"<literal>info recode</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Checking file to be UTF-8 with iconv" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can check if a text file is encoded in UTF-8 with " "<citerefentry><refentrytitle>iconv</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ iconv -f utf8 -t utf8 input.txt >/dev/null || echo \"non-UTF-8 found\"" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use \"<literal>--verbose</literal>\" option in the above example to find the " "first non-UTF-8 character." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Converting file names with iconv" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is an example script to convert encoding of file names from ones " "created under older OS to modern UTF-8 ones in a single directory." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "ENCDN=iso-8859-1\n" "for x in *;\n" " do\n" " mv \"$x\" \"$(echo \"$x\" | iconv -f $ENCDN -t utf-8)\"\n" "done" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>$ENCDN</literal>\" variable should be set by the encoding " "value in <xref linkend=\"list-of-encoding-values\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For more complicated case, please mount a filesystem (e.g. a partition on a " "disk drive) containing such file names with proper encoding as the " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> option (see <xref linkend=\"_filename_encoding\"/>) and copy " "its entire contents to another filesystem mounted as UTF-8 with " "\"<literal>cp -a</literal>\" command." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "EOL conversion" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The text file format, specifically the end-of-line (EOL) code, is dependent " "on the platform." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of EOL styles for different platforms" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "platform" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "EOL code" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "control" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "decimal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "hexadecimal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Debian (unix)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "LF" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^J</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "10" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "0A" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "MSDOS and Windows" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "CR-LF" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^M^J</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "13 10" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "0D 0A" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Apple's Macintosh" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "CR" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>^M</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "13" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "0D" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The EOL format conversion programs, <citerefentry><refentrytitle>fromdos</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>todos</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>frommac</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, and " "<citerefentry><refentrytitle>tomac</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, are quite handy. <citerefentry><refentrytitle>recode</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is also useful." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Some data on the Debian system, such as the wiki page data for the " "<literal>python-moinmoin</literal> package, use MSDOS style CR-LF as the EOL " "code. So the above rule is just a general rule." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Most editors (eg. <literal>vim</literal>, <literal>emacs</literal>, " "<literal>gedit</literal>, …) can handle files in MSDOS style EOL " "transparently." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The use of \"<literal>sed -e '/\\r$/!s/$/\\r/'</literal>\" instead of " "<citerefentry><refentrytitle>todos</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is better when you want to unify the EOL style to the MSDOS " "style from the mixed MSDOS and Unix style. (e.g., after merging 2 MSDOS " "style files with <citerefentry><refentrytitle>diff3</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>.) This is because " "<literal>todos</literal> adds CR to all lines." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "TAB conversion" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are few popular specialized programs to convert the tab codes." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "" "List of TAB conversion commands from <literal>bsdmainutils</literal> and " "<literal>coreutils</literal> packages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "<literal>bsdmainutils</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "<literal>coreutils</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "expand tab to spaces" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>col -x</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>expand</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "unexpand tab from spaces" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>col -h</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>unexpand</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<citerefentry><refentrytitle>indent</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> from the <literal>indent</literal> package completely " "reformats whitespaces in the C program." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Editor programs such as <literal>vim</literal> and <literal>emacs</literal> " "can be used for TAB conversion, too. For example with <literal>vim</" "literal>, you can expand TAB with \"<literal>:set expandtab</literal>\" and " "\"<literal>:%retab</literal>\" command sequence. You can revert this with " "\"<literal>:set noexpandtab</literal>\" and \"<literal>:%retab!</literal>\" " "command sequence." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Editors with auto-conversion" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Intelligent modern editors such as the <literal>vim</literal> program are " "quite smart and copes well with any encoding systems and any file formats. " "You should use these editors under the UTF-8 locale in the UTF-8 capable " "console for the best compatibility." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "An old western European Unix text file, \"<literal>u-file.txt</literal>\", " "stored in the latin1 (iso-8859-1) encoding can be edited simply with " "<literal>vim</literal> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim u-file.txt" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is possible since the auto detection mechanism of the file encoding in " "<literal>vim</literal> assumes the UTF-8 encoding first and, if it fails, " "assumes it to be latin1." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "An old Polish Unix text file, \"<literal>pu-file.txt</literal>\", stored in " "the latin2 (iso-8859-2) encoding can be edited with <literal>vim</literal> " "by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim '+e ++enc=latin2 pu-file.txt'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "An old Japanese unix text file, \"<literal>ju-file.txt</literal>\", stored " "in the eucJP encoding can be edited with <literal>vim</literal> by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim '+e ++enc=eucJP ju-file.txt'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "An old Japanese MS-Windows text file, \"<literal>jw-file.txt</literal>\", " "stored in the so called shift-JIS encoding (more precisely: CP932) can be " "edited with <literal>vim</literal> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When a file is opened with \"<literal>++enc</literal>\" and \"<literal>++ff</" "literal>\" options, \"<literal>:w</literal>\" in the Vim command line stores " "it in the original format and overwrite the original file. You can also " "specify the saving format and the file name in the Vim command line, e.g., " "\"<literal>:w ++enc=utf8 new.txt</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please refer to the mbyte.txt \"multi-byte text support\" in <literal>vim</" "literal> on-line help and <xref linkend=\"list-of-encoding-values\"/> for " "locale values used with \"<literal>++enc</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>emacs</literal> family of programs can perform the equivalent " "functions." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Plain text extraction" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The following reads a web page into a text file. This is very useful when " "copying configurations off the Web or applying basic Unix text tools such as " "<citerefentry><refentrytitle>grep</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> on the web page." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ w3m -dump http://www.remote-site.com/help-info.html >textfile" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Similarly, you can extract plain text data from other formats using the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of tools to extract plain text data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "html→text" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "HTML to text converter with the \"<literal>w3m -dump</literal>\" command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "advanced HTML to text converter (ISO 8859-1)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "HTML to text converter with the \"<literal>lynx -dump</literal>\" command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "HTML to text converter with the \"<literal>elinks -dump</literal>\" command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "HTML to text converter with the \"<literal>links -dump</literal>\" command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "HTML to text converter with the \"<literal>links2 -dump</literal>\" command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "MSWord→text,ps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert MSWord files to plain text or ps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "MSWord→text,TeX" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert MSWord files to plain text or TeX" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ps/pdf→text" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "extract text from PostScript and PDF files" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove the markup tags from an HTML file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "odt→text" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from OpenDocument Text to text" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Highlighting and formatting plain text data" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can highlight and format plain text data by the following." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of tools to highlight plain text data" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "highlight" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Vim MACRO to convert source code to HTML with \"<literal>:source $VIMRUNTIME/" "syntax/html.vim</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "c→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter for the C program to latex and HTML (C language)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert many source codes to TeX (C language)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "convert many source codes to HTML, XHTML, LaTeX, Texinfo, ANSI color escape " "sequences and DocBook files with highlight (C++)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "convert many source codes to HTML, XHTML, RTF, LaTeX, TeX or XSL-FO files " "with highlight (C++)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text→color" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "generic colouriser for everything (Python)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text to HTML converter (Perl)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "markdown text document formatter to (X)HTML (Perl)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text→any" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "AsciiDoc text document formatter to XML/HTML (Python)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ReStructured Text document formatter to XML (Python)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "document conversion from text to HTML, SGML, LaTeX, man page, MoinMoin, " "Magic Point and PageMaker (Python)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "universal document - text processing utility (C language)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "document converter from structured plain text to other formats (m4)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "document converter from ReStructured Text to html (Python)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"free form\" document preparation system (Perl)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pre-document language and tools to process it (C language)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "simple document parser (Perl)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "document structuring, publishing and search framework (Ruby)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "XML data" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&theextensiblemarkuplanguagexml;\">The Extensible Markup " "Language (XML)</ulink> is a markup language for documents containing " "structured information." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See introductory information at <ulink url=\"&xmlcom;\">XML.COM</ulink>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&whatisxml;\">\"What is XML?\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&whatisxslt;\">\"What Is XSLT?\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&whatisxslfo;\">\"What Is XSL-FO?\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&whatisxlink;\">\"What Is XLink?\"</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic hints for XML" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "XML text looks somewhat like <ulink url=\"&html;\">HTML</ulink>. It enables " "us to manage multiple formats of output for a document. One easy XML system " "is the <literal>docbook-xsl</literal> package, which is used here." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Each XML file starts with standard XML declaration as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The basic syntax for one XML element is marked up as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "<name attribute=\"value\">content</name>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "XML element with empty content is marked up in the following short form." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "<name attribute=\"value\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>attribute=\"value\"</literal>\" in the above examples are " "optional." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The comment section in XML is marked up as the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "<!-- comment -->" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Other than adding markups, XML requires minor conversion to the content " "using predefined entities for following characters." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of predefined entities for XML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "predefined entity" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "character to be converted from" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&quot;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\"</literal> : quote" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&apos;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>'</literal> : apostrophe" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&lt;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal><</literal> : less-than" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&gt;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>></literal> : greater-than" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&amp;</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>&</literal> : ampersand" msgstr "" #. type: Content of: <book><chapter><section><section><caution><para> msgid "" "\"<literal><</literal>\" or \"<literal>&</literal>\" can not be used " "in attributes or elements." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "When SGML style user defined entities, e.g. \"<literal>&some-tag:</" "literal>\", are used, the first definition wins over others. The entity " "definition is expressed in \"<literal><!ENTITY some-tag \"entity value" "\"></literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "As long as the XML markup are done consistently with certain set of the tag " "name (either some data as content or attribute value), conversion to another " "XML is trivial task using <ulink url=\"&extensiblestylesnsformationsxslt;" "\">Extensible Stylesheet Language Transformations (XSLT)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "XML processing" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many tools available to process XML files such as <ulink url=" "\"&theextensiblestysheetlanguagexsl;\">the Extensible Stylesheet Language " "(XSL)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Basically, once you create well formed XML file, you can convert it to any " "format using <ulink url=\"&extensiblestylesnsformationsxslt;\">Extensible " "Stylesheet Language Transformations (XSLT)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&extensiblestylesttingobjectxslfo;\">Extensible Stylesheet " "Language for Formatting Object (XSL-FO)</ulink> is supposed to be solution " "for formatting. The <literal>fop</literal> package is in the Debian " "<literal>contrib</literal> (not <literal>main</literal>) archive still. So " "the LaTeX code is usually generated from XML using XSLT and the LaTeX system " "is used to create printable file such as DVI, PostScript, and PDF." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of XML tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "xml" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "XML document type definition (DTD) for DocBook" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "xslt" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "XSLT command line processor (XML→ XML, HTML, plain text, etc.)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "xml/xslt" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "XSL stylesheets for processing DocBook XML to various output formats with " "XSLT" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "XML-to-any converter with XSLT" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert Docbook files to DVI, PostScript, PDF documents with XSLT" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "xml/xsl-fo" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert Docbook XML files to PDF" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since XML is subset of <ulink url=\"&standardgeneralirkuplanguagesgml;" "\">Standard Generalized Markup Language (SGML)</ulink>, it can be processed " "by the extensive tools available for SGML, such as <ulink url=" "\"&documentstylesemionlanguagedsssl;\">Document Style Semantics and " "Specification Language (DSSSL)</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of DSSL tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "dsssl" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ISO/IEC 10179:1996 standard DSSSL processor (latest)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ISO/IEC 10179:1996 standard DSSSL processor (1.3.x series)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "James Clark's original DSSSL processor (1.2.x series)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "xml/dsssl" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "DSSSL stylesheets for processing DocBook XML to various output formats with " "DSSSL" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities for DocBook files including conversion to other formats (HTML, " "RTF, PS, man, PDF) with <literal>docbook2*</literal> commands with DSSSL" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "SGML/dsssl" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from SGML and XML using DSSSL stylesheets" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "<ulink url=\"&gnome;\">GNOME</ulink>'s <literal>yelp</literal> is sometimes " "handy to read <ulink url=\"&docbook;\">DocBook</ulink> XML files directly " "since it renders decently on X." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The XML data extraction" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "You can extract HTML or XML data from other formats using followings." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of XML data extraction tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "MSWord→any" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "document converter from Microsoft Word to HTML, LaTeX, etc." msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "texi→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from Texinfo to HTML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "manpage→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from manpage to HTML (CGI support)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tex↔html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter between (La)TeX and HTML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "MSExcel→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from MSExcel .xls to HTML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "MSPowerPoint→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from MSPowerPoint to HTML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "rtf→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "document converter from RTF to HTML, etc" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "info→html" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from GNU info to HTML (CGI support)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "sxw→xml" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from OpenOffice.org SXW documents to DocBook XML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "WordPerfect→any" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "WordPerfect 5.0 and 5.1 files to TeX, LaTeX, troff, GML and HTML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "troff→xml" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from troff to DocBook XML" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For non-XML HTML files, you can convert them to XHTML which is an instance " "of well formed XML. XHTML can be processed by XML tools." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of XML pretty print tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "xml↔html↔xhtml" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "command line XML tool with <citerefentry><refentrytitle>xmllint</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> (syntax check, " "reformat, lint, …)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "HTML syntax checker and reformatter" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Once proper XML is generated, you can use XSLT technology to extract data " "based on the mark-up context etc." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Printable data" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Printable data is expressed in the <ulink url=\"&postscript;\">PostScript</" "ulink> format on the Debian system. <ulink url=" "\"&commonunixprintingsystemcups;\">Common Unix Printing System (CUPS)</" "ulink> uses Ghostscript as its rasterizer backend program for non-PostScript " "printers." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Ghostscript" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The core of printable data manipulation is the <ulink url=\"&ghostscript;" "\">Ghostscript</ulink> <ulink url=\"&postscriptps;\">PostScript (PS)</ulink> " "interpreter which generates raster image." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The latest upstream Ghostscript from Artifex was re-licensed from AFPL to " "GPL and merged all the latest ESP version changes such as CUPS related ones " "at 8.60 release as unified release." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of Ghostscript PostScript interpreters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&thegplghostscripptpdfinterpreter;\">The GPL Ghostscript " "PostScript/PDF interpreter</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GPL Ghostscript PostScript/PDF interpreter - X display support" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PDF rendering library based on xpdf PDF viewer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PDF rendering library (GLib-based shared library)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "CMaps for PDF rendering library (for <ulink url=\"&cjk;\">CJK</ulink> " "support: Adobe-*)" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "\"<literal>gs -h</literal>\" can display the configuration of Ghostscript." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Merge two PS or PDF files" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can merge two <ulink url=\"&postscriptps;\">PostScript (PS)</ulink> or " "<ulink url=\"&portabledocumentformatpdf;\">Portable Document Format (PDF)</" "ulink> files using <citerefentry><refentrytitle>gs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> of Ghostscript." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f foo1.ps foo2.ps\n" "$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f foo1.pdf foo2.pdf" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The <ulink url=\"&pdf;\">PDF</ulink>, which is widely used cross-platform " "printable data format, is essentially the compressed <ulink url=\"&ps;\">PS</" "ulink> format with few additional features and extensions." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "For command line, <citerefentry><refentrytitle>psmerge</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and other commands " "from the <literal>psutils</literal> package are useful for manipulating " "PostScript documents. Commands in the <literal>pdfjam</literal> package " "work similarly for manipulating PDF documents. " "<citerefentry><refentrytitle>pdftk</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> from the <literal>pdftk</literal> package is useful for " "manipulating PDF documents, too." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Printable data utilities" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The following packages for the printable data utilities caught my eyes." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of printable data utilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pdf→ps,text,…" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "PDF utilities: <literal>pdftops</literal>, <literal>pdfinfo</literal>, " "<literal>pdfimages</literal>, <literal>pdftotext</literal>, " "<literal>pdffonts</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ps→ps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PostScript document conversion tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "create large posters out of PostScript pages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text→ps, html, rtf" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert ASCII text to PostScript, HTML, RTF or Pretty-Print" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text→ps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "'Anything to PostScript' converter and pretty-printer" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "pdf→pdf" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PDF document conversion tool: <literal>pdftk</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text,ps→ps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "print multiple pages per sheet" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "html→ps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from HTML to PostScript" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "PDF document conversion tools: <literal>pdf90</literal>, <literal>pdfjoin</" "literal>, and <literal>pdfnup</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "html→latex" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from html to latex" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "latex→rtf" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert documents from LaTeX to RTF which can be read by MS Word" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ps→eps" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from PostScript to EPS (Encapsulated PostScript)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Text to PostScript converter with Japanese encoding support" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PostScript utilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "pretty print many source codes (C, C++, Java, Pascal, Perl, Pike, Sh, and " "Verilog) to PostScript. (C language)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ps→svg" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "converter from PDF to <ulink url=\"&scalablevectorgraphics;\">Scalable " "vector graphics</ulink> format" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ps→ipe" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from PDF to IPE's XML format" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Printing with CUPS" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Both <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>lpr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> commands offered by " "<ulink url=\"&commonunixprintingsystemcups;\">Common Unix Printing System " "(CUPS)</ulink> provides options for customized printing the printable data." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can print 3 copies of a file collated using one of the following " "commands." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ lp -n 3 -o Collate=True filename" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ lpr -#3 -o Collate=True filename" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can further customize printer operation by using printer option such as " "\"<literal>-o number-up=2</literal>\", \"<literal>-o page-set=even</literal>" "\", \"<literal>-o page-set=odd</literal>\", \"<literal>-o scaling=200</" "literal>\", \"<literal>-o natural-scaling=200</literal>\", etc., documented " "at <ulink url=\"&commandlineprintingandoptions;\">Command-Line Printing and " "Options</ulink>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Type setting" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The Unix <ulink url=\"&troff;\">troff</ulink> program originally developed " "by AT&T can be used for simple typesetting. It is usually used to " "create manpages." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&tex;\">TeX</ulink> created by Donald Knuth is very powerful " "type setting tool and is the de facto standard. <ulink url=\"&latex;" "\">LaTeX</ulink> originally written by Leslie Lamport enables a high-level " "access to the power of TeX." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of type setting tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "(La)TeX" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "TeX system for typesetting, previewing and printing" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "troff" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GNU troff text-formatting system" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "roff typesetting" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Traditionally, <ulink url=\"&roff;\">roff</ulink> is the main Unix text " "processing system. See <citerefentry><refentrytitle>roff</" "refentrytitle><manvolnum>7</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>groff</refentrytitle><manvolnum>7</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>groff</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>grotty</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>troff</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>groff_mdoc</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>groff_man</" "refentrytitle><manvolnum>7</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>groff_ms</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>groff_me</" "refentrytitle><manvolnum>7</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>groff_mm</refentrytitle><manvolnum>7</" "manvolnum></citerefentry>, and \"<literal>info groff</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can read or print a good tutorial and reference on \"<literal>-me</" "literal>\" <ulink url=\"¯o;\">macro</ulink> in \"<literal>/usr/share/doc/" "groff/</literal>\" by installing the <literal>groff</literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "\"<literal>groff -Tascii -me -</literal>\" produces plain text output with " "<ulink url=\"&ansiescapecode;\">ANSI escape code</ulink>. If you wish to " "get manpage like output with many \"^H\" and \"_\", use " "\"<literal>GROFF_NO_SGR=1 groff -Tascii -me -</literal>\" instead." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "To remove \"^H\" and \"_\" from a text file generated by <literal>groff</" "literal>, filter it by \"<literal>col -b -x</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "TeX/LaTeX" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <ulink url=\"&texlive;\">TeX Live</ulink> software distribution offers a " "complete TeX system. The <literal>texlive</literal> metapackage provides a " "decent selection of the <ulink url=\"&texlive;\">TeX Live</ulink> packages " "which should suffice for the most common tasks." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many references available for <ulink url=\"&tex;\">TeX</ulink> and " "<ulink url=\"&latex;\">LaTeX</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&thetetexhowtothextetexlocalguide;\">The teTeX HOWTO: The Linux-" "teTeX Local Guide</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>tex</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>latex</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"The TeXbook\", by Donald E. Knuth, (Addison-Wesley)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"LaTeX - A Document Preparation System\", by Leslie Lamport, (Addison-" "Wesley)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"The LaTeX Companion\", by Goossens, Mittelbach, Samarin, (Addison-Wesley)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This is the most powerful typesetting environment. Many <ulink url=\"&sgml;" "\">SGML</ulink> processors use this as their back end text processor. " "<ulink url=\"&lyx;\">Lyx</ulink> provided by the <literal>lyx</literal> " "package and <ulink url=\"&gnutexmacs;\">GNU TeXmacs</ulink> provided by the " "<literal>texmacs</literal> package offer nice <ulink url=\"&wysiwyg;" "\">WYSIWYG</ulink> editing environment for <ulink url=\"&latex;\">LaTeX</" "ulink> while many use <ulink url=\"&emacs;\">Emacs</ulink> and <ulink url=" "\"&vim;\">Vim</ulink> as the choice for the source editor." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are many online resources available." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The TEX Live Guide - TEX Live 2007 (\"<literal>/usr/share/doc/texlive-doc-" "base/english/texlive-en/live.html</literal>\") (<literal>texlive-doc-base</" "literal> package)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&asimpleguidetolatexlyx;\">A Simple Guide to Latex/Lyx</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wordprocessingusinglatex;\">Word Processing Using LaTeX</ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&localuserguidetotetexlatex;\">Local User Guide to teTeX/LaTeX</" "ulink>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When documents become bigger, sometimes TeX may cause errors. You must " "increase pool size in \"<literal>/etc/texmf/texmf.cnf</literal>\" (or more " "appropriately edit \"<literal>/etc/texmf/texmf.d/95NonPath</literal>\" and " "run <citerefentry><refentrytitle>update-texmf</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>) to fix this." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "The TeX source of \"The TeXbook\" is available at <ulink url=" "\"&httptugctanorgteisttextexbooktex;\">http://tug.ctan.org/tex-archive/" "systems/knuth/dist/tex/texbook.tex</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This file contains most of the required macros. I heard that you can " "process this document with <citerefentry><refentrytitle>tex</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> after commenting lines " "7 to 10 and adding \"<literal>\\input manmac \\proofmodefalse</literal>\". " "It's strongly recommended to buy this book (and all other books from Donald " "E. Knuth) instead of using the online version but the source is a great " "example of TeX input!" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Pretty print a manual page" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can print a manual page in PostScript nicely by one of the following " "commands." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ man -Tps some_manpage | lpr" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ man -Tps some_manpage | mpage -2 | lpr" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The second example prints 2 pages on one sheet." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Creating a manual page" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although writing a manual page (manpage) in the plain <ulink url=\"&troff;" "\">troff</ulink> format is possible, there are few helper packages to create " "it." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of packages to help creating the manpage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "SGML→manpage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from DocBook SGML into roff man macros" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "text→manpage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "automatic manpage generator from --help" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "info→manpage" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "converter from GNU info to POD or man pages" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "convert flat ASCII text to man page format" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The mail data conversion" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "The following packages for the mail data conversion caught my eyes." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of packages to help mail data conversion" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "mail" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>shar</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>unshar</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " "<citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>uudecode</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "MIME" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "encoder and decoder <ulink url=\"&mime;\">MIME</ulink> messages: " "<citerefentry><refentrytitle>mpack</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and <citerefentry><refentrytitle>munpack</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ms-tnef" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "unpacking <ulink url=\"&mime;\">MIME</ulink> attachments of type " "\"application/ms-tnef\" which is a Microsoft only format" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "encoder and decoder for the following formats: <ulink url=\"&uuencode;" "\">uuencode</ulink>, <ulink url=\"&xxencode;\">xxencode</ulink>, <ulink url=" "\"&basege;\">BASE64</ulink>, <ulink url=\""edprintable;\">quoted " "printable</ulink>, and <ulink url=\"&binhex;\">BinHex</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PST" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "convert Microsoft <ulink url=\"&outlookpstfiles;\">Outlook PST files</ulink> " "to <ulink url=\"&mbox;\">mbox</ulink> format" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "The <ulink url=\"&internetmessageaccessprotocol;\">Internet Message Access " "Protocol</ulink> version 4 (IMAP4) server (see <xref linkend=" "\"_pop3_imap4_server\"/>) may be used to move mails out from proprietary " "mail systems if the mail client software can be configured to use IMAP4 " "server too." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Mail data basics" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Mail (<ulink url=\"&smtp;\">SMTP</ulink>) data should be limited to 7 bit. " "So binary data and 8 bit text data are encoded into 7 bit format with the " "<ulink url=\"&multipurposeinteilextensionsmime;\">Multipurpose Internet Mail " "Extensions (MIME)</ulink> and the selection of the charset (see <xref " "linkend=\"_basics_of_encoding\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The standard mail storage format is mbox formatted according to <ulink url=" "\"&rfcciccupdatedrfcicc;\">RFC2822 (updated RFC822)</ulink>. See " "<citerefentry><refentrytitle>mbox</refentrytitle><manvolnum>5</manvolnum></" "citerefentry> (provided by the <literal>mutt</literal> package)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For European languages, \"<literal>Content-Transfer-Encoding: quoted-" "printable</literal>\" with the ISO-8859-1 charset is usually used for mail " "since there are not much 8 bit characters. If European text is encoded in " "UTF-8, \"<literal>Content-Transfer-Encoding: quoted-printable</literal>\" is " "likely to be used since it is mostly 7 bit data." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For Japanese, traditionally \"<literal>Content-Type: text/plain; " "charset=ISO-2022-JP</literal>\" is usually used for mail to keep text in 7 " "bits. But older Microsoft systems may send mail data in Shift-JIS without " "proper declaration. If Japanese text is encoded in UTF-8, <ulink url=" "\"&basege;\">Base64</ulink> is likely to be used since it contains many 8 " "bit data. The situation of other Asian languages is similar." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If your non-Unix mail data is accessible by a non-Debian client software " "which can talk to the IMAP4 server, you may be able to move them out by " "running your own IMAP4 server (see <xref linkend=\"_pop3_imap4_server\"/>)." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "If you use other mail storage formats, moving them to mbox format is the " "good first step. The versatile client program such as " "<citerefentry><refentrytitle>mutt</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> may be handy for this." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can split mailbox contents to each message using " "<citerefentry><refentrytitle>procmail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>formail</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each mail message can be unpacked using " "<citerefentry><refentrytitle>munpack</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> from the <literal>mpack</literal> package (or " "other specialized tools) to obtain the MIME encoded contents." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Graphic data tools" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following packages for the graphic data conversion, editing, and " "organization tools caught my eyes." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of graphic data tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image(bitmap)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GNU Image Manipulation Program" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image manipulation programs" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image manipulation programs (folk of <literal>imagemagick</literal>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "GTK+-based X11 frontend for SANE (Scanner Access Now Easy)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "graphics conversion tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "png↔ico(bitmap)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "convert <ulink url=\"&mswindowsiconsanndfrompngformats;\">MS Windows icons " "and cursors to and from PNG formats</ulink> (<ulink url=\"&faviconico;" "\">favicon.ico</ulink>)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ps/pdf/SVG/…" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<ulink url=\"&scribus;\">Scribus</ulink> DTP editor" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image(vector)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "LibreOffice office suite - drawing" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&svgscalablevectorgraphics;\">SVG (Scalable Vector Graphics)</" "ulink> editor" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "diagram editor (GNOME)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "diagram editor (Gtk)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "facility for Interactive Generation of figures under X11" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ps/pdf→image(vector)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "PostScript and PDF files to editable vector graphics converter (SVG)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Windows/image(vector)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Windows metafile (vector graphic data) conversion tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "fig→sxd(vector)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "convert XFig files to OpenOffice.org Draw format" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image→image" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "post-processing tool for scanned pages for <ulink url=\"&ocr;\">OCR</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image→text" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "free <ulink url=\"&ocr;\">OCR</ulink> software based on the HP's commercial " "OCR engine" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "OCR engine data: tesseract-ocr language files for English text" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "free OCR software" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image(Exif)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manipulate digital camera photo files (GNOME) - GUI" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manipulate digital camera photo files (GNOME) - command line" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "manipulate digital camera photo files (KDE)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "manipulate the non-image part of Exif compliant JPEG (digital camera photo) " "files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "command-line utility to show EXIF information in JPEG files" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "utility to read Exif tags from a digital camera JPEG file" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "transform digital camera jpeg images" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "read metadata from digital pictures" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image(Raw)→ppm" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "decode raw digital camera images" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image→fingerprint" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "find visually similar or duplicate images" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "merge images to increase fidelity or create mosaics" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "image(Exif)→html" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "generate static HTML galleries from images" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "personal photo management application (GNOME)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "generate static HTML photo albums using XML and EXIF tags" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "generate browsable HTML photo albums with thumbnails" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "jpeg,png" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "universal <ulink url=\"&steganographic;\">Steganographic</ulink> tool" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "DXF" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "CAD data editor (KDE)" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "blend, TIFF, VRML, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "3D content editor for animation etc" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ms3d, obj, dxf, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "OpenGL based 3D model editor" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ttf, ps, …" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "metapackage for open font design" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "font editor for PS, TrueType and OpenType fonts" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ttf" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "program for <emphasis role=\"strong\">gridfitting</emphasis> and <emphasis " "role=\"strong\">hinting</emphasis> TrueType fonts" msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "Search more image tools using regex \"<literal>~Gworks-with::image</literal>" "\" in <citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> (see <xref linkend=" "\"_search_method_options_with_aptitude\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although GUI programs such as <citerefentry><refentrytitle>gimp</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> are very powerful, " "command line tools such as <citerefentry><refentrytitle>imagemagick</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> are quite useful for " "automating image manipulation with the script." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The de facto image file format of the digital camera is the <ulink url=" "\"&exchangeableimagefileformat;\">Exchangeable Image File Format</ulink> " "(EXIF) which is the <ulink url=\"&jpeg;\">JPEG</ulink> image file format " "with additional metadata tags. It can hold information such as date, time, " "and camera settings." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&thelempelzivwelcsdatacompression;\">The Lempel-Ziv-Welch (LZW) " "lossless data compression</ulink> patent has been expired. <ulink url=" "\"&graphicsinterchangeformatgif;\">Graphics Interchange Format (GIF)</ulink> " "utilities which use the LZW compression method are now freely available on " "the Debian system." msgstr "" #. type: Content of: <book><chapter><section><tip><para> msgid "" "Any digital camera or scanner with removable recording media works with " "Linux through <ulink url=\"&usbstorage;\">USB storage</ulink> readers since " "it follows the <ulink url=\"&designruleforcamerafilesystem;\">Design rule " "for Camera Filesystem</ulink> and uses <ulink url=\"&fat;\">FAT</ulink> " "filesystem. See <xref linkend=\"_removable_storage_device\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Miscellaneous data conversion" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are many other programs for converting data. Following packages caught " "my eyes using regex \"<literal>~Guse::converting</literal>\" in " "<citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> (see <xref linkend=" "\"_search_method_options_with_aptitude\"/>)." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of miscellaneous data conversion tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "rpm/tgz→deb" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "converter for the foreign package into the Debian package" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "EB→EPWING" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "converter from \"Electric Book\" (popular in Japan) to a single <ulink url=" "\"&jisxeaib;\">JIS X 4081</ulink> format (a subset of the <ulink url=" "\"&epwing;\">EPWING</ulink> V1)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You can also extract data from RPM format with the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ rpm2cpio file.src.rpm | cpio --extract" msgstr "" #. type: Content of: <book><chapter><title> msgid "Programming" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "I provide some pointers for people to learn programming on the Debian system " "enough to trace the packaged source code. Here are notable packages and " "corresponding documentation packages for programing." msgstr "" #. type: Content of: <book><chapter><table><title> msgid "List of packages to help programing" msgstr "" #. type: Content of: <book><chapter><table><tgroup><thead><row><entry> msgid "documentation" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info autoconf</literal>\" provided by <literal>autoconf-doc</" "literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info automake</literal>\" provided by <literal>automake1.10-doc</" "literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info bash</literal>\" provided by <literal>bash-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info bison</literal>\" provided by <literal>bison-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "\"<literal>info cpp</literal>\" provided by <literal>cpp-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "\"<literal>info ddd</literal>\" provided by <literal>ddd-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>exuberant-ctags</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info flex</literal>\" provided by <literal>flex-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info gawk</literal>\" provided by <literal>gawk-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "\"<literal>info gcc</literal>\" provided by <literal>gcc-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "\"<literal>info gdb</literal>\" provided by <literal>gdb-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info gettext</literal>\" provided by <literal>gettext-doc</" "literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info gfortran</literal>\" provided by <literal>gfortran-doc</" "literal> (Fortran 95)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>fpc</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and html by <literal>fp-docs</literal> (Pascal)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "help provided via menu (UI Builder)" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info libc</literal>\" provided by <literal>glibc-doc</literal> " "and <literal>glibc-doc-reference</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "\"<literal>info make</literal>\" provided by <literal>make-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>imake</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>xmkmf</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, etc." msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>mawk</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>perl</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and html pages provided by <literal>perl-doc</literal> and " "<literal>perl-doc-html</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>python</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and html pages provided by <literal>python-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>tcl</refentrytitle><manvolnum>3</manvolnum></" "citerefentry> and detail manual pages provided by <literal>tcl8.4-doc</" "literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>tk</refentrytitle><manvolnum>3</manvolnum></" "citerefentry> and detail manual pages provided by <literal>tk8.4-doc</" "literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>ruby</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and interactive reference provided by <literal>ri</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "help(F1) menu provided by <literal>vim-doc</literal>" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "fetch \"<ulink url=\"&thesingleunixspecificationsvc;\">The Single Unix " "Specifications v2</ulink>\"" msgstr "" #. type: Content of: <book><chapter><table><tgroup><tbody><row><entry> msgid "" "fetch \"<ulink url=\"&thesingleunixspecificationsvd;\">The Single Unix " "Specifications v3</ulink>\"" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Online references are available by typing \"<literal>man name</literal>\" " "after installing <literal>manpages</literal> and <literal>manpages-dev</" "literal> packages. Online references for the GNU tools are available by " "typing \"<literal>info program_name</literal>\" after installing the " "pertinent documentation packages. You may need to include the " "<literal>contrib</literal> and <literal>non-free</literal> archives in " "addition to the <literal>main</literal> archive since some GFDL " "documentations are not considered to be DFSG compliant." msgstr "" #. type: Content of: <book><chapter><warning><para> msgid "" "Do not use \"<literal>test</literal>\" as the name of an executable test " "file. \"<literal>test</literal>\" is a shell builtin." msgstr "" #. type: Content of: <book><chapter><caution><para> msgid "" "You should install software programs directly compiled from source into " "\"<literal>/usr/local</literal>\" or \"<literal>/opt</literal>\" to avoid " "collision with system programs." msgstr "" #. type: Content of: <book><chapter><tip><para> msgid "" "<ulink url=\"&codeexamplesofcrgjjbottlesofbeer;\">Code examples of creating " "\"Song 99 Bottles of Beer\"</ulink> should give you good idea of practically " "all the programming languages." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The shell script" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <ulink url=\"&shellscript;\">shell script</ulink> is a text file with " "the execution bit set and contains the commands in the following format." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" " ... command lines" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The first line specifies the shell interpreter which read and execute this " "file contents." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Reading shell scripts is the <emphasis role=\"strong\">best</emphasis> way " "to understand how a Unix-like system works. Here, I give some pointers and " "reminders for shell programming. See \"Shell Mistakes\" (<ulink url=" "\"&httpwwwgreenendokcaabaeshellhtml;\">http://www.greenend.org.uk/" "rjk/2001/04/shell.html</ulink>) to learn from mistakes." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Unlike shell interactive mode (see <xref linkend=\"_the_simple_shell_command" "\"/> and <xref linkend=\"_unix_like_text_processing\"/>), shell scripts " "frequently use parameters, conditionals, and loops." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "POSIX shell compatibility" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many system scripts may be interpreted by any one of <ulink url=\"&posix;" "\">POSIX</ulink> shells (see <xref linkend=\"list-of-shell-programs\"/>). " "The default shell for the system is \"<literal>/bin/sh</literal>\" which is " "a symlink pointing to the actual program." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> for <literal>lenny</literal> or older" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>dash</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> for <literal>squeeze</literal> or newer" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Avoid writing a shell script with <emphasis role=\"strong\">bashisms</" "emphasis> or <emphasis role=\"strong\">zshisms</emphasis> to make it " "portable among all POSIX shells. You can check it using " "<citerefentry><refentrytitle>checkbashisms</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of typical bashisms" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Good: POSIX" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Avoid: bashism" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>if [ \"$foo\" = \"$bar\" ] ; then …</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>if [ \"$foo\" == \"$bar\" ] ; then …</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>diff -u file.c.orig file.c</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>diff -u file.c{.orig,}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mkdir /foobar /foobaz</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>mkdir /foo{bar,baz}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>funcname() { … }</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>function funcname() { … }</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "octal format: \"<literal>\\377</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "hexadecimal format: \"<literal>\\xff</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The \"<literal>echo</literal>\" command must be used with following cares " "since its implementation differs among shell builtin and external commands." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Avoid using command option \"<literal>-e</literal>\" and \"<literal>-E</" "literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Avoid using any command options except \"<literal>-n</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Avoid using escape sequences in the string since their handling varies." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "Although \"<literal>-n</literal>\" option is <emphasis role=\"strong\">not</" "emphasis> really POSIX syntax, it is generally accepted." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Use the \"<literal>printf</literal>\" command instead of the " "\"<literal>echo</literal>\" command if you need to embed escape sequences in " "the output string." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Shell parameters" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Special shell parameters are frequently used in the shell script." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of shell parameters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "shell parameter" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "value" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$0</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "name of the shell or shell script" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$1</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "first(1) shell argument" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$9</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "ninth(9) shell argument" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$#</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "number of positional parameters" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\"$*\"</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\"$1 $2 $3 $4 … \"</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\"$@\"</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>\"$1\" \"$2\" \"$3\" \"$4\" …</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>$?</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "exit status of the most recent command" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$$</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PID of this shell script" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>$!</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "PID of most recently started background job" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Basic <emphasis role=\"strong\">parameter expansions</emphasis> to remember " "are followings." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of shell parameter expansions" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "parameter expression form" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "value if <literal>var</literal> is set" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "value if <literal>var</literal> is not set" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var:-string}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>$var</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>string</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var:+string}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>null</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var:=string}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "\"<literal>string</literal>\" (and run \"<literal>var=string</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var:?string}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "echo \"<literal>string</literal>\" to <emphasis role=\"strong\">stderr</" "emphasis> (and exit with error)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, the colon \"<literal>:</literal>\" in all of these operators is " "actually optional." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">with</emphasis> \"<literal>:</literal>\" = " "operator test for <emphasis role=\"strong\">exist</emphasis> and <emphasis " "role=\"strong\">not null</emphasis>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">without</emphasis> \"<literal>:</literal>\" = " "operator test for <emphasis role=\"strong\">exist</emphasis> only" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of key shell parameter substitutions" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "parameter substitution form" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "result" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var%suffix}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove smallest suffix pattern" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var%%suffix}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove largest suffix pattern" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var#prefix}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove smallest prefix pattern" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>${var##prefix}</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "remove largest prefix pattern" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Shell conditionals" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Each command returns an <emphasis role=\"strong\">exit status</emphasis> " "which can be used for conditional expressions." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Success: 0 (\"True\")" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Error: non 0 (\"False\")" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "\"0\" in the shell conditional context means \"True\", while \"0\" in the C " "conditional context means \"False\"." msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "\"<literal>[</literal>\" is the equivalent of the <literal>test</literal> " "command, which evaluates its arguments up to \"<literal>]</literal>\" as a " "conditional expression." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Basic <emphasis role=\"strong\">conditional idioms</emphasis> to remember " "are followings." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal><command> && <" "if_success_run_this_command_too> || true</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal><command> || <if_not_success_run_this_command_too> || " "true</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "A multi-line script snippet as the following" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "if [ <conditional_expression> ]; then\n" " <if_success_run_this_command>\n" "else\n" " <if_not_success_run_this_command>\n" "fi" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here trailing \"<literal>|| true</literal>\" was needed to ensure this shell " "script does not exit at this line accidentally when shell is invoked with " "\"<literal>-e</literal>\" flag." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of file comparison operators in the conditional expression" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "equation" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "condition to return logical true" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -e <file> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file> exists" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -d <file> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file> exists and is a directory" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -f <file> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file> exists and is a regular file" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -w <file> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file> exists and is writable" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -x <file> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file> exists and is executable" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <file1> -nt <file2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file1> is newer than <file2> (modification)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <file1> -ot <file2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<file1> is older than <file2> (modification)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <file1> -ef <file2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<file1> and <file2> are on the same device and the same inode " "number" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of string comparison operators in the conditional expression" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -z <str> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the length of <str> is zero" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> -n <str> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "the length of <str> is non-zero" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <str1> = <str2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<str1> and <str2> are equal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <str1> != <str2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<str1> and <str2> are not equal" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <str1> < <str2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<str1> sorts before <str2> (locale dependent)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal> <str1> > <str2> </literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<str1> sorts after <str2> (locale dependent)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "<emphasis role=\"strong\">Arithmetic</emphasis> integer comparison operators " "in the conditional expression are \"<literal>-eq</literal>\", \"<literal>-" "ne</literal>\", \"<literal>-lt</literal>\", \"<literal>-le</literal>\", " "\"<literal>-gt</literal>\", and \"<literal>-ge</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Shell loops" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are several loop idioms to use in POSIX shell." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>for x in foo1 foo2 … ; do command ; done</literal>\" loops by " "assigning items from the list \"<literal>foo1 foo2 …</literal>\" to variable " "\"<literal>x</literal>\" and executing \"<literal>command</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>while condition ; do command ; done</literal>\" repeats " "\"<literal>command</literal>\" while \"<literal>condition</literal>\" is " "true." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>until condition ; do command ; done</literal>\" repeats " "\"<literal>command</literal>\" while \"<literal>condition</literal>\" is not " "true." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "\"<literal>break</literal>\" enables to exit from the loop." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>continue</literal>\" enables to resume the next iteration of the " "loop." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "The <ulink url=\"&c;\">C</ulink>-language like numeric iteration can be " "realized by using <citerefentry><refentrytitle>seq</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> as the \"<literal>foo1 " "foo2 …</literal>\" generator." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "See <xref linkend=\"_repeating_a_command_looping_over_files\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "The shell command-line processing sequence" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The shell processes a script roughly as the following sequence." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "The shell reads a line." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell groups a part of the line as <emphasis role=\"strong\">one token</" "emphasis> if it is within <literal>\"…\"</literal> or <literal>'…'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell splits other part of a line into <emphasis role=\"strong\">tokens</" "emphasis> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Whitespaces: <literal><space> <tab> <newline></literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Metacharacters: <literal>< > | ; & ( )</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell checks the <emphasis role=\"strong\">reserved word</emphasis> for " "each token to adjust its behavior if not within <literal>\"…\"</literal> or " "<literal>'…'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">reserved word</emphasis>: <literal>if then elif " "else fi for in while unless do done case esac</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell expands <emphasis role=\"strong\">alias</emphasis> if not within " "<literal>\"…\"</literal> or <literal>'…'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell expands <emphasis role=\"strong\">tilde</emphasis> if not within " "<literal>\"…\"</literal> or <literal>'…'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "\"<literal>~</literal>\" → current user's home directory" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>~<user></literal>\" → <literal><user></literal>'s " "home directory" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell expands <emphasis role=\"strong\">parameter</emphasis> to its " "value if not within <literal>'…'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">parameter</emphasis>: \"<literal>$PARAMETER</" "literal>\" or \"<literal>${PARAMETER}</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell expands <emphasis role=\"strong\">command substitution</emphasis> " "if not within <literal>'…'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>$( command )</literal>\" → the output of \"<literal>command</" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>` command `</literal>\" → the output of \"<literal>command</" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell expands <emphasis role=\"strong\">pathname glob</emphasis> to " "matching file names if not within <literal>\"…\"</literal> or <literal>'…'</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>*</literal> → any characters" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>?</literal> → one character" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>[…]</literal> → any one of the characters in \"<literal>…</literal>" "\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell looks up <emphasis role=\"strong\">command</emphasis> from the " "following and execute it." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">function</emphasis> definition" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">builtin</emphasis> command" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">executable file</emphasis> in \"<literal>$PATH</" "literal>\"" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "The shell goes to the next line and repeats this process again from the top " "of this sequence." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Single quotes within double quotes have no effect." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Executing \"<literal>set -x</literal>\" in the shell or invoking the shell " "with \"<literal>-x</literal>\" option make the shell to print all of " "commands executed. This is quite handy for debugging." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Utility programs for shell script" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In order to make your shell program as portable as possible across Debian " "system, it is good idea to limit utility programs to ones provided by " "<emphasis role=\"strong\">essential</emphasis> packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>aptitude search ~E</literal>\" lists <emphasis role=\"strong" "\">essential</emphasis> packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "\"<literal>dpkg -L <package_name> |grep '/man/man.*/'</literal>\" " "lists manpages for commands offered by <literal><package_name></" "literal> package." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of packages containing small utility programs for shell scripts" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNU core utilities" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "miscellaneous utilities specific to Debian" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "collection of more utilities from FreeBSD" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "basic utilities from 4.4BSD-Lite" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "additional Unix utilities" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Although <literal>moreutils</literal> may not exist ouside of Debian, it " "offers interesting small programs. Most notable one is " "<citerefentry><refentrytitle>sponge</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> which is quite useful when you wish to overwrite original file." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Shell script dialog" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The user interface of a simple shell program can be improved from dull " "interaction by <literal>echo</literal> and <literal>read</literal> commands " "to more interactive one by using one of the so-called dialog program etc." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of user interface programs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>xmessage</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>: display a message or query in a window (X)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "displays user-friendly dialog boxes from shell scripts (newt)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "displays user-friendly dialog boxes from shell scripts (ncurses)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "display graphical dialog boxes from shell scripts (gtk2.0)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "Shell Scripts Frontend Tool (wrapper for zenity, kdialog, and dialog with " "gettext)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "\"<literal>/usr/bin/gettext.sh</literal>\": translate message" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Shell script example with zenity" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here is a simple script which creates ISO image with RS02 data supplemented " "by <citerefentry><refentrytitle>dvdisaster</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "#!/bin/sh -e\n" "# gmkrs02 : Copyright (C) 2007 Osamu Aoki <osamu@debian.org>, Public Domain\n" "#set -x\n" "error_exit()\n" "{\n" " echo \"$1\" >&2\n" " exit 1\n" "}\n" "# Initialize variables\n" "DATA_ISO=\"$HOME/Desktop/iso-$$.img\"\n" "LABEL=$(date +%Y%m%d-%H%M%S-%Z)\n" "if [ $# != 0 ] && [ -d \"$1\" ]; then\n" " DATA_SRC=\"$1\"\n" "else\n" " # Select directory for creating ISO image from folder on desktop\n" " DATA_SRC=$(zenity --file-selection --directory \\\n" " --title=\"Select the directory tree root to create ISO image\") \\\n" " || error_exit \"Exit on directory selection\"\n" "fi\n" "# Check size of archive\n" "xterm -T \"Check size $DATA_SRC\" -e du -s $DATA_SRC/*\n" "SIZE=$(($(du -s $DATA_SRC | awk '{print $1}')/1024))\n" "if [ $SIZE -le 520 ] ; then\n" " zenity --info --title=\"Dvdisaster RS02\" --width 640 --height 400 \\\n" " --text=\"The data size is good for CD backup:\\\\n $SIZE MB\"\n" "elif [ $SIZE -le 3500 ]; then\n" " zenity --info --title=\"Dvdisaster RS02\" --width 640 --height 400 \\\n" " --text=\"The data size is good for DVD backup :\\\\n $SIZE MB\"\n" "else\n" " zenity --info --title=\"Dvdisaster RS02\" --width 640 --height 400 \\\n" " --text=\"The data size is too big to backup : $SIZE MB\"\n" " error_exit \"The data size is too big to backup :\\\\n $SIZE MB\"\n" "fi\n" "# only xterm is sure to have working -e option\n" "# Create raw ISO image\n" "rm -f \"$DATA_ISO\" || true\n" "xterm -T \"genisoimage $DATA_ISO\" \\\n" " -e genisoimage -r -J -V \"$LABEL\" -o \"$DATA_ISO\" \"$DATA_SRC\"\n" "# Create RS02 supplemental redundancy\n" "xterm -T \"dvdisaster $DATA_ISO\" -e dvdisaster -i \"$DATA_ISO\" -mRS02 -c\n" "zenity --info --title=\"Dvdisaster RS02\" --width 640 --height 400 \\\n" " --text=\"ISO/RS02 data ($SIZE MB) \\\\n created at: $DATA_ISO\"\n" "# EOF" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may wish to create launcher on the desktop with command set something " "like \"<literal>/usr/local/bin/gmkrs02 %d</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Make" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&make;\">Make</ulink> is a utility to maintain groups of " "programs. Upon execution of <citerefentry><refentrytitle>make</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, <literal>make</" "literal> read the rule file, \"<literal>Makefile</literal>\", and updates a " "target if it depends on prerequisite files that have been modified since the " "target was last modified, or if the target does not exist. The execution of " "these updates may occur concurrently." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "The rule file syntax is the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "target: [ prerequisites ... ]\n" " [TAB] command1\n" " [TAB] -command2 # ignore errors\n" " [TAB] @command3 # suppress echoing" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here \"<literal> [TAB] </literal>\" is a TAB code. Each line is interpreted " "by the shell after make variable substitution. Use \"<literal>\\</literal>" "\" at the end of a line to continue the script. Use \"<literal>$$</literal>" "\" to enter \"<literal>$</literal>\" for environment values for a shell " "script." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Implicit rules for the target and prerequisites can be written, for example, " "by the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "%.o: %.c header.h" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here, the target contains the character \"<literal>%</literal>\" (exactly " "one of them). The \"<literal>%</literal>\" can match any nonempty substring " "in the actual target filenames. The prerequisites likewise use \"<literal>%</" "literal>\" to show how their names relate to the actual target name." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of make automatic variables" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "automatic variable" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>$@</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "target" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>$<</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "first prerequisite" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "all newer prerequisites" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>$^</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "all prerequisites" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>$*</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "\"<literal>%</literal>\" matched stem in the target pattern" msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of make variable expansions" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><thead><row><entry> msgid "variable expansion" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>foo1 := bar</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "one-time expansion" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>foo2 = bar</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "recursive expansion" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "<literal>foo3 += bar</literal>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "append" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Run \"<literal>make -p -f/dev/null</literal>\" to see automatic internal " "rules." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can set up proper environment to compile programs written in the <ulink " "url=\"&cprogramminglanguage;\">C programming language</ulink> by the " "following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "# apt-get install glibc-doc manpages-dev libc6-dev gcc build-essential" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>libc6-dev</literal> package, i.e., GNU C Library, provides " "<ulink url=\"&cstandardlibrary;\">C standard library</ulink> which is " "collection of header files and library routines used by the C programming " "language." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "See references for C as the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "\"<literal>info libc</literal>\" (C library function reference)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>gcc</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> and \"<literal>info gcc</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>each_C_library_function_name</" "refentrytitle><manvolnum>3</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Kernighan & Ritchie, \"The C Programming Language\", 2nd edition " "(Prentice Hall)" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Simple C program (gcc)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A simple example \"<literal>example.c</literal>\" can compiled with a " "library \"<literal>libm</literal>\" into an executable " "\"<literal>run_example</literal>\" by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cat > example.c << EOF\n" "#include <stdio.h>\n" "#include <math.h>\n" "#include <string.h>\n" "\n" "int main(int argc, char **argv, char **envp){\n" " double x;\n" " char y[11];\n" " x=sqrt(argc+7.5);\n" " strncpy(y, argv[0], 10); /* prevent buffer overflow */\n" " y[10] = '\\0'; /* fill to make sure string ends with '\\0' */\n" " printf(\"%5i, %5.3f, %10s, %10s\\n\", argc, x, y, argv[1]);\n" " return 0;\n" "}\n" "EOF\n" "$ gcc -Wall -g -o run_example example.c -lm\n" "$ ./run_example\n" " 1, 2.915, ./run_exam, (null)\n" "$ ./run_example 1234567890qwerty\n" " 2, 3.082, ./run_exam, 1234567890qwerty" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Here, \"<literal>-lm</literal>\" is needed to link library \"<literal>/usr/" "lib/libm.so</literal>\" from the <literal>libc6</literal> package for " "<citerefentry><refentrytitle>sqrt</refentrytitle><manvolnum>3</manvolnum></" "citerefentry>. The actual library is in \"<literal>/lib/</literal>\" with " "filename \"<literal>libm.so.6</literal>\", which is a symlink to " "\"<literal>libm-2.7.so</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Look at the last parameter in the output text. There are more than 10 " "characters even though \"<literal>%10s</literal>\" is specified." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The use of pointer memory operation functions without boundary checks, such " "as <citerefentry><refentrytitle>sprintf</refentrytitle><manvolnum>3</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>strcpy</" "refentrytitle><manvolnum>3</manvolnum></citerefentry>, is deprecated to " "prevent buffer overflow exploits that leverage the above overrun effects. " "Instead, use <citerefentry><refentrytitle>snprintf</" "refentrytitle><manvolnum>3</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>strncpy</refentrytitle><manvolnum>3</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Debug" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debug is important part of programing activities. Knowing how to debug " "programs makes you a good Debian user who can produce meaningful bug reports." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Basic gdb execution" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Primary <ulink url=\"&debugger;\">debugger</ulink> on Debian is " "<citerefentry><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> which enables you to inspect a program while it executes." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Let's install <literal>gdb</literal> and related programs by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# apt-get install gdb gdb-doc build-essential devscripts" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Good tutorial of <literal>gdb</literal> is provided by \"<literal>info gdb</" "literal>\" or found <ulink url=\"&elsewhereontheweb;\">elsewhere on the web</" "ulink>. Here is a simple example of using <citerefentry><refentrytitle>gdb</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> on a " "\"<literal>program</literal>\" compiled with the \"<literal>-g</literal>\" " "option to produce debugging information." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ gdb program\n" "(gdb) b 1 # set break point at line 1\n" "(gdb) run args # run program with args\n" "(gdb) next # next line\n" "...\n" "(gdb) step # step forward\n" "...\n" "(gdb) p parm # print parm\n" "...\n" "(gdb) p parm=12 # set value to 12\n" "...\n" "(gdb) quit" msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Many <citerefentry><refentrytitle>gdb</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> commands can be abbreviated. Tab expansion works " "as in the shell." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debugging the Debian package" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Since all installed binaries should be stripped on the Debian system by " "default, most debugging symbols are removed in the normal package. In order " "to debug Debian packages with <citerefentry><refentrytitle>gdb</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, corresponding " "<literal>*-dbg</literal> packages need to be installed (e.g. <literal>libc6-" "dbg</literal> in the case of <literal>libc6</literal>)." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If a package to be debugged does not provide its <literal>*-dbg</literal> " "package, you need to install it after rebuilding it by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ mkdir /path/new ; cd /path/new\n" "$ sudo apt-get update\n" "$ sudo apt-get dist-upgrade\n" "$ sudo apt-get install fakeroot devscripts build-essential\n" "$ sudo apt-get build-dep source_package_name\n" "$ apt-get source package_name\n" "$ cd package_name*" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Fix bugs if needed." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Bump package version to one which does not collide with official Debian " "versions, e.g. one appended with \"<literal>+debug1</literal>\" when " "recompiling existing package version, or one appended with \"<literal>~pre1</" "literal>\" when compiling unreleased package version by the following." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Compile and install packages with debug symbols by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ export DEB_BUILD_OPTIONS=nostrip,noopt\n" "$ debuild\n" "$ cd ..\n" "$ sudo debi package_name*.changes" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You need to check build scripts of the package and ensure to use " "\"<literal>CFLAGS=-g -Wall</literal>\" for compiling binaries." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Obtaining backtrace" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you encounter program crash, reporting bug report with cut-and-pasted " "backtrace information is a good idea." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "The backtrace can be obtained by the following steps." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Run the program under <citerefentry><refentrytitle>gdb</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Reproduce crash." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "It causes you to be dropped back to the <literal>gdb</literal> prompt." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Type \"<literal>bt</literal>\" at the <literal>gdb</literal> prompt." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "In case of program freeze, you can crash the program by pressing " "<literal>Ctrl-C</literal> in the terminal running <literal>gdb</literal> to " "obtain <literal>gdb</literal> prompt." msgstr "" #. type: Content of: <book><chapter><section><section><tip><para> msgid "" "Often, you see a backtrace where one or more of the top lines are in " "\"<literal>malloc()</literal>\" or \"<literal>g_malloc()</literal>\". When " "this happens, chances are your backtrace isn't very useful. The easiest way " "to find some useful information is to set the environment variable " "\"<literal>$MALLOC_CHECK_</literal>\" to a value of 2 " "(<citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</" "manvolnum></citerefentry>). You can do this while running <literal>gdb</" "literal> by doing the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid " $ MALLOC_CHECK_=2 gdb hello" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Advanced gdb commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of advanced gdb commands" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "description for command objectives" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>(gdb) thread apply all bt</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "get a backtrace for all threads for multi-threaded program" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>(gdb) bt full</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "get parameters came on the stack of function calls" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>(gdb) thread apply all bt full</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "get a backtrace and parameters as the combination of the preceding options" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>(gdb) thread apply all bt full 10</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "get a backtrace and parameters for top 10 calls to cut off irrelevant output" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "<literal>(gdb) set logging on</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "write log of <literal>gdb</literal> output to a file (the default is " "\"<literal>gdb.txt</literal>\")" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Debugging X Errors" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If a GNOME program <literal>preview1</literal> has received an X error, you " "should see a message as follows." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "The program 'preview1' received an X Window System error." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If this is the case, you can try running the program with \"<literal>--sync</" "literal>\", and break on the \"<literal>gdk_x_error</literal>\" function in " "order to obtain a backtrace." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Check dependency on libraries" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Use <citerefentry><refentrytitle>ldd</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to find out a program's dependency on libraries by " "the followings." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ldd /bin/ls\n" " librt.so.1 => /lib/librt.so.1 (0x4001e000)\n" " libc.so.6 => /lib/libc.so.6 (0x40030000)\n" " libpthread.so.0 => /lib/libpthread.so.0 (0x40153000)\n" " /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "For <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> to work in a `chroot`ed environment, the above libraries must " "be available in your `chroot`ed environment." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "See <xref linkend=\"_tracing_program_activities\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Memory leak detection tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "There are several memory leak detection tools available in Debian." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of memory leak detection tools" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>mtrace</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>: malloc debugging functionality in glibc" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "memory debugger and profiler" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "KDE memory leak tracer using glibc's <citerefentry><refentrytitle>mtrace</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "GNOME front-end to the Valgrind memory checker" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "<citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></" "citerefentry> debugger" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "memory-leak tracer for C++ programs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "debug memory allocation library" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Static code analysis tools" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are <ulink url=\"&lint;\">lint</ulink> like tools for <ulink url=" "\"&staticcodeanalysis;\">static code analysis</ulink>." msgstr "" #. type: Content of: <book><chapter><section><section><table><title> msgid "List of tools for static code analysis" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tool for statically checking C programs for bugs" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "rough Auditing Tool for Security (C, C++, PHP, Perl, and Python code)" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "tool to examine C/C++ source code and looks for security weaknesses" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "interpreter with internal static code checker: " "<citerefentry><refentrytitle>B::Lint</refentrytitle><manvolnum>3perl</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Python code static checker" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Java program checker" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "syntax and minimal style checker for HTML" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "fast link checker and web site maintenance tool" msgstr "" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "" "utilities with <citerefentry><refentrytitle>xmllint</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to validate XML files" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Disassemble binary" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can disassemble binary code with <citerefentry><refentrytitle>objdump</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "$ objdump -m i386 -b binary -D /usr/lib/grub/x86_64-pc/stage1" msgstr "" #. type: Content of: <book><chapter><section><section><note><para> msgid "" "<citerefentry><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> may be used to disassemble code interactively." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Flex — a better Lex" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&flex;\">Flex</ulink> is a <ulink url=\"&lex;\">Lex</ulink>-" "compatible fast <ulink url=\"&lexicalanalyzer;\">lexical analyzer</ulink> " "generator." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Tutorial for <citerefentry><refentrytitle>flex</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> can be found in \"<literal>info flex</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You need to provide your own \"<literal>main()</literal>\" and " "\"<literal>yywrap()</literal>\". Otherwise, your flex program should look " "like this to compile without a library. This is because that " "\"<literal>yywrap</literal>\" is a macro and \"<literal>%option main</" "literal>\" turns on \"<literal>%option noyywrap</literal>\" implicitly." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "%option main\n" "%%\n" ".|\\n ECHO ;\n" "%%" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, you may compile with the \"<literal>-lfl</literal>\" linker " "option at the end of your <citerefentry><refentrytitle>cc</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> command line (like " "AT&T-Lex with \"<literal>-ll</literal>\"). No \"<literal>%option</" "literal>\" is needed in this case." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Bison — a better Yacc" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Several packages provide a <ulink url=\"&yacc;\">Yacc</ulink>-compatible " "lookahead <ulink url=\"&lrparser;\">LR parser</ulink> or <ulink url=" "\"&lalrparser;\">LALR parser</ulink> generator in Debian." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of Yacc-compatible LALR parser generators" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "<ulink url=\"&gnulalrparsergenerator;\">GNU LALR parser generator</ulink>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "Berkeley LALR parser generator" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "backtracking parser generator based on <literal>byacc</literal>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Tutorial for <citerefentry><refentrytitle>bison</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> can be found in \"<literal>info bison</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You need to provide your own \"<literal>main()</literal>\" and " "\"<literal>yyerror()</literal>\". \"<literal>main()</literal>\" calls " "\"<literal>yyparse()</literal>\" which calls \"<literal>yylex()</literal>\", " "usually created with Flex." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "%%\n" "\n" "%%" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Autoconf" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&autoconf;\">Autoconf</ulink> is a tool for producing shell " "scripts that automatically configure software source code packages to adapt " "to many kinds of Unix-like systems using the entire GNU build system." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>autoconf</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> produces the configuration script " "\"<literal>configure</literal>\". \"<literal>configure</literal>\" " "automatically creates a customized \"<literal>Makefile</literal>\" using the " "\"<literal>Makefile.in</literal>\" template." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Compile and install a program" msgstr "" #. type: Content of: <book><chapter><section><section><warning><para> msgid "" "Do not overwrite system files with your compiled programs when installing " "them." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Debian does not touch files in \"<literal>/usr/local/</literal>\" or " "\"<literal>/opt</literal>\". So if you compile a program from source, " "install it into \"<literal>/usr/local/</literal>\" so it does not interfere " "with Debian." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ cd src\n" "$ ./configure --prefix=/usr/local\n" "$ make\n" "$ make install # this puts the files in the system" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Uninstall program" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you have the original source and if it uses " "<citerefentry><refentrytitle>autoconf</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>/<citerefentry><refentrytitle>automake</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and if you can " "remember how you configured it, execute as follows to uninstall the program." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "$ ./configure \"all-of-the-options-you-gave-it\"\n" "# make uninstall" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Alternatively, if you are absolutely sure that the install process puts " "files only under \"<literal>/usr/local/</literal>\" and there is nothing " "important there, you can erase all its contents by the following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "# find /usr/local -type f -print0 | xargs -0 rm -f" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you are not sure where files are installed, you should consider using " "<citerefentry><refentrytitle>checkinstall</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> from the <literal>checkinstall</literal> package, " "which provides a clean path for the uninstall. It now supports to create a " "Debian package with \"<literal>-D</literal>\" option." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Perl short script madness" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although any <ulink url=\"&awk;\">AWK</ulink> scripts can be automatically " "rewritten in <ulink url=\"&perl;\">Perl</ulink> using " "<citerefentry><refentrytitle>a2p</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>, one-liner AWK scripts are best converted to one-liner Perl " "scripts manually." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Let's think following AWK script snippet." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "awk '($2==\"1957\") { print $3 }' |" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "This is equivalent to any one of the following lines." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "perl -ne '@f=split; if ($f[1] eq \"1957\") { print \"$f[2]\\n\"}' |" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "perl -ne 'if ((@f=split)[1] eq \"1957\") { print \"$f[2]\\n\"}' |" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "perl -ne '@f=split; print $f[2] if ( $f[1]==1957 )' |" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "perl -lane 'print $F[2] if $F[1] eq \"1957\"' |" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "perl -lane 'print$F[2]if$F[1]eq+1957' |" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The last one is a riddle. It took advantage of following Perl features." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The whitespace is optional." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The automatic conversion exists from number to the string." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry><refentrytitle>perlrun</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> for the command-line options. For more crazy Perl " "scripts, <ulink url=\"&perlgolf;\">Perl Golf</ulink> may be interesting." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Web" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Basic interactive dynamic web pages can be made as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Queries are presented to the browser user using <ulink url=\"&html;\">HTML</" "ulink> forms." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Filling and clicking on the form entries sends one of the following <ulink " "url=\"&url;\">URL</ulink> string with encoded parameters from the browser to " "the web server." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>http://www.foo.dom/cgi-bin/program.pl?VAR1=VAL1&VAR2=VAL2&" "VAR3=VAL3</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>http://www.foo.dom/cgi-bin/program.py?VAR1=VAL1&VAR2=VAL2&" "VAR3=VAL3</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "\"<literal>http://www.foo.dom/program.php?VAR1=VAL1&VAR2=VAL2&" "VAR3=VAL3</literal>\"" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "\"<literal>%nn</literal>\" in URL is replaced with a character with " "hexadecimal <literal>nn</literal> value." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The environment variable is set as: \"<literal>QUERY_STRING=\"VAR1=VAL1 " "VAR2=VAL2 VAR3=VAL3\"</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cgi;\">CGI</ulink> program (any one of \"<literal>program.*</" "literal>\") on the web server executes itself with the environment variable " "\"<literal>$QUERY_STRING</literal>\"." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>stdout</literal> of CGI program is sent to the web browser and is " "presented as an interactive dynamic web page." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For security reasons it is better not to hand craft new hacks for parsing " "CGI parameters. There are established modules for them in Perl and Python. " "<ulink url=\"&php;\">PHP</ulink> comes with these functionalities. When " "client data storage is needed, <ulink url=\"&httpcookies;\">HTTP cookies</" "ulink> are used. When client side data processing is needed, <ulink url=" "\"&javascript;\">Javascript</ulink> is frequently used." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For more, see the <ulink url=\"&commongatewayinterface;\">Common Gateway " "Interface</ulink>, <ulink url=\"&theapachesoftwarefoundation;\">The Apache " "Software Foundation</ulink>, and <ulink url=\"&javascript;\">JavaScript</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Searching \"CGI tutorial\" on Google by typing encoded URL <ulink url=" "\"&httpwwwgooglecomutfiqcgitutorial;\">http://www.google.com/search?" "hl=en&ie=UTF-8&q=CGI+tutorial</ulink> directly to the browser " "address is a good way to see the CGI script in action on the Google server." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The source code translation" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "There are programs to convert source codes." msgstr "" #. type: Content of: <book><chapter><section><table><title> msgid "List of source code translation tools" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "AWK→PERL" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "convert source codes from AWK to PERL: <citerefentry><refentrytitle>a2p</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "FORTRAN→C" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "" "convert source codes from FORTRAN 77 to C/C++: " "<citerefentry><refentrytitle>f2c</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "ANSI C" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "create/remove ANSI prototypes from C code" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "intel→gas" msgstr "" #. type: Content of: <book><chapter><section><table><tgroup><tbody><row><entry> msgid "converter from NASM (Intel format) to the GNU Assembler (GAS)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Making Debian package" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "If you want to make a Debian package, read followings." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<xref linkend=\"_debian_package_management\"/> to understand the basic " "package system" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<xref linkend=\"_porting_a_package_to_the_stable_system\"/> to understand " "basic porting process" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<xref linkend=\"_chroot_system\"/> to understand basic chroot techniques" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry><refentrytitle>debuild</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>pbuilder</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>pdebuild</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<xref linkend=\"_debugging_the_debian_package\"/> for recompiling for " "debugging" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debiannewmaintainersguide;\">Debian New Maintainers' Guide</" "ulink> as tutorial (the <literal>maint-guide</literal> package)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debiandevelopersreference;\">Debian Developer's Reference</" "ulink> (the <literal>developers-reference</literal> package)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianpolicymanual;\">Debian Policy Manual</ulink> (the " "<literal>debian-policy</literal> package)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are packages such as <literal>dh-make</literal>, <literal>dh-make-" "perl</literal>, etc., which help packaging." msgstr "" #. type: Content of: <book><appendix><title> msgid "Appendix" msgstr "" #. type: Content of: <book><appendix><para> msgid "Here are backgrounds of this document." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "The Debian maze" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The Linux system is a very powerful computing platform for a networked " "computer. However, learning how to use all its capabilities is not easy. " "Setting up the LPR printer with non-PostScript printer was a good example of " "stumble points. (There are no issues anymore since newer installations use " "new CUPS system.)" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "There is a complete, detailed map called the \"SOURCE CODE\". This is very " "accurate but very hard to understand. There are also references called " "HOWTO and mini-HOWTO. They are easier to understand but tend to give too " "much detail and lose the big picture. I sometimes have a problem finding " "the right section in a long HOWTO when I need a few commands to invoke." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "I hope this \"Debian Reference (version 2)\" provides a good starting " "direction for people in the Debian maze." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Copyright history" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Debian Reference was initiated by Osamu Aoki <osamu at debian dot org> " "as a personal system administration memo. Many contents came from the " "knowledge I gained from <ulink url=\"&thedebianusermailinglist;\">the debian-" "user mailing list</ulink> and other Debian resources." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Following a suggestion from Josip Rodin, who was very active with the <ulink " "url=\"&debiandocumentationprojectddp;\">Debian Documentation Project (DDP)</" "ulink>, \"Debian Reference (version 1, 2001-2007)\" was created as a part of " "DDP documents." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "After 6 years, Osamu realized that the original \"Debian Reference (version " "1)\" was outdated and started to rewrite many contents. New \"Debian " "Reference (version 2)\" is released in 2008." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The tutorial contents can trace its origin and its inspiration in followings." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "\"<ulink url=\"&linuxusersguide;\">Linux User's Guide</ulink>\" by Larry " "Greenfield (December 1996)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "obsoleted by \"Debian Tutorial\"" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "\"<ulink url=\"&debiantutorial;\">Debian Tutorial</ulink>\" by Havoc " "Pennington. (11 December, 1998)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "partially written by Oliver Elphick, Ole Tetlie, James Treacy, Craig Sawyer, " "and Ivan E. Moore II" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "obsoleted by \"Debian GNU/Linux: Guide to Installation and Usage\"" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "\"<ulink url=\"&debiangnulinuxguallationandusage;\">Debian GNU/Linux: Guide " "to Installation and Usage</ulink>\" by John Goerzen and Ossama Othman (1999)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "obsoleted by \"Debian Reference (version 1)\"" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The package and archive description can trace some of their origin and their " "inspiration in following." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "\"<ulink url=\"&debianfaq;\">Debian FAQ</ulink>\" (March 2002 version, when " "this was maintained by Josip Rodin)" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The other contents can trace some of their origin and their inspiration in " "following." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "\"<ulink url=\"&debianreference;\">Debian Reference</ulink> (version 1)\" by " "Osamu Aoki (2001–2007)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "obsoleted by this new \"Debian Reference (version 2)\"" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The previous \"Debian Reference (version 1)\" was created with many " "contributors." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "the major contents contribution on network configuration topics by Thomas " "Hood" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "significant contents contribution on X and VCS related topics by Brian Nelson" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "the help on the build scripts and many content corrections by Jens Seidel" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "extensive proofreading by David Sewell" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "many contributions by the translators, contributors, and bug reporters" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Many manual pages and info pages on the Debian system were used as the " "primary references to write this document. To the extent Osamu Aoki " "considered within the <ulink url=\"&fairuse;\">fair use</ulink>, many parts " "of them, especially command definitions, were used as phrase pieces after " "careful editorial efforts to fit them into the style and the objective of " "this document." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The gdb debugger description was expanded using <ulink url=" "\"&debianwikicontentsonbacktrace;\">Debian wiki contents on backtrace</" "ulink> with consent by Ari Pollak, Loïc Minier, and Dafydd Harries." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Contents of \"Debian Reference (version 2)\" are mostly my own work except " "as mentioned above. These has been updated by the contributors too." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The author, Osamu Aoki, thanks all those who helped make this document " "possible." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Document format" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The source of the English original document is currently written in <ulink " "url=\"&asciidoc;\">AsciiDoc</ulink> text files. <ulink url=\"&asciidoc;" "\">AsciiDoc</ulink> is used as convenience only since it is less typing than " "straight XML and supports table in the very intuitive format. You should " "think XML and PO files as real source files. Via build script, it is " "converted to DocBook XML format and automatically generated data are " "inserted to form a final Docbook XML source. This final Docbook XML source " "can be converted to HTML, plain text, PostScript, and PDF. Currently, only " "HTML and plain text conversions are enabled." msgstr ""