分类目录归档:Linux

探索Linux奥秘!

openwrt+xbmc 媒体中心演示

昨天从淘宝买的4 port 外置电源的usb3.0 hub到了,用于弥补wr703n路由器usb口不够用和电力不足的问题,做了一系列的应用测试,运行稳定,没有出现类似以前移动硬盘读写时突然丢失要重新插拔的情况。我的小心情又开始有点……,就忍不住要拿出来再秀一秀。

我再简单介绍下各个装备,就不上图了,直接看视频吧,如果不明白还可以参照之前我写的一篇文章《菜鸟初玩openwrt》继续阅读

UltraEdit for Linux 3.3 4.0 keygen/破解

我承认我得干一件不仗义的事了,请原谅我抵不住ULtraEdit的诱惑。从国外网站上下到的keygen,目前成功激活了3.3.0.4 32位版和4.0.0.7 64位版。

1.编辑/etc/hosts,添加以下内容
127.0.0.1 licensing.ultraedit.com

2.从官网下载 UltraEdit 3.3 或 4.0.0.7 版,安装运行,出现“互联网激活”的窗口。
在“许可证ID”处随便输入一些数字(提示无效的话适当缩短字符长度),密码处随便输入一些字符,点击激活按钮,弹出连接错误的窗口,选”脱机激活”。

3.下载运行keygen,输入“脱机激活”窗口中的“用户码1” “用户码2”,将生成的”验证码1″ “验证码2” 复制到脱机激活窗口,激活即可

下载
keygen_ue.zip

此注册机可激活的uex 4.1.0.5之前的版本,前往这里下载

ubuntu 12.04(deepin 12.06) 中启用双指滚动(two finger scroll)

之前《ubuntu下启用 synaptics 双指滚动》这篇文章提到在系统配置中开始又指滚动,然后再设置一个变量即可,为了避免每次开机都要执行这条命令,把它加到了rc.local中,系统启动都会自动执行。但这个方法在在ubuntu 12.04 (deepin 12.06)中行不通了,首先双指滚动的选项是恢色的,不能选,只能把VertTwoFingerScroll、HorizTwoFingerScroll(开启水平、竖向双指滚动)两个变量也加入rc.local;还因为系统设置中没有开启又指滚动,进入系统后在rc.local中设置的VertTwoFingerScroll、HorizTwoFingerScroll两个变量会被覆盖成0。所以解决这个问题必需要打开系统设置中的双指滚动,既然系统设置中是恢色不能选,就只能通过dconf-editor来直接修改配置文件了。详细步骤如下:

1.将下列内容加到/etc/rc.local:

synclient EmulateTwoFingerMinZ=29
synclient EmulateTwoFingerMinW=6
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1

或者修改:/usr/share/X11/xorg.conf.d/50-synaptics.conf 在Identifier “touchpad catchall” 所在section的最后加入如下内容:

Option "EmulateTwoFingerMinZ" "29"
Option "EmulateTwoFingerMinW" "6"
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"

上述方法二选一,第二个方法有风险,操作失误可能会导致X启动不起来

2.
安装dconf-editor:
sudo apt-get install dconf-tools

开始双指滚动:
运行dconf-editor,找到org.gnome.settings-daemon.peripherals.touchpad ,修改scroll-method 的值为”two-finger-scrolling”

重启电脑双指滚动又回来了

解决wine thunder5(迅雷) bt乱码

一些使用了非utf8编码的bt种子,用wine thunder5 打开中文全是乱码,之前尝试用python写了个转码工具,转完后不但乱码没了,速度也没了。刚在ubuntu论坛看到解决方法,需要在wine环境中安装IE6,以deepin 12.04 为例,操作方法如下:

export WINEPREFIX=~/.deepinwine/wine-thunder5/
winetricks ie6

一路确定,直到出现有“Install a windows dll or component”的窗口,选中该项,然后确定,选中“ie6”,等待安装完成。
安装过程可能需要手动下载ie6的安装包,下载后放入指定的文件夹,再次执行上面的命令。
安装完成后,运行:

winecfg

在应用程序标签中将 “windows 版本”改为 “windows98”,这个操作可以解决下载到99%无法完成和经常退出的问题。重启迅雷,种子文件中非utf8编码的中文就可以正常显示了。

让七彩虹(colorfly)c3可以正常工作在linux下

刚刚收到c3接上电脑没有任何反映,换到windows下也认不到,后来得知要将c3关机再连接电脑,windows一切正常了,linux下还是认不到c3的内置存储,通过内核信息google到唯一一个俄文 页面提到了c3 不能在linux下被认到的情况,并给出了解决办法,分享一下。

这个问题源于usb_storage驱动c3时发生了错误,无法使c3进入usb 模式,该问题好像也存在于sony的一些mp3设备,这些设备不遵循传统的usb标准,存在怪癖。解决办法就是在加载usb_sotrage 驱动模块时指出存在怪癖的地方,使驱动把这些过程跳过去。对于C3来说具体方法如下:

