简体中文 繁體中文 English Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français Japanese

站内搜索

搜索

活动公告

通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,将及时处理!
10-23 09:31

探索Slackware Linux最全面的文档资料指南 从初学者到专家的必备参考手册 助你轻松掌握系统配置与管理

SunJu_FaceMall

3万

主题

238

科技点

3万

积分

大区版主

碾压王

积分
32126

立华奏

发表于 2025-9-30 21:40:01 | 显示全部楼层 |阅读模式 [标记阅至此楼]

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

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

x
1. 引言

Slackware Linux作为最早的Linux发行版之一,以其简洁、稳定和高度可定制的特性而闻名。由Patrick Volkerding于1993年创建,Slackware坚持KISS(Keep It Simple, Stupid)原则,提供了一个纯净、接近Unix的Linux体验。本指南旨在为各级别的用户提供全面的Slackware文档资料,帮助您从初学者成长为能够熟练配置和管理Slackware系统的专家。

Slackware与其他现代Linux发行版不同,它不依赖复杂的包管理系统或自动化配置工具,而是让用户直接控制系统配置。这种方法虽然学习曲线较陡,但提供了无与伦比的控制能力和系统理解深度。

本指南将涵盖Slackware的安装、基本管理、网络配置、桌面环境设置、系统优化、安全加固以及高级主题等内容,为读者提供一站式的参考资料。

2. Slackware Linux历史与哲学

2.1 历史背景

Slackware Linux由Patrick Volkerding于1993年创建,是现存最古老的Linux发行版。它最初基于Softlanding Linux System(SLS),是第一个获得广泛商业成功的Linux发行版。Slackware的名字来源于”Church of the SubGenius”中的概念,暗示着一种轻松但高效的工作方式。

2.2 设计哲学

Slackware的设计哲学围绕以下几个核心原则:

1. 简洁性(Simplicity):Slackware尽可能保持简单,避免不必要的抽象层和自动化工具。配置文件通常是纯文本,可以直接编辑。
2. 稳定性(Stability):Slackware选择经过充分测试的稳定软件版本,而不是追求最新功能。这使得Slackware成为服务器和关键工作站的理想选择。
3. Unix传统(Unix-like):Slackware尽可能遵循Unix的传统和文件系统层次结构标准(FHS),为用户提供熟悉的Unix环境。
4. 用户控制(User Control):Slackware将系统控制权交给用户,而不是隐藏在图形界面或自动化工具后面。

简洁性(Simplicity):Slackware尽可能保持简单,避免不必要的抽象层和自动化工具。配置文件通常是纯文本,可以直接编辑。

稳定性(Stability):Slackware选择经过充分测试的稳定软件版本,而不是追求最新功能。这使得Slackware成为服务器和关键工作站的理想选择。

Unix传统(Unix-like):Slackware尽可能遵循Unix的传统和文件系统层次结构标准(FHS),为用户提供熟悉的Unix环境。

用户控制(User Control):Slackware将系统控制权交给用户,而不是隐藏在图形界面或自动化工具后面。

2.3 版本发布周期

Slackware采用”发布即稳定”的模式,没有固定的发布周期。新版本只在所有组件都经过充分测试并被认为是稳定的后才发布。通常,Slackware的主要版本更新间隔为1-2年,而安全更新和关键错误修复会持续提供。

3. 安装指南

3.1 系统要求

在安装Slackware之前,确保您的系统满足以下最低要求:

• 处理器:任何现代x86_64处理器(Slackware已不再支持32位系统)
• 内存:至少2GB RAM(推荐4GB或更多)
• 存储空间:至少20GB可用空间(完整安装推荐50GB或更多)
• 网络连接:用于下载软件包和更新

3.2 安装步骤

Slackware的安装过程相对手动,以下是详细步骤:

首先从Slackware官网下载最新的ISO镜像文件。Slackware提供DVD和CD两种格式的镜像,DVD镜像包含所有软件包,而CD镜像分为多个部分。

使用以下命令创建USB启动介质(以/dev/sdX为例,请替换为您的实际USB设备):
  1. # 首先确定USB设备名称
  2. lsblk
  3. # 然后使用dd命令写入镜像
  4. dd if=slackware64-current-install-dvd.iso of=/dev/sdX bs=4M status=progress
  5. sync
复制代码

