引言

Slackware Linux是最古老的存活至今的Linux发行版之一,由Patrick Volkerding于1993年创建。它以其简洁、稳定和接近Unix的设计哲学而闻名。Slackware 64位版本提供了对现代64位硬件的完整支持,同时保留了Slackware一贯的简洁和稳定性。本文将详细介绍Slackware 64位系统的安装全过程,从准备工作到高级配置,帮助读者掌握这款经典Linux发行版,并解决安装过程中可能遇到的常见问题与挑战。

安装前的准备工作

硬件要求

在安装Slackware 64位系统之前,需要确保你的硬件满足以下基本要求:

  • 处理器:支持64位指令集的x86_64兼容处理器(如AMD64或Intel 64)
  • 内存:最少512MB RAM,推荐2GB或以上
  • 硬盘空间:最少10GB可用空间,推荐20GB或以上
  • 其他设备:DVD驱动器或USB端口(用于安装介质),网络适配器(用于网络安装和更新)

获取Slackware 64位镜像

Slackware的官方镜像可以从其官方网站或镜像站点下载。以下是获取Slackware 64位镜像的步骤:

  1. 访问Slackware官方网站:http://www.slackware.com/
  2. 导航至”Get Slack”部分
  3. 选择一个镜像站点
  4. 下载最新的Slackware 64位ISO镜像文件。通常有两个版本:
    • slackware64-<version>-install-dvd.iso:包含所有软件包的完整DVD镜像
    • slackware64-<version>-install-cd1.isoslackware64-<version>-install-cd2.iso:分卷CD镜像

对于大多数用户,建议下载DVD镜像,因为它包含了所有可用的软件包,无需在安装过程中切换介质。

创建安装介质

获取ISO镜像后,需要将其写入到DVD或USB驱动器中,以创建安装介质。

创建DVD安装介质

如果你选择使用DVD作为安装介质,可以使用任何光盘刻录软件将ISO镜像刻录到DVD。在Linux系统中,可以使用cdrecordbrasero等工具:

# 使用cdrecord刻录DVD cdrecord -v dev=/dev/cdrw slackware64-15.0-install-dvd.iso # 或者使用brasero(GUI工具) brasero slackware64-15.0-install-dvd.iso 

创建USB安装介质

使用USB驱动器作为安装介质更加方便,尤其是在没有DVD驱动器的现代计算机上。以下是创建USB安装介质的方法:

  1. 确定USB驱动器的设备名称(例如/dev/sdb):

    lsblk 
  2. 使用dd命令将ISO镜像写入USB驱动器(注意:这将清除USB驱动器上的所有数据):

    dd if=slackware64-15.0-install-dvd.iso of=/dev/sdb bs=4M status=progress 
  3. 等待命令完成,然后安全地移除USB驱动器:

    sync eject /dev/sdb 

系统备份和数据准备

在安装新操作系统之前,强烈建议备份重要数据。如果你计划在计算机上安装Slackware作为唯一操作系统,请确保已备份所有重要文件。如果你计划进行双启动安装,请确保已为Slackware准备了足够的未分配空间。

安装过程详解

启动安装程序

  1. 将创建的安装介质(DVD或USB驱动器)插入计算机,并重新启动。

  2. 在启动过程中,进入BIOS/UEFI设置界面,通常通过按F2、F10、F12或DEL键进入。

  3. 在BIOS/UEFI设置中,确保启动顺序设置为首先从DVD或USB驱动器启动。

  4. 保存设置并退出,计算机将从安装介质启动。

  5. 在Slackware启动菜单中,你可以选择不同的启动选项。对于大多数现代计算机,推荐使用以下选项之一:

    • “Slackware64”:标准启动选项,适用于大多数系统
    • “Slackware64 HugeSMP”:使用大内核启动,适用于需要更多硬件支持的系统
  6. 选择启动选项后,系统将加载内核并启动安装程序。最终,你将看到一个命令行提示符。

  7. 在提示符下,以root用户登录(无需密码),然后运行安装程序:

    setup 

