ext3 文件系统报错 bad entry in directory

买一超级便宜U盘: usb 2.0, 512G 40RMB. 直接插电脑, 写入速度1.3 ~ 3.6 M/s.
格式化为 ext3, 快速硬盘检查, 无问题. 接到路由器的USB hub, 开始aria2 文件下载.
arias 配置文件, 及 downloads 目录创建正常.
几分钟后, downloads 目录无法写入, 所有bt下载全部被删除.
telnet 登上去, touch 文件显示: : Input/output error
查看读写权限, 全有, 并且使用root来写入, 排除权限问题.

查看系统日志, 显示:
EXT3-fs error (device dm-0): ext3_readdir: bad entry in directory #5556142: rec_len is smaller than minimal - offset=0, inode=2553887680, rec_len=0, name_len=0

根据google 结果, 修复:
http://www.novell.com/support/kb/doc.php?id=3554036

Situation

At reboot, or mount of an EXT3 file-system, an error similar to the one below is seen:
EXT3-fs error (device dm-0): ext3_readdir: bad entry in directory #5556142: rec_len is smaller than minimal - offset=0, inode=2553887680, rec_len=0, name_len=0

Resolution

This error is caused by a file that has been marked as a directory. This is a non-fatal error and can be fixed by removing the file in question.

  1. Mount the file-system in question
  2. Locate the file that has been corrupted. The file's inode is the number after "bad entry in directory" Using the example error code the file would be found by typing
    find /MOUNT_POINT-inum 5556142
  3. Delete the file identified in step two
  4. Umount the file-system
  5. Check the disk, and check for errors.
    fsck/dev/PHYSICAL_DEVICE
  6. Repeat step 5. If no errors, the file-system is clean.

Could not get any response

取大图 js

  1. 最简单的取
    var imgs = $("#imgC").find("img");
    for (var i in imgs) {console.log($(imgs[i]).attr('src'));};
  2. 替换图片大小
    var imgs = $("#imgC").find("img");
    for (var i in imgs) {console.log($(imgs[i]).attr('src').replace("$_14.JPG", "$_10.JPG"));};
  3. 加入 img 标记, 并合并输出
  • var imgs = $("#imgC").find("img");
    var htmlStr = "";
    for (var i = 0; i < imgs.length; i++) {
    try {
    if ($(imgs[i]) && $(imgs[i]).attr('src')) {
    htmlStr += "<img src='" + $(imgs[i]).attr('src').replace("$_14.JPG", "$_10.JPG") + "'>\r\n";
    }
    } catch (err) {
    console.log("error: " + err);
    }

    };
    console.log(htmlStr);

  1. 加入全部需要 html 元素
  • var imgs = $("#imgC").find("img");
    var htmlStr = "

    ";
    for (var i = 0; i < imgs.length; i++) {
    try {
    if ($(imgs[i]) && $(imgs[i]).attr('src')) {
    if (0 === i % 2) {
    htmlStr += "

    <img src='" + $(imgs[i]).attr('src').replace("$_14.JPG", "$_12.JPG") + "'>\r\n";
    } else {
    htmlStr += "<img src='" + $(imgs[i]).attr('src').replace("$_14.JPG", "$_12.JPG") + "'>

    \r\n";
    }

          }
      } catch (err) {
          console.log("error: " + err);
      }
      
    

    };
    htmlStr += "

    ";
    console.log(htmlStr);

一步一步设置windows IE 代理

设置代理:

  1. 打开文件夹: C:\goagent\goagent-goagent-2a0cc18\local
    请输入图片描述
  2. 双击击 proxy.bat, 出现如下窗口, 不要关闭, 最小化
    请输入图片描述
  3. 打开IE 浏览器, 点击右上角“设置”图标, 然后双击 Internet 选项(O)
    请输入图片描述
  4. 出现如下窗口,然后点击 连接, 然后点击 局域网设置
    请输入图片描述
  5. 出现如下小窗口, 选中 代理服务器 中的勾, 然后点击 确定
    请输入图片描述
  6. 连接窗口点击 确定
    请输入图片描述

取消代理:

把上面第5步中的勾去掉,然后点击确定

路由器上的网站从 Http 到 Https

http: Hypertext Transfer Protocol
http 协议解决了客户端和服务器端的通信问题, 位于七层网络协议模型中的应用层, 是一个无状态的明文传输协议. 默认使用80端口, 但是可以使用其他端口.
由于使用明文传输, 所以中间人可以截获消息包, 并且修改, 然后还可以假装源, 重新发出去.

https: Hypertext Transfer Protocol Secure
https 是 http 在它的下一层使用 SSL 或 TLS 来加密, 保证传输的安全性. SSL 又分为 SSL record 协议和SSL 握手协议.

由于家里的 IP 地址的80端口被联通封了, 但是443端口是开放的, 所以使用 https 协议能避免端口非80的问题, 比如使用 https://home.tianxiaohui.com 比 http://home.tianxiaohui.com:90/ 要好看一点.
既然使用 https, 那就需要证书, 证书可以自己签发, 就比如 12306现在那种, 不过每个浏览器都会弹出一个警告窗口, 告诉用户这个证书不受信任. 另外一种就是让 CA 签发一个证书, 现在能签发证书的CA 还是比较多的.

  1. 对于 Windows 系列的 OS (操作系统某些时候也是需要证书的) 及 IE 浏览器 , 可以签发证书的 CA 列表: http://social.technet.microsoft.com/wiki/contents/articles/14215.windows-and-windows-phone-8-ssl-root-certificate-program-member-cas.aspx

  2. 对于Mozilla Firefox 系列, 可以签发证书的 CA: http://www.mozilla.org/en-US/about/governance/policies/security-group/certs/included/

  3. Apple 的 OS 及 safari: http://www.apple.com/certificateauthority/ca_program.html

  4. Chrome : http://www.chromium.org/Home/chromium-security/root-ca-policy

大概浏览一下, 发现中国的 CA 只有这2家公司: http://www.cnnic.cn/ & http://www.sheca.com/ 但是发现后者签发的某些证书在ff 还是显示警告.

这些 CA 中有一家 CA 提供的 certificate 是免费的: https://www.startssl.com/ 作为个人可以申请 class1的 certificate, 是免费的.
certificate 分为 class1, class2, class3, 和 Extended Validation 这4种. 区别看这里: http://weekend.blog.163.com/blog/static/74689582012030840165/

EV 证书能在浏览器显示一个绿色的区域, 里面显示认证的公司名字之类的信息, 让用户更加信任, 当然得到的成本也比较高.

nginx 安装证书
安装比较简单, 把获取的证书的 cert 和 key, copy 到服务器的某个目录, 然后修改 nginx 配置文件, 使用443端口.

使用中的问题: 一旦使用 https, 那么原来使用百度 CDN 的 js 库, bootstrap 的库, 就不能用了, 因为 https 的文档中不能使用http 的请求, 包括那些 js, css, image, fonts文件等.