龙芯机器的 Debian 依赖出问题了

上次更新软件列表后,totem-plugins gnome-power-manager 等包的依赖就出现了问题,导致 gnome-desktop-environment 等包被删除了。

由于一直通过 XDMCP 方式在使用 Ubuntu 系统,也就一直没有管它,当今天再次更新一下软件列表后,发现只有 totem-plugins 的依赖存在问题了。

我把 totem-plugins 下载下来,解开后把依赖修改了一下,从本地安装上后,成功安装了 gnome-desktop-environment,等待以后的修复就可以升级了。

Over!

ndd – 支持网络的 dd 工具

支持网络传输的 dd 程序,目前实现了网络传输和 dd 的部分功能。

使用案例
1. 创建一个 4GB 大小的空文件

./ndd if=/dev/zero of=hd.img bs=4096 count=1048576

2. 复制映像文件中的第一个分区

./ndd if=hd.img of=p0.img bs=512 skip=63 count=1975995

3. 从主机(192.168.0.1)复制硬盘的我一个分区到本地(192.168.0.2)的第二个分区
主机(192.168.0.1)

./ndd if=/dev/sda nof=192.168.0.1:9000 bs=512 skip=63 count=1975995

主机(192.168.0.2)

./ndd nif=192.168.0.1:9000 of=/dev/sda bs=512 seek=74220300

注意:用于网络传输时,建议双方 bs 相同。

源代码:http://www.heiher.info/service/projects/ndd/

Over!

PS/2 接口的键盘、鼠标改造成 USB

由于 USB 接口的易用,几乎所有的计算机都支持了这一接口标准。而古老的 PS/2 已经被淘汰,可能在你的笔记本上就已经没有 PS/2 接口了吧?

本文讲解一下如何通过 DIY 方式改造 PS/2 接口为 USB 接口。

我们先了解一下 PS/2 接口的各个针脚的定义(左为插头、右为插座):
1043147_999960

再了解一下 USB 接口的针脚定义:
1043149_424251

连接方法:

USB 针脚 PS/2 针脚
1 3
2 5
3 1
4 4

Over!

解决 Android 同步连接问题

这几天遇到这么一个奇怪的问题,06:00 – 09:00 可以正常连接到 Google 的服务器,Gmail、Market、Contacts、Calendar 同步才能正常使用,其它时间都显示“No Connection!” 除了 Gtalk ,其它所有的服务都不能正常使用。

我在不正常的时间段里 ping 了一下 android.clients.google.com,发现这些服务器是可以 ping 通的,综合上面的情况,问题多数不在GFW上。

我又在正常的时间段内 ping 了一个地址: 216.239.61.100,并在 /etc/hosts 中设置了一个静态的解析。测试发现在不正常的时间段内可以正常使用。

设置方法(需要有 root 权限):

su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
echo "216.239.61.100 android.clients.google.com" >> /etc/hosts
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system

Over!

Linux 源代码阅读工具

阅读 Linux 是一件很麻烦的事情,都不知道从哪里开始。即使阅读其中很小的一部分,都可能涉及到很多个源文件,分布在不同的目录中,如何去定位函数和变量在哪里申明的成为了阅读过程的一大障碍。

LXR(Linux Cross Reference) 改变了这一切,它对 Linux 源代码(各个版本)中所有的符号都建立了索引,并提供简单、快速的查询接口。在阅读源代码的过程中可以轻松的查找到相关符号的声明处。

LXR 网站地址:http://lxr.linux.no

Over!

SSH TCP 转发之反向连接

当你需要连接一台子网或防火墙内的且没有做端口映射的SSH服务器,又刚好你的客户端是有公网地址的,你是怎么怎么做的呢?现在我有一个比较不错的办法,就是SSH的TCP转发功能。

SSH 客户端可以将本地机器上的一个端口M与远程主机上的一个端口N映射起来,这样我们在本地机器访问这个端口M就和在远程主机访问端口N一样了。

对了,这里地要想实现我们的反向连接还有一个条件,就是你的本地机器也得安装 SSH 服务器程序。下面我们说一下具体的操作。

子网主机执行

$ ssh -f -N -R 8000:localhost:22 username@remote_ip

这是是将本地的 22 号端口与远程主机的 8000 号端口(SSH服务)映射起来。

公网主机执行

$ ssh username@localhost -p 8000

Over!