apt 包管理的几个基本命令

安装

查看包描述信息

查看指定包中的文件

查看指定文件属于哪个包

搜索软件包

搜索相关包

删除软件包

禁止更新(即:锁定版本)

(禁止 foo 更新)

docker error with http_proxy

问题

当存在 http_proxy 时, 如下命令会有问题:

原因:

docker 和 docker -d 之间的通信走的是http协议,而且会默认参考 http_proxy 环境变量(go程序默认如此)

解决办法:

  1. 去掉http_proxy

     
  2. 添加no_proxy环境变量

     

参考:https://github.com/tmatilai/vagrant-proxyconf/issues/109

 

grep awk 之buffer问题

问题

如下命令可以看到我们预期的输出:

如下命令不能看到预期的输出: (不是立即看到,其实,只要等等她就会来)

原因: 第一个grep命令buffer了输出

解决办法: 添加 –line-buffered 选项

 

同样, awk 也有类似问题,但是使用awk就没有添加选项这么幸运了;可以通过在awk的输出后面添加 system(“”); 来刷新buffer,如:

参考资料: http://unix.stackexchange.com/questions/33650/why-does-awk-do-full-buffering-when-reading-from-a-pipe

 

各种代理(tsocks/privoxy/proxychains)

参考:

tsocks 代理

  • 通过重写connect等网络函数实现
  • 主要是一个 libtsocks.so ;tsocks本身是个脚本,原理是设置LD_PRELOAD 环境变量
  • tsocks的几种用法(参看 tsocks脚本)
    • tsocks command
    • tsocks <CR>  (这样会启动一个新的shell)
    • . tsocks -on    (在当前shell中设置 LD_PRELOAD 环境变量,注意: 前面需要一个 dot 即: . tsocks -on 或写作:  source tsocks -on)
  • man页: http://linux.die.net/man/8/tsocks   or  man 8 tsocks
  • 配置文件 (man 5 tsocks.conf)
    • path { … } 可以有多个,但是每个path中至少含有 server 指令和 reaches指令

how-to-install-oracle-java-on-ubuntu-14-04

参考:

 

说明:

使用 apt-get install oracle-java7-installer 方式安装时,会自动从官方下载JDK,如果下载到中途失败,再次执行该命令则可以从上次下载到的地方继续下载 (如果kill -9 杀死apt进程是不可取的)

多个java版本共存的配置切换: