[新手必读] Slackware FAQ
slackware吧
全部回复
仅看楼主
level 13
这里是一份针对于Slackware 新人的FAQ,针对Slackware 在Linux 用户群的通常印象做了一份问题的整理并给了一些私人性的回答。
如果你觉得其中有不恰当的描述欢迎跟楼,如果有其他的FAQ 也欢迎跟帖。
PS:写之前不知道会不会有新人看,不过转念一想总有一天会有的吧……
[揪耳朵]
2014年08月12日 12点08分 1
level 13

Q: Slackware 的包管理器不解决依赖,我要如何处理依赖呢?
Slackware 在对待依赖的问题上使用一个简单粗暴的方法:
所有同类型的软件包放到源里的一个目录里并赋予主观上的含义,于是软件包之间的依赖关系转化为软件包组间的依赖关系,当用户选择安装某个软件包组的时候,直接将对应目录下所有的软件包全部安装,至于软件包组之间的依赖则由用户处理。这样依赖处理简单了很多,例如你想安装KDE,根据常识需要首先安装X11,那么选择对应的软件包组安装即可。
这些目录你可以挂载你的Slackware 安装介质,在/slackware(64) 目录下找到,在这里提供一份网络版 http://mirrors.ustc.edu.cn/slackware/slackware64-current/slackware64/
目录(软件包组)的
含义如下:
a/ - 基本系统
ap/ - 不依赖X11 视窗系统的程序
d/ - 开发环境
e/ - Emacs
f/ - 文档
k/ - 内核源代码
kde/ - KDE 桌面环境
kdei/ - KDE 多国语言支持
l/ - 系统库
n/ - 网络组件
t/ - Tex(一个文档排版程序)
tcl/ - Tcl/Tk 脚本语言
x/ - X11 视窗系统
xap/ - 依赖X11 视窗系统的程序(包括了一些窗口管理器例如Fluxbox)
xfce/ - Xfce 桌面环境
y/ - 游戏
这里
给出的建议是:
如果
没有使用经验则像安装程序那样,推荐以软件包组为单位安装。
如果手头有安装介质,请挂载介质,cd 到/slackware(64) 目录,一次性安装某个软件包组的所有包,例如xap:
find ./xap -name **.t?z* -exec upgradepkg --reinstall --install-new {} \;
如果没有安装介质,可以使用slackpkg install xap 达到上面find 指令相同的效果。
如果
有一定使用经验则建议自己估算依赖,例如xap 目录下的包大多都不是被其他包依赖的,可以只安装需要的部分,但是l 目录下的包基本都是被其他包依赖的,最好全部安装。
等你有了一定使用经验,自然可以相对优雅的自行处理依赖关系。
如果
运行程序发现缺少依赖库,请slackpkg file-search lib.so 查找这个库所属的包,将这个包安装,反复执行这个过程,直到依赖完备。
2014年08月12日 12点08分 2
**.t?z* => <单引号>*.t?z<单引号>,忘掉了百度会把单引号变成星花的BUG。
2014年08月12日 13点08分
“于是软件包之间的依赖关系转化为软件包组间的依赖关系”,你理解有误。 他完全把解决依赖性的权力交给用户,也就说用户只能通过自己的手段来编译和安装软件,这样的话用户必然熟悉自己安装的软件的依赖性。 而对于不是由自己编译和安装的软件,用户是不熟悉它的依赖性的,所以他分组以便用户熟悉它
2014年08月13日 22点08分
不解决依赖性是一种“山水画的留白”的设计,很有美感。
2014年08月13日 22点08分
回复 托马斯__维德 : 各有优缺点吧,对于不熟悉的人来说,解决依赖性还是比较费时间的。不过好处就是熟悉了后就方便了(但时间依然...)
2015年01月07日 09点01分
level 13
Q:
Slackware 传言不提供任何图形界面的配置工具,我是否能够驾驭呢?
首先你需要明白这里所说的“图形界面的配置工具”指的是什么,相较于Red Hat 系列的发行版,Slackware 没有其特有的一系列系统管理/配置工具(例如ntsysv),不过桌面环境自带的图形化配置Slackware 绝对不会将其阉割。你可以和其他发行版一样很方便的使用鼠标调整分辨率而不必了解xorg.conf 的结构。
这里想说的是:Slackware 的
提供一切通用的图形界面系统配置,你可以很方便的用鼠标完成这一切。
一份小惊喜:
还记得Slackware 的dialog 界面安装程序(setup)吗?其中调用了很多dialog 界面的脚本完成整个安装过程,其中有很多脚本在你的新系统上仍然可以使用,我所知道的脚本如下:
/usr/bin/xwmconfig - 指定startx 时其中的桌面环境
/sbin/netconfig - 配置网络
/sbin/liloconfig - 配置并安装lilo
/usr/sbin/mouseconfig - 选择键盘布局
/usr/sbin/timeconfig - 选择时区
这些脚本是Slackware 独有的图形化系统配置脚本,也是官方在图形化配置系统上给出的便利。
所以说Slackware 纯文本化配置言不符实,你也不必担心在系统配置上耗费很多多余的精力。
2014年08月12日 12点08分 3
如果你使用elilo,你需要的可能是/sbin/eliloconfig
2015年05月08日 02点05分
level 13
Q:
Slackware 官方提供的软件源和DVD 镜像一样?
是的,一个iso 文件就是Slackware 软件源的全部,不过社区提供一个类似
AUR 的、半官方支持的网站Slackbuilds:
http://slackbuilds.org/
在这里有很多已经patch 好的Slackbuild 文件,可以成功的编译对应版本的软件源代码,同时也提供源代码下载链接,具体的
使用方法参见:
https://tieba.baidu.com/p/1905659377
如果觉得这样太麻烦,社区同样提供一个类似
yaourt 的dialog 界面脚本用来
自动化处理slackbuilds.org 上的Slackbuild,你可以installpkg 安装之后,Sync 下直接当作一个额外的包管理器使用:
http://www.sbopkg.org/downloads.php
甚至你觉得编译代码太麻烦,官方已经提供了大多数Slackbuilds 中
对应编译打包好的软件,你只需要下载对应的包直接installpkg 安装即可:
http://www.slackware.com/~alien/slackbuilds/
另附:镜像中有一个
extra 目录,这个目录的包是安装程序不会安装的,但是这里有一些相对常用但没有选入官方源的软件的Slackbuild,例如
flashplayer、
google-chrome、
java 和
wicd,其中还有一个专门用于禁用nouveau 的包,这里给一个网络地址:
http://mirrors.ustc.edu.cn/slackware/slackware64-current/extra/
2014年08月12日 12点08分 4
level 13
Q:
我使用双显卡的机器,我该如何使用独立显卡的3D 性能呢?
如果你使用
NVIDIA 显卡,那么官方的docs 有这个问题的详细的解决方案:
http://docs.slackware.com/howtos:hardware:nvidia_optimus#installing_bumblebee
安装完毕后可以使用
optrun 来运行需要独显3D 性能的程序,如果你按照docs 给出的解决方案,那么也会安装primus,你需要用
primusrun 来运行一些对3D 性能要求很高的程序,例如Dota2 for Linux。
另外N 卡还有一个全局启用独显而非临时切换的方法,但是
个人未尝试:
启用KMS(slackware 中默认启用),禁用nouveau(extra 目录下有专门做这个的包),同时安装包xf86-video-modesetting,安装NVIDIA 官方驱动(版本 >= 319.12),编写xorg.conf。
其中xorg.conf 的示例可以参见:
http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html
http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/faq.html#busid
之后把下面两行添加到~/.xinitrc
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
方法出自:
https://wiki.archlinux.org/index.php/Optimus
只能说有吧友正在用这种方法,但是个人一直bumblebee,这种方案
不确保成功。
如果你使用
AMD 显卡,官方只给出了一个解决方案,但是个人不知道是否对双显卡有效,因为从未用过或关注过AMD 显卡:
http://docs.slackware.com/howtos:hardware:proprietary_graphics_drivers#amd_ati_catalyst_driver_installation_and_configuration
2014年08月12日 14点08分 6
最新14.1使用自动化脚本安装需要先安装libvdpau,软件包slackbuild网站有。
2015年01月05日 16点01分
early KMS没有默认启用。我在虚拟机Slackware 14.2 里修改了initrd-tree里的init脚本检查是否存在/dev/fb0设备,但没有发现。随后我尝试了mkinitrd -m i915,然而依然没有卵用(感觉说不定是我不应该用i915?虚拟机的framebuffer驱动不知道该用哪个模块才对)
2016年11月20日 14点11分
level 13
Q:
听说Slackware 也可以滚动升级,是真的吗?
是的,官方提供一个Current 源,新版本的软件不断被添加到这个源中,而且软件的更新速度仅仅稍慢于Archlinux。但是个人不推荐使用Current 源,毕竟这样相对于使用稳定版本来说容易出问题一些。如果没有强迫症建议停留在稳定版本,定时slackpkg update 看看有没有修复BUG 的补丁以及时打补丁。
如果执意要使用Current 源,
建议:
1. 如果使用闭源显卡驱动,需要在有内核变更之后、在启动X11 之前重新安装闭源驱动,否则你可能无法开启X11
2. 建议编辑/etc/slackpkg/blacklist 文件禁止包管理器处理第三方软件包(在clean-system 的时候不会出现在列表):
[0-9]+_SBo
[0-9]+alien
[0-9]+compat32
之所以禁止处理multilib 和Slackbuilds.org 的软件包是因为上一个稳定版的包可以在Current 上良好工作。
3. 升级之前先尝试升级slackpkg 和glibc-solibs
4. 接下来就可以全面滚系统了,slackpkg upgrade-all/install-new/clean-system
另外:如果你没有强迫症,而且又
不希望升级内核后重新安装闭源显卡驱动,那么可以把下面几行加入/etc/slackpkg/blacklist 以禁止升级内核:
kernel-generic
kernel-generic-smp
kernel-huge
kernel-huge-smp
kernel-modules
kernel-modules-smp
2014年08月12日 14点08分 7
如果时间跨度过大,很可能你需要重新安装Current 分支的multilib。
2015年05月08日 02点05分
level 13
Q:
我想从旧版升级到新版,这和我使用Current 源升级系统有什么不同吗?
没有什么不同,唯一不一样的是需要注意几点:
1. 建议安装新版本的multilib,为此你需要卸载旧版的multilib,/etc/slackpkg/blacklist 中确保没有[0-9]+compat32 之类的行,然后slackpkg clean-system 选中所有的multilib 包卸载。
2. 尽可能的升级到新版内核,如果使用generic 内核需要重新mkinitrd(参见下一条FAQ)。
2014年08月12日 15点08分 8
PS:下一条里使用uname -r 的结果来做参数,因为是为了切换到generic 内核,如果是升级内核后重新为generic 内核建立initrd.gz,那么需要使用新内核的版本号作为参数。事实上这个参数用于在/lib/modules 目录下寻找对应的内核模块目录。
2014年08月13日 02点08分
level 13
Q:
我不太希望使用“巨大的”(huge) 内核,我需要重新编译内核吗?
不需要,Slackware 从12.0 之后开始提供两种内核:所有驱动都集成到内核中的huge 和驱动做成模块形式的generic。如果你想切换到generic 内核,执行:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $(uname -r)
你会得到一条构造好的指令,复制该指令到终端运行以生成initrd.gz。
然后编写/etc/lilo.conf 并运行lilo 指令,一个示例性的lilo.conf 如下:
和huge 内核不同的只在于需要指定initrd 关键字。
2014年08月12日 15点08分 9
挖墳,但我想這份指南新手以後也會看到,還是說一下吧,雖然現在精簡內核已經帶不來明顯的性能提升,但自己配置一個適合自己機器的內核還是有必要的,linux內核中一些配置專用於服務器,一些專用於嵌入式環境,默認情況下對桌面的優化選項沒有開啟(例如那個桌面的雞血補丁),還有很多
2019年01月31日 03点01分
你作為桌面用戶用不到的功能,例如那個對服務器很有用的Watch dog(不是遊戲),沒配置的內核中一大堆你根本用不上,甚至你都沒機會用上的驅動,例如你還使軟盤嗎,你還使SCSI磁帶嗎(據說美國軍方還有使),還有一大堆古董級別的打印機驅動,網卡驅動只選你用的那個就行了
2019年01月31日 03点01分
說這些不是讓新手立即去配置內核,只是想告訴新手在有能力去配置內核是一定要去嘗試,slackware的默認內核絕不是最適合你的內核,但仍是可以正常使用的內核
2019年01月31日 03点01分
level 13
Q:
我想安装Slackware,可是根本无法加载内核!
很少的时候会出现这种情况,而且基本都是你的机器很老的情况下,Slackware 安装介质启动时默认加载的内核是hugesmp.s(多处理器巨型内核),加载前可以按
<F2> 选择其他的内核。
另外Slackware 目前官方支持的架构好像只有
x86 和
x86_64,至于ARM、Alpha、SPARC、PowerPC 等有非官方的移植,如果你要安装到的是这些架构,官方的版本可能无法如你所愿。
2014年08月12日 15点08分 10
level 13
Q:
我习惯了Ubuntu 那样的图形界面安装,Slackware 没有那样的安装方式吗?
很遗憾,没有。不过Dialog 界面也是图形界面之一,甚至setup 脚本做的更加灵活。这里只是有一点麻烦的地方,如果你英语比较差可能会很吃力。下面给出一个吧友做的Slackware 13.1 完全安装图文版,有些要注意的地方已经跟楼指出:
https://tieba.baidu.com/p/1034071418?see_lz=1
另外还需要注意的有两个地方:
1. Slackware 的Dialog 界面安装程序这几个版本就没怎么变过,所以不要为了这个教程特意去安装13.1 版本,请安装最新版,过程完全一样,请相信我。之所以这样说是因为真的见过为了一个现成的教程安装旧版本的……
2. 这个教程是BIOS+MBR,如果是EFI 的机器,你可能需要elilo,不过整个安装过程你应该感觉不出什么变化。
这里同时给出官方的安装指引,不过就自己而言感觉不如直接看上面的帖子链接来的直观
http://docs.slackware.com/slackware:install
2014年08月12日 15点08分 11
level 13