磁盘分区

Slackware安装程序提供了多种分区工具,包括fdiskcfdiskparted。对于大多数用户,cfdisk提供了最友好的界面。

  1. 在安装程序的主菜单中,选择”ADDSWAP”来配置交换分区(如果你有交换分区)。

  2. 选择”TARGET”来设置目标分区。

  3. 选择分区工具(推荐使用cfdisk):

    cfdisk 
  4. cfdisk中,你可以创建、删除和修改分区。对于Slackware安装,至少需要以下分区:

    • 根分区(/):主分区,用于安装系统文件,建议至少10GB
    • 交换分区(swap):用于虚拟内存,通常建议大小为物理内存的1-2倍
    • 可选:/home分区:用于存储用户数据,可以单独分区以便于系统升级和数据保留
  5. 创建分区后,确保将根分区设置为”可引导”(bootable)。

  6. 退出cfdisk,返回安装程序。

  7. 在安装程序中,选择你创建的分区并指定其挂载点:

    • 选择根分区并指定挂载点为”/”
    • 如果创建了/home分区,选择它并指定挂载点为”/home”
    • 如果创建了交换分区,选择它并标记为交换空间
  8. 安装程序将格式化你选择的分区。对于根分区,推荐使用ext4文件系统。

网络配置

Slackware安装程序允许你在安装过程中配置网络。这对于网络安装或后续的系统更新非常重要。

  1. 在安装程序的主菜单中,选择”NETWORK”来配置网络。

  2. 选择网络接口(通常是eth0或wlan0)。

  3. 配置网络设置:

    • 对于DHCP(自动获取IP地址),选择”DHCP”。
    • 对于静态IP地址,选择”STATIC”并输入以下信息:
      • IP地址
      • 子网掩码
      • 默认网关
      • DNS服务器
  4. 设置主机名和域名。

  5. 配置完成后,测试网络连接:

    ping -c 4 google.com 

软件包选择

Slackware提供了多种软件包系列,你可以根据需要选择安装。

  1. 在安装程序的主菜单中,选择”SOURCE”来选择安装源。

    • 如果你使用DVD或USB介质安装,选择”Install from a Slackware CD or DVD”。
    • 如果你进行网络安装,选择”Install from a NFS server”或”Install from a FTP/HTTP server”。
  2. 选择”PACKAGE SERIES”来选择要安装的软件包系列。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系统(推荐,用于图形界面)
    • XAP:X应用程序(推荐,用于图形界面)
    • XFCE:XFCE桌面环境(可选)
  3. 对于每个系列,你可以选择:

    • “Full”:安装系列中的所有软件包
    • “Menu”:交互式选择要安装的软件包
    • “Skip”:跳过该系列
  4. 对于新手,建议选择A、AP、D、F、L、N、X和XAP系列的”Full”安装,以及一个桌面环境(KDE或XFCE)的”Full”安装。

系统安装

完成软件包选择后,安装程序将开始安装所选的软件包。这个过程可能需要一些时间,具体取决于你选择的软件包数量和系统性能。

  1. 在安装程序的主菜单中,选择”INSTALL”来开始安装。

  2. 安装程序将显示安装进度。等待安装完成。

  3. 安装完成后,安装程序将返回主菜单。

引导程序配置

为了能够启动新安装的Slackware系统,需要安装和配置引导程序。Slackware默认使用LILO(Linux Loader)作为引导程序。

  1. 在安装程序的主菜单中,选择”CONFIGURE”来配置系统。

  2. 选择”LILO”来配置引导程序。

  3. 选择LILO的安装位置:

    • “MBR”:安装到主引导记录(推荐,如果Slackware是唯一操作系统)
    • “Root”:安装到根分区的引导扇区(推荐,如果进行多系统启动)
  4. 设置引导超时时间(以秒为单位)。

  5. 为Linux内核设置一个标签(例如”Slackware”)。

  6. 如果你安装了多个操作系统,可以添加它们的启动项。

  7. 保存LILO配置并安装。

  8. 完成配置后,选择”EXIT”退出安装程序。

  9. 在命令行提示符下,重新启动系统:

    reboot 
  10. 移除安装介质,系统将从硬盘启动。