新建文件 /etc/modprobe.d/colorfly_c3.conf ,在其中加入下面这行内容:

options usb-storage quirks=0755:2205:bmw

其中 0755:2205 是colorfly c3的设备ID,b — 不考虑SENSE代码错误;m — 将缓冲区的大小减少为64K;w — 不检查设备的写保护,重启电脑c3应该会被系统自动识别。如果还是没有正常进入usb连接模式,再尝试执行以下命令:

sudo update-initramfs -u

将上述模块配置信息更新到initrd文件中,重启电脑即可。

菜鸟初玩 openwrt

在一个月前其实根本不知道openwrt为何物,或许它曾在我眼前出现过,终因无缘被我淡忘。这次奇遇缘起寻找一款支持vpn的路由器,google中出现最多的就是openwrt ddwrt,对两者进行了简单了解,我觉得openwrt可能更合适一点,而且功能远不是当初我能想像的,有人给路由器扩展usb 结合wrt 搞出很多有趣的玩意,这让我想起了几天前刚刚看到的tplink一款3g无线路由器 wr703n ,正好有一个usb口,在openwrt的supported device中查找wr703n 还真找到了。不过wr703n这种配置是有点难受 32m ram 4m flash,随后在淘保找到一个店家,采购了一个ram升级到64m flash升到8m的版本。几日到手后开始了近一个月的研究折腾。 继续阅读

修改ubuntu、debian下crontab的默认编辑器

因为不喜欢nano,想换用vim,google 中有用环境变量的,有用 select-editor 的,但select-editor不是总是存在的,只好自己分析研究下了。

在debian (wheezy/sid) ubuntu 下分别用 strace 对crontab -e 进行了跟踪, 发现crontab都是使用sensible-editor作为编辑器的。ubuntu下sensible-editor 会查找 /home/<username>/.selected_editor 文件,如果没找到,则列出系统当前可用的编辑器,提示用户选择,如果文件存在,读取文件内容并用指定的编辑器打开文件;debian下 sensible-editor查找系统变量中各bin目录下是否存在editor,然后使用editor打开文件,同时editor是指向 /etc/alternatives/editor 的软链接,/etc/alternatives/editor 又是指向具体编辑器的软链接,所以修改方法自然明了了,alternatives是debian 包管理系统提供,所以使用以下命令可以直接修改alternatives 下的软链接:

update-alternatives --config editor

然后选择自己喜欢的编辑器就ok了。

浅谈web服务器安全

刚入linux这行的时候,我心思都在服务器性能方面。在从事了两份工作后发现,一些小站就十几二十台服务器,管理方便,技术选择性多,性能是少量资金投入就可以解决的问题。安全方面知识我知之甚少,现在来看这些小站普遍的问题是安全意识薄弱,遭受过不同程度上的攻击。现在的公司就是如此,网站被挂马,服务器上的所有站都被篡改,在我接手后还没有有效的应对措施,自己也在不断摸索,目前有了一些小进展,并且发现了一些开源工具,来说说我的思路。 继续阅读

python实现,修改cisco交换机配置

该脚本实现了自动登陆cisco交换机,可在特权模式、配置模式、子配置模式间自由切换,还实现了添加、修改缺省网关的功能。当然你可以使用返回的expect对象,执行其它交换命令。

需要安装python pexect模块,该模块不支持windows,所以此脚本也就不能运行在windows下。
继续阅读

python实现,通过ping监控主机状态

简单用python实现了一段监控主机状态的代码,有两个线程,一个线程负责执行ping,将ping的结果保存在主进程的LIST中,另一线程负责检查该结果,并在检测到主机状态变化时执行其它操作,比如发送邮件报警等。有两种情况会认为主机down了,一是当连续5个ping包都timeout时;二是在20次ping 中有10个timeout时,后者主要目的在于当主机线路出现抖动(时通时断)时也认为主机不可用了;在主机处于down状态时,连继5次ping包都正常,则将主机状态恢复为up。

目前该脚本还有些不足,threading创建多个线程后,发送给主进程的SIGINT信号都被阻塞了,所以ctrl+c不能中止程序,要直接kill掉才行,正在想法解决。
以上问题已经解决,将子线程设置为Daemon,主进程不再被子线程阻塞,可以正常接收信号。为保证主进程不退出,使用一个判断子线程是否存活的循环,子线程中增加判断全局的一个标记,如果标记为True则结束并退出,主进程收到ctrl+c的信号后,将全局的标记设置为True,子线程退出,主进程检测到线程没有存活也就退出。

在我们实际应用中,主机状态发生变化执行操作是邮件通知和修改三层交换机默认网关,两个功能也是通过python来实现的,目前代码很不整洁,待整理后放出。

继续阅读