本文主要是把平时记录的Notes中,参考次数比较多的笔记摘录出来,供不时之需。
包管理部分
其实是一部分实际问题,乘着写文章整理一下。下面这些问题都是单条短命令,去掉问题中可能包含的字符后,应该不超过20个非空白字符,大都是10个内字符。
- 如何查看已经安装的vim版本号?
apt list vim
或者dpkg -l vim
- 如何查看已经安装的vim的所有文件列表?
dpkg -L vim
- 如何查看
/bin/vim
这个文件属于哪个包?dpkg -S /bin/vim
- 如何查看vim有哪些依赖?
apt-cache depends vim
- 如何查看哪些包依赖vim这个包?
apt-cache rdepends vim
- 如何查看安装了哪些版本的内核?
dpkg --get-selections | grep linux
- 如何查找源里面有哪些vim相关的包?
apt-cache search vim
- 如何获取官方nginx包的源码(打patch然后重新编译)编译环境?
apt-get source nginx && apt-get build-dep nginx
(这里要求配置了deb-src源,另外debian packaging话题较大,此略过)
系统管理
- 如何修改时区?
dpkg-reconfigure tzdata
- 如何配置编码?
网络环境
- 如何配置linux命令行外网访问?
对于浏览器或者命令行本身支持socks5的这里不谈。命令行种类繁多,用过一段时间proxychain,然而有些情况下似乎不太好用。 其实比较希望linux命令里面实现按域名(可自定义)类似PAC的方式实现外网访问。
首先安装privoxy(或者功能差一些的polipo) apt-get install privoxy
,然后配置一下需要处理的域名列表。
我用的是 gfwlist2privoxy , 这个脚本貌似有点问题,第一行有个多余的输出,直接删掉就好,然后把github的域名加到第一行,强制github.com走外网。具体参考其readme就好了。
|
接着跑一个或者多个ss-local、v2ray、kcptun等socks5客户端,推荐全部用systemd管理,比较方便,此处略过具体安装步骤。可以同时起来多个,方便切换。 关于配置,我一般如下:systemctl edit shadowsocks-libev-local@local
,敲一个回车留一个空白文件然后保存。接着编辑/etc/shadowsocks-libev/local.json
加上适当的配置,然后执行systemctl enable shadowsocks-libev-local@local
和 systemctl start shadowsocks-libev-local@local
就好了。 (说明:其中shadowsocks-libev-local@%I
的@后面接着的字符对应于/etc/shadowsocks-libev/%I.json
,所以你可以方便同时起来任意多个客户端。)
一个样例local.json
|
好了现在所做的工作还只是在把1080的socks5转换成了http/https的8118而已。接下来就是让命令行程序使用它。这个问题比较推荐参考ArchWiki/Proxy settings。
把上面Archlinux的wiki里面的proxy_on proxy_off两个函数拷贝到~/.bashrc
里面。
|
然后source ~/.bashrc
,接下来执行proxy_on
,那么就开启了。 但是现在执行sudo
提权命令时却依然不会走外网。解决办法是sudo visudo
,在里面加上Defaults env_keep += "http_proxy https_proxy ftp_proxy"
。这句的作用是提权时让这三个环境变量维持不变。
测试一下
|
有时会特地希望某个没有被和谐的域名走外网,那么只要编辑 /etc/privoxy/gfwlist.action
加进去,然后重启privoxy就好了。
现在就可以安心地拖chromium或者Android的源码了。不需要时也可以执行proxy_off
关掉。
至于udp2raw和frp等,等下次再补充。
- IP以及ipv6如何配置?
这个存储在/etc/network/interfaces
,参考Debian/wiki/NetworkConfiguration和Ubuntu/wiki。DebianWiki其中包含几个高级一些的配置:桥接(Bridging把多个网卡聚合到同一个子网)、VLAN(dot1q, 802.1q, trunk,)、单网卡多IP配置等。而Ubuntu文档则有关于Ubuntu-18.04采用的systemd-resolved的说明。