首次启动与基础配置

用户账户设置

Slackware安装完成后,首次启动时将以root用户登录。为了系统安全,建议创建一个普通用户账户用于日常使用。

  1. 以root用户登录(密码为安装过程中设置的root密码)。

  2. 创建一个新用户:

    adduser 
  3. 按照提示输入用户信息,包括:

    • 用户名
    • 用户ID(通常使用默认值)
    • 初始组(通常使用默认值)
    • 附加组(通常使用默认值)
    • 家目录(通常使用默认值)
    • Shell(通常使用/bin/bash)
    • 用户密码
  4. 设置用户权限:

    # 将用户添加到wheel组,以便使用sudo命令 gpasswd -a username wheel 
  5. 配置sudo:

    # 编辑sudoers文件 visudo 
  6. 在sudoers文件中,取消以下行的注释(如果已注释):

    %wheel ALL=(ALL) ALL 
  7. 保存并退出编辑器。

基本系统配置

Slackware提供了一系列配置文件和工具,用于自定义系统行为。

  1. 配置时区: “`bash

    列出可用的时区

    ls /usr/share/zoneinfo/

# 设置时区(例如,设置为上海时区) ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 2. 配置系统时钟: ```bash # 将硬件时钟设置为本地时间 hwclock --localtime --systohc # 或者将硬件时钟设置为UTC(推荐) hwclock --utc --systohc 
  1. 配置主机名:

    # 编辑主机名文件 echo "yourhostname" > /etc/hostname 
  2. 配置网络:

    # 编辑网络配置文件 nano /etc/rc.d/rc.inet1.conf 
  3. 在rc.inet1.conf文件中,配置网络接口:

    # 示例配置(使用DHCP) IFNAME[0]="eth0" IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="yes" DHCP_HOSTNAME[0]="" 
  4. 启用网络服务:

    # 使网络配置在启动时生效 chmod +x /etc/rc.d/rc.inet1 
  5. 配置DNS:

    # 编辑resolv.conf文件 nano /etc/resolv.conf 
  6. 在resolv.conf文件中,添加DNS服务器:

    nameserver 8.8.8.8 nameserver 8.8.4.4 

图形界面设置

如果你在安装过程中选择了X Window系统和桌面环境,可以配置图形界面。

  1. 配置X服务器:

    # 运行X配置工具 xorgsetup 
  2. 按照提示配置显示器、键盘和鼠标。

  3. 设置默认运行级别:

    # 编辑inittab文件 nano /etc/inittab 
  4. 在inittab文件中,修改默认运行级别: “`

    默认运行级别3(命令行)

    id:3:initdefault:

# 或者设置为运行级别4(图形界面) id:4:initdefault:

 5. 保存并退出编辑器。 6. 启动图形界面: ```bash # 如果当前在命令行模式下,可以启动图形界面 startx 
  1. 或者重新启动系统以应用新的默认运行级别:
     reboot 

高级配置与优化

内核编译与优化

Slackware默认提供了一个通用内核,适用于大多数硬件。但是,为了获得更好的性能和硬件支持,你可以编译自定义内核。

  1. 安装内核源代码:

    # 安装内核源代码包 slackpkg install kernel-source 
  2. 解压内核源代码:

    cd /usr/src tar xvf linux-*.tar.xz ln -sf linux-* linux cd linux 
  3. 配置内核: “`bash

    使用当前内核配置作为基础

    cp /boot/config-* .config

# 或者使用默认配置 make defconfig

# 或者使用图形界面配置工具 make menuconfig

 4. 在menuconfig中,你可以根据需要启用或禁用各种内核选项。 5. 编译内核: ```bash # 编译内核和模块 make -j$(nproc) all 
  1. 安装内核和模块: “`bash

    安装模块

    make modules_install

# 安装内核 make install

 7. 更新引导配置: ```bash # 更新LILO配置 lilo 
  1. 重新启动系统以使用新内核:
     reboot 

软件包管理

Slackware提供了多种工具来管理软件包,包括官方的pkgtools和第三方的slackpkgsbopkg等。

使用pkgtools

pkgtools是Slackware的基本软件包管理工具集,包括以下命令:

  1. 安装软件包:

    installpkg package-name.txz 
  2. 卸载软件包:

    removepkg package-name 
  3. 升级软件包:

    upgradepkg package-name.txz 
  4. 查看已安装的软件包:

    ls /var/log/packages 

使用slackpkg

slackpkg是一个命令行工具,用于管理官方软件包仓库中的软件包。

  1. 安装slackpkg:

    # 如果尚未安装,可以从安装介质中安装 installpkg /path/to/slackpkg-*.txz 
  2. 配置slackpkg:

    # 编辑slackpkg配置文件 nano /etc/slackpkg/mirrors 
  3. 在mirrors文件中,取消一个镜像的注释。

  4. 更新软件包列表:

    slackpkg update 
  5. 升级系统:

    slackpkg upgrade-all 
  6. 安装新软件包:

    slackpkg install package-name 
  7. 搜索软件包:

    slackpkg search keyword 

使用sbopkg

sbopkg是一个用于管理SlackBuilds脚本的工具,允许你编译和安装第三方软件。

  1. 安装sbopkg:

    # 从SlackBuilds.org下载并安装 wget http://sbopkg.googlecode.com/files/sbopkg-0.38.1-noarch-1_cng.tgz installpkg sbopkg-0.38.1-noarch-1_cng.tgz 
  2. 配置sbopkg:

    # 初始化sbopkg sbopkg -r 
  3. 搜索软件:

    sbopkg -s "software-name" 
  4. 安装软件:

    sbopkg -i "software-name" 

系统服务配置

Slackware使用传统的SysVinit系统来管理服务。服务脚本位于/etc/rc.d/目录中。

  1. 列出可用的服务:

    ls -l /etc/rc.d/ 
  2. 启用服务:

    # 例如,启用SSH服务 chmod +x /etc/rc.d/rc.sshd 
  3. 禁用服务:

    # 例如,禁用蓝牙服务 chmod -x /etc/rc.d/rc.bluetooth 
  4. 启动/停止服务: “`bash

    启动服务

    /etc/rc.d/rc.sshd start

# 停止服务 /etc/rc.d/rc.sshd stop

# 重启服务 /etc/rc.d/rc.sshd restart

 5. 配置服务在特定运行级别启动: ```bash # 编辑rc.local文件,在系统启动时运行命令 nano /etc/rc.d/rc.local 
  1. 在rc.local文件中,添加要在启动时运行的命令:

    # 示例:启动自定义服务 /usr/local/bin/my-service-start 

性能优化

Slackware已经是一个相对轻量级和高效的系统,但你仍然可以进行一些优化以提高性能。

  1. 禁用不必要的服务:

    # 禁用不必要的服务 chmod -x /etc/rc.d/rc.bind chmod -x /etc/rc.d/rc.cups chmod -x /etc/rc.d/rc.bluetooth 
  2. 优化文件系统:

    # 编辑fstab文件,添加noatime选项 nano /etc/fstab 
  3. 在fstab文件中,修改根分区的选项:

    /dev/sda1 / ext4 defaults,noatime 1 1 
  4. 优化内核参数:

    # 编辑sysctl.conf文件 nano /etc/sysctl.conf 
  5. 在sysctl.conf文件中,添加以下参数: “`

    禁用IPv6(如果不需要)

    net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1

# 优化虚拟内存管理 vm.swappiness = 10 vm.vfs_cache_pressure = 50

 6. 应用新的内核参数: ```bash sysctl -p 
  1. 使用轻量级应用程序替代重量级应用程序:
    • 使用XFCE替代KDE作为桌面环境
    • 使用Vim或Emacs替代重量级IDE
    • 使用轻量级浏览器如Midori或Dillo

