Linux经典实例(第二版)
Carla Schroder
马晶慧 译
出版时间:2023年02月
页数:560
“Linux学习的必读经典书籍。作者深入简出地介绍了Linux操作系统的各个方面。”
——Jack Wallen
屡获殊荣的科技作家,TechRepublic、The New Stack等网站撰稿人
“高效工程师不仅了解工具,还知道如何高效地使用工具。本书介绍的Linux工具让人叹为观止。”
——Jonathan Johnson
Dijure独立软件顾问与培训师

这本实用手册向初中级Linux用户介绍了通过图形及命令行工具管理Linux系统的重要技巧。无论你的Linux系统是嵌入式、桌面版、服务器、云服务,还是虚拟环境,其基础知识都是相同的。本书介绍了大量示例,可帮助你快速入门并运行Linux。
本书针对各种具体问题,提出解决方案,并详细解释了涉及到的技术原理,最后还给出了参考资料以供深入学习。
本书的主要内容:
● 学习使用全新的通用服务管理器systemd。
● 利用firewalld构建简单或复杂的防火墙。
● 保证Linux系统与移动设备间网络连接的安全。
● 抢救无法引导的系统。
● 重置Linux与Windows的用户密码。
● 利用dnsmasq管理局域网名称服务。
● 管理用户与组,控制文件的访问。
● 探测计算机硬件,监控硬件健康。
● 管理GRUB引导加载程序,设置Linux与Windows双启动。
● 通过最新的工具同步网络上所有系统的时间。
● 在树莓派上构建互联网路由器与防火墙。
● 管理文件系统与分区。
  1. 前言
  2. 第1章 安装Linux
  3. 通过安装媒介引导
  4. 从何处下载Linux
  5. 最适合新手的Linux
  6. 1.1 进入系统的BIOS/UEFI设置
  7. 1.2 下载Linux安装镜像
  8. 1.3 利用UNetbootin创建Linux启动U盘
  9. 1.4 利用k3b创建Linux安装DVD
  10. 1.5 利用wodim命令创建可启动的CD/DVD
  11. 1.6 利用dd命令创建Linux安装U盘
  12. 1.7 尝试简单地安装Ubuntu
  13. 1.8 自定义分区
  14. 1.9 保留现有分区
  15. 1.10 自定义软件包
  16. 1.11 多重启动Linux发行版
  17. 1.12 Linux与Windows双引导
  18. 1.13 找回Windows 8或10的OEM产品密钥
  19. 1.14 将ISO镜像挂载到Linux
  20. 第2章 管理GRUB引导加载程序
  21. 2.1 重建GRUB的配置文件
  22. 2.2 显示隐藏的GRUB菜单
  23. 2.3 引导不同的Linux内核
  24. 2.4 GRUB配置文件详解
  25. 2.5 编写最基本的GRUB配置文件
  26. 2.6 设置GRUB菜单的自定义背景
  27. 2.7 更改GRUB菜单的字体颜色
  28. 2.8 应用GRUB菜单的主题
  29. 2.9 在提示符grub>下抢救无法启动的系统
  30. 2.10 在提示符grub rescue>下抢救无法启动的系统
  31. 2.11 重新安装GRUB配置
  32. 第3章 Linux的启动、停止、重启与睡眠模式
  33. 3.1 使用systemctl关机
  34. 3.2 利用shutdown命令关机、定时关机和重启
  35. 3.3 使用halt、reboot和poweroff命令关机或重启
  36. 3.4 使用systemctl将系统设置为睡眠模式
  37. 3.5 使用Ctrl-Alt-Delete重启系统
  38. 3.6 在Linux控制台中禁用、启用或配置Ctrl-Alt-Delete
  39. 3.7 使用cron实现定时关机
  40. 3.8 利用UEFI的唤醒功能定时自动启动系统
  41. 3.9 使用RTC唤醒定时自动启动系统
  42. 3.10 通过有线以太网的LAN唤醒设置远程唤醒
  43. 3.11 通过WiFi远程唤醒系统
  44. 第4章 利用systemd管理服务
  45. 4.1 检查Linux系统是否使用systemd
  46. 4.2 了解PID 1——所有进程之母
  47. 4.3 通过systemctl列出服务及其状态
  48. 4.4 查询服务状态
  49. 4.5 启动和停止服务
  50. 4.6 启用和禁用服务
  51. 4.7 停止有问题的进程
  52. 4.8 通过systemd管理运行等级
  53. 4.9 系统启动速度过慢问题的诊断
  54. 第5章 管理用户和用户组
  55. 5.1 查找用户的UID和GID
  56. 5.2 使用useradd创建人类用户
  57. 5.3 使用useradd创建系统用户
  58. 5.4 修改useradd的默认设置
  59. 5.5 自定义文档、音乐、视频、图片和下载目录
  60. 5.6 使用groupadd创建用户和系统组
  61. 5.7 使用usermod将用户添加到组
  62. 5.8 在Ubuntu上使用adduser创建用户
  63. 5.9 在Ubuntu上使用adduser创建系统用户
  64. 5.10 使用addgroup创建用户组和系统组
  65. 5.11 检查密码文件的完整性
  66. 5.12 禁用用户账号
  67. 5.13 利用userdel删除用户
  68. 5.14 使用deluser删除Ubuntu上的用户
  69. 5.15 使用delgroup删除Ubuntu上的组
  70. 5.16 查找和管理用户的所有文件
  71. 5.17 通过su切换到root
  72. 5.18 通过sudo获取有限制的root权限
  73. 5.19 延长sudo密码的超时时长
  74. 5.20 为每个用户创建sudo配置
  75. 5.21 管理root用户的密码
  76. 5.22 取消sudo输入root密码的要求
  77. 第6章 管理文件和目录
  78. 6.1 创建文件和目录
  79. 6.2 快速创建一批测试文件
  80. 6.3 相对路径与绝对路径
  81. 6.4 删除文件和目录
  82. 6.5 复制、移动和重命名文件与目录
  83. 6.6 使用chmod的八进制表示法设置文件权限
  84. 6.7 使用chmod的八进制表示法设置目录权限
  85. 6.8 特殊情况下使用特殊模式
  86. 6.9 使用八进制表示法删除特殊模式
  87. 6.10 使用chmod的符号表示法设置文件权限
  88. 6.11 使用chmod的符号表示法设置特殊模式
  89. 6.12 使用chmod批量设置权限
  90. 6.13 使用chown设置文件和目录的所有权
  91. 6.14 使用chown批量修改文件的所有权
  92. 6.15 使用umask设置默认权限
  93. 6.16 创建文件和目录的快捷方式(软链接和硬链接)
  94. 6.17 隐藏文件和目录
  95. 第7章 利用rsync与cp备份和恢复系统
  96. 7.1 备份哪些文件
  97. 7.2 选择从备份恢复的文件
  98. 7.3 最简单的本地备份
  99. 7.4 自动化简单的本地备份
  100. 7.5 使用rsync进行本地备份
  101. 7.6 利用rsync和SSH安全地远程传输文件
  102. 7.7 使用cron和SSH自动化rsync传输
  103. 7.8 排除备份的文件
  104. 7.9 备份指定的文件
  105. 7.10 通过包含列表管理需要备份的文件
  106. 7.11 通过排除列表管理包含与排除
  107. 7.12 限制rsync的带宽使用
  108. 7.13 构建rsyncd备份服务器
  109. 7.14 rsyncd模块的访问控制
  110. 7.15 创建rsyncd的每日消息
  111. 第8章 利用parted管理磁盘分区
  112. 8.1 在使用parted之前先卸载分区
  113. 8.2 选择parted的命令模式
  114. 8.3 查看现有的磁盘和分区
  115. 8.4 在非引导磁盘上创建GPT分区
  116. 8.5 创建安装Linux的分区
  117. 8.6 删除分区
  118. 8.7 恢复删除的分区
  119. 8.8 扩展分区
  120. 8.9 缩小分区
  121. 第9章 利用GParted管理分区和文件系统
  122. 9.1 查看分区、文件系统和剩余空间
  123. 9.2 新建分区表
  124. 9.3 删除分区
  125. 9.4 新建分区
  126. 9.5 删除文件系统,但不删除分区
  127. 9.6 恢复删除的分区
  128. 9.7 调整分区大小
  129. 9.8 移动分区
  130. 9.9 复制分区
  131. 9.10 利用GParted管理文件系统
  132. 第10章 获取计算机硬件的详细信息
  133. 10.1 通过lshw获取硬件信息
  134. 10.2 过滤lshw的输出
  135. 10.3 通过hwinfo检测硬件,包括显示器和RAID设备
  136. 10.4 通过lspci检测PCI硬件
  137. 10.5 解读lspci的输出
  138. 10.6 过滤lspci的输出
  139. 10.7 通过lspci识别内核模块
  140. 10.8 通过lsusb获取USB设备的列表
  141. 10.9 通过lsblk获取分区和硬盘的列表
  142. 10.10 获取CPU的信息
  143. 10.11 识别硬件架构
  144. 第11章 创建和管理文件系统
  145. 11.1 列出系统支持的文件系统
  146. 11.2 识别现有的文件系统
  147. 11.3 调整文件系统的大小
  148. 11.4 删除文件系统
  149. 11.5 使用新的文件系统
  150. 11.6 自动挂载文件系统
  151. 11.7 创建Ext4文件系统
  152. 11.8 配置Ext4的日志模式
  153. 11.9 查找Ext4文件系统使用的日志
  154. 11.10 利用外部日志提高Ext4的性能
  155. 11.11 释放Ext4文件系统中的预留空间
  156. 11.12 新建XFS文件系统
  157. 11.13 调整XFS文件系统的大小
  158. 11.14 创建exFAT文件系统
  159. 11.15 创建FAT16和FAT32文件系统
  160. 11.16 创建Btrfs文件系统
  161. 第12章 利用OpenSSH保护远程访问
  162. 12.1 安装OpenSSH服务器
  163. 12.2生成新的主机密钥
  164. 12.3 配置OpenSSH服务器
  165. 12.4 检查配置语法
  166. 12.5 设置密码验证
  167. 12.6 获取密钥指纹
  168. 12.7 使用公钥认证
  169. 12.8 管理多个公钥
  170. 12.9 修改私钥密码
  171. 12.10 利用Keychain自动管理密码
  172. 12.11 利用Keychain为Cron提供私钥密码
  173. 12.12 利用SSH建立安全的X会话隧道
  174. 12.13 仅用一行输入打开SSH会话并运行命令
  175. 12.14 使用sshfs挂载整个远程文件系统
  176. 12.15 自定义SSH的Bash提示符
  177. 12.16 列出OpenSSH支持的加密算法
  178. 第13章 利用OpenVPN保护远程访问
  179. 13.1 安装OpenVPN的服务器与客户端
  180. 13.2 建立一个简单的连接测试
  181. 13.3 使用静态密钥设置简易加密
  182. 13.4 利用EasyRSA管理PKI
  183. 13.5 创建PKI
  184. 13.6 自定义EasyRSA的默认选项
  185. 13.7 创建并测试服务和客户端的配置
  186. 13.8 利用systemctl控制OpenVPN
  187. 13.9 利用.ovpn文件更轻松地分发客户端配置
  188. 13.10 加强OpenVPN服务器的安全
  189. 13.11 配置网络
  190. 第14章 利用firewalld构建Linux防火墙
  191. 14.1 查询正在运行的防火墙
  192. 14.2 安装firewalld
  193. 14.3 查询firewalld的版本
  194. 14.4 配置firewalld的后端iptables或nftables
  195. 14.5 列出所有区域以及每个区域管理的服务
  196. 14.6 查询服务
  197. 14.7 选择与设置区域
  198. 14.8 更改firewalld的默认区域
  199. 14.9 自定义firewalld的区域
  200. 14.10 新建区域
  201. 14.11 NetworkManager与firewalld的集成
  202. 14.12 允许或禁止某个端口
  203. 14.13 利用富规则拦截IP地址
  204. 14.14 更改区域默认的目标
  205. 第15章 Linux打印
  206. 15.1 CUPS的网页界面
  207. 15.2 安装连接到PC的打印机
  208. 15.3打印机命名
  209. 15.4 安装网络打印机
  210. 15.5 使用无驱动打印
  211. 15.6 共享不支持网络的打印机
  212. 15.7 修复“禁止”的错误消息
  213. 15.8 安装打印机驱动
  214. 15.9 修改已安装的打印机
  215. 15.10 将文档打印成PDF文件
  216. 15.11 故障排除
  217. 第16章 利用Dnsmasq和hosts文件管理本地名称服务
  218. 16.1 利用/etc/hosts解析主机名
  219. 16.2 利用/etc/hosts测试和拦截垃圾网站
  220. 16.3 找出网络上所有的DNS与DHCP服务器
  221. 16.4 安装Dnsmasq
  222. 16.5 避免systemd-resolved和NetworkManager与Dnsmasq发生冲突
  223. 16.6 将Dnsmasq配置为局域网的DNS服务器
  224. 16.7 修改firewalld的配置,允许客户端访问DNS与DHCP
  225. 16.8 通过客户端测试Dnsmasq服务器
  226. 16.9 利用Dnsmasq管理DHCP
  227. 16.10 通过DHCP公布重要的服务
  228. 16.11 创建子网的DHCP区域
  229. 16.12 通过DHCP分配静态IP地址
  230. 16.13 自动将DHCP客户端添加到DNS
  231. 16.14 管理Dnsmasq日志
  232. 16.15 配置通配符域
  233. 第17章 利用ntpd、chrony和timesyncd同步时间
  234. 17.1 查找Linux系统上的NTP客户端
  235. 17.2 利用timesyncd实现时间同步
  236. 17.3 通过timedatectl手动设置时间
  237. 17.4 将chrony设置为NTP客户端
  238. 17.5 将chrony设置为局域网时间服务器
  239. 17.6 查看chrony的统计数据
  240. 17.7 将ntpd设置为NTP客户端
  241. 17.8 将ntpd设置为NTP服务器
  242. 17.9 利用timedatectl管理时区
  243. 17.10 在没有timedatectl的情况下管理时区
  244. 第18章 在树莓派上构建互联网防火墙与路由器
  245. 18.1 启动与关闭树莓派
  246. 18.2 寻找硬件和教程
  247. 18.3 树莓派的散热
  248. 18.4 使用Imager和dd安装树莓派操作系统
  249. 18.5 使用NOOBS安装树莓派
  250. 18.6 连接到没有HDMI的显示器
  251. 18.7 启动恢复模式
  252. 18.8 添加第二个以太网接口
  253. 18.9 使用firewalld设置互联网共享防火墙
  254. 18.10 树莓派的无头设置
  255. 18.11 利用树莓派构建DNS/DHCP服务器
  256. 第19章 利用SystemRescue抢救和恢复系统
  257. 19.1 创建SystemRescue可引导设备
  258. 19.2 SystemRescue的基本使用方法
  259. 19.3 SystemRescue的两个引导画面
  260. 19.4 SystemRescue的引导选项
  261. 19.5 识别文件系统
  262. 19.6 重置Linux的Root密码
  263. 19.7 通过SSH访问SystemRescue
  264. 19.8 利用scp和sshfs通过网络复制文件
  265. 19.9 通过SystemRescue修复GRUB
  266. 19.10 重置Windows密码
  267. 19.11 使用GNU ddrescue抢救故障硬盘
  268. 19.12 SystemRescue的分区和文件系统管理
  269. 19.13 在SystemResume U盘上创建数据分区
  270. 19.14 保留SystemRescue的变更
  271. 第20章 Linux系统的故障排除
  272. 20.1 从日志文件中寻找有用的信息
  273. 20.2 配置journald
  274. 20.3 利用systemd构建日志服务器
  275. 20.4 通过lm-sensors监测温度、风扇和电压
  276. 20.5 添加lm-sensors的图形界面
  277. 20.6 利用smartmontools监测硬盘
  278. 20.7 通过smartmontools发送邮件报告
  279. 20.8 利用top诊断缓慢的系统
  280. 20.9 查看top中的进程
  281. 20.10 解锁卡死的图形桌面
  282. 20.11 硬件的故障排除
  283. 第21章 网络故障排除
  284. 21.1 利用ping测试网络连接
  285. 21.2 利用fping和nmap分析网络
  286. 21.3 利用arping查找重复的IP地址
  287. 21.4 利用httping测试HTTP流量与延迟
  288. 21.5 利用mtr查找有问题的路由器
  289. 附录 软件管理速查表
