有个空闲的ssh帐号,前几天在公司的debian上配置了ssh + Privoxy ,做个翻|艹墙代理给大家用,很容易配置,已经连续用了好几天,
挺方便的。配置方法网上可以找到很多。 于是乎就在家里的ubuntu上也配置一个,这样用手机ipad之类的就可以很方便的Fuck GFW 。
遇到两个让我郁闷的问题:
1. ssh 的-f参数
我抄了shell脚本来实现断线重连,翻看man ssh 的时候看到有个参数 -f 可以实现后台运行,就一顺手给ssh加了这个参数
运行我的脚本后,我用pkill sshFuckGFW 来杀掉我的脚本 (之前我用这个命令很多次,一直有效) ,配置完我的privoxy
后我又重新启动我的sshFuckGFW ,因为用了 -v参数所以一大堆输出,我也没留意,结果就一直连不上,莫名奇妙的,折腾了
有半个小时才发现那个pkill sshFuckGFW就没有起作用,得用pkill -9 sshFuckGFW 才能有效,显然这是 ssh 的-f参数
带来的后果,重新看 man ssh , -f 参数的解释如下:
Requests ssh to go to background just before command execution. This is useful if ssh
is going to ask for passwords or passphrases, but the user wants it in the background.
This implies -n. The recommended way to start X11 programs at a remote site is with
something like ssh -f host xterm.
2. privoxy的绑定地址
privoxy将ssh的socks5转换为http,因为需要其他的设备也能访问这个http代理,所以在privoxy的 listen-address 不能
用默认的127.0.0.1,用127.0.0.1只能本机使用这个http代理。 我当然写了我的机器在局域网的ip,但就是用firefox无法
访问,提示无法链接代理,用工具扫描发现8118端口开放,用telnet测试也正常能发出http请求,奇怪的要命,我都开始怀疑
ubuntu上安装的privoxy和公司的debian上的privoxy版本不一样...............................................
无意中发现firefox的代理设置的地方写的ip是127.0.0.1 端口是8118 ,是不是这个问题呢?于是把127.0.0.1 改为局域网ip。
马上所有的问题都没有了。 这个问题真的很邪门,按道理讲 127.0.0.1完全没有问题的,可就是不行。
btw: chrom的扩展proxyswitchy! 实在是个垃圾,远远没有firefox下的autoproxy稳定。 proxyswitchy! 在windows上莫名
其妙的不起作用,又莫名其妙的偶尔正常。 你在chrome上操作 proxyswitchy!的时候他会更改IE 的代理设置,自动打开
pac, 挺霸道的。 不过其在ubuntu上表现很正常。
本文介绍在ubuntu 11.04下配置svn,并通过http协议来访问svn。
一. 安装及准备
首先安装svn
sudo apt-get install subversion subversion-tools
假设以后代码库放在/home/svn
sudo mkdir /home/svn
将svn目录owner更改为www-data,因为apache2是以www-data用户身份运行的.
chown www-data /home/svn/ -R
二. 配置svn
创建库
sudo svnadmin create /home/svn
尝试导入文件
svn import /home/zealot/project/helloworld
file:///home/svn-m "svn可以
work了"
看下导入的结果
svn list
file:///home/svn 如果可以看到helloworld说明svn开始工作。
三. 配置http dev访问
首先要安装apache2和apache 的一个支持svn的模块。
sudo apt-get install apache2 mod_dav_svn
然后打开/etc/apache2/mods-available/dav_svn.conf
阅读一下文件的注释,很容易理解,我的配置如下:
<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "欢迎来到xxx的代码库"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
大致意思就是启用一个虚拟目录(http dav)叫svn,对应文件系统下
的/home/svn ,采用http验证方式授权,授权文件是
/etc/apache2/dav_svn.passwd,Require valid-user表示不能匿名访问,保
存后,创建这个授权文件。
sudo htpasswd -c /etc/apache2/dav_svn.passwd user1
按提示输入两次密码。 重启apache2
sudo /etc/init.d/apache2 restart
尝试用浏览器访问
http://127.0.0.1/svn如果没问题的话会要求输入用户名
密码,登录后应该能看到刚才导入helloworld
误将 mv 敲成 rm,还用了-rf 参数,结果一大堆文件被删除。 googling,终于找到一个能用的办法。
重启,切换到恢复模式,选择drop … root… 那一项。
被误删除的文件放在了/home/user/Downloads, /home是 设备/dev/sda6
首先
umount /dev/sda6
然后使用
mount -r -n -o /dev/sda6 /home
重新加载。
然后下载 extundelete ,extundelete还依赖这两个包,也一并装上。
sudo aptitude install e2fsprogs e2fslibs-dev
解压 extundelete 就make吧
./configure
make
sudo make install
然后运行 extundelete —help 先看看怎么用,至少需要需要恢复的设备。
我尝试
extundelete /dev/sda6 —restore-files ‘/home/user/Downloads’
没有恢复成功,后使用
extundelete /dev/sda6 —restore-all
被恢复的文件放在当前目录下的RECOVERED_FILES目录下,被误删除的文件和目录都回来了,文件名目录名和结构都没问题,但中文名的文件乱码了。
不小心把gnome桌面最上面的标题栏(也就是gnome panel)给删除了,尝试恢复
网上找到文章说删除 ~/.gconf 就可以恢复,进去看了下,很多桌面程序的配置文件都在这里,全部删除显然不合适。
翻看这个目录下的文件,发现有个目录 ~/.gconf/apps/panel ,删除之,ctrl+alt+backspace,重新登录,pannel恢复
摘要: 在debian中添加一条路由,修改/etc/network/interfaces############################################################auto loiface lo inet loopbackiface eth0 inet static address 192.168.12.12 netmask 255.255.255.0 netw...
阅读全文
摘要: 1.要有程序代码-工作的代码是公司业务的起点。 2.要有(软件)工程背景的人做合伙人-一个既有工程背景又投入和开创公司业务的人。 3.聘用A+级的热衷于编写程序的工程师-聘用那些知道他们在“作什么”的人。 4.保持工程师团队小而精,不要把业务外包出去-大多数成功的创业阶段的软件公司都只是有几个非常优秀的工程师建立起来的。 5.在工程师面试中要多提问专业性很强的问题-聘用...
阅读全文
摘要: 昨天在家使用windows时遇到一个现象,新建一个名为com1的文件夹,竟然不能成功,其它名称就可以,提示信息是"Thespecifieddevicenameisinvalid",竟然不是folder而是device,怪异! Google之,发现Windows无法以设备名来命名文件或文件夹,而com1正好是Dos时代的设备名称,不只是com1不行,以下的名称都不行 CON AUX COM1 COM...
阅读全文
摘要: exportLESS_TERMCAP_mb=$'"E[01;31m' exportLESS_TERMCAP_md=$'"E[01;36m' exportLESS_TERMCAP_me=$'"E[0;32m' exportLESS_TERMCAP_se=$'"E[0;36m' exportLESS_TERMCAP_so=$'"E[01;44;32m' exportLESS_TERMCAP_ue=$'...
阅读全文
摘要: wget-mftp://xxxx/dirname--ftp-user=user--ftp-password=password m参数表示镜像指定的目录等同于-r-N-linf--no-remove-listing 能实现此功能的另一个办法是 wget-rtxxftp://172.16.12.111/ppp/* r是断点绪传,t是失败后可重新联接的xx次。 例如从ftp上直接下载整个目录到本地,我使...
阅读全文