常见问题与解决方案

启动问题

问题1:系统无法启动,显示”GRUB error”或类似错误

解决方案: 这通常是由于引导程序配置错误或损坏导致的。你可以使用安装介质修复引导程序。

  1. 从安装介质启动,选择”Rescue”模式或类似选项。

  2. 挂载根分区:

    mkdir /mnt/root mount /dev/sda1 /mnt/root 
  3. 重新安装LILO:

    chroot /mnt/root lilo exit 
  4. 重新启动系统:

    reboot 

问题2:系统启动后显示”Kernel panic - not syncing: VFS: Unable to mount root fs”

解决方案: 这通常是由于内核无法找到根文件系统导致的。可能的原因包括错误的内核参数或文件系统损坏。

  1. 从安装介质启动,选择”Rescue”模式。

  2. 检查文件系统:

    fsck /dev/sda1 
  3. 挂载根分区并检查内核参数:

    mkdir /mnt/root mount /dev/sda1 /mnt/root cat /mnt/root/etc/lilo.conf 
  4. 确保LILO配置中的根分区参数正确。

  5. 重新安装LILO:

    chroot /mnt/root lilo exit 
  6. 重新启动系统。

驱动问题

问题1:无线网卡不被识别

解决方案: Slackware默认包含了许多无线网卡的驱动程序,但某些新型号的网卡可能需要额外的驱动。

  1. 确定网卡型号:

    lspci | grep -i network 
  2. 搜索适合的驱动程序:

    • 对于Intel网卡,可能需要安装iwlwifi-firmware
    • 对于Broadcom网卡,可能需要安装broadcom-sta
    • 对于Realtek网卡,可能需要安装rtl8821ce等驱动
  3. 安装驱动程序: “`bash

    使用slackpkg安装

    slackpkg install iwlwifi-firmware

# 或者从SlackBuilds安装 sbopkg -i “broadcom-sta”

 4. 加载驱动模块: ```bash modprobe iwlwifi modprobe wl 
  1. 配置无线网络: “`bash

    使用wpa_supplicant配置WPA/WPA2网络

    wpa_passphrase “SSID” “password” > /etc/wpa_supplicant.conf

# 启动wpa_supplicant wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

# 获取IP地址 dhcpcd wlan0

 #### 问题2:NVIDIA显卡驱动问题 **解决方案**: Slackware默认包含开源的Nouveau驱动,但对于某些应用程序和游戏,你可能需要安装官方的NVIDIA驱动。 1. 确定显卡型号: ```bash lspci | grep -i vga 
  1. 下载适合的NVIDIA驱动:

    wget https://download.nvidia.com/XFree86/Linux-x86_64/版本号/NVIDIA-Linux-x86_64-版本号.run 
  2. 安装驱动: “`bash

    停止X服务器

    telinit 3

# 安装驱动 sh NVIDIA-Linux-x86_64-版本号.run

# 重启X服务器 telinit 4

 4. 或者使用SlackBuilds安装: ```bash sbopkg -i "nvidia-driver" 
  1. 配置X服务器:

    nvidia-xconfig 
  2. 重新启动系统:

    reboot 

软件兼容性问题

问题1:某些软件无法运行,显示”libxxx.so not found”错误

解决方案: 这通常是由于缺少必要的库文件导致的。

  1. 确定缺少的库文件:

    ldd /usr/bin/software-name 
  2. 安装缺少的库文件: “`bash

    使用slackpkg安装

    slackpkg search library-name slackpkg install package-name

# 或者使用sbopkg安装 sbopkg -i “library-name”

 3. 如果库文件已安装但不在库路径中,可以创建符号链接: ```bash ln -s /path/to/library.so /usr/lib/library.so 
  1. 更新库缓存:
     ldconfig 