1. 将USB设备插入目标计算机并重启。
2. 在启动时进入BIOS/UEFI设置,选择从USB设备启动。
3. 从启动菜单中选择”Boot Slackware Linux”。

Slackware不提供自动分区工具,需要手动分区。以下是推荐的分区方案:
  1. # 使用fdisk或cfdisk进行分区
  2. cfdisk /dev/sda
  3. # 推荐的分区布局:
  4. # /dev/sda1 - /boot (500MB-1GB)
  5. # /dev/sda2 - swap (内存大小的1-2倍)
  6. # /dev/sda3 - / (根分区,剩余空间)
  7. # 格式化分区
  8. mkfs.ext4 /dev/sda1
  9. mkfs.ext4 /dev/sda3
  10. mkswap /dev/sda2
  11. swapon /dev/sda2
复制代码

1. 运行setup命令启动安装程序。
2. 按照提示选择键盘映射。
3. 选择并格式化分区。
4. 选择要安装的软件包系列(Full安装推荐给初学者)。
5. 选择安装介质(通常是从硬盘或USB安装)。
6. 等待安装完成。
7. 配置系统基本设置(主机名、网络、启动服务等)。
8. 安装引导程序(LILO或ELILO)。

3.3 安装后配置

安装完成后,需要进行一些基本配置:
  1. # 创建新用户
  2. useradd -m -G users,wheel,audio,video,cdrom,plugdev username
  3. passwd username
复制代码

编辑网络配置文件:
  1. # 编辑网络配置
  2. nano /etc/rc.d/rc.inet1.conf
  3. # 配置DHCP
  4. IPADDR[0]=""
  5. NETMASK[0]=""
  6. USE_DHCP[0]="yes"
  7. DHCP_HOSTNAME[0]=""
  8. # 或者配置静态IP
  9. IPADDR[0]="192.168.1.100"
  10. NETMASK[0]="255.255.255.0"
  11. USE_DHCP[0]="no"
  12. GATEWAY="192.168.1.1"
复制代码
  1. # 使网络服务可执行
  2. chmod +x /etc/rc.d/rc.inet1
  3. /etc/rc.d/rc.inet1 start
  4. # 使SSH服务可执行(如果需要)
  5. chmod +x /etc/rc.d/rc.sshd
  6. /etc/rc.d/rc.sshd start
复制代码

4. 基础系统管理

4.1 包管理

Slackware使用简单的包管理系统,主要包括pkgtool、installpkg、removepkg和upgradepkg等工具。
  1. # 安装单个软件包
  2. installpkg package-name.txz
  3. # 从目录安装所有软件包
  4. installpkg /path/to/packages/*.txz
复制代码
  1. # 删除软件包
  2. removepkg package-name
  3. # 删除软件包但保留配置文件
  4. removepkg -warn package-name
复制代码
  1. # 升级软件包
  2. upgradepkg package-name.txz
  3. # 升级所有可升级的软件包
  4. upgradepkg --install-new /path/to/packages/*.txz
复制代码
  1. # 列出所有已安装的软件包
  2. ls /var/log/packages
  3. # 查询特定文件属于哪个软件包
  4. grep -l "filename" /var/log/packages/*
  5. # 查看软件包信息
  6. cat /var/log/packages/package-name
复制代码

虽然Slackware有自己的包管理系统,但也可以使用第三方工具如sbopkg来构建和安装SlackBuild脚本管理的软件。
  1. # 安装sbopkg
  2. installpkg sbopkg.txz
  3. # 同步SlackBuild仓库
  4. sbopkg -r
  5. # 搜索软件包
  6. sbopkg -s "package-name"
  7. # 构建并安装软件包
  8. sbopkg -i "package-name"
复制代码

4.2 服务管理

Slackware使用SysVinit作为初始化系统,服务通过/etc/rc.d/目录中的脚本管理。
  1. # 启用服务(使脚本可执行)
  2. chmod +x /etc/rc.d/rc.service_name
  3. # 禁用服务(移除执行权限)
  4. chmod -x /etc/rc.d/rc.service_name
  5. # 启动服务
  6. /etc/rc.d/rc.service_name start
  7. # 停止服务
  8. /etc/rc.d/rc.service_name stop
  9. # 重启服务
  10. /etc/rc.d/rc.service_name restart
复制代码

编辑/etc/rc.d/rc.M文件来调整服务启动顺序,或添加自定义启动脚本。

4.3 用户和权限管理
  1. # 创建新用户
  2. useradd -m -G users,wheel,audio,video username
  3. passwd username
  4. # 修改用户属性
  5. usermod -aG additional_group username
  6. # 删除用户
  7. userdel -r username
复制代码
  1. # 修改文件权限
  2. chmod 755 file_or_directory
  3. # 修改文件所有者
  4. chown user:group file_or_directory
  5. # 使用sudo配置(编辑/etc/sudoers)
  6. visudo
  7. # 添加用户到sudo组
  8. usermod -aG wheel username
复制代码
  1. # 安装配额工具
  2. installpkg quota.txz
  3. # 编辑/etc/fstab启用配额
  4. /dev/sda3 / ext4 defaults,usrquota,grpquota 1 1
  5. # 创建配额文件
  6. quotacheck -cug /
  7. quotaon /
  8. # 为用户设置配额
  9. edquota username
复制代码

5. 网络配置

5.1 基本网络设置

编辑/etc/rc.d/rc.inet1.conf文件:
  1. # DHCP配置
  2. IPADDR[0]=""
  3. NETMASK[0]=""
  4. USE_DHCP[0]="yes"
  5. DHCP_HOSTNAME[0]=""
  6. # 静态IP配置
  7. IPADDR[0]="192.168.1.100"
  8. NETMASK[0]="255.255.255.0"
  9. USE_DHCP[0]="no"
  10. GATEWAY="192.168.1.1"
复制代码

安装必要的无线工具:
  1. installpkg wpa_supplicant.txz
  2. installpkg wireless_tools.txz
复制代码

配置无线网络:
  1. # 创建WPA配置文件
  2. nano /etc/wpa_supplicant.conf
  3. # 添加以下内容
  4. network={
  5.     ssid="your_network_name"
  6.     psk="your_password"
  7. }
  8. # 启用无线接口
  9. wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
  10. dhcpcd wlan0
复制代码

编辑/etc/resolv.conf文件:
  1. nameserver 8.8.8.8
  2. nameserver 8.8.4.4
复制代码

5.2 防火墙配置

Slackware使用iptables作为默认防火墙。

创建防火墙脚本/etc/rc.d/rc.firewall:
  1. #!/bin/sh
  2. # 清除现有规则
  3. iptables -F
  4. iptables -X
  5. iptables -t nat -F
  6. iptables -t nat -X
  7. # 设置默认策略
  8. iptables -P INPUT DROP
  9. iptables -P FORWARD DROP
  10. iptables -P OUTPUT ACCEPT
  11. # 允许本地回环
  12. iptables -A INPUT -i lo -j ACCEPT
  13. iptables -A OUTPUT -o lo -j ACCEPT
  14. # 允许已建立的连接
  15. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  16. # 允许SSH
  17. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  18. # 允许HTTP和HTTPS
  19. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  20. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  21. # 保存规则
  22. iptables-save > /etc/iptables/rules
复制代码

使脚本可执行:
  1. chmod +x /etc/rc.d/rc.firewall
  2. /etc/rc.d/rc.firewall
复制代码
  1. # 端口转发
  2. iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080
  3. # 限制连接频率
  4. iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set
  5. iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
  6. # 防止DDoS攻击
  7. iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
复制代码

5.3 网络服务

编辑/etc/ssh/sshd_config文件:
  1. # 更改默认端口
  2. Port 2222
  3. # 禁用root登录
  4. PermitRootLogin no
  5. # 仅允许特定用户
  6. AllowUsers username1 username2
  7. # 使用密钥认证
  8. PasswordAuthentication no
  9. PubkeyAuthentication yes
复制代码

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

安装Apache:
  1. installpkg httpd.txz
  2. chmod +x /etc/rc.d/rc.httpd
  3. /etc/rc.d/rc.httpd start
复制代码

配置虚拟主机:
  1. # 创建虚拟主机配置文件
  2. nano /etc/httpd/extra/httpd-vhosts.conf
  3. # 添加以下内容
  4. <VirtualHost *:80>
  5.     ServerAdmin webmaster@example.com
  6.     DocumentRoot "/var/www/htdocs/example.com"
  7.     ServerName example.com
  8.     ErrorLog "/var/log/httpd/example.com-error_log"
  9.     CustomLog "/var/log/httpd/example.com-access_log" common
  10. </VirtualHost>
复制代码

安装vsftpd:
  1. installpkg vsftpd.txz
  2. chmod +x /etc/rc.d/rc.vsftpd
复制代码

编辑/etc/vsftpd.conf:
  1. # 禁用匿名访问
  2. anonymous_enable=NO
  3. # 允许本地用户登录
  4. local_enable=YES
  5. # 允许写入操作
  6. write_enable=YES
  7. # 限制用户到其主目录
  8. chroot_local_user=YES
复制代码

启动FTP服务:
  1. /etc/rc.d/rc.vsftpd start
复制代码

6. 桌面环境配置

6.1 X Window系统
  1. # 安装Xorg
  2. installpkg xorg.txz
  3. # 安装显卡驱动(以NVIDIA为例)
  4. installpkg nvidia-driver.txz
复制代码
  1. # 生成Xorg配置文件
  2. Xorg -configure
  3. mv xorg.conf.new /etc/X11/xorg.conf
复制代码

编辑/etc/X11/xorg.conf以调整显示设置:
  1. Section "Screen"
  2.     Identifier "Screen0"
  3.     Device     "Card0"
  4.     Monitor    "Monitor0"
  5.     SubSection "Display"
  6.         Viewport   0 0
  7.         Depth     24
  8.         Modes     "1920x1080" "1280x1024"
  9.     EndSubSection
  10. EndSection
复制代码
  1. # 测试X Window
  2. startx
  3. # 设置默认显示管理器(以XDM为例)
  4. chmod +x /etc/rc.d/rc.xdm
复制代码

6.2 常见桌面环境
  1. # 安装KDE Plasma
  2. installpkg kde.txz
  3. # 启用KDM显示管理器
  4. chmod +x /etc/rc.d/rc.kdm
  5. /etc/rc.d/rc.kdm start
复制代码
  1. # 安装Xfce
  2. installpkg xfce.txz
  3. # 配置Xfce为默认桌面环境
  4. echo "exec startxfce4" > ~/.xinitrc
复制代码
  1. # 安装MATE
  2. installpkg mate.txz
  3. # 配置MATE为默认桌面环境
  4. echo "exec mate-session" > ~/.xinitrc
复制代码

6.3 桌面环境定制

编辑/etc/lilo.conf:
  1. # 添加以下内容
  2. append="quiet 3"
复制代码

运行lilo应用更改。

以XDM为例,编辑/etc/X11/xdm/Xsetup:
  1. # 添加以下内容
  2. if [ -z "$DISPLAY" ]; then
  3.     exec xinit /usr/bin/startxfce4 -- /usr/bin/X :0 vt7 -nolisten tcp
  4. fi
复制代码

编辑/etc/fstab:
  1. # 添加以下内容
  2. /dev/sdb1 /mnt/usb auto defaults,user,noauto 0 0
复制代码

7. 系统优化与性能调整

7.1 内核参数调整

编辑/etc/sysctl.conf文件:
  1. # 网络优化
  2. net.core.rmem_max = 16777216
  3. net.core.wmem_max = 16777216
  4. net.ipv4.tcp_rmem = 4096 87380 16777216
  5. net.ipv4.tcp_wmem = 4096 65536 16777216
  6. net.ipv4.tcp_congestion_control = bbr
  7. # 文件系统优化
  8. vm.swappiness = 10
  9. vm.vfs_cache_pressure = 50
  10. vm.dirty_ratio = 60
  11. vm.dirty_background_ratio = 2
复制代码

应用更改:
  1. sysctl -p
复制代码

7.2 磁盘性能优化

查看当前I/O调度器:
  1. cat /sys/block/sda/queue/scheduler
复制代码

临时更改I/O调度器:
  1. echo deadline > /sys/block/sda/queue/scheduler
复制代码

永久更改I/O调度器,编辑/etc/rc.d/rc.local:
  1. # 添加以下内容
  2. echo deadline > /sys/block/sda/queue/scheduler
复制代码

使用ext4文件系统时,可以在挂载选项中添加优化参数:
  1. # 编辑/etc/fstab
  2. /dev/sda3 / ext4 defaults,noatime,discard 0 1
复制代码

7.3 内存管理

创建交换文件:
  1. # 创建2GB交换文件
  2. dd if=/dev/zero of=/swapfile bs=1M count=2048
  3. chmod 600 /swapfile
  4. mkswap /swapfile
  5. swapon /swapfile
  6. # 添加到/etc/fstab
  7. /swapfile swap swap defaults 0 0
复制代码

安装ZRAM:
  1. installpkg zram.txz
  2. chmod +x /etc/rc.d/rc.zram
  3. /etc/rc.d/rc.zram start
复制代码

7.4 系统服务优化
  1. # 禁用蓝牙服务
  2. chmod -x /etc/rc.d/rc.bluetooth
  3. # 禁用打印服务
  4. chmod -x /etc/rc.d/rc.cups
  5. # 禁用NIS服务
  6. chmod -x /etc/rc.d/rc.yp
复制代码

编辑/etc/rc.d/rc.M,注释掉不必要的服务启动。

8. 安全加固

8.1 系统安全设置

编辑/etc/login.defs:
  1. # 设置密码过期时间
  2. PASS_MAX_DAYS   90
  3. PASS_MIN_DAYS   7
  4. PASS_WARN_AGE   14
  5. # 禁用su命令给wheel组之外的用户
  6. SU_WHEEL_ONLY yes
复制代码

编辑/etc/ssh/sshd_config:
  1. # 禁用root登录
  2. PermitRootLogin no
  3. # 禁用密码认证
  4. PasswordAuthentication no
  5. # 限制允许的用户
  6. AllowUsers user1 user2
  7. # 更改默认端口
  8. Port 2222
  9. # 禁用空密码
  10. PermitEmptyPasswords no
复制代码

创建严格的防火墙规则:
  1. #!/bin/sh
  2. # 清除现有规则
  3. iptables -F
  4. iptables -X
  5. iptables -t nat -F
  6. iptables -t nat -X
  7. # 设置默认策略
  8. iptables -P INPUT DROP
  9. iptables -P FORWARD DROP
  10. iptables -P OUTPUT ACCEPT
  11. # 允许本地回环
  12. iptables -A INPUT -i lo -j ACCEPT
  13. # 允许已建立的连接
  14. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  15. # 允许SSH(仅限特定IP)
  16. iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 2222 -j ACCEPT
  17. # 允许HTTP和HTTPS
  18. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  19. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  20. # 防止DDoS
  21. iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
  22. # 保存规则
  23. iptables-save > /etc/iptables/rules
复制代码

8.2 文件系统安全
  1. # 设置关键目录权限
  2. chmod 700 /root
  3. chmod 755 /home
  4. chmod 750 /etc/init.d
  5. chmod 644 /etc/passwd
  6. chmod 600 /etc/shadow
  7. chmod 644 /etc/group
  8. chmod 600 /etc/gshadow
复制代码
  1. # 设置不可变属性
  2. chattr +i /etc/passwd
  3. chattr +i /etc/shadow
  4. chattr +i /etc/group
  5. chattr +i /etc/gshadow
复制代码

安装LUKS:
  1. installpkg cryptsetup.txz
复制代码

创建加密分区:
  1. # 加密分区
  2. cryptsetup luksFormat /dev/sdb1
  3. # 打开加密分区
  4. cryptsetup luksOpen /dev/sdb1 encrypted_part
  5. # 格式化加密分区
  6. mkfs.ext4 /dev/mapper/encrypted_part
  7. # 挂载加密分区
  8. mount /dev/mapper/encrypted_part /mnt/encrypted
复制代码

8.3 系统监控与审计
  1. # 安装sysstat
  2. installpkg sysstat.txz
  3. # 启用系统统计收集
  4. chmod +x /etc/rc.d/rc.sysstat
  5. /etc/rc.d/rc.sysstat start
复制代码

安装auditd:
  1. installpkg audit.txz
  2. chmod +x /etc/rc.d/rc.auditd
  3. /etc/rc.d/rc.auditd start
复制代码

配置审计规则:
  1. # 编辑/etc/audit/audit.rules
  2. -w /etc/passwd -p wa -k identity
  3. -w /etc/shadow -p wa -k identity
  4. -w /etc/group -p wa -k identity
  5. -w /etc/sudoers -p wa -k identity
  6. -w /etc/ssh/sshd_config -p wa -k sshd
复制代码

安装Tripwire:
  1. installpkg tripwire.txz
复制代码

初始化Tripwire:
  1. tripwire --init
复制代码

检查文件完整性:
  1. tripwire --check
复制代码

9. 故障排除与常见问题解决

9.1 系统启动问题

如果LILO损坏,可以使用Slackware安装介质修复:
  1. # 挂载根分区
  2. mount /dev/sda3 /mnt
  3. # 挂载boot分区(如果有)
  4. mount /dev/sda1 /mnt/boot
  5. # 进入chroot环境
  6. chroot /mnt
  7. # 重新安装LILO
  8. lilo
复制代码

如果新内核无法启动,可以回滚到旧内核:

1. 重启系统,在LILO提示符处按Tab键。
2. 选择旧内核版本。
3. 进入系统后,重新编译或安装工作内核。

9.2 网络问题

检查网络接口状态:
  1. ifconfig -a
复制代码

启动网络接口:
  1. ifconfig eth0 up
  2. dhcpcd eth0
复制代码

检查/etc/resolv.conf配置:
  1. cat /etc/resolv.conf
复制代码

测试DNS解析:
  1. nslookup example.com
复制代码

9.3 软件包问题

Slackware不自动处理依赖关系,需要手动解决:
  1. # 查找缺失的库
  2. ldd /usr/bin/command_name
  3. # 安装缺失的库
  4. installpkg required_library_package.txz
复制代码

如果软件包冲突,可以尝试:
  1. # 强制升级
  2. upgradepkg --reinstall package-name.txz
  3. # 或者先删除再安装
  4. removepkg package-name
  5. installpkg new-package-name.txz
复制代码

9.4 X Window问题

检查Xorg日志:
  1. cat /var/log/Xorg.0.log
复制代码

重新配置Xorg:
  1. Xorg -configure
  2. mv xorg.conf.new /etc/X11/xorg.conf
复制代码

检查显卡驱动:
  1. lspci | grep VGA
复制代码

安装正确的显卡驱动:
  1. # 以NVIDIA为例
  2. installpkg nvidia-driver.txz
复制代码

10. 进阶主题

10.1 内核编译与定制
  1. # 安装编译工具
  2. installpkg kernel-headers.txz
  3. installpkg kernel-source.txz
  4. installpkg gcc.txz
  5. installpkg make.txz
  6. installpkg ncurses.txz
复制代码
  1. # 进入内核源码目录
  2. cd /usr/src/linux
  3. # 复制当前配置
  4. cp /boot/config .config
  5. # 启动配置工具
  6. make menuconfig
复制代码
  1. # 编译内核
  2. make -j$(nproc)
  3. # 安装模块
  4. make modules_install
  5. # 安装内核
  6. cp arch/x86/boot/bzImage /boot/vmlinuz-custom
  7. cp System.map /boot/System.map-custom
  8. cp .config /boot/config-custom
  9. # 更新LILO
  10. nano /etc/lilo.conf
  11. # 添加以下内容
  12. image = /boot/vmlinuz-custom
  13.   root = /dev/sda3
  14.   label = Slackware-Custom
  15.   read-only
  16. # 应用更改
  17. lilo
复制代码

10.2 系统服务定制

创建/etc/rc.d/rc.myservice:
  1. #!/bin/sh
  2. # 启动服务
  3. myservice_start() {
  4.     echo "Starting My Service..."
  5.     /usr/local/bin/myservice -d
  6. }
  7. # 停止服务
  8. myservice_stop() {
  9.     echo "Stopping My Service..."
  10.     killall myservice
  11. }
  12. # 重启服务
  13. myservice_restart() {
  14.     myservice_stop
  15.     sleep 1
  16.     myservice_start
  17. }
  18. case "$1" in
  19. 'start')
  20.   myservice_start
  21.   ;;
  22. 'stop')
  23.   myservice_stop
  24.   ;;
  25. 'restart')
  26.   myservice_restart
  27.   ;;
  28. *)
  29.   echo "usage $0 start|stop|restart"
  30. esac
复制代码

使脚本可执行:
  1. chmod +x /etc/rc.d/rc.myservice
复制代码

编辑/etc/rc.d/rc.M,在适当位置添加:
  1. # 启动自定义服务
  2. if [ -x /etc/rc.d/rc.myservice ]; then
  3.   . /etc/rc.d/rc.myservice start
  4. fi
复制代码

10.3 创建自定义包

创建SlackBuild脚本myservice.SlackBuild:
  1. #!/bin/sh
  2. # 变量设置
  3. PRGNAM=myservice
  4. VERSION=${VERSION:-1.0}
  5. BUILD=${BUILD:-1}
  6. TAG=${TAG:-_SBo}
  7. # 设置架构
  8. ARCH=$(uname -m)
  9. # 设置工作目录
  10. CWD=$(pwd)
  11. TMP=${TMP:-/tmp/SBo}
  12. PKG=$TMP/package-$PRGNAM
  13. OUTPUT=${OUTPUT:-/tmp}
  14. # 删除旧的工作目录
  15. rm -rf $PKG
  16. mkdir -p $TMP $PKG $OUTPUT
  17. cd $TMP
  18. rm -rf $PRGNAM-$VERSION
  19. # 解压源码
  20. tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
  21. cd $PRGNAM-$VERSION
  22. # 配置和编译
  23. chown -R root:root .
  24. find -L . \
  25. \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  26.   -o -perm 511 \) -exec chmod 755 {} \; -o \
  27. \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  28.   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  29. # 编译
  30. make
  31. # 安装到临时目录
  32. make install DESTDIR=$PKG
  33. # 复制文档
  34. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
  35. cp -a README LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
  36. cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  37. # 创建描述文件
  38. mkdir -p $PKG/install
  39. cat $CWD/slack-desc > $PKG/install/slack-desc
  40. # 创建doinst.sh脚本(如果需要)
  41. cat $CWD/doinst.sh > $PKG/install/doinst.sh
  42. # 创建包
  43. cd $PKG
  44. /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
复制代码

创建slack-desc文件:
  1. # HOW TO EDIT THIS FILE:
  2. # The "handy ruler" below makes it easier to edit a package description.
  3. # Line up the first '|' above the ':' following the base package name, and
  4. # the '|' on the right side marks the last column you can put a character in.
  5. # You must make exactly 11 lines for the formatting to be correct.  It's also
  6. # customary to leave one space after the ':' except on otherwise blank lines.
  7.       |-----handy-ruler------------------------------------------------------|
  8. myservice: myservice (A custom service for Slackware)
  9. myservice:
  10. myservice: This is a custom service that does something useful.
  11. myservice:
  12. myservice:
  13. myservice:
  14. myservice:
  15. myservice:
  16. myservice:
  17. myservice:
  18. myservice:
复制代码
  1. # 给SlackBuild脚本执行权限
  2. chmod +x myservice.SlackBuild
  3. # 运行SlackBuild脚本
  4. ./myservice.SlackBuild
复制代码

11. 社区与支持资源

11.1 官方资源

• Slackware官网:https://www.slackware.com/
• Slackware文档:https://docs.slackware.com/
• Slackware邮件列表:https://www.slackware.com/lists/
• Slackware论坛:https://www.linuxquestions.org/questions/slackware-14/

11.2 第三方资源

• SlackBuilds.org:https://slackbuilds.org/- 提供额外的软件包和SlackBuild脚本
• Slackware Documentation Project:https://www.slackbook.org/- 详尽的Slackware指南
• Slackware Live Edition:https://slackware.nl/slackware-live/- Slackware Live项目

11.3 书籍推荐

• “Slackware Linux Essentials” - 官方入门指南
• “Slackware Linux Basics” - by D. Cantrell, J. Andrews
• “Linux System Administration: A User’s Guide” - by Marcel Gagné

12. 结论

Slackware Linux作为一个历史悠久的发行版,以其简洁、稳定和高度可定制的特性,为用户提供了一个接近Unix的Linux体验。虽然其学习曲线较陡,但通过本指南提供的全面文档资料,从初学者到专家都可以找到所需的信息来掌握Slackware系统的配置与管理。

我们涵盖了从系统安装、基础管理、网络配置、桌面环境设置到系统优化、安全加固以及高级主题的各个方面。通过遵循本指南的指导,您将能够充分利用Slackware的强大功能和灵活性,构建一个符合您需求的稳定、高效的Linux系统。

记住,Slackware的哲学是”保持简单”,这意味着系统控制权在您手中。随着您对Slackware的深入了解,您将发现这种简洁性带来的强大和自由。无论您是使用Slackware作为桌面系统还是服务器环境,本指南都为您提供了必要的知识和工具来管理和维护您的系统。

最后,不要忘记利用Slackware活跃的社区和丰富的在线资源。当您遇到问题时,这些资源将是您宝贵的支持。祝您在Slackware Linux的探索之旅中取得成功!
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

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

本版积分规则

联系我们|小黑屋|TG频道|RSS |网站地图

Powered by Pixtech

© 2025-2026 Pixtech Team.

>