Archive for the ‘Linux’ Category

指定git使用其他sshkey

Wednesday, August 18th, 2010

一般使用第三方code hosting网站(如GitHub)需要上传你的sshkey公钥,这个步骤很简单,网上一搜就有。不过有些情况你不想用默认的~/.ssh/id_rsa和id_rsa.pub作为你的sshkey,因为你希望在github这类网站上就使用一个sshkey公钥,然后在不同的机器上都使用这对公私钥,省得制作一堆key上传麻烦。 原先以为可以通过git自身的设置来达到目的,后来意识到和它没关系,仅仅需要配置下ssh就行。 在~/.ssh/config文件附加下面一段: Host github.com # 必须写一样的hostname,因为是要ssh xxx@github.com HostName github.com User git # 不是你在github上的账户,必须是"git" ...

迁移旧硬盘上的Linux到新硬盘(LVM)

Sunday, February 7th, 2010

买了块新的大硬盘,准备把原先硬盘上的Slackware迁移过去,并且采用LVM,xp不要了换成Win7。记录下迁移过程和遇到的一些问题及解决方法。 用Slackware 13.0 dvd系统盘引导启动,并分区。Slackware 从12.0开始支持安装系统到LVM。 Device Boot Start End Blocks Id System /dev/sda1 * 1 ...

养一下驴子

Saturday, December 19th, 2009

用MLDonkey很久了下不热门的资源一直非常慢,以至失去用ed2k网络的兴趣了。最近才发现原来是我没有开启MLDonkey的KAD功能 -_____-!! 没有KAD之类的技术用P2P久失去了很大的乐趣。 下面记录下几点设置,我不太懂养驴子,应该还有使驴子跑得更快的设置,还请路过大大教教我 ;-) 1. MLDonkey里的enable_kademlia设为true 2. 网上看到说需要nodes.dat和contact.dat(其实这个文件不需要了,是eDonkey的Overnet网络,现在eMule的ed2k和KAD网络足矣),而且还得手工添加。其实可以通过配置MLDonkey的download.ini文件来实现自动更新nodes.dat文件。 ~/.mldonkey/download.ini web_infos = [ ("server.met", 0, "http://sn.im/server.met"); ("nodes.gzip", 1, "http://upd.emule-security.net/nodes.dat"); ("contact.dat", 168, "http://download.overnet.org/contact.dat"); ("geoip.dat", 0, "http://www.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz"); ("guarding.p2p", 96, "http://www.bluetack.co.uk/config/level1.gz"); (hublist, 0, "http://dchublist.com/hublist.config.bz2");] 主要修改"server.met"和"nodes.gzip"两段,server.met用的参考[1]里提供的链接,设成0是表示只需在MLDonkey启动时载入; nodes.gzip用的参考[2]里提供的链接,设成1是表示每1小时更新一次。其他字段默认。 参考: [1] 安全eD2k服务器列表 2009-11-28 [2] Kad节点文件 nodes.dat [3] 终于可以在ubuntu上养驴了 [4] [问题]mldonkey可以连接kad吗?

本地机器上运行远程X程序、X环境

Friday, November 6th, 2009

X11Forwarding X11转发,在本地机器(Linux/Windows)上运行远程服务器上的X程序 ***Linux*** 方法1、2是在本地Linux机器上的当前窗口上显示远程服务器上的X程序(单独窗口的形式); 方法2、3使用SSH的X11转发,因此确保远程服务器上的/etc/ssh/sshd_config的X11Forwarding为yes; 方法3、4是在本地Linux上新的控制台下的新的X server上运行远程服务器的完整X环境; 方法1、4需要设置DISPLAY环境变量; * 所有方法在两端都不需要root权限 * 192.168.1.xx 为本地Linux的IP 方法一: 本地Linux: $ xhost + $ ssh user@remotehost 远程服务器: $ export DISPLAY=192.168.1.xx:0[.0] ...

shortname以及自动挂载

Tuesday, August 18th, 2009