问题2:32位软件无法在64位系统上运行

解决方案: Slackware 64位系统默认不包含32位库文件,但你可以安装multilib支持来运行32位软件。

  1. 下载并安装multilib工具: “`bash

    下载multilib工具

    wget http://slackware.osuosl.org/slackware64/multilib/

# 安装工具 installpkg multilib/*.txz

 2. 安装32位兼容库: ```bash # 使用slackpkg安装32位兼容库 slackpkg install compat32-tools # 同步32位兼容库 massconvert32.sh 
  1. 安装32位软件: “`bash

    使用convert32.sh转换32位软件包

    convert32.sh package-name.txz

# 安装转换后的软件包 installpkg package-name-compat32.txz

 ### 网络配置问题 #### 问题1:无法连接到有线网络 **解决方案**: 这可能是由于网络接口名称不匹配或驱动程序问题导致的。 1. 确定网络接口名称: ```bash ip a 
  1. 检查网络接口驱动程序:

    lspci | grep -i ethernet lsmod | grep driver-name 
  2. 加载适当的驱动程序:

    modprobe driver-name 
  3. 配置网络接口:

    # 编辑网络配置文件 nano /etc/rc.d/rc.inet1.conf 
  4. 在rc.inet1.conf文件中,配置网络接口:

    # 示例配置(使用静态IP) IFNAME[0]="eth0" IPADDR[0]="192.168.1.100" NETMASK[0]="255.255.255.0" USE_DHCP[0]="no" GATEWAY="192.168.1.1" 
  5. 启用网络接口:

    chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.inet1 start 

问题2:无法连接到Wi-Fi网络

解决方案: 这可能是由于无线网卡驱动程序问题或网络配置问题导致的。

  1. 确定无线接口名称:

    ip a 
  2. 检查无线网卡状态:

    iwconfig 
  3. 如果无线网卡被禁用,启用它:

    ip link set wlan0 up 
  4. 扫描可用的无线网络:

    iwlist wlan0 scan 
  5. 配置无线网络: “`bash

    使用wpa_supplicant配置WPA/WPA2网络

    wpa_passphrase “SSID” “password” > /etc/wpa_supplicant.conf

# 启动wpa_supplicant wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

 6. 获取IP地址: ```bash dhcpcd wlan0 
  1. 或者使用NetworkManager(如果已安装): “`bash

    启用NetworkManager服务

    chmod +x /etc/rc.d/rc.networkmanager /etc/rc.d/rc.networkmanager start

# 使用nmcli配置网络 nmcli dev wifi connect “SSID” password “password” “`

总结与建议

Slackware是一个强大、稳定且灵活的Linux发行版,适合那些喜欢控制系统的每个方面的用户。虽然它的安装过程可能比一些其他发行版更加手动,但这提供了更大的自定义性和对系统的深入理解。

通过本文,我们详细介绍了Slackware 64位系统的安装全过程,从准备工作到高级配置,以及解决常见问题的方法。希望这些信息能够帮助你成功安装和使用Slackware系统。

以下是一些额外的建议,可以帮助你更好地使用Slackware:

  1. 保持系统更新:定期使用slackpkg更新系统,以确保安全性和稳定性。

  2. 学习基本命令:Slackware是一个高度依赖命令行的系统,学习基本的Linux命令将大大提高你的效率。

  3. 阅读文档:Slackware提供了详细的文档,包括/usr/doc目录中的软件包文档和官方网站上的指南。

  4. 参与社区:加入Slackware社区,如邮件列表、论坛和IRC频道,以获取帮助和分享经验。

  5. 备份系统:定期备份重要数据和系统配置,以防意外发生。

  6. 实验:Slackware是一个高度可定制的系统,不要害怕尝试不同的配置和软件。

Slackware可能不是最易于使用的Linux发行版,但它提供了对系统的完全控制和深入理解。通过掌握Slackware,你将能够更好地理解Linux系统的工作原理,并成为一个更强大的用户和系统管理员。