活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

免费下载Slackware Linux中文教程PDF 轻松学习最稳定古老的Linux系统从基础配置到高级管理包含实际案例和操作技巧助你快速掌握

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-10-1 15:10:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. Slackware Linux简介

Slackware Linux是现存最古老的Linux发行版之一,由Patrick Volkerding于1993年创建并维护。作为最早的Linux发行版,Slackware以其稳定性、简洁性和遵循Unix传统而闻名。它被设计为一个简单、稳定且安全的操作系统,适合那些希望深入了解Linux系统内部工作原理的用户。

1.1 Slackware Linux的特点

• 稳定性:Slackware以其卓越的稳定性而著称,系统更新谨慎且经过充分测试。
• 简洁性:系统尽量保持原始的Unix风格,不添加不必要的修改和抽象层。
• 灵活性:用户可以完全控制系统的各个方面,从内核配置到系统服务。
• 传统性:Slackware坚持使用传统的init系统(虽然现在也支持systemd),保留了Unix的经典设计理念。
• 文档完整:Slackware提供了详尽的文档,帮助用户理解系统的各个方面。

1.2 Slackware Linux的历史

Slackware Linux诞生于1993年,由Patrick Volkerding从SLS Linux(Softlanding Linux System)发展而来。它是第一个获得广泛认可的Linux发行版,为后来的许多发行版提供了灵感和基础。多年来,Slackware一直保持着其核心设计理念,尽管随着技术的发展也进行了一些必要的更新和改进。

2. 免费获取Slackware Linux中文教程PDF

2.1 官方资源