一切问题来自我前些天在优盘上搞的移动版的wiki(采用DokuWiki),插上优盘后,直接编辑我的wiki。但是发现有些页面是空白,功能不正常。后来发现是因为某些文件文件名在Linux下挂载后发生了变化,比如:"JSON.php"变成了"json.php",造成了wiki无法正常运行 -______-!! /etc/mtab显示有一个选项是shortname=lower,于是顺藤摸瓜google,发现通过手工挂载用参数shortname=mixed就正常。Linux下mount对fat/vfat文件系统(通常就是优盘的文件系统格式)默认挂载参数shortname的值就是lower。其实这个不太好,所有有人给了patch建议改成默认为shortname=mixed,可以看如下代码,更多见LKML里的讨论: diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 8970d8c..f9af501 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c @@ -971,7 +971,7 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug, opts->codepage = fat_default_codepage; opts->iocharset = fat_default_iocharset; if (is_vfat) { - opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95; + opts->shortname = VFAT_SFN_DISPLAY_WINNT|VFAT_SFN_CREATE_WIN95; opts->rodir = 0; } else { opts->shortname = 0; 这个shortname参数都是因为有8.3文件名这种东西的存在而存在的,可以参考Wikipedia上的这篇文章。 还没完,每次手工挂载太蠢了。所以我想到了HAL,当时觉得可以改变默认的mount挂载参数(但事实不是)。还找到了如下的HAL policy: ...

1234567890

Wednesday, February 11th, 2009

这个数字最先是从王聪大哥的饭否那儿得知。后来陆续的就有相关报道,不知道这个代表啥的请看这篇文章。图新鲜,想亲手把这数转成具体时间看看。当时不知道 date 命令能很方便的转换,就用了 Python,于是问题随之而来。 vvoody@slackware:~$ python Python 2.5.2 (r252:60911, Sep 11 2008, 13:43:31) [GCC 4.2.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from time import strftime, gmtime, localtime >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(1234567890)) 'Fri, 13 Feb 2009 23:31:06' >>> strftime("%a, %d %b %Y %H:%M:%S", localtime(1234567890)) 'Sat, 14 Feb 2009 07:31:30' >>> strftime("%a, ...

Vbak – Linux 下备份小工具

Thursday, October 30th, 2008

看了 WANG Cong 的 Qbak 后,写了这个小脚本,以满足我自己的需求。 就是简单地把你想备份的文件复制到备份仓库里(一个文件夹而已),并且可以给文件打上标记(Tag),方便将来操作一组文件。脚本也支持自动更新备份列表中的文件,检出(checkout)一组文件,取消文件的备份,列出已备份的文件。 Vbak 基本可以使用, 现已作为我日常使用. 欢迎大家帮我捉虫, 改进代码质量 ;-) 项目地址: http://code.google.com/p/vvoodys/source/browse/#svn/trunk/vbak

Grissiom 帮我完善的 APE/Flac 转 mp3/ogg 脚本

Sunday, October 19th, 2008

一开始我的脚本只支持转换成 mp3,后来 grissiom 提出并自己增加了 ogg 格式的支持,下面贴出比较完善的版本。 主要改进: 增加转换格式选项,支持 mp3/ogg; 把 your.ape|flac 这个参数去掉了,现在脚本可以从 cue 里面提取文件名; 修改了程序说明,优化程序结构; 写入 mp3 的 id3 采用 slackbuilds.org 上的 id3v2,你也可以继续采用 mutagen,修改相应注释即可; 感谢 Grissiom ^_^ #!/bin/bash # Split the big single ape/flac file to mp3 or ogg files. # Lastly, write the id3(version 2) tag info into the mp3s or oggs. # # Ensure that your cue file is ...

那个 APE/Flac 转 mp3 脚本的更新

Friday, October 17th, 2008

用我之前写的那个 ape/flac 转 mp3 的脚本转最近下的几张专辑,发现多出一个 00.pregap.mp3; 并且 id3 写入也不对,后一个的 id3 写入了前一个的。 问题出在这些专辑抓录的时候在最前面多了段 gap,对应生成了 00.pregap.mp3 这个文件,于是原本第一首音乐的 id3 写到了 00.pregap.mp3,以此类推。 解决方法只要在脚本写入 id3 之前把那个 00.pregap.mp3 删掉即可。如果有朋友在用这个脚本,务必请更新一下;-) --- one2mp3s.sh 2008-10-13 15:56:36.000000000 +0800 +++ one2mp3s.fix.sh 2008-10-13 17:18:52.000000000 +0800 @@ -53,6 +53,12 @@ # More output format, see `man shntool` shntool split -f "$cuefile" -t '%n.%t' -o ...

[Bash脚本]APE/Flac分轨转换成MP3,并正确写入id3v2

Friday, August 1st, 2008

硬盘里有一些APE/Flac文件,越发觉得它们太占地方。这两种格式对我来说唯一的好处是,可以找到好唱片。故我准备把它们转换成mp3格式。网上搜了一下,发现这篇和那篇文章提供了一些解决方案。但前者需要生成中间文件,而且只支持flac格式; 后者无法写入mp3的tag信息,也就是 id3。所以,自己hack一下,有了下面两个shell脚本。 没啥技术含量,就是把各种工具组合一下,一劳永逸了;-) 我对shell用得不熟,如脚本有错误或不精确处,还请指正。 您需要: mac - 用于处理APE格式的; flac - 用于处理flac格式,多数发行版都已安装; lame - 著名的mp3编码器; cuetools - 从cue文件中提取信息; mutagen - 一个处理音乐文件tag信息的python库,我们用它来向mp3写入id3v2; shntool - 像是一个容器,在各种音乐格式间转换,非常强大!(墙ed) 如果你是用的Slackware,我用src2pkg把除了flac的都打了包,可以从这儿下载 ;-) 用前请把你的 cue 文件转换成 UTF-8 编码。 这里有一个格式化加亮的代码版本。 用处一: 如果你有一个大的单个未分轨的APE/Flac文件,以及它对应的 cue 文件,想把它分轨并转换成mp3的话,并且要有tag信息的话,那么把下面这个脚本放到该 APE/Flac 所在目录,执行 ./one2mp3s.sh hifi.ape hifi.cue。自己根据实际情况改,支持 APE/Flac 格式。 #!/bin/bash # Split the big single ape/flac file and then convert to mp3 format. # Lastly, write the id3(version 2) tag info into ...