ubuntu 更新问题!(纠结的,搞了好几天!呵呵!总算搞定了!)

昨天新安装的ubuntu11.04时候突然出现如下问题

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/archive.canonical.com_dists_lucid_partner_i18n_Translation-en
E: The package lists or status file could not be parsed or opened.

第一反应是需要更换源,可能是我装的ubunut11.04的版本,源过期什么的!

然后

sudo rm /var/lib/apt/lists/* -vf

更换源了重新update,但是还是有问题,从163源,上海源,台湾源都试验过了还是有问题!纠结的!

昨晚上回家在自己家电脑里面试验了一下,是好的!今天早上有查了一下电脑配置,也是没什么问题的,所以很肯定是公司网络问题的!

决定用代理方式来更新,目前只想到了这种方式!一下为解法,反正OK了,清明节出去玩也会开开心心了!呵呵!

以下方案供大家参考

需要额外一台win主机(在ubuntu下VBOX虚拟一个XP也行),和ubuntu机在同一局域网

假定该win主机ip是 192.168.0.108 。在win主机上安装fiddler 软件(http://fiddler2.com/fiddler2/) ,启动fiddler,
1.选择菜单Tools->Fiddler Options->Connections->Allow remote computer to connect,需要选择该选项

2.选择菜单Rules->Custom Rules ,在新打开得文件中添加几行代码 (在函数OnBeforeResponse得末尾)


static function OnBeforeResponse(oSession: Session) {
if (m_ShowTimestamp){
oSession["ui-customcolumn"] = DateTime.Now.ToString("H:mm:ss.ffff") + " " + oSession["ui-customcolumn"]; 
}

if (m_ShowTTLB){
oSession["ui-customcolumn"] = oSession.oResponse.iTTLB + "ms " + oSession["ui-customcolumn"]; 
}

if (m_Hide304s && oSession.responseCode == 304){
oSession["ui-hide"] = "true";
}
//------------这是我添加得

if (oSession.oResponse.headers.ExistsAndContains("Content-Type", "text/html")){

var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);

var iStart = oBody.IndexOf("http://hi.wbsite.cn/404/404.htm");

if(iStart != -1) {

oSession.oResponse.headers.HTTPResponseCode = 404;

oSession.responseBodyBytes = System.Text.Encoding.UTF8.GetBytes("");

oSession.oResponse.headers.HTTPResponseStatus = "404 Not Found";

}

}

//@ray --添加完毕

}



使用以下命令更新 sudo apt-get -o Acquire::http::proxy="http://192.168.0.108:8888/" update 即可(此处ip和上面win主机ip保持一致)。安装软件则不用加代理,比如:apt-get install gcursor




你可能感兴趣的:(session,面试,网络,function,File,ubuntu)