书名:Linux经典实例(第二版)
作者:Carla Schroder
译者:马晶慧 译
国内出版社:中国电力出版社
出版时间:2023年02月
页数:560
书号:978-7-5198-6972-4
原版书书名:Linux Cookbook, Second Edition
原版书出版商:O'Reilly Media
Carla Schroder
 
Carla Schroder是一位自学成才的Linux和Windows系统管理员,她自37岁生日那天开始接触第一台计算机。她的第一台PC是Macintosh LC II。然后是一台运行MS-DOS 5和Windows 3.1的386sx IBM兼容机,连接着一个14英寸的彩色显示器,在这台计算机上愉快地玩若干个小时的DOOM游戏那是足够了。再后来,大约1997年左右,她发现了Red Hat 5.0,由此便开始探索一个全新的世界。
一路走来,她为小型商业企业和家庭用户提供技术咨询服务,同时支持Linux和Windows用户,并且在局域网上将Linux和Windows无缝地整合在一起。她是《Linux Cookbook》(O'Reilly)一书的作者,还为多家计算机刊物撰写关于Linux基础知识的文章。
Carla以实践证明,尝试新事物永远不嫌年老,计算机充满了太多乐趣,任何人都可以学着去做任何事。想了解更多关于Carla的事,可访问http://tuxcomputing.com。
 
 
本书封面上的动物是花尾榛鸡(英文:Hazel Grouse,拉丁学名:Tetrastes bonasia)。
这种走禽是松鸡科鸟类中较小的一种,分布于东欧和亚洲北部大部分地区的茂密
林地。
这种鸟类下体大多为灰色,翅膀和背部偏棕黄色。雄鸟头上有羽冠,颏和喉呈黑色,边缘为白边。雌鸟的羽冠较短,喉咙为棕色。花尾榛鸡多在林下的地面上活动,繁殖季节主要以嫩枝、嫩芽、果实和种子等植物以及昆虫为食。由雌鸟负责孵卵和照顾雏鸟。
O’Reilly出版的图书,封面上很多动物都濒临灭绝。这些动物都是地球的至宝。如果你想知道如何保护这些动物,请访问animals.oreilly.com。
封面插图由Karen Montgomery根据Meyers Kleines Lexicon中的一幅黑白版画绘制。
购买选项
定价:168.00元
书号:978-7-5198-6972-4
出版社:中国电力出版社