Slackware current 64位系统安装完全指南
李顺亮
2015年10月31日
一台买了七八年的联想笔记本电脑,就是和中国奥运之年有些渊源的F31,这一两年时不时会来一个"惊奇",不知是内存溢出问题,还是Cpu过热自我保护,反正电脑突然呆若木鸡、一动不动,或者自动死机重启。想想人生寿命不过百年,电脑也有大限的一天,加上单位dell台式电脑可恶的硬盘全毁的惨剧,让我坚定了换一台随身笔记本电脑的想法。于是,在双11之前,以"光棍"的优惠价格购入了号称美行的小黑T450s,配置Cpu I7 5600u、固态硬盘128G、机械硬盘500G、内存8G,开始了艰辛的折腾。
网上的各种资料,其实是其时其人的选择和操弄,我们并不好说是错的,但真不一定适合于你。比如,有人说要先把硬盘的分区表由GPT全部转移成MBR,其实大可不必,根源在于太小看了Linux。以Windows的眼光来看待Linux,自然一切都成了问题,而只以Linux的眼光来看待问题,我们突然会发现世界原来如此精彩。废话少说,且对安装过程记录如下,供后来者参考。
不过,安装之前,建议大家详看:《[新手必读] Slackware FAQ》 http://tieba.baidu.com/p/3226065767
制作启动U盘
首先下载光盘镜像。
到http://mirrors.slackware.com/slackware/slackware-iso/slackware64-14.1-iso/,下载slackware64-14.1-install-dvd.iso备用。
本文记录的是从64 位正式版升级得到Current版本。其实,你可以直接得到Current镜像,而不必从正式版升级。即:http://taper.alienbase.nl/mirrors/slackware/slackware64-current-iso/
制作启动U盘方法有两种。
一是在windows系统之中,用UltraISO来写U盘。
a、使用UltraISO打开iso 镜像文件。
b、点击UltraISO菜单[启动],并且选择[写入硬盘映像]。
c、写入方式选择USB-HDD+,开始制做启动U盘。
二是在Linux机器系统之中,用强大的dd命令制作。
在ISO镜像文件所在文件夹中打开终端,并且输入
sudo dd if=xxx.iso of=/dev/sdb
已经有root权限的,前面可以不要sudo。回车执行dd命令,制作开始,请稍作等待,直到终端宣布制作完成。
Xxx.iso即ISO镜像文件,因为已是在其所在文件夹中打开终端,否则还要输入完整路径。of=后面所跟,是要制作的U盘所在路径。电脑本身为单硬盘的话,U盘所在路径就是dev/sdb;电脑本身为双硬盘的话,U盘所在路径就是dev/sdc。同时,要注意sdb或者sdc后面,不能再带数字1或者2。
如不放心U盘路径,可在终端里用以下命令确认:
sudo fdisk -l
调整启动顺序
打开ThinkPad t450s,开机摁住F2进入BIOS,选中Boot回车,修改启动顺序,将SSD固态硬盘调整到最前面,作为默认的开机第一硬盘,保存退出。因为我们要把Slackware current 64位系统装到SSD固态硬盘之中,发挥这块硬盘的最大能量,否则安装到机械硬盘之中,这钱钱就白花了。
这样,我们的sda就变成了固态硬盘,而sdb就是机械硬盘。
重新硬盘分区
硬盘分区不做,一切无从开始。请注意,以下针对的是整台笔记本电脑仅使用Slackware current 64位的单系统。
插入制作好的启动u盘,并且重启电脑,开机摁住F12,单次选择从哪个盘启动电脑。我们当然是直接选中启动U盘,并且回车确认。
引导到"boot:"时,直接回车,启动系统。设置键盘布局,直接回车,使用默认的US键盘。询问是否作为"root"登录时,直接回车,自动以root登录。
第一件事,自然是开始分区。这时,我们会发现fdisk、cfdisk等传统分区命令,直接无效。原因就在于硬盘的分区表是GPT而不是MBR。于是,我们必须适应这种转变,改用gdisk命令。
在终端里输入gdisk,至于参数,搞不清楚没有关系,我们可以用"?"或者"help"获得帮助。
然后,我们可以在出来的command细项中,用d全部删除原来所有的分区表,用n来重建新的分区。默认是第一个分区建好后,再建第二个分区的,以此类推,重复进行即可。分区的起始点,虽然可以自己选择从"34"开始,但最好还是使用默认,反正一路默认了事。
因为本机是固态硬盘和机械硬盘共存的双硬盘。所以我们要先对固态硬盘分成两个区,一个区给50G,另一个区给剩下的所有空间。至于机械硬盘,只分成一个区就好。
其实,不要怕犯错,错了推倒重来就是,实在不行找个高手帮助。如我,就找来了yufeng,毕竟自己对gdisk一窍不通。如此,系统安装前的准备工作就绪了。
安装本机系统
重启,开机摁住F12,直接选中U盘启动。"boot:"、设置键盘布局、"root",一路直接回车。
在终端里输入setup,启动安装程序。
一、设置TARGET。
在"slackware linux setup"页面之中,我们选择第四项TARGET,即设置目标分区,也就是设置slack将要被安装到的分区。
我们选择sda1,即/dev/sba1,也就是固态硬盘的第一个分区。确认回车,然后Format格式化分区,并且设置为Ext4文件系统。
之后,依样画葫芦。先设置固态硬盘的第二个分区,即/dev/sda2,并在要输入的地方输入"/home"。再设置机械硬盘,即/dev/sdb1,并在要输入的地方输入"/×××",反正就是你自己满意的都行,如bak等。
设置完成,并把设置信息添加到 /etc/fstab。
也许大家会奇怪,似乎少了一个分区。其实,因为是8G内存,所以没有必要设置"/swap",即交换分区了,所以前面在做分区表时,就只把固态硬盘分成了两个,即sda1和sda2。
二、设置SOURCE
因为要u盘安装,我们选择带有U字的,回车确认从U盘安装。系统会自动找到u盘,即/dev/sdc。
三、设置SELECT
D、F、KDEI、Y可以不选,D是开发用的,F是帮助,KDEI是文字支持、Y是游戏。Xfce反而是一定要选择,否则一会是进不了Kde的,必须先进Xfce桌面。
如KDEI不选,安装好系统后,到安装u盘的slackware/kdei/中,寻找含有zh_CN的txz中文包,并在终端里installpkg安上中文支持。另一种方法,则是到http://mirrors.ustc.edu.cn/slackware/slackware64-14.1/slackware64/kdei/里,下载kde-l10n-zh_CN-4.10.5-noarch-1.txz安装。
选好回车,然后选择 Full 安装并回车,开始系统安装。
四、创建启动盘
直接Skip跳过,因为我们已经制作好了。
五、安装 LILO 引导程序
直接选择Lilo引导程序,一路回车就好。只要注意一个地方最好选用UTF-8。
请注意,如不选Lilo,想自己用Grub2,这回似乎很难搞定。
六、配置鼠标
选择你的鼠标类型,我是用usb。之后,在gpm configuration新画面中,选择"Yes"开机启动 gpm 程序,以便在命令行界面可用鼠标复制粘帖文本。
七、配置网络
依次设置主机名(如smsl),设置域名(如onesl.com),设置网络管理,推荐networkmanager。
八、设置开机启动的系统服务
如非单机,建议加选打印机rc.cups和访问局域网rc.samba两项。
九、设置控制台字体
选 No 使用默认字体。
十、设置时区
选No设置为本地时间。然后,选择 Asia/Shanghai。
十一、设置启动 X 时默认的窗口管理器
选择 Xfce。如以后要修改登录桌面环境,可在终端输入:xwmconfig 重新选择。
十二、设置 root 帐户密码
选Yes回车,输入两次要设置的root密码,然后回车。
返回到安装程序主菜单,选择 EXIT,退出安装程序。
至此,安装全部完成。
系统配置
在命令行输入reboot重启机器,启动slackware,依次输入大名、密码,之后输入startx,启动Xfce图形界面。
一、启用网卡
首先我们发现,网络居然没有支持,t450s的网卡看来相对高端,slackware64 14.1的内核显然还没有收入其驱动。自己加入网卡驱动就好了。我们可以用lspci命令来查看网卡究竟是哪个厂家哪个型号的。
bash-4.3# lspci -v
00:00.0 Host bridge: Intel Corporation Device 1604 (rev 09)
Subsystem: Lenovo Device 5034
Flags: bus master, fast devsel, latency 0
Capabilities: [e0] Vendor Specific Information: Len=0c <?>
00:02.0 VGA compatible controller: Intel Corporation Device 1616 (rev 09) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 5036
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at e0000000 (64-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [a4] PCI Advanced Features
Kernel driver in use: i915
Kernel modules: i915
00:03.0 Audio device: Intel Corporation Device 160c (rev 09)
Subsystem: Lenovo Device 5034
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at e1230000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:14.0 USB controller: Intel Corporation Device 9cb1 (rev 03) (prog-if 30 [XHCI])
Subsystem: Lenovo Device 5034
Flags: bus master, medium devsel, latency 0, IRQ 42
Memory at e1220000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [70] Power Management version 2
Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:16.0 Communication controller: Intel Corporation Device 9cba (rev 03)
Subsystem: Lenovo Device 5034
Flags: bus master, fast devsel, latency 0, IRQ 43
Memory at e1239000 (64-bit, non-prefetchable) [size=32]
Capabilities: [50] Power Management version 3
Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: mei_me
Kernel modules: mei_me
00:19.0 Ethernet controller: Intel Corporation Device 15a2 (rev 03)
Subsystem: Lenovo Device 2226
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at e1200000 (32-bit, non-prefetchable) [size=128K]
Memory at e123e000 (32-bit, non-prefetchable) [size=4K]
I/O ports at 4080 [size=32]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [e0] PCI Advanced Features
Kernel driver in use: e1000e
Kernel modules: e1000e
00:1b.0 Audio device: Intel Corporation Device 9ca0 (rev 03)
Subsystem: Lenovo Device 5036
Flags: bus master, fast devsel, latency 32, IRQ 46
Memory at e1234000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 3
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1c.0 PCI bridge: Intel Corporation Device 9c9a (rev e3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
Memory behind bridge: e1100000-e11fffff
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Lenovo Device 5034
Capabilities: [a0] Power Management version 3
Capabilities: [100] #00
Capabilities: [200] #1e
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.1 PCI bridge: Intel Corporation Device 9c94 (rev e3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 00003000-00003fff
Memory behind bridge: e1000000-e10fffff
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Lenovo Device 5034
Capabilities: [a0] Power Management version 3
Capabilities: [100] #00
Capabilities: [200] #1e
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1d.0 USB controller: Intel Corporation Device 9ca6 (rev 03) (prog-if 20 [EHCI])
Subsystem: Lenovo Device 5034
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at e123d000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Debug port: BAR=1 offset=00a0
Capabilities: [98] PCI Advanced Features
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:1f.0 ISA bridge: Intel Corporation Device 9cc3 (rev 03)
Subsystem: Lenovo Device 5034
Flags: bus master, medium devsel, latency 0
Capabilities: [e0] Vendor Specific Information: Len=0c <?>
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.2 SATA controller: Intel Corporation Device 9c83 (rev 03) (prog-if 01 [AHCI 1.0])
Subsystem: Lenovo Device 5034
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 40
I/O ports at 40a8 [size=8]
I/O ports at 40b4 [size=4]
I/O ports at 40a0 [size=8]
I/O ports at 40b0 [size=4]
I/O ports at 4060 [size=32]
Memory at e123c000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [70] Power Management version 3
Capabilities: [a8] SATA HBA v1.0
Kernel driver in use: ahci
00:1f.3 SMBus: Intel Corporation Device 9ca2 (rev 03)
Subsystem: Lenovo Device 5034
Flags: medium devsel, IRQ 18
Memory at e1238000 (64-bit, non-prefetchable) [size=256]
I/O ports at efa0 [size=32]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.6 Signal processing controller: Intel Corporation Device 9ca4 (rev 03)
Subsystem: Lenovo Device 5034
Flags: bus master, fast devsel, latency 0, IRQ 10
Memory at e123b000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [50] Power Management version 3
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5227 (rev 01)
Subsystem: Lenovo Device 5034
Flags: bus master, fast devsel, latency 0, IRQ 41
Memory at e1100000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-00-01-00-4c-e0-00
Capabilities: [150] Latency Tolerance Reporting
Capabilities: [158] #1e
Kernel driver in use: rtsx_pci
Kernel modules: rtsx_pci
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 818b
Subsystem: Realtek Semiconductor Co., Ltd. Device 001b
Flags: bus master, fast devsel, latency 0, IRQ 45
I/O ports at 3000 [size=256]
Memory at e1000000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 01-91-81-fe-ff-4c-e0-00
Capabilities: [150] Latency Tolerance Reporting
Capabilities: [158] #1e
Kernel driver in use: rtl8192ee
Kernel modules: rtl8192ee
请看Intel Corporation Device 15a2。反正,是英特尔公司的E1000e。然后,我们只好另找一台能上网的电脑,到官网https://downloadcenter.intel.com/zh-cn/download/15817下载e1000e-3.2.4.2.tar.gz,即点击https://downloadcenter.intel.com/zh-cn/downloads/eula/15817/PCI-E-Linux-?httpDown=https%3A%2F%2Fdownloadmirror.intel.com%2F15817%2Feng%2Fe1000e-3.2.4.2.tar.gz下载。
之后,拷贝此文件包到本机的/root/opt文件夹下,解压并进入e1000e-3.2.4.2里的src文件夹,打开终端:
编译安装
make install
加载模块
modprobe e1000e
此时,网卡自动联网回归了。没有网络,linux什么也不是。有了网络,linux天下无敌。
二、更新系统
进入/etc/slackpkg/mirrors,设置用中科大current源,取消掉前面的"#"注释号即可。current源的slackware,既可以追新,又非常稳定。
然后,在终端里通过命令更新。依次:
slackpkg updat
slackpkg install-new
slackpkg upgrade-all
注意:一定要先执行slackpkg install-new这个命令,才能避免一些新推出的包没有及时安装所导致的系统稳定问题。然后再执行slackpkg upgrade-all,系统才会安全无忧。在最后终端给出选择时,我们选择写入lilo,并且选择o覆盖。
更新系统之后,我们重启系统。然后,重做一次选源,并且更新系统。到此,本机已经是最新且稳定的系统状态。
然后,我们在终端里输入xwmconfig,重新选择回Kde桌面。重启后,熟悉的Kde回归了。
三、修改默认界面
在/etc中的inittab文件中Default runlevel一行下面,将id后默认的3改成4,就可以默认开机进入图形界面。
四、配置中文环境
在/etc/profile.d/lang.sh里,修改/etc/profile.d/lang.sh
注释掉export LANG=en_US这行,并在下面加入
export LANG=zh_CN.UTF-8
同时,把/etc/profile.d/lang.csh也作同样修改。
然后,还要在系统设置里,点击locale(语系),在country里选择china,languages选择简体中文为第一语言。
五、Firefox默认改为中文
点击http://ftp.mozilla.org/pub/firefox/releases/,选择对应的版本,如http://ftp.mozilla.org/pub/firefox/releases/41.0b1/linux-x86_64/xpi/zh-CN.xpi,添加中文语言包。
然后,在FireFox地址栏里输入about:config 并回车,在过滤器里输入general.useragent.locale,双击选项并输入"zh-CN",确定并重启。
六、安装火狐控件
下载最新的Flash控件libflashplayer.so和银联控件libnpUPEditor.so,直接放到
/usr/lib64/mozilla/plugins/
重启火狐搞定。
七、安装fcitx中文输入法
在http://slackbuilds.org/repository/14.1/misc/fcitx/里,下载fcitx.tar.gz和fcitx-4.2.6.1_dict.tar.xz建包后安装。
八、增加微软字体
在这里http://www.onesl.com/software/xpfonts.tar.gz下好相关字体,进入"系统设置—字体管理"中安装字体。
九、解决声音问题
我们突然发现,系统居然没有声音。可是,Lspci命令一查,声卡明明有,而且驱动应该也是上好的啊。十分奇怪,问题究竟出在哪里?多次拨弄之后,感觉应该是HDA抢了人家的饭碗,却又不干活,似乎HDA和PCI声卡在系统里冲突,但一直没有解决的办法。
感谢dragonbyl,在我万分无助的情况,终于解决了问题。请各位移步他的博客详看:http://blog.csdn.net/dragonbyl/article/details/19485519
1、终端输入命令:cat /proc/asound/cards
bash-4.3# cat /proc/asound/cards
0 [HDMI ]: HDA-Intel - HDA Intel HDMI
HDA Intel HDMI at 0xe1230000 irq 48
1 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xe1234000 irq 46
2、终端输入命令:alsamixer
查看系统默认使用声卡,此时自然是HDMI。
3、指定默认声卡
到/etc下新建一个文本文件,取名为asound.conf,并写入:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
上面的card 1是指选择哪个card,从cat /proc/asound/cards命令结果中查看。
保存之后,退出终端,万事大吉。
软件安装
一、安装wps
永中office本是最好的选择,但是安来安去,似乎无可救药。
果断换用wps。进wps社区http://bbs.wps.cn/forum-wpslinux-1.html或者直接到http://community.wps.cn/download/#alpha里下载64位安装包wps-office_9.1.0.4975~a19p1_x86_64.tar.xz包,直接解压就可以使用了。
绿色版本,我们大爱。Wps,值得尊敬。
二、安装wine
因为要使用东兴证券和Dreamweaver,当然只能用wine了。可是,在64位下面,安装wine,并且wine上微软的软件,的确不是容易的事。
Slackware 64 位版本,wine 是需要32 位运行库才能运行的。64 位系统上的32 位运行库被称为multilib,官方提供了详细的multilib 使用文档,包括安装multilib、编译和运行32 位程序:
http://www.slackware.com/~alien/multilib/
庆幸的是,Github里有一个slacklib32项目,在https://github.com/Arondight/slacklib32,可以帮助我们轻松搞定这些难题,只要三步
git clone https://github.com/Arondight/slacklib32.git /tmp/slacklib32
cd /tmp/slacklib32 && sudo ./install.sh
sudo slacklib32
之后,我们到http://slackbuilds.org/repository/14.1/system/wine/下载wine.tar.gz和wine-1.6.2.tar.bz2,才能在终端里建包安装。
这回,是反过来了,我们一wine安装东兴证券,一切顺利立马可用。Wine安装东兴证券时,会先找到一个gecko之类的东西,询问我们是否安装,我们当然同意并安装。wine安装后,我们先要下载mfc42.dll,并直接把它放到/root/.wine/drive_c/windows/system32/目录下。
可是在安装Dreamweaver 8.0,就碰到难题了,一直显示windows installer returned '1615'错误。安装不成功,而且哪怕我们强行从其它机子复制Dreamweaver 8.0文件到本机".wine"文件夹之中,也无法打开程序,系统会提示要求我们重新安装。
虽然万般无奈,却能柳暗花明。点击http://www.onesl.com/software/Adobe_Dreamweaver_CS5_GreenVersion.7z,下载绿化安装版的Dreamweaver CS5后,虽然直接wine快速安装不能成功,但是当我们把其中的Dreamweaver整个文件夹,直接复制到/root/.wine/drive_c/Program Files/里,然后在终端里执行:
wine Dreamweaver.exe
问题的症结找到了,原来是缺少一个库文件mfc90u.dll。我们直接点击mfc90u.dll下载,然后把这个32位的mfc90u.dll直接放到/root/.wine/drive_c/Program Files/Dreamweaver/之中。
于是,Dreamweaver CS5回归。
三、安装filezilla
http://slackbuilds.org中的wxPython版本太低,才2.8.12.1,因此不能用。我们只能改用wxGTK3,下载wxGTK3.tar.gz和wxWidgets-3.0.2.tar.bz2并建包安装之后,就可以下载filezilla并安装了。
|