Q:我该从哪里得到一份关于Slackware 的详尽的文档呢?
如果你熟悉英文,可以从The Revised Slackware Book Project 的主页获得
Slackbook。Slackbook 提供很多形式,包括单/多页HTML 和PDF:
http://www.slackbook.org/
如果你更愿意看一本中文手册,即使或许要旧一点,可以去github 的
SlackGuide-cn 项目,这是一份Slackbook 的中文译本:
https://github.com/lotabout/SlackGuide-cn
如果你觉得没有必要clone 整个项目,可以点击下面的链接下载pdf 格式的中文手册:
https://github.com/lotabout/SlackGuide-cn/raw/master/SlackGuide.pdf
截止到本帖的发帖日期,这两份slackbook 的版本仍然是一样的,均是2012 年8 月份发布。然而手册并没有过时——Slackware 版本之间的变化真的太小了。至少我从从13.0 用到14.1,没有感觉出任何配置上的变化。而从13.0 到14.1 中间经历了4 个多年头。
2015年05月08日 02点05分 16
level 13

Q:我能不通过正式版升级直接得到Current 版本吗?
可以的,taper.alienbase.nl 提供Current 的iso 下载,每当Current 有新的变动,自动打包脚本便会使用mkisofs 将最新的Current 打包为iso,所以你可以直接在这里得到Current 而不必从正式版升级。
64 位版本镜像:
http://taper.alienbase.nl/mirrors/slackware/slackware64-current-iso/
32 位版本镜像(
不推荐):
http://taper.alienbase.nl/mirrors/slackware/slackware-current-iso/
但是个人比较倾向使用正式版,追新的话Arch 远比Slackware 适合,而且个人用了2 年Arch 没有滚挂过一次,喜欢追新可以去试一下。虽然可能让你失望,但是Slackware 并不擅长狂飙软件版本号。
2015年05月08日 02点05分 17
level 1
进入图形界面后用什么命令回到字符界面呢、。??还有输入法怎么切换???求大神指点,赐教,谢谢
2015年05月11日 11点05分 18
ctrl + alt + F1切换到第一个字符终端 ctrl + alt + F2切换到第二个字符终端 ctrl + alt + F3切换到第三个字符终端 ctrl + alt + F7切回到图形界面
2015年05月13日 00点05分
关于输入法看这里www。mnxnm。com/Slackware/desktop/index。html网友右侧第一条链接就是
2015年05月13日 00点05分
level 3
为什么32位不被推荐呀?
2015年11月13日 06点11分 19
日常挖墳,64位運行比32快,但體積也比32大,所以沒必要盲目追求64位,但64位是大勢所趨,甚至都有128位的計划了,早就有為128位開發的文件系統zfs了,所以在盡可能的情況下還是應該選擇64位。
2019年01月31日 04点01分
level 1
谢谢
2016年02月17日 03点02分 20
level 6
楼主的技术很高
我很佩服
向你学习
我会超过你的!
2016年07月24日 03点07分 22
level 6
我阅读完了以上文档
从心底佩服楼主,我觉得我有点 狂旺自大了
希望和楼主交朋友(这样我可以学习很多slackware知识)
有联系方式吗?
我联系你
2016年07月24日 03点07分 23
level 5
谢谢分享这么好的东西。
2019年03月19日 09点03分 24
1