TheDebianAdministrator’sHandbook RaphaëlHertzogandRolandMas Copyright©2003-2015RaphaëlHertzog Copyright©2006-2015RolandMas Copyright©2012-2015FreexianSARL ISBN:979-10-91414-04-3(Englishpaperback) ISBN:979-10-91414-05-0(Englishebook) ThisbookisavailableunderthetermsoftwolicensescompatiblewiththeDebianFreeSoftwareGuide- lines. Creative Commons License Notice: This book is licensed under a Creative Commons Attribution- ShareAlike3.0UnportedLicense. Ł http://creativecommons.org/licenses/by-sa/3.0/ GNUGeneral Public License Notice: Thisbookisfreedocumentation: youcanredistributeitand/or modifyitunderthetermsoftheGNUGeneralPublicLicenseaspublishedbytheFreeSoftwareFounda- tion,eitherversion2oftheLicense,or(atyouroption)anylaterversion. Thisbookisdistributedinthehopethatitwillbeuseful,butWITHOUTANYWARRANTY;withouteven theimpliedwarrantyofMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNUGen- eralPublicLicenseformoredetails. YoushouldhavereceivedacopyoftheGNUGeneralPublicLicensealongwiththisprogram. Ifnot,see http://www.gnu.org/licenses/. Showyourappreciation Thisbookispublishedunderafreelicensebecausewewanteverybodytoben- efit from it. That said maintaining it takes time and lots of effort, and we ap- preciatebeingthankedforthis. Ifyoufindthisbookvaluable,pleaseconsider contributingtoitscontinuedmaintenanceeitherbybuyingapaperbackcopyor bymakingadonationthroughthebook’sofficialwebsite: Ł http://debian-handbook.info Contents 1. The Debian Project 1 1.1WhatIsDebian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1AMulti-PlatformOperatingSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2TheQualityofFreeSoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.3TheLegalFramework:ANon-ProfitOrganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2TheFoundationDocuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1TheCommitmenttowardsUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2TheDebianFreeSoftwareGuidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3TheInnerWorkingsoftheDebianProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1TheDebianDevelopers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.2TheActiveRoleofUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.3TeamsandSub-Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ExistingDebianSub-Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 AdministrativeTeams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 DevelopmentTeams,TransversalTeams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4FollowDebianNews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.5TheRoleofDistributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.1TheInstaller:debian-installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.2TheSoftwareLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.6LifecycleofaRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.6.1TheExperimentalStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.2TheUnstableStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.6.3MigrationtoTesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.4ThePromotionfromTestingtoStable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.6.5TheOldstableandOldoldstableStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2. Presenting the Case Study 31 2.1FastGrowingITNeeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2MasterPlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3WhyaGNU/LinuxDistribution? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4WhytheDebianDistribution? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4.1CommercialandCommunityDrivenDistributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.5WhyDebianJessie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3. Analyzing the Existing Setup and Migrating 39 3.1CoexistenceinHeterogeneousEnvironments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.1IntegrationwithWindowsMachines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.2IntegrationwithOS Xmachines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.3IntegrationwithOtherLinux/UnixMachines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2HowToMigrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.1SurveyandIdentifyServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 NetworkandProcesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2.2BackinguptheConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2.3TakingOveranExistingDebianServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2.4InstallingDebian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2.5InstallingandConfiguringtheSelectedServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4. Installation 47 4.1InstallationMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.1.1InstallingfromaCD-ROM/DVD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.1.2BootingfromaUSBKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.1.3InstallingthroughNetworkBooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.1.4OtherInstallationMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.2Installing,StepbyStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.2.1BootingandStartingtheInstaller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.2.2Selectingthelanguage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2.3Selectingthecountry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2.4Selectingthekeyboardlayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2.5DetectingHardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.6LoadingComponents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.7DetectingNetworkHardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.8ConfiguringtheNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.9AdministratorPassword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.10CreatingtheFirstUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.11ConfiguringtheClock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.12DetectingDisksandOtherDevices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.13StartingthePartitioningTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Guidedpartitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ManualPartitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ConfiguringMultidiskDevices(SoftwareRAID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 ConfiguringtheLogicalVolumeManager(LVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 SettingUpEncryptedPartitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.14InstallingtheBaseSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.15ConfiguringthePackageManager(apt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.16DebianPackagePopularityContest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.17SelectingPackagesforInstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.18InstallingtheGRUBBootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.19FinishingtheInstallationandRebooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3AftertheFirstBoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3.1InstallingAdditionalSoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 IV TheDebianAdministrator’sHandbook 4.3.2UpgradingtheSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5. Packaging System: Tools and Fundamental Principles 71 5.1StructureofaBinaryPackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.2PackageMeta-Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2.1Description:thecontrolFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Dependencies:theDependsField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Conflicts:theConflictsfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Incompatibilities:theBreaksField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ProvidedItems:theProvidesField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ReplacingFiles:TheReplacesField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2.2ConfigurationScripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 InstallationandUpgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 PackageRemoval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.3Checksums,ListofConfigurationFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.3StructureofaSourcePackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.1Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.2UsagewithinDebian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4ManipulatingPackageswithdpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4.1InstallingPackages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.4.2PackageRemoval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.4.3Queryingdpkg’sDatabaseandInspecting.debFiles . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4.4dpkg’sLogFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.4.5Multi-ArchSupport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 EnablingMulti-Arch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Multi-ArchRelatedChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.5CoexistencewithOtherPackagingSystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6. Maintenance and Updates: The APT Tools 99 6.1Fillinginthesources.listFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.1Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.2RepositoriesforStableUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 SecurityUpdates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 StableUpdates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 ProposedUpdates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 StableBackports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.1.3RepositoriesforTesting/UnstableUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 TheExperimentalRepository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.1.4Non-OfficialResources:mentors.debian.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.1.5CachingProxyforDebianPackages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.2aptitude,apt-get,andaptCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.2.1Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.2.2InstallingandRemoving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.2.3SystemUpgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.2.4ConfigurationOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Contents V 6.2.5ManagingPackagePriorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6.2.6WorkingwithSeveralDistributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.2.7TrackingAutomaticallyInstalledPackages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.3Theapt-cacheCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.4Frontends: aptitude,synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.4.1aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 ManagingRecommendations,SuggestionsandTasks . . . . . . . . . . . . . . . . . . . . . . . . . . 119 BetterSolverAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.4.2synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.5CheckingPackageAuthenticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.6UpgradingfromOneStableDistributiontotheNext . . . . . . . . . . . . . . . . . . . . . . . . 123 6.6.1RecommendedProcedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.6.2HandlingProblemsafteranUpgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.7KeepingaSystemUptoDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.8AutomaticUpgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.8.1Configuringdpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.8.2ConfiguringAPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.8.3Configuringdebconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.8.4HandlingCommandLineInteractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.8.5TheMiracleCombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.9SearchingforPackages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7. Solving Problems and Finding Relevant Information 133 7.1DocumentationSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 7.1.1ManualPages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 7.1.2infoDocuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.1.3SpecificDocumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.1.4Websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.1.5Tutorials(HOWTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.2CommonProcedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.2.1ConfiguringaProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.2.2MonitoringWhatDaemonsAreDoing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 7.2.3AskingforHelponaMailingList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 7.2.4ReportingaBugWhenaProblemIsTooDifficult . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 8. Basic Configuration: Network, Accounts, Printing… 145 8.1ConfiguringtheSystemforAnotherLanguage . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 8.1.1SettingtheDefaultLanguage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 8.1.2ConfiguringtheKeyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 8.1.3MigratingtoUTF-8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 8.2ConfiguringtheNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 8.2.1EthernetInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 8.2.2ConnectingwithPPPthroughaPSTNModem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 8.2.3ConnectingthroughanADSLModem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 ModemsSupportingPPPOE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 VI TheDebianAdministrator’sHandbook ModemsSupportingPPTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 ModemsSupportingDHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.2.4AutomaticNetworkConfigurationforRoamingUsers . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.3SettingtheHostnameandConfiguringtheNameService . . . . . . . . . . . . . . . . . . . . . 154 8.3.1NameResolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 ConfiguringDNSServers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 The/etc/hostsfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.4UserandGroupDatabases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.4.1UserList:/etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 8.4.2TheHiddenandEncryptedPasswordFile:/etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . 157 8.4.3ModifyinganExistingAccountorPassword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 8.4.4DisablinganAccount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 8.4.5GroupList:/etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 8.5CreatingAccounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 8.6ShellEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 8.7PrinterConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 8.8ConfiguringtheBootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 8.8.1IdentifyingtheDisks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 8.8.2ConfiguringLILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 8.8.3GRUB 2Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 8.8.4ForMacintoshComputers(PowerPC):ConfiguringYaboot . . . . . . . . . . . . . . . . . . . . . . . 167 8.9OtherConfigurations: TimeSynchronization,Logs,SharingAccess… . . . . . . . . . . . . . . 168 8.9.1Timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.9.2TimeSynchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 ForWorkstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 ForServers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 8.9.3RotatingLogFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 8.9.4SharingAdministratorRights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.9.5ListofMountPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.9.6locateandupdatedb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.10CompilingaKernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.10.1IntroductionandPrerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.10.2GettingtheSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.10.3ConfiguringtheKernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 8.10.4CompilingandBuildingthePackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.10.5CompilingExternalModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.10.6ApplyingaKernelPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 8.11InstallingaKernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.11.1FeaturesofaDebianKernelPackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.11.2Installingwithdpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 9. Unix Services 181 9.1SystemBoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 9.1.1Thesystemdinitsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Contents VII 9.1.2TheSystem Vinitsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.2RemoteLogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 9.2.1SecureRemoteLogin:SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Key-BasedAuthentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 UsingRemoteX11Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 CreatingEncryptedTunnelswithPortForwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9.2.2UsingRemoteGraphicalDesktops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.3ManagingRights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 9.4AdministrationInterfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 9.4.1AdministratingonaWebInterface:webmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 9.4.2ConfiguringPackages:debconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9.5syslogSystemEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9.5.1PrincipleandMechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9.5.2TheConfigurationFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 SyntaxoftheSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 SyntaxofActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 9.6TheinetdSuper-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 9.7SchedulingTaskswithcronandatd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.7.1FormatofacrontabFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 9.7.2UsingtheatCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 9.8SchedulingAsynchronousTasks: anacron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 9.9Quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 9.10Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 9.10.1BackingUpwithrsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 9.10.2RestoringMachineswithoutBackups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 9.11HotPlugging: hotplug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 9.11.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 9.11.2TheNamingProblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 9.11.3HowudevWorks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 9.11.4Aconcreteexample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 9.12PowerManagement: AdvancedConfigurationandPowerInterface(ACPI) . . . . . . . . . . 218 10. Network Infrastructure 221 10.1Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 10.2VirtualPrivateNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 10.2.1OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 PublicKeyInfrastructure:easy-rsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 ConfiguringtheOpenVPNServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 ConfiguringtheOpenVPNClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.2.2VirtualPrivateNetworkwithSSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.2.3IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 10.2.4PPTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 ConfiguringtheClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 ConfiguringtheServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 VIII TheDebianAdministrator’sHandbook 10.3QualityofService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 10.3.1PrincipleandMechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 10.3.2ConfiguringandImplementing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 ReducingLatencies:wondershaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 StandardConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 10.4DynamicRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 10.5IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 10.5.1Tunneling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 10.6DomainNameServers(DNS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.6.1PrincipleandMechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.6.2Configuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 10.7DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 10.7.1Configuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 10.7.2DHCPandDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.8NetworkDiagnosisTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 10.8.1LocalDiagnosis:netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 10.8.2RemoteDiagnosis:nmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 10.8.3Sniffers:tcpdumpandwireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 11. Network Services: Postfix, Apache, NFS, Samba, Squid, LDAP, SIP, XMPP, TURN 251 11.1MailServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 11.1.1InstallingPostfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 11.1.2ConfiguringVirtualDomains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 VirtualAliasDomains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 VirtualMailboxDomains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 11.1.3RestrictionsforReceivingandSending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 IP-BasedAccessRestrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 CheckingtheValidityoftheEHLOorHELOCommands . . . . . . . . . . . . . . . . . . . . . . . . 259 AcceptingorRefusingBasedontheAnnouncedSender . . . . . . . . . . . . . . . . . . . . . . . . . 260 AcceptingorRefusingBasedontheRecipient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 RestrictionsAssociatedwiththeDATACommand . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 ApplyingRestrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 FilteringBasedontheMessageContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 11.1.4SettingUpgreylisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 11.1.5CustomizingFiltersBasedOntheRecipient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 11.1.6IntegratinganAntivirus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 11.1.7AuthenticatedSMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 11.2WebServer(HTTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 11.2.1InstallingApache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 11.2.2ConfiguringVirtualHosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 11.2.3CommonDirectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 RequiringAuthentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 RestrictingAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Contents IX 11.2.4LogAnalyzers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 11.3FTPFileServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 11.4NFSFileServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 11.4.1SecuringNFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 11.4.2NFSServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 11.4.3NFSClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 11.5SettingUpWindowsShareswithSamba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 11.5.1SambaServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Configuringwithdebconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 ConfiguringManually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 11.5.2SambaClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 ThesmbclientProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 MountingWindowsShares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 PrintingonaSharedPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 11.6HTTP/FTPProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 11.6.1Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 11.6.2ConfiguringaCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 11.6.3ConfiguringaFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 11.7LDAPDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.7.1Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.7.2FillingintheDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 11.7.3ManagingAccountswithLDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 ConfiguringNSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 ConfiguringPAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 SecuringLDAPDataExchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 11.8Real-TimeCommunicationServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 11.8.1DNSsettingsforRTCservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 11.8.2TURNServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 InstalltheTURNserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 ManagingtheTURNusers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 11.8.3SIPProxyServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 InstalltheSIPproxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 ManagingtheSIPproxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 11.8.4XMPPServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 InstalltheXMPPserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 ManagingtheXMPPserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 11.8.5Runningservicesonport443 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 11.8.6AddingWebRTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 12. Advanced Administration 301 12.1RAIDandLVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 12.1.1SoftwareRAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 DifferentRAIDLevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 SettingupRAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 X TheDebianAdministrator’sHandbook
Description: