|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. Slackware Linux简介
Slackware Linux是由Patrick Volkerding于1993年创建的Linux发行版,它是现存最古老的Linux发行版,被誉为”真正的Linux”。Slackware以其简洁、稳定和高度可定制性而闻名,它遵循KISS(Keep It Simple, Stupid)原则,尽量保持UNIX的传统风格。
Slackware的主要特点:
• 简洁性:不使用复杂的图形化配置工具,大多数配置通过编辑文本文件完成
• 稳定性:软件包经过严格测试,更新周期较长但非常稳定
• 传统性:遵循UNIX传统,使用SysV初始化系统(直到14.2版本,15.0开始支持systemd)
• 灵活性:给予用户完全的系统控制权
2. 系统安装过程
2.1 准备工作
在安装Slackware之前,需要做好以下准备:
1. 下载Slackware ISO镜像:从官方网站(https://www.slackware.com/)下载最新的ISO镜像文件。
2. 创建安装介质:可以使用dd命令将ISO写入USB设备:
- # 确定USB设备(假设为/dev/sdb)
- $ lsblk
- # 将ISO写入USB设备(小心操作,此命令会清除USB设备上的所有数据)
- $ dd if=slackware64-15.0-install-dvd.iso of=/dev/sdb bs=4M status=progress
复制代码
1. 备份重要数据:安装过程会格式化硬盘,请确保重要数据已备份。
2.2 启动安装程序
1. 将USB设备插入计算机,并设置BIOS/UEFI从USB启动。
2. 启动后,会看到Slackware引导菜单。选择默认选项启动安装程序。
3. 登录后,输入以下命令启动图形化安装程序:
2.3 磁盘分区
Slackware不提供自动分区功能,需要手动分区。以下是推荐的分区方案:
- # 使用fdisk或cfdisk进行分区
- $ cfdisk /dev/sda
复制代码
推荐的分区布局:
• /boot 分区:500MB-1GB,用于存放内核和引导文件
• / 根分区:至少20GB,存放系统文件
• /home 分区:剩余空间,存放用户数据
• swap 分区:内存大小的1-2倍,用作虚拟内存
2.4 选择软件包
Slackware将软件包分为多个系列,可以根据需要选择:
• A(基础Linux系统)
• AP(基础应用程序)
• D(开发工具)
• E(Emacs)
• F(FAQ文档)
• K(Linux内核源码)
• KDE(KDE桌面环境)
• KDEI(KDE国际语言支持)
• L(系统库)
• N(网络工具)
• T(TeX文档系统)
• TCL(Tcl/Tk扩展)
• X(X Window System)
• XFCE(Xfce桌面环境)
• Y(BSD游戏集合)
对于初学者,建议选择A、AP、D、L、N、X系列以及一个桌面环境(KDE或XFCE)。
2.5 安装配置
安装过程中需要进行以下配置:
1. 选择安装介质(硬盘或网络)
2. 执行软件包安装
3. 配置LILO或GRUB引导程序
4. 设置网络(DHCP或静态IP)
5. 配置时区
6. 设置root密码和创建普通用户
安装完成后,重启系统即可进入Slackware。
3. 基本系统配置
3.1 网络配置
Slackware的网络配置文件位于/etc/rc.d目录下:
- # 编辑网络配置文件
- $ vi /etc/rc.d/rc.inet1.conf
- # 配置静态IP示例
- IPADDR[0]="192.168.1.100"
- NETMASK[0]="255.255.255.0"
- USE_DHCP[0]=""
- GATEWAY="192.168.1.1"
- # 重启网络服务
- $ /etc/rc.d/rc.inet1 restart
复制代码
DNS配置在/etc/resolv.conf文件中:
- # 编辑DNS配置
- $ vi /etc/resolv.conf
- # 添加DNS服务器
- nameserver 8.8.8.8
- nameserver 8.8.4.4
复制代码
3.2 软件源配置
为了安装额外的软件包,需要配置软件源。编辑/etc/slackpkg/mirrors文件:
- # 取消一个镜像的注释
- $ vi /etc/slackpkg/mirrors
- # 例如,取消以下行的注释
- # http://slackware.osuosl.org/slackware64-15.0/
复制代码
3.3 用户和权限管理
添加新用户:
- # 使用adduser命令添加新用户
- $ adduser
- # 按照提示输入用户信息
- Login name for new user []: myuser
- User ID ('UID') [ defaults to next available ]:
- Initial group [ users ]:
- Additional UNIX groups [ audio,cdrom,floppy,plugdev,video,power,netdev,scanner ]:
- Home directory [ /home/myuser ]:
- Shell [ /bin/bash ]:
- Expiry date (YYYY-MM-DD) []:
复制代码
使用sudo授权普通用户管理权限:
- # 安装sudo(如果未安装)
- $ slackpkg install sudo
- # 编辑sudoers文件
- $ visudo
- # 添加以下行,允许myuser使用sudo
- myuser ALL=(ALL) ALL
复制代码
4. 软件包管理
4.1 使用slackpkg
slackpkg是Slackware的官方包管理工具,用于安装、更新和删除软件包。
更新软件包列表:
升级系统:
安装新软件包:
- $ slackpkg install package_name
复制代码
删除软件包:
- $ slackpkg remove package_name
复制代码
搜索软件包:
- $ slackpkg search package_name
复制代码
4.2 使用pkgtool
pkgtool是Slackware的另一个包管理工具,提供文本界面来管理软件包。
在pkgtool界面中,可以选择:
• Current:查看已安装的软件包
• Remove:删除软件包
• Setup:配置系统
• Exit:退出
4.3 安装第三方软件包
Slackware使用.txz格式的软件包。可以使用installpkg命令安装第三方软件包:
- # 安装软件包
- $ installpkg package.txz
- # 升级软件包
- $ upgradepkg package.txz
- # 删除软件包
- $ removepkg package_name
复制代码
4.4 从源码编译安装
在Slackware中,从源码编译安装软件也很常见。以下是一个示例:
- # 安装编译工具
- $ slackpkg install kernel-headers glibc gcc make binutils
- # 下载源码
- $ wget https://example.com/software.tar.gz
- # 解压
- $ tar -xvf software.tar.gz
- $ cd software
- # 配置
- $ ./configure --prefix=/usr/local
- # 编译
- $ make
- # 安装
- $ make install
复制代码
5. 系统优化
5.1 启动服务管理
Slackware使用SysV初始化系统(在15.0版本中也支持systemd)。服务脚本位于/etc/rc.d目录下。
启用服务:
- # 给脚本添加执行权限
- $ chmod +x /etc/rc.d/rc.httpd
- # 启动服务
- $ /etc/rc.d/rc.httpd start
复制代码
禁用服务:
- # 移除脚本的执行权限
- $ chmod -x /etc/rc.d/rc.httpd
复制代码
5.2 内核优化
可以编译自定义内核以提高系统性能:
- # 安装内核源码
- $ slackpkg install kernel-source
- # 解压源码
- $ cd /usr/src
- $ tar -xvf linux-*.tar.xz
- $ cd linux-*
- # 复制当前内核配置
- $ cp /proc/config.gz . && gunzip config.gz && mv config .config
- # 或者使用Slackware提供的默认配置
- $ cp /boot/config .config
- # 配置内核
- $ make menuconfig
- # 编译内核
- $ make -j$(nproc)
- # 安装模块
- $ make modules_install
- # 安装内核
- $ cp arch/x86/boot/bzImage /boot/vmlinuz-custom
- $ cp System.map /boot/System.map-custom
- $ cp .config /boot/config-custom
- # 更新引导程序配置
- $ vi /etc/lilo.conf
- # 添加以下内容
- image = /boot/vmlinuz-custom
- root = /dev/sda2
- label = Slackware-Custom
- read-only
- # 应用LILO配置
- $ lilo
复制代码
5.3 文件系统优化
使用fstab配置文件系统挂载选项:
- # 编辑fstab
- $ vi /etc/fstab
- # 添加noatime选项以提高性能
- /dev/sda2 / ext4 defaults,noatime 1 1
- /dev/sda3 /home ext4 defaults,noatime 1 2
复制代码
定期清理系统:
- # 清理旧软件包
- $ rm /var/cache/packages/*.tgz
- $ rm /var/cache/packages/*.txz
- # 清理日志文件
- $ > /var/log/syslog
- $ > /var/log/messages
- # 清理临时文件
- $ rm -rf /tmp/*
复制代码
5.4 系统性能监控
使用系统工具监控性能:
- # 安装htop
- $ slackpkg install htop
- # 使用htop监控进程
- $ htop
- # 查看磁盘使用情况
- $ df -h
- # 查看内存使用情况
- $ free -h
- # 查看系统负载
- $ uptime
复制代码
6. 桌面环境配置
6.1 X Window System配置
Slackware支持多种桌面环境,包括KDE Plasma、Xfce等。
配置X Window System:
- # 编辑Xorg配置文件
- $ Xorg -configure
- $ cp /root/xorg.conf.new /etc/X11/xorg.conf
- # 或者使用自动配置
- $ rm /etc/X11/xorg.conf
复制代码
6.2 KDE Plasma配置
安装KDE Plasma:
- # 安装KDE系列软件包
- $ slackpkg install kde
- # 启用图形登录
- $ chmod +x /etc/rc.d/rc.4
- # 设置默认运行级别为4(图形界面)
- $ vi /etc/inittab
- # 修改以下行
- id:4:initdefault:
复制代码
6.3 Xfce配置
安装Xfce:
- # 安装Xfce系列软件包
- $ slackpkg install xfce
- # 启用Xfce作为默认桌面环境
- $ echo "exec startxfce4" > ~/.xinitrc
复制代码
7. 常见问题解决
7.1 无线网络配置
使用wpa_supplicant配置无线网络:
- # 安装必要的软件包
- $ slackpkg install wpa_supplicant
- # 创建wpa_supplicant配置文件
- $ vi /etc/wpa_supplicant.conf
- # 添加以下内容
- network={
- ssid="your_network_name"
- psk="your_password"
- }
- # 启动无线接口
- $ wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
- # 获取IP地址
- $ dhcpcd wlan0
复制代码
7.2 显卡驱动安装
NVIDIA显卡驱动安装:
- # 下载NVIDIA驱动
- $ wget https://download.nvidia.com/XFree86/Linux-x86_64/版本号/NVIDIA-Linux-x86_64-版本号.run
- # 给驱动添加执行权限
- $ chmod +x NVIDIA-Linux-x86_64-版本号.run
- # 停止X服务器
- $ telinit 3
- # 安装驱动
- $ ./NVIDIA-Linux-x86_64-版本号.run
- # 重启系统
- $ reboot
复制代码
AMD显卡驱动安装:
- # 安装开源驱动
- $ slackpkg install xf86-video-amdgpu
- # 或者安装Mesa驱动
- $ slackpkg install mesa
复制代码
7.3 音频配置
配置ALSA音频系统:
- # 安装alsa-utils
- $ slackpkg install alsa-utils
- # 启动alsa服务
- $ chmod +x /etc/rc.d/rc.alsa
- $ /etc/rc.d/rc.alsa start
- # 调节音量
- $ alsamixer
- # 保存音量设置
- $ alsactl store
复制代码
8. 高级技巧
8.1 创建自定义软件包
使用SlackBuild脚本创建自定义软件包:
- # 下载SlackBuild脚本
- $ git clone https://git.slackbuilds.org/slackbuilds.git
- # 找到所需的软件包SlackBuild
- $ cd slackbuilds/<category>/<package>
- # 下载源码
- $ . <package>.info
- $ wget $DOWNLOAD
- # 构建软件包
- $ ./$PACKAGE.SlackBuild
- # 安装生成的软件包
- $ installpkg /tmp/<package>-*.txz
复制代码
8.2 系统备份与恢复
使用tar进行系统备份:
- # 备份整个系统
- $ tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys /
- # 恢复系统
- $ tar -xvpzf backup.tar.gz -C /
复制代码
使用rsync进行增量备份:
- # 首次备份
- $ rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /backup/
- # 增量备份
- $ rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /backup/
复制代码
8.3 系统安全加固
配置防火墙:
- # 安装iptables
- $ slackpkg install iptables
- # 创建防火墙规则
- $ vi /etc/rc.d/rc.firewall
- # 添加以下内容
- #!/bin/sh
- IPT="/sbin/iptables"
- # 清除现有规则
- $IPT -F
- $IPT -X
- $IPT -t nat -F
- $IPT -t nat -X
- $IPT -t mangle -F
- $IPT -t mangle -X
- # 设置默认策略
- $IPT -P INPUT DROP
- $IPT -P FORWARD DROP
- $IPT -P OUTPUT ACCEPT
- # 允许本地回环
- $IPT -A INPUT -i lo -j ACCEPT
- $IPT -A OUTPUT -o lo -j ACCEPT
- # 允许已建立的连接
- $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- # 允许SSH
- $IPT -A INPUT -p tcp --dport 22 -j ACCEPT
- # 允许HTTP和HTTPS
- $IPT -A INPUT -p tcp --dport 80 -j ACCEPT
- $IPT -A INPUT -p tcp --dport 443 -j ACCEPT
- # 保存规则
- $IPT-save > /etc/iptables/rules.v4
- # 给脚本添加执行权限
- $ chmod +x /etc/rc.d/rc.firewall
- # 启动防火墙
- $ /etc/rc.d/rc.firewall
复制代码
配置SSH安全:
- # 编辑SSH配置文件
- $ vi /etc/ssh/sshd_config
- # 修改以下设置
- PermitRootLogin no
- PasswordAuthentication no
- Port 2222 # 更改默认端口
- # 重启SSH服务
- $ /etc/rc.d/rc.sshd restart
复制代码
9. 结语
Slackware Linux作为最古老的Linux发行版,以其简洁、稳定和高效的特点吸引了许多Linux爱好者。通过本教程,我们学习了从安装配置到系统优化的全过程,掌握了Slackware的基本使用方法和高级技巧。
虽然Slackware的学习曲线较陡,但它提供了一个纯净的Linux环境,让用户能够真正理解和掌握Linux系统的工作原理。通过使用Slackware,你将成为一名真正的Linux高手,不仅能够使用Linux,还能够理解和管理Linux系统的每一个细节。
希望本教程能够帮助你更好地理解和使用Slackware Linux,享受这个经典Linux发行版带来的简洁、稳定和高效的体验。 |
|