如何保持一个干净的系统


Table of Contents

由于工作需要经常会使用多种语言, 比如 python, golang, lua, javascript等, 各种语言都有自己的包管理器,像python的包管理器pip, lua的包管理器luarocks。。。

每个包管理器安装package的方式,位置都不相同,对于一个有洁癖的人来说,

ls ~/ -al

后各种各样的.something简直是场灾难, 所以保持一个干净的系统是非常必要的, 比如把相关语言的package都放到一个目录(我选择放到$HOME/repo/{language})下

请不要使用root用户,或者sudo来安装非必要的软件包

python

我的python环境是pip+virtualenv+virtualenvwrapper, pip可以有多种使用方式:

  • sudo

    sudo安装的package放到/usr/lib64/python-{verison}目录下, 这可能会与系统的包管理器所安装的python package冲突, 比如docker可以使用

    sudo pacman -S docker
    

    也可以使用

    sudo pip …

archlinux更换默认内核为linux-lts


前几天更新内核到了 4.6.2 ,结果很不幸,电脑变得非常卡(貌似只有我遇到这个问题?), 实在是找不到解决办法了,于是将内核更改为 linux-lts

更改办法很简单,重装 linux-lts

$ sudo pacman -S linux-lts

重启之前,请确认安装了

img

(注:我的是双显卡,还需要安装 bbswitch-lts )

archlinux安装steam


最近想要玩会儿游戏,但是又不想切换到windows,所以准备安装steam,在linux下玩游戏, 参考文档Steam

准备工作

因为我的是64位操作系统,所以需要启用 multilib

$ sudo vim /etc/pacman.conf
# 取消下面注释
[multilib]
Include = /etc/pacman.d/mirrorlist

双显卡bumblebee

我的又是双显卡,需要安装32位驱动

lib32-nvidia-utils
lib32-mesa-libgl
lib32-mesa

注意 除此之外,参考 bumblebee报错信息 还需要安装 virtualgl-libs:i386 ( arch上是lib32-virtualgl ) 否则报错

ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.

安装steam

$ sudo pacman -Syu steam

打开steam

直接启动报错

$ steam
/home/jianglin/.local/share/Steam/steam.sh …

archlinux的一些设置


最近在整理文件时发现了以前记下的一些设置,但是单独记在一个文件里不好找,也占用空间,现在记在博客里

vesa error

fcitx输入法

sudo pacman -S fcitx-im fcitx-configtool fcitx-sunpinyin

使用

增加内容到~/.xinitrc

export LANG=zh_CN.UTF-8
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
exec startxfce4

终端汉字显示

sudo pacman -S fbterm fcitx-fbterm
vim ~/fbtermrc

输入内容input-method=fcitx-fbterm

使用

终端输入fbterm

输入忽略大小写

vim ~/.inputrc

增加内容

set completion-ignore-case on

virtualbox

sudo pacman -S virtualbox

手动加载模块 modprobe vboxdrv

启动时加载模块

/etc/modules-load.d/virtualbox …