Slackware Linux的官方网站(https://www.slackware.com/)提供了大量的文档和资源,包括安装指南、用户手册和FAQ等。虽然官方文档主要是英文的,但它们是学习Slackware的最权威资源。

要获取Slackware Linux的官方文档,可以访问:

• https://docs.slackware.com/- Slackware文档 Wiki
• https://www.slackware.com/releases/- 各版本的发布说明和安装指南

2.2 中文资源

对于中文用户,以下是一些可以获取Slackware Linux中文教程的途径:

1. Linux中国社区:Linux中国社区(https://linux.cn/)经常翻译和发布有关各种Linux发行版的教程,包括Slackware。
2. Slackware中文论坛:有一些中文论坛专门讨论Slackware,如”LinuxFans”和”ChinaUnix”的Slackware板块,用户可以在这些论坛找到教程和讨论。
3. 电子书和PDF资源:在GitHub上搜索”Slackware中文教程”,可以找到一些由社区成员创建和维护的中文文档。一些在线电子书平台,如GitBook,可能有用户上传的Slackware中文教程。通过搜索引擎搜索”Slackware Linux中文教程 PDF”,可以找到一些可下载的资源。
4. 在GitHub上搜索”Slackware中文教程”,可以找到一些由社区成员创建和维护的中文文档。
5. 一些在线电子书平台,如GitBook,可能有用户上传的Slackware中文教程。
6. 通过搜索引擎搜索”Slackware Linux中文教程 PDF”,可以找到一些可下载的资源。
7. 在线教程网站:菜鸟教程(https://www.runoob.com/)等网站可能提供Slackware的基础教程。CSDN、博客园等中文技术博客平台也有许多关于Slackware的文章和教程。
8. 菜鸟教程(https://www.runoob.com/)等网站可能提供Slackware的基础教程。
9. CSDN、博客园等中文技术博客平台也有许多关于Slackware的文章和教程。

Linux中国社区:Linux中国社区(https://linux.cn/)经常翻译和发布有关各种Linux发行版的教程,包括Slackware。

Slackware中文论坛:有一些中文论坛专门讨论Slackware,如”LinuxFans”和”ChinaUnix”的Slackware板块,用户可以在这些论坛找到教程和讨论。

电子书和PDF资源:

• 在GitHub上搜索”Slackware中文教程”,可以找到一些由社区成员创建和维护的中文文档。
• 一些在线电子书平台,如GitBook,可能有用户上传的Slackware中文教程。
• 通过搜索引擎搜索”Slackware Linux中文教程 PDF”,可以找到一些可下载的资源。

在线教程网站:

• 菜鸟教程(https://www.runoob.com/)等网站可能提供Slackware的基础教程。
• CSDN、博客园等中文技术博客平台也有许多关于Slackware的文章和教程。

2.3 下载和保存教程为PDF

如果你找到了在线的Slackware中文教程但需要PDF版本,可以使用以下方法将其转换为PDF:

1. 浏览器打印功能:在浏览器中打开教程页面按Ctrl+P(Windows/Linux)或Cmd+P(Mac)打开打印对话框选择”保存为PDF”作为打印机点击保存按钮
2. 在浏览器中打开教程页面
3. 按Ctrl+P(Windows/Linux)或Cmd+P(Mac)打开打印对话框
4. 选择”保存为PDF”作为打印机
5. 点击保存按钮
6. 在线转换工具:使用如Web2PDF、PDFCrowd等在线服务将网页转换为PDF只需输入网页URL,工具会生成可下载的PDF文件
7. 使用如Web2PDF、PDFCrowd等在线服务将网页转换为PDF
8. 只需输入网页URL,工具会生成可下载的PDF文件
9. 专业PDF工具:使用Adobe Acrobat等专业软件可以将网页或文档转换为PDF这些工具通常提供更多的自定义选项,如页面布局、书签等
10. 使用Adobe Acrobat等专业软件可以将网页或文档转换为PDF
11. 这些工具通常提供更多的自定义选项,如页面布局、书签等

浏览器打印功能:

• 在浏览器中打开教程页面
• 按Ctrl+P(Windows/Linux)或Cmd+P(Mac)打开打印对话框
• 选择”保存为PDF”作为打印机
• 点击保存按钮

在线转换工具:

• 使用如Web2PDF、PDFCrowd等在线服务将网页转换为PDF
• 只需输入网页URL,工具会生成可下载的PDF文件

专业PDF工具:

• 使用Adobe Acrobat等专业软件可以将网页或文档转换为PDF
• 这些工具通常提供更多的自定义选项,如页面布局、书签等

3. Slackware Linux基础配置

3.1 系统安装

Slackware Linux的安装过程相对简洁,但需要用户对Linux系统有一定的了解。以下是基本的安装步骤:

1. 准备安装介质:从官方网站下载Slackware的ISO镜像创建启动U盘或刻录DVD
2. 从官方网站下载Slackware的ISO镜像
3. 创建启动U盘或刻录DVD
4. 启动安装程序:从安装介质启动计算机在启动提示符下按Enter键启动安装程序
5. 从安装介质启动计算机
6. 在启动提示符下按Enter键启动安装程序
7. 分区设置:使用fdisk或cfdisk工具进行硬盘分区典型的分区方案包括:/boot分区(约100MB)/根分区(至少10GB)/home分区(剩余空间)swap交换分区(通常是内存大小的1-2倍)
8. 使用fdisk或cfdisk工具进行硬盘分区
9. 典型的分区方案包括:/boot分区(约100MB)/根分区(至少10GB)/home分区(剩余空间)swap交换分区(通常是内存大小的1-2倍)
10. /boot分区(约100MB)
11. /根分区(至少10GB)
12. /home分区(剩余空间)
13. swap交换分区(通常是内存大小的1-2倍)
14. 软件包选择:Slackware提供了多个软件包系列,如A(基础系统)、AP(应用程序)、D(开发工具)等初学者可以选择完整安装,有经验的用户可以根据需要选择特定软件包
15. Slackware提供了多个软件包系列,如A(基础系统)、AP(应用程序)、D(开发工具)等
16. 初学者可以选择完整安装,有经验的用户可以根据需要选择特定软件包
17. 配置系统:设置网络配置配置启动加载器(通常是LILO)设置root密码和创建用户账户
18. 设置网络配置
19. 配置启动加载器(通常是LILO)
20. 设置root密码和创建用户账户
21. 完成安装:退出安装程序并重新启动系统
22. 退出安装程序并重新启动系统

准备安装介质:

• 从官方网站下载Slackware的ISO镜像
• 创建启动U盘或刻录DVD

启动安装程序:

• 从安装介质启动计算机
• 在启动提示符下按Enter键启动安装程序

分区设置:

• 使用fdisk或cfdisk工具进行硬盘分区
• 典型的分区方案包括:/boot分区(约100MB)/根分区(至少10GB)/home分区(剩余空间)swap交换分区(通常是内存大小的1-2倍)
• /boot分区(约100MB)
• /根分区(至少10GB)
• /home分区(剩余空间)
• swap交换分区(通常是内存大小的1-2倍)

• /boot分区(约100MB)
• /根分区(至少10GB)
• /home分区(剩余空间)
• swap交换分区(通常是内存大小的1-2倍)

软件包选择:

• Slackware提供了多个软件包系列,如A(基础系统)、AP(应用程序)、D(开发工具)等
• 初学者可以选择完整安装,有经验的用户可以根据需要选择特定软件包

配置系统:

• 设置网络配置
• 配置启动加载器(通常是LILO)
• 设置root密码和创建用户账户

完成安装:

• 退出安装程序并重新启动系统

3.2 基本系统配置

Slackware Linux的网络配置主要通过编辑文本文件完成:

1.
  1. 配置网络接口:
  2. 编辑/etc/rc.d/rc.inet1.conf文件,设置IP地址、子网掩码、网关等:# Config information for eth0:
  3. IPADDR[0]="192.168.1.100"
  4. NETMASK[0]="255.255.255.0"
  5. USE_DHCP[0]=""
  6. DHCP_HOSTNAME[0]=""
复制代码
2. 设置DNS:
编辑/etc/resolv.conf文件,添加DNS服务器:nameserver 8.8.8.8
nameserver 8.8.4.4
3. 设置主机名:
编辑/etc/HOSTNAME文件,添加主机名:myslackbox.example.com
4. 启动网络服务:
执行以下命令使网络配置生效:chmod +x /etc/rc.d/rc.inet1
/etc/rc.d/rc.inet1 start

配置网络接口:
编辑/etc/rc.d/rc.inet1.conf文件,设置IP地址、子网掩码、网关等:
  1. # Config information for eth0:
  2. IPADDR[0]="192.168.1.100"
  3. NETMASK[0]="255.255.255.0"
  4. USE_DHCP[0]=""
  5. DHCP_HOSTNAME[0]=""
复制代码

设置DNS:
编辑/etc/resolv.conf文件,添加DNS服务器:
  1. nameserver 8.8.8.8
  2. nameserver 8.8.4.4
复制代码

设置主机名:
编辑/etc/HOSTNAME文件,添加主机名:
  1. myslackbox.example.com
复制代码

启动网络服务:
执行以下命令使网络配置生效:
  1. chmod +x /etc/rc.d/rc.inet1
  2. /etc/rc.d/rc.inet1 start
复制代码

Slackware使用简单的软件包管理系统,主要通过pkgtool、installpkg、removepkg和upgradepkg等工具管理软件包。

1. 安装软件包:installpkg package-name.txz
2. 删除软件包:removepkg package-name
3. 升级软件包:upgradepkg package-new-version.txz
4. 使用pkgtool:pkgtool是一个基于菜单的工具,可以用来安装、删除和查看软件包:pkgtool

安装软件包:
  1. installpkg package-name.txz
复制代码

删除软件包:
  1. removepkg package-name
复制代码

升级软件包:
  1. upgradepkg package-new-version.txz
复制代码

使用pkgtool:pkgtool是一个基于菜单的工具,可以用来安装、删除和查看软件包:
  1. pkgtool
复制代码

Slackware使用传统的init系统管理服务,服务脚本位于/etc/rc.d/目录下。

1. 启动服务:chmod +x /etc/rc.d/rc.service_name
/etc/rc.d/rc.service_name start
2. 停止服务:/etc/rc.d/rc.service_name stop
3. 重启服务:/etc/rc.d/rc.service_name restart
4. 设置服务开机启动:chmod +x /etc/rc.d/rc.service_name
5. 禁止服务开机启动:chmod -x /etc/rc.d/rc.service_name

启动服务:
  1. chmod +x /etc/rc.d/rc.service_name
  2. /etc/rc.d/rc.service_name start
复制代码

停止服务:
  1. /etc/rc.d/rc.service_name stop
复制代码

重启服务:
  1. /etc/rc.d/rc.service_name restart
复制代码

设置服务开机启动:
  1. chmod +x /etc/rc.d/rc.service_name
复制代码

禁止服务开机启动:
  1. chmod -x /etc/rc.d/rc.service_name
复制代码

3.3 桌面环境配置

Slackware支持多种桌面环境,包括KDE Plasma、Xfce、LXDE等。以下是配置Xfce桌面环境的步骤:

1. 安装Xfce:
确保已安装X和Xfce软件包系列,可以使用pkgtool检查并安装。
2. 配置显示管理器:
编辑/etc/rc.d/rc.4文件,选择Xfce作为默认桌面环境。
3. 启动X:
使用以下命令启动图形界面:startx
4. 配置自动登录(可选):
编辑/etc/inittab文件,修改运行级别为4,并配置自动登录。
5. 自定义桌面:
使用Xfce的设置管理器自定义桌面主题、面板、背景等。

安装Xfce:
确保已安装X和Xfce软件包系列,可以使用pkgtool检查并安装。

配置显示管理器:
编辑/etc/rc.d/rc.4文件,选择Xfce作为默认桌面环境。

启动X:
使用以下命令启动图形界面:
  1. startx
复制代码

配置自动登录(可选):
编辑/etc/inittab文件,修改运行级别为4,并配置自动登录。

自定义桌面:
使用Xfce的设置管理器自定义桌面主题、面板、背景等。

4. Slackware Linux高级管理

4.1 内核编译与优化

Slackware允许用户自定义编译内核以优化系统性能和硬件支持。

1. 准备编译环境:# 安装必要的开发工具
slackpkg install kernel-source
slackpkg install gcc make ncurses
2.
  1. 获取内核源码:cd /usr/src
  2. wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.x.x.tar.xz
  3. tar -xvf linux-5.x.x.tar.xz
  4. cd linux-5.x.x
复制代码
3. 配置内核:# 使用当前内核配置作为基础
cp /boot/config .config
make menuconfig
4.
  1. 编译和安装内核:make -j$(nproc)
  2. make modules_install
  3. cp arch/x86/boot/bzImage /boot/vmlinuz-custom
  4. cp System.map /boot/System.map-custom
  5. cp .config /boot/config-custom
复制代码
5. 配置引导加载器:
编辑/etc/lilo.conf,添加新内核的条目:image = /boot/vmlinuz-custom
root = /dev/sda1
label = Slackware-Custom
read-only然后运行lilo更新引导加载器。

准备编译环境:
  1. # 安装必要的开发工具
  2. slackpkg install kernel-source
  3. slackpkg install gcc make ncurses
复制代码

获取内核源码:
  1. cd /usr/src
  2. wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.x.x.tar.xz
  3. tar -xvf linux-5.x.x.tar.xz
  4. cd linux-5.x.x
复制代码

配置内核:
  1. # 使用当前内核配置作为基础
  2. cp /boot/config .config
  3. make menuconfig
复制代码

编译和安装内核:
  1. make -j$(nproc)
  2. make modules_install
  3. cp arch/x86/boot/bzImage /boot/vmlinuz-custom
  4. cp System.map /boot/System.map-custom
  5. cp .config /boot/config-custom
复制代码

配置引导加载器:
编辑/etc/lilo.conf,添加新内核的条目:
  1. image = /boot/vmlinuz-custom
  2. root = /dev/sda1
  3. label = Slackware-Custom
  4. read-only
复制代码

然后运行lilo更新引导加载器。

4.2 系统安全加固

Slackware默认已经相当安全,但可以采取额外措施进一步增强系统安全性。

1. 防火墙配置:
Slackware使用iptables作为防火墙工具。创建/etc/rc.d/rc.firewall文件:
“`bash
#!/bin/sh清除现有规则iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

防火墙配置:
Slackware使用iptables作为防火墙工具。创建/etc/rc.d/rc.firewall文件:
“`bash
#!/bin/sh

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# 默认策略
   iptables -P INPUT DROP
   iptables -P FORWARD DROP
   iptables -P OUTPUT ACCEPT

# 允许本地回环
   iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的连接
   iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# 允许SSH
   iptables -A INPUT -p tcp –dport 22 -j ACCEPT

# 允许HTTP和HTTPS
   iptables -A INPUT -p tcp –dport 80 -j ACCEPT
   iptables -A INPUT -p tcp –dport 443 -j ACCEPT
  1. 然后使脚本可执行并启动:
  2.    ```bash
  3.    chmod +x /etc/rc.d/rc.firewall
  4.    /etc/rc.d/rc.firewall
复制代码

1. SSH安全配置:
编辑/etc/ssh/sshd_config文件:
“`禁用root登录PermitRootLogin no

SSH安全配置:
编辑/etc/ssh/sshd_config文件:
“`

PermitRootLogin no

# 更改默认端口
   Port 2222

# 仅允许特定用户
   AllowUsers user1 user2

# 禁用密码认证,使用密钥认证
   PasswordAuthentication no
   PubkeyAuthentication yes
  1. 重启SSH服务:
  2.    ```bash
  3.    /etc/rc.d/rc.sshd restart
复制代码

1. 系统更新与补丁:
“`bash更新软件包列表slackpkg update

系统更新与补丁:
“`bash

slackpkg update

# 检查可用更新
   slackpkg check-updates

# 安装所有更新
   slackpkg upgrade-all
  1. 4. **文件系统安全**:
  2.    ```bash
  3.    # 查找SUID/SGID文件
  4.    find / -type f \( -perm -4000 -o -perm -2000 \) -ls
  5.    
  6.    # 查找全局可写文件
  7.    find / -type f -perm -2 -ls
  8.    
  9.    # 查找没有所有者的文件
  10.    find / -nouser -o -nogroup
复制代码

4.3 性能监控与优化

1. 系统监控工具:
“`bash安装监控工具slackpkg install htop iotop sysstat

系统监控工具:
“`bash

slackpkg install htop iotop sysstat

# 使用htop监控系统资源
   htop

# 使用iotop监控磁盘I/O
   iotop

# 使用sar收集系统性能数据
   sar -u 1 5  # CPU使用率
   sar -r 1 5  # 内存使用率
   sar -b 1 5  # I/O传输率
  1. 2. **系统日志分析**:
  2.    ```bash
  3.    # 查看系统日志
  4.    tail -f /var/log/syslog
  5.    tail -f /var/log/messages
  6.    
  7.    # 查看认证日志
  8.    tail -f /var/log/auth.log
  9.    
  10.    # 使用logwatch分析日志
  11.    slackpkg install logwatch
  12.    logwatch --detail High --mailto your@email.com --range today
复制代码

1. 文件系统优化:
“`bash检查文件系统fsck -t ext4 /dev/sda1

文件系统优化:
“`bash

fsck -t ext4 /dev/sda1

# 调整文件系统参数
   tune2fs -o journal_data_writeback /dev/sda1
   tune2fs -O ^has_journal /dev/sda1

# 重新创建日志(可选)
   tune2fs -j /dev/sda1
  1. 4. **内存管理**:
  2.    ```bash
  3.    # 查看内存使用情况
  4.    free -m
  5.    
  6.    # 查看详细的内存使用情况
  7.    cat /proc/meminfo
  8.    
  9.    # 调整swappiness参数(0-100)
  10.    echo 10 > /proc/sys/vm/swappiness
  11.    
  12.    # 清理页面缓存
  13.    echo 1 > /proc/sys/vm/drop_caches
复制代码

4.4 网络服务配置

1. Web服务器配置(Apache):
“`bash安装Apacheslackpkg install httpd

Web服务器配置(Apache):
“`bash

slackpkg install httpd

# 启动Apache服务
   chmod +x /etc/rc.d/rc.httpd
   /etc/rc.d/rc.httpd start

# 配置虚拟主机
   编辑/etc/httpd/httpd.conf,添加:
  1. <VirtualHost *:80>
  2.        ServerName www.example.com
  3.        DocumentRoot /var/www/htdocs/example
  4.        ErrorLog /var/log/httpd/example-error.log
  5.        CustomLog /var/log/httpd/example-access.log combined
  6.    </VirtualHost>
复制代码

# 重启Apache服务
   /etc/rc.d/rc.httpd restart
  1. 2. **数据库服务器配置(MariaDB/MySQL)**:
  2.    ```bash
  3.    # 安装MariaDB
  4.    slackpkg install mariadb
  5.    
  6.    # 初始化数据库
  7.    mysql_install_db --user=mysql
  8.    
  9.    # 启动MariaDB服务
  10.    chmod +x /etc/rc.d/rc.mysqld
  11.    /etc/rc.d/rc.mysqld start
  12.    
  13.    # 安全设置
  14.    mysql_secure_installation
  15.    
  16.    # 创建数据库和用户
  17.    mysql -u root -p
  18.    CREATE DATABASE mydb;
  19.    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
  20.    GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
  21.    FLUSH PRIVILEGES;
  22.    EXIT;
复制代码

1. FTP服务器配置(vsftpd):
“`bash安装vsftpdslackpkg install vsftpd

FTP服务器配置(vsftpd):
“`bash

slackpkg install vsftpd

# 配置vsftpd
   编辑/etc/vsftpd.conf:
  1. anonymous_enable=NO
  2.    local_enable=YES
  3.    write_enable=YES
  4.    chroot_local_user=YES
  5.    allow_writeable_chroot=YES
  6.    pasv_min_port=40000
  7.    pasv_max_port=50000
复制代码

# 启动vsftpd服务
   chmod +x /etc/rc.d/rc.vsftpd
   /etc/rc.d/rc.vsftpd start
  1. 4. **邮件服务器配置(Postfix)**:
  2.    ```bash
  3.    # 安装Postfix
  4.    slackpkg install postfix
  5.    
  6.    # 配置Postfix
  7.    编辑/etc/postfix/main.cf:
复制代码

myhostname = mail.example.com
   mydomain = example.com
   myorigin =\(mydomain
   inet_interfaces = all
   mydestination = \)myhostname, localhost.\(mydomain, localhost, \)mydomain
   mynetworks = 192.168.1.0/24, 127.0.0.0/8
   home_mailbox = Maildir/
  1. # 启动Postfix服务
  2.    chmod +x /etc/rc.d/rc.postfix
  3.    /etc/rc.d/rc.postfix start
复制代码

5. 实际案例和操作技巧

5.1 案例一:搭建LAMP服务器

以下是在Slackware Linux上搭建LAMP(Linux + Apache + MariaDB + PHP)服务器的完整步骤:

1. 安装必要的软件包:
“`bash更新软件包列表slackpkg update

安装必要的软件包:
“`bash

slackpkg update

# 安装Apache
   slackpkg install httpd

# 安装MariaDB
   slackpkg install mariadb mariadb-client

# 安装PHP
   slackpkg install php php-mysql
  1. 2. **配置Apache**:
  2.    ```bash
  3.    # 启动Apache服务
  4.    chmod +x /etc/rc.d/rc.httpd
  5.    /etc/rc.d/rc.httpd start
  6.    
  7.    # 配置Apache支持PHP
  8.    编辑/etc/httpd/httpd.conf,确保以下行未被注释:
复制代码

LoadModule php7_module /usr/lib/httpd/modules/libphp7.so
   AddType application/x-httpd-php .php
   DirectoryIndex index.html index.php
  1. # 重启Apache服务
  2.    /etc/rc.d/rc.httpd restart
复制代码

1. 配置MariaDB:
“`bash初始化数据库mysql_install_db –user=mysql

配置MariaDB:
“`bash

mysql_install_db –user=mysql

# 启动MariaDB服务
   chmod +x /etc/rc.d/rc.mysqld
   /etc/rc.d/rc.mysqld start

# 安全设置
   mysql_secure_installation
  1. 4. **测试PHP**:
  2.    ```bash
  3.    # 创建测试文件
  4.    echo "<?php phpinfo(); ?>" > /var/www/htdocs/phpinfo.php
  5.    
  6.    # 在浏览器中访问 http://your-server-ip/phpinfo.php
复制代码

1. 创建数据库和用户:
“`bash登录MariaDBmysql -u root -p

创建数据库和用户:
“`bash

mysql -u root -p

# 创建数据库
   CREATE DATABASE mywebdb;

# 创建用户并授权
   CREATE USER ‘webuser’@‘localhost’ IDENTIFIED BY ‘password’;
   GRANT ALL PRIVILEGES ON mywebdb.* TO ‘webuser’@‘localhost’;
   FLUSH PRIVILEGES;
   EXIT;
  1. 6. **部署PHP应用**:
  2.    ```bash
  3.    # 下载WordPress作为示例
  4.    cd /tmp
  5.    wget https://wordpress.org/latest.tar.gz
  6.    tar -xvf latest.tar.gz
  7.    cp -r wordpress/* /var/www/htdocs/
  8.    
  9.    # 设置权限
  10.    chown -R nobody:nobody /var/www/htdocs/
  11.    chmod -R 755 /var/www/htdocs/
  12.    
  13.    # 创建wp-config.php
  14.    cd /var/www/htdocs/
  15.    cp wp-config-sample.php wp-config.php
  16.    
  17.    # 编辑wp-config.php,填入数据库信息
复制代码

define(‘DB_NAME’, ‘mywebdb’);
   define(‘DB_USER’, ‘webuser’);
   define(‘DB_PASSWORD’, ‘password’);
   define(‘DB_HOST’, ‘localhost’);

1. 设置服务开机启动:
“`bash设置Apache开机启动chmod +x /etc/rc.d/rc.httpd

设置服务开机启动:
“`bash

chmod +x /etc/rc.d/rc.httpd

# 设置MariaDB开机启动
   chmod +x /etc/rc.d/rc.mysqld
  1. ### 5.2 案例二:配置Slackware作为路由器
  2. 以下是将Slackware Linux配置为路由器的步骤:
  3. 1. **启用IP转发**:
  4.    ```bash
  5.    # 编辑/etc/sysctl.conf
  6.    echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
  7.    
  8.    # 立即生效
  9.    sysctl -p
复制代码

1.
  1. 配置网络接口:# 假设eth0连接WAN,eth1连接LAN
  2. # 配置WAN接口(eth0)
  3. 编辑/etc/rc.d/rc.inet1.conf:Config information for eth0:IPADDR[0]=””
  4. NETMASK[0]=“”
  5. USE_DHCP[0]=“yes”
  6. DHCP_HOSTNAME[0]=“”
  7. “`
复制代码

配置网络接口:
  1. # 假设eth0连接WAN,eth1连接LAN
  2. # 配置WAN接口(eth0)
  3. 编辑/etc/rc.d/rc.inet1.conf:
复制代码

IPADDR[0]=””
NETMASK[0]=“”
USE_DHCP[0]=“yes”
DHCP_HOSTNAME[0]=“”
“`

# 配置LAN接口(eth1)
  1. # Config information for eth1:
  2.    IPADDR[1]="192.168.1.1"
  3.    NETMASK[1]="255.255.255.0"
  4.    USE_DHCP[1]=""
  5.    DHCP_HOSTNAME[1]=""
复制代码

# 重启网络服务
   /etc/rc.d/rc.inet1 restart
  1. 3. **配置iptables(NAT)**:
  2.    ```bash
  3.    # 创建防火墙脚本/etc/rc.d/rc.firewall
  4.    cat > /etc/rc.d/rc.firewall << 'EOF'
  5.    #!/bin/sh
  6.    
  7.    # 清除现有规则
  8.    iptables -F
  9.    iptables -X
  10.    iptables -t nat -F
  11.    iptables -t nat -X
  12.    
  13.    # 默认策略
  14.    iptables -P INPUT DROP
  15.    iptables -P FORWARD DROP
  16.    iptables -P OUTPUT ACCEPT
  17.    
  18.    # 允许本地回环
  19.    iptables -A INPUT -i lo -j ACCEPT
  20.    
  21.    # 允许已建立的连接
  22.    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  23.    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  24.    
  25.    # 允许LAN访问WAN
  26.    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
  27.    
  28.    # 启用NAT
  29.    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  30.    
  31.    # 允许LAN访问路由器服务
  32.    iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT  # SSH
  33.    iptables -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT  # DNS
  34.    iptables -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT  # DNS
  35.    iptables -A INPUT -i eth1 -p tcp --dport 67 -j ACCEPT  # DHCP
  36.    iptables -A INPUT -i eth1 -p udp --dport 67 -j ACCEPT  # DHCP
  37.    EOF
  38.    
  39.    # 使脚本可执行
  40.    chmod +x /etc/rc.d/rc.firewall
  41.    
  42.    # 启动防火墙
  43.    /etc/rc.d/rc.firewall
复制代码

1. 配置DHCP服务器:
“`bash安装DHCP服务器slackpkg install dhcp

配置DHCP服务器:
“`bash

slackpkg install dhcp

# 配置DHCP服务器
   编辑/etc/dhcpd.conf:
  1. option domain-name-servers 8.8.8.8, 8.8.4.4;
  2.    default-lease-time 600;
  3.    max-lease-time 7200;
  4.    authoritative;
  5.    
  6.    subnet 192.168.1.0 netmask 255.255.255.0 {
  7.      range 192.168.1.100 192.168.1.200;
  8.      option routers 192.168.1.1;
  9.      option broadcast-address 192.168.1.255;
  10.    }
复制代码

# 启动DHCP服务器
   chmod +x /etc/rc.d/rc.dhcpd
   /etc/rc.d/rc.dhcpd start
  1. 5. **配置DNS缓存**:
  2.    ```bash
  3.    # 安装dnsmasq
  4.    slackpkg install dnsmasq
  5.    
  6.    # 配置dnsmasq
  7.    编辑/etc/dnsmasq.conf:
复制代码

listen-address=127.0.0.1,192.168.1.1
   bind-interfaces
   server=8.8.8.8
   server=8.8.4.4
  1. # 启动dnsmasq
  2.    chmod +x /etc/rc.d/rc.dnsmasq
  3.    /etc/rc.d/rc.dnsmasq start
复制代码

1. 设置服务开机启动:
“`bash设置防火墙开机启动chmod +x /etc/rc.d/rc.firewall

设置服务开机启动:
“`bash

chmod +x /etc/rc.d/rc.firewall

# 设置DHCP服务器开机启动
   chmod +x /etc/rc.d/rc.dhcpd

# 设置dnsmasq开机启动
   chmod +x /etc/rc.d/rc.dnsmasq
  1. ### 5.3 案例三:创建Slackware软件包
  2. 以下是如何创建自定义Slackware软件包的步骤:
  3. 1. **准备开发环境**:
  4.    ```bash
  5.    # 安装必要的工具
  6.    slackpkg install buildtools slackbuild-scripts
复制代码

1. 获取源代码:
“`bash创建工作目录mkdir -p ~/slackbuilds/myapp
cd ~/slackbuilds/myapp

获取源代码:
“`bash

mkdir -p ~/slackbuilds/myapp
cd ~/slackbuilds/myapp

# 下载源代码
   wgethttps://example.com/files/myapp-1.0.tar.gz
  1. 3. **创建SlackBuild脚本**:
  2.    ```bash
  3.    # 创建SlackBuild脚本
  4.    cat > myapp.SlackBuild << 'EOF'
  5.    #!/bin/sh
  6.    
  7.    # 设置变量
  8.    PRGNAM=myapp
  9.    VERSION=${VERSION:-1.0}
  10.    BUILD=${BUILD:-1}
  11.    TAG=${TAG:-_my}
  12.    CWD=$(pwd)
  13.    TMP=${TMP:-/tmp/SBo}
  14.    PKG=$TMP/package-$PRGNAM
  15.    OUTPUT=${OUTPUT:-/tmp}
  16.    
  17.    # 设置架构
  18.    ARCH=$(uname -m)
  19.    
  20.    # 如果TMP目录不存在,则创建
  21.    rm -rf $PKG
  22.    mkdir -p $TMP $PKG $OUTPUT
  23.    cd $TMP
  24.    rm -rf $PRGNAM-$VERSION
  25.    tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
  26.    cd $PRGNAM-$VERSION
  27.    
  28.    # 配置、编译和安装
  29.    chown -R root:root .
  30.    find -L . \
  31.     \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  32.      -o -perm 511 \) -exec chmod 755 {} \; -o \
  33.     \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  34.      -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  35.    
  36.    # 配置
  37.    CFLAGS="$SLKCFLAGS" \
  38.    CXXFLAGS="$SLKCFLAGS" \
  39.    ./configure \
  40.      --prefix=/usr \
  41.      --libdir=/usr/lib${LIBDIRSUFFIX} \
  42.      --sysconfdir=/etc \
  43.      --localstatedir=/var \
  44.      --mandir=/usr/man \
  45.      --docdir=/usr/doc/$PRGNAM-$VERSION \
  46.      --build=$ARCH-slackware-linux
  47.    
  48.    # 编译
  49.    make
  50.    
  51.    # 安装到临时目录
  52.    make install DESTDIR=$PKG
  53.    
  54.    # 创建描述文件
  55.    mkdir -p $PKG/install
  56.    cat $CWD/slack-desc > $PKG/install/slack-desc
  57.    
  58.    # 创建软件包
  59.    cd $PKG
  60.    /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
  61.    EOF
  62.    
  63.    # 使脚本可执行
  64.    chmod +x myapp.SlackBuild
复制代码

1.
  1. 创建slack-desc文件:# 创建slack-desc文件
  2. cat > slack-desc << 'EOF'
  3. # HOW TO EDIT THIS FILE:
  4. # The "handy ruler" below makes it easier to edit a package description.
  5. # Line up the first '|' above the ':' following the base package name, and
  6. # the '|' on the right side marks the last column you can put a character in.
  7. # You must make exactly 11 lines for the formatting to be correct.  It's also
  8. # customary to leave one space after the ':' except on otherwise blank lines.
  9.      |-----handy-ruler------------------------------------------------------|
  10. myapp: myapp (A sample application)
  11. myapp:
  12. myapp: This is a description of myapp. It explains what the application does
  13. myapp: and any important information about it.
  14. myapp:
  15. myapp:
  16. myapp:
  17. myapp:
  18. myapp:
  19. myapp:
  20. myapp:
  21. EOF
复制代码
2. 构建软件包:
“`bash运行SlackBuild脚本./myapp.SlackBuild

创建slack-desc文件:
  1. # 创建slack-desc文件
  2. cat > slack-desc << 'EOF'
  3. # HOW TO EDIT THIS FILE:
  4. # The "handy ruler" below makes it easier to edit a package description.
  5. # Line up the first '|' above the ':' following the base package name, and
  6. # the '|' on the right side marks the last column you can put a character in.
  7. # You must make exactly 11 lines for the formatting to be correct.  It's also
  8. # customary to leave one space after the ':' except on otherwise blank lines.
  9.      |-----handy-ruler------------------------------------------------------|
  10. myapp: myapp (A sample application)
  11. myapp:
  12. myapp: This is a description of myapp. It explains what the application does
  13. myapp: and any important information about it.
  14. myapp:
  15. myapp:
  16. myapp:
  17. myapp:
  18. myapp:
  19. myapp:
  20. myapp:
  21. EOF
复制代码

构建软件包:
“`bash

./myapp.SlackBuild

# 生成的软件包将位于/tmp目录下
   ls -l /tmp/myapp-1.0-*.tgz
  1. 6. **安装和测试软件包**:
  2.    ```bash
  3.    # 安装软件包
  4.    installpkg /tmp/myapp-1.0-*.tgz
  5.    
  6.    # 测试应用程序
  7.    myapp --version
  8.    
  9.    # 查看已安装的文件
  10.    grep -a myapp /var/log/packages/myapp-1.0-*
复制代码

5.4 操作技巧

1.
  1. 系统备份与恢复:
  2. “`bash创建系统备份rsync -aAXv / –exclude={”/dev/”,“/proc/”,“/sys/”,“/tmp/”,“/run/”,“/mnt/”,“/media/*”,“/lost+found”} /path/to/backup/
复制代码

系统备份与恢复:
“`bash

rsync -aAXv / –exclude={”/dev/”,“/proc/”,“/sys/”,“/tmp/”,“/run/”,“/mnt/”,“/media/*”,“/lost+found”} /path/to/backup/

# 使用tar创建备份
   tar -cvpzf backup.tar.gz –exclude=/backup.tar.gz –exclude=/dev –exclude=/mnt –exclude=/proc –exclude=/sys –exclude=/tmp –exclude=/run /

# 恢复系统
   rsync -aAXv /path/to/backup/ /
  1. 2. **查找和删除大文件**:
  2.    ```bash
  3.    # 查找大于100MB的文件
  4.    find / -type f -size +100M -exec ls -lh {} \;
  5.    
  6.    # 按大小排序显示目录中的文件
  7.    du -sh * | sort -h
  8.    
  9.    # 查找最大的文件和目录
  10.    du -a / | sort -n -r | head -n 20
复制代码

1. 系统日志轮转:
“`bash安装logrotateslackpkg install logrotate

系统日志轮转:
“`bash

slackpkg install logrotate

# 配置logrotate
   编辑/etc/logrotate.conf,添加:
  1. /var/log/wtmp {
  2.        monthly
  3.        create 0664 root utmp
  4.        rotate 1
  5.    }
  6.    
  7.    /var/log/btmp {
  8.        missingok
  9.        monthly
  10.        create 0600 root utmp
  11.        rotate 1
  12.    }
  13.    
  14.    /var/log/syslog {
  15.        rotate 7
  16.        daily
  17.        missingok
  18.        notifempty
  19.        delaycompress
  20.        compress
  21.        postrotate
  22.            /etc/rc.d/rc.syslogd reload
  23.        endscript
  24.    }
复制代码

# 测试logrotate
   logrotate -d /etc/logrotate.conf

# 手动运行logrotate
   logrotate -f /etc/logrotate.conf
  1. 4. **使用screen进行远程会话管理**:
  2.    ```bash
  3.    # 安装screen
  4.    slackpkg install screen
  5.    
  6.    # 创建新的screen会话
  7.    screen -S mysession
  8.    
  9.    # 从screen会话分离
  10.    Ctrl+A, D
  11.    
  12.    # 列出所有screen会话
  13.    screen -ls
  14.    
  15.    # 重新连接到screen会话
  16.    screen -r mysession
  17.    
  18.    # 在screen会话中创建新窗口
  19.    Ctrl+A, C
  20.    
  21.    # 在screen窗口之间切换
  22.    Ctrl+A, N (下一个窗口)
  23.    Ctrl+A, P (上一个窗口)
  24.    Ctrl+A, 0-9 (按编号切换)
  25.    
  26.    # 垂直分割屏幕
  27.    Ctrl+A, |
  28.    
  29.    # 水平分割屏幕
  30.    Ctrl+A, S
  31.    
  32.    # 在分割区域之间切换
  33.    Ctrl+A, Tab
复制代码

1. 使用alias提高工作效率:
“`bash编辑~/.bashrc,添加常用别名cat >> ~/.bashrc << ‘EOF’系统管理别名alias update=‘slackpkg update && slackpkg upgrade-all’
alias install=‘slackpkg install’
alias remove=‘slackpkg remove’
alias search=‘slackpkg search’

使用alias提高工作效率:
“`bash

cat >> ~/.bashrc << ‘EOF’

alias update=‘slackpkg update && slackpkg upgrade-all’
alias install=‘slackpkg install’
alias remove=‘slackpkg remove’
alias search=‘slackpkg search’

# 文件操作别名
   alias ll=‘ls -alF’
   alias la=‘ls -A’
   alias l=‘ls -CF’
   alias ..=‘cd ..’
   alias …=‘cd ../..’
   alias ….=‘cd ../../..’

# 网络别名
   alias myip=‘curl ifconfig.me’
   alias netstat=‘netstat -tulnp’
   alias ss=‘ss -tulnp’

# 其他有用别名
   alias grep=‘grep –color=auto’
   alias df=‘df -h’
   alias du=‘du -h’
   alias free=‘free -m’
   alias ps=‘ps auxf’
   alias histg=‘history | grep’
   EOF

# 使别名生效
   source ~/.bashrc
   “`

6. 常见问题与解决方案

6.1 安装问题

问题1:安装过程中无法识别硬盘

解决方案:

• 确保在BIOS中已启用SATA模式为AHCI或兼容模式
• 尝试使用不同的内核参数,如nomodeset或libata.force=noncq
• 对于较新的硬件,可能需要使用包含更新驱动的Slackware版本或自定义内核

问题2:安装过程中无法连接到网络

解决方案:

• 检查网络连接是否正常
• 确认网络接口名称(可能不是传统的eth0)
• 尝试手动配置网络参数
• 对于无线网络,可能需要额外的驱动和配置

6.2 引导问题

问题1:系统无法启动,显示”Kernel panic”

解决方案:

• 在启动时按Shift或Esc键显示GRUB/LILO菜单
• 编辑启动选项,添加init=/bin/bash以进入紧急模式
• 检查/etc/fstab中的文件系统配置是否正确
• 使用安装介质启动,然后使用chroot修复系统

问题2:更新内核后系统无法启动

解决方案:

• 在启动时选择旧内核版本
• 使用安装介质启动,检查新内核的配置
• 重新编译和安装内核,确保所有必要的驱动和模块已包含
• 更新引导加载器配置

6.3 软件包管理问题

问题1:安装软件包时出现依赖错误

解决方案:

• 使用slackpkg安装,它会自动处理依赖关系
• 手动安装缺少的依赖包
• 使用sbopkg工具从SlackBuilds.org安装软件包,它会自动处理依赖关系

问题2:卸载软件包后系统出现问题

解决方案:

• 使用installpkg重新安装软件包
• 检查是否有其他软件包依赖于已卸载的软件包
• 使用pkgtool查看已安装的软件包列表

6.4 网络问题

问题1:无法连接到网络

解决方案:

• 检查网络接口是否已启用:ip link show
• 检查IP配置:ip addr show
• 检查路由配置:ip route show
• 检查DNS配置:cat /etc/resolv.conf
• 尝试ping网关和外部地址

问题2:无法连接到特定的网络服务

解决方案:

• 检查服务是否正在运行:/etc/rc.d/rc.servicename status
• 检查防火墙规则:iptables -L
• 检查服务配置:查看服务的配置文件
• 查看服务日志:tail -f /var/log/servicelog

6.5 性能问题

问题1:系统运行缓慢

解决方案:

• 检查系统资源使用情况:htop
• 检查磁盘I/O:iotop
• 检查系统日志:tail -f /var/log/syslog
• 清理不必要的文件和软件包
• 考虑升级硬件或优化系统配置

问题2:磁盘空间不足

解决方案:

• 查找大文件:find / -type f -size +100M
• 清理软件包缓存:slackpkg clean-system
• 清理日志文件:logrotate -f /etc/logrotate.conf
• 删除不必要的软件包:removepkg packagename
• 考虑扩展磁盘空间或添加新磁盘

7. 总结与进阶学习资源

7.1 总结

Slackware Linux作为最古老的Linux发行版之一,以其简洁性、稳定性和遵循Unix传统而著称。通过本教程,我们学习了:

• Slackware Linux的基本概念和特点
• 如何获取Slackware Linux中文教程PDF资源
• Slackware Linux的安装和基础配置
• 软件包管理和系统服务管理
• 桌面环境的配置
• 高级系统管理,包括内核编译、系统安全、性能监控和网络服务配置
• 实际案例,如搭建LAMP服务器、配置路由器和创建软件包
• 常见问题与解决方案

掌握Slackware Linux不仅可以帮助你建立一个稳定可靠的系统,还能让你深入了解Linux系统的内部工作原理。

7.2 进阶学习资源

1. 官方资源:Slackware Linux官方网站:https://www.slackware.com/Slackware文档:https://docs.slackware.com/Slackware邮件列表:https://www.slackware.com/lists/
2. Slackware Linux官方网站:https://www.slackware.com/
3. Slackware文档:https://docs.slackware.com/
4. Slackware邮件列表:https://www.slackware.com/lists/
5. 社区资源:SlackBuilds.org:https://slackbuilds.org/- 提供额外的软件包和构建脚本LinuxQuestions.org Slackware论坛:https://www.linuxquestions.org/questions/slackware-14/Slackware subreddit:https://www.reddit.com/r/slackware/
6. SlackBuilds.org:https://slackbuilds.org/- 提供额外的软件包和构建脚本
7. LinuxQuestions.org Slackware论坛:https://www.linuxquestions.org/questions/slackware-14/
8. Slackware subreddit:https://www.reddit.com/r/slackware/
9. 书籍资源:“Slackware Linux Essentials” - 官方入门指南“Slackware Linux Basics” - 由Alan Hicks, Chris Lumens, and Anne Nielsen编写“Linux System Administration: A User’s Guide” - 由Marcel Gagné编写,包含Slackware相关内容
10. “Slackware Linux Essentials” - 官方入门指南
11. “Slackware Linux Basics” - 由Alan Hicks, Chris Lumens, and Anne Nielsen编写
12. “Linux System Administration: A User’s Guide” - 由Marcel Gagné编写,包含Slackware相关内容
13. 在线教程和博客:Slackware Documentation Project:https://docs.slackware.com/Alien BOB的博客:https://alien.slackbook.org/blog/- 包含大量Slackware教程和技巧Slackware Linux Tutorial:https://www.tutorialspoint.com/slackware_linux/index.htm
14. Slackware Documentation Project:https://docs.slackware.com/
15. Alien BOB的博客:https://alien.slackbook.org/blog/- 包含大量Slackware教程和技巧
16. Slackware Linux Tutorial:https://www.tutorialspoint.com/slackware_linux/index.htm
17. 视频资源:YouTube上的Slackware教程频道LinuxConf和FOSDEM等会议中关于Slackware的演讲
18. YouTube上的Slackware教程频道
19. LinuxConf和FOSDEM等会议中关于Slackware的演讲

官方资源:

• Slackware Linux官方网站:https://www.slackware.com/
• Slackware文档:https://docs.slackware.com/
• Slackware邮件列表:https://www.slackware.com/lists/

社区资源:

• SlackBuilds.org:https://slackbuilds.org/- 提供额外的软件包和构建脚本
• LinuxQuestions.org Slackware论坛:https://www.linuxquestions.org/questions/slackware-14/
• Slackware subreddit:https://www.reddit.com/r/slackware/

书籍资源:

• “Slackware Linux Essentials” - 官方入门指南
• “Slackware Linux Basics” - 由Alan Hicks, Chris Lumens, and Anne Nielsen编写
• “Linux System Administration: A User’s Guide” - 由Marcel Gagné编写,包含Slackware相关内容

在线教程和博客:

• Slackware Documentation Project:https://docs.slackware.com/
• Alien BOB的博客:https://alien.slackbook.org/blog/- 包含大量Slackware教程和技巧
• Slackware Linux Tutorial:https://www.tutorialspoint.com/slackware_linux/index.htm

视频资源:

• YouTube上的Slackware教程频道
• LinuxConf和FOSDEM等会议中关于Slackware的演讲

通过这些资源,你可以继续深入学习Slackware Linux,掌握更多高级技能和技巧,成为一名真正的Slackware专家。记住,Slackware的哲学是”简单就是最好”,通过不断实践和探索,你将能够充分利用这个强大而稳定的Linux发行版。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则