2009年5月7日星期四

vbox 使用常见问题

1,升级内核

/etc/init.d/vboxdrv setup

2,复制vdi文件

VBoxManage clonevdi old new

3,收缩虚拟磁盘

sdelete -c c:\ #win 清零磁盘分区
???? #linux 下不知道还
VBoxManage modifyvdi "Windows XP.vdi" compact

4,目录共享

VBoxManage sharedfolder add "VM name" -name "sharename" -hostpath "sharepath"
net use x: \\vboxsvr\sharename #win
mount -t vboxsf "sharepath" #linux

5,使用USB

vim /etc/fstab # 1002 is the USB group ID
none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0

6,使用物理磁盘

VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/HardDisks/UsbDisk.vmdk -rawdisk /dev/sda -partitions 1 -relative -register

7,网络

1),NAT

VBoxManage.exe" setextradata "guest_name" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/link_name/Protocol" TCP
VBoxManage.exe" setextradata "guest_name" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/link_name/GuestPort" 80
VBoxManage.exe" setextradata "guest_name" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/link_name/HostPort" 80

2),Bridge

chmod 666 /dev/net/tun
tunctl -t tap0 -u `whoami`
brctl addbr br0
ifconfig tap0 0.0.0.0 promisc
ifconfig eth0 0.0.0.0 promisc
brctl addif br0 tap0
brctl addif br0 eth0
ifconfig tap0 up
ifconfig eth0 up
ifconfig br0 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
route add default gw 192.168.1.1

2009年4月18日星期六

禁用组合键

郁闷死了,开 vbox 启用 usb 中的系统时误按了 ctl+alt+backspace ,导致桌面重启,usb 文件系统破坏。唉,还是把它们禁用了好。

1,ctl+alt+backspace

vim /etc/X11/xorg.conf

追加

Section "ServerFlags"
Option "DontZap" "yes"
EndSection

2,ctl+alt+del

vim /etc/inittab

注释

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

2009年4月17日星期五

debian下让virtualbox能使用usb的方法

1.创建一个 usbfs 的组,并且把当前用户添加到 usbfs 组中。

sudo groupadd usbfs
sudo adduser yourusername usbfs

2.编辑器 /etc/init.d/mountkernfs.sh

if [ -d /proc/bus/usb ]
then
domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid
fi

在其中加入 devgid=1003,devmode=644,其中 1001 是我的 usbfs 组的 id,请根据实际情况修改

if [ -d /proc/bus/usb ]
then
domount usbfs usbdevfs /proc/bus/usb usbfs -onodev, noexec, nosuid, devgid=1001, devmode=664
fi

3. 重启机器,再运行virtualbox的时候就可以使用usb了

4. usb 启动

VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/HardDisks/UsbDisk.vmdk -rawdisk /dev/sdc -register

http://www.geektang.com/2009/03/debianvirtualboxusb.html

2009年4月15日星期三

fontconfig

fontconfig

这里是一些常用到属性的列表,关于所有的属性请 manpage

# family - String - 就是一般所看到的字型的名称了, 如 Arial
# style - String - 字型的 style, 像是 Regular, Bold, Italic...
# spacing - Int - 字型的宽度, Proportional 是有不同的宽度, monospace 是单一的宽度 (如 terminal 的字型)
# antialias - Bool - 决定该字型是否要被 anti-alias 绘制; 只能用在向量字型上 # hinting - Bool - 决定该字型是否要打开 hinting
# autohint - Bool - 决定是否要用 Freetype 自己的 hint 方法来 hint 字型, 还是用预设的方法来 hint
# rgba - Bool - 决定是否要用 subpixel 的方式来画字, 可以是 none (只用灰阶), rgb, bgr, vrgb, vbgr

match 主要有两种用法,一种是 pattern match, 另一种是 font match. 前者会把所有的字型 match 出来,所以针对它的更改会套用到所有的字型的选择方式上。后者只是它是针对个别字型的属性作修改。

<match target="pattern/font">
...
</match>

中间放的可以是一连串的 test, 然后是一连串的 edit. test 的用法是:
<test qual="any|all|first|not_first" name="属性" compare="eq|not_eq|less|less_eq|more|more_eq|contains|not_contains">
...
</test>
any 指的是说, 只要字型的该属性 list 之中有一项有符合要 test 的值, test 就会成立。all 的话要 list 之中所有的都符合,first 要第一个符合, not_first 要除了第一个以外有符合的。通常只会用到 any, 预设也是 any. name 里面填的就是前面所提的属性, 如 name="family". compare 是比较的条件, eq 是相等, less 是小于, 以此类推。 <test> 所包住的那个值就是要用来比较的值,包括: int, double, string, matrix, bool 等等。一旦 test 的条件都成立, 就会进行到 edit 的阶段,代表编辑符合条件上述 test 条件的属性:

<edit name="属性" mode="assign|assign_replace|prepend|append|prepend_first|append_last">

注意在 fontconfig 中, 属性 (property) 可以是一个 list, 亦即一个属性可有许多的值。 assign 是说把 match 到的值取代掉, assign_replace 是说把该 list 的所有值取代成指定的值, prepend 则是插在 list 中被 match 到的那个值的前头, 以此类推。</edit></test>

参考:
Fontconfig用户手册
http://hi.baidu.com/jmlover/blog/item/5ce6a6864e29cf3f67096e0a.html
Fontconfig配置详解
http://hi.baidu.com/jmlover/blog/item/effef6036bb210ed08fa930a.html

字体设置 (简体中文)
http://wiki.archlinux.org/index.php/%E5%AD%97%E4%BD%93%E8%AE%BE%E7%BD%AE

2009年4月14日星期二

修改 linux 分区卷标相关命令

修改 linux 分区卷标相关命令
modify filesystem partition labels in linux.

package required
要安装的包
sudo apt-get install e2fsprogs
sudo apt-get install reiserfsprogs
sudo apt-get install xfsprogs
sudo apt-get install jfsutils
sudo apt-get install mtools
sudo apt-get install ntfsprogs

ext2/ext3/ext4
sudo e2label /dev/sdb1 my_label

reiserfs
sudo reiserfstune -l my_label /dev/sdb1

xfs
xfs_admin -l my_label /dev/sdb1

jfs
sudo jfs_tune -L my_label /dev/sdb1

fat16/fat32
sudo mlabel -i /dev/sdb1 ::my_label

ntfs
sudo ntfslabel /dev/sdb1 my_label

man CMD for details.
更详细的说明请看手册页。

Partitions generally need to be unmounted before you can fiddle with them, so unmount the partition of the device you want to change the label for.
卸载要操作的分区先。

2009年4月13日星期一

shell 提示符颜色

shell 提示符颜色

PS1="\[\033[1;36;31m\t \033[1;35;32m\w \033[1;31;34m\$ \033[0m\]"
转义序列要用 \[ \] 括起来,\033[1;36;31m 是最小的转义单位,也有用\e[1;36;31m的,可能是不同的 shell 的原因,

字体属性对照表:1、0、4、22、25、24、27、7,
字体属性定义表:黑体、非黑体、下画线、非下画线、闪烁、非闪烁、翻转、非翻转

前景颜色对照表:30、31、32、33、34、35、36和37
背景颜色对照表:40、41、42、43、44、45、46和47
颜色定义对照表:黑色、红色、绿色、黄色、蓝色、粉色、青色和白色

这是一些转义字符,下面详细解释:

\d :代表日期
\H :完整的主机名称
\h :仅取主机的第一个名字
\t :显示时间为24小时格式
\T :显示时间为12小时格式
\A :显示时间为24小时格式
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符
\n :新建一行

2009年4月11日星期六

Debian lenny amd64 硬盘安装

Debian lenny amd64 硬盘安装

对 ubuntu 很无奈,因为舍不得以前好不容易配置,暂先留着。

1,先用 gparted 把以前用来放电影的分区弄出一点来,分 /,/usr,/var,/home 分区(共享以前的 swap 分区),

2,下载 debian lenny 的 businesscard,再加上用来硬盘引导的 vmlinuz, initrd.gz, 这里要注意的是 businesscard ISO 中的 vmlinuz 和 initrd.gz 并不能用来从硬盘引导安装 debian。

http://cdimage.debian.org/debian-cd/5.0.0/amd64/iso-cd/
http://ftp.debian.org/debian/dists/lenny/main/installer-amd64/current/images/hd-media/

3,修改 menu.lst, 这里很方便的是没有像 ubuntu 那样多的参数,很简洁。

title Debian Install
root (hd0,6)
kernel /vmlinuz
initrd /initrd.gz root=/dev/ram ramdisk_size=20480
boot

4,安装过程中选择好分区,连上网络,就开始装了,很简单。

初步配置

1,成为sudoer
$su
#visudo
#vim /etc/group

2,安装scim
$sudo aptitude install scim scim-pinyin scim-tables-zh scim-bridge-client-gtk scim-bridge-client-qt
$mkdir ~/.xinput.d
$cd ~/.xinput.d
$ln -s /etc/X11/xinit/xinput.d/scim-bridge ./en_US
$ln -s /etc/X11/xinit/xinput.d/scim-bridge ./zh_CN

3,关于 locale
增加其它locale
$sudo vim /etc/locale.gen
$sudo locale-gen

关于 locale 的变量和文件
$LANG '/etc/default/locale' #系统 locale
$LANGUAGE '' #gdm登录界面语言
'~/.dmrc' #gnome 会话中语言

$cat ~/.dmrc
[Desktop]
Session=default
Language=en_US.UTF-8 #gnome会话语言

PS:从上面可以看出,即便是用 export 使命设置了系统的 locale,gnome 会话还是使用默认的语言,要想改变 gnome 会话语言,要么在登录时改变,要么编辑 ~/.dmrc 文件。

3,安装wqy
到 wqy 官方下载矢量字体 .ttc,放在字体目录/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc,和它的一个 44-wqy-zenhei.conf 文件,放在 /etc/fonts/conf.avail,在conf.d 中建一个连接
$fc-cache -fv
PS:为什么要到官方下载字体文件呢,因为 debian 中的 wqy 包较老了,比官方的要少等宽字体。

4,中文选择
$touch ~/.fonts.conf
$vim ~/.fonts.conf

5,安装 nvidia
$apt-cache search nvidia
$sudo aptitude install nvidia-kernel-2.6.26-1-amd64 nvidia-settings nvidia-xconfig
$sudo nvidia-xconfig

或安装官方 nvidia
$sudo aptitude install build-essential linux-headers-2.6.26-1-amd64 linux-image-2.6.26-1-amd64
$sudo ./NVIDIA-Linux-x86_64-180.44-pkg2.run
$nvidia-xconfig

6,其它
$sudo aptitude install samba smbfs smbclient ntfs-3g dosfstools

$sudo aptitide install iceweasel axel rtorrent azureus filezilla

$sudo aptitide install smplayer audacious

$sudo aptitide install ia32-libs ia32-libs-gtk
$sudo dpkg --force-architecture -i linuxqq_v1.0.2-beta1_i386.deb
注:Linux QQ输入中文解决
复制 32位的 im-scim-bridge.so,im-scim.so 到 /usr/lib32/gtk-2.0/2.10.0/immodules/ ,备份/etc/gtk-2.0/gtk.immodules.32,新建gtk.immodules.32,内容见评论。

2009年3月30日星期一

python 参考

pthon 学习参考

中文:
下面两篇都有 pdf 下载,不过还是第一篇结构合理些。
程序员指南.pdf
核心编程 第二版.pdf

英文:
直接看 /usr/share/doc 中的文档吧,没有就自己安装,文档例子很多,很容易读。

2009年3月28日星期六

mplayer中的声道问题

mplayer中的声道问题
左声道
mplayer -af channels=1:1:1 filename.rmvb

右声道
mplayer -af channels=1:1 filename.rmvb

2009年3月27日星期五

启动管理器

gnu grub

stage1(mbr), stage1.5, stage2, menu.lst
manual: http://www.gnu.org/software/grub/manual/html_node/

grub4dos

mbr, grldr, menu.lst
wiki: http://grub4dos.sourceforge.net/wiki/

lilo

mbr, map, boot.b, lilo.conf
manpage: http://swoolley.org/man.cgi/lilo

syslinux

mbr, ldlinux.sys, syslinux.cfg
http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project

isolinux

mbr, isolinux.bin, isolinux.cfg
http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project

2009年3月26日星期四

bash shortcuts

http://blog.neu.edu.cn/sonic3021/archives/46

Bash快捷键
一般組合鍵

* Ctrl-U: 清除一行中游標之前的所有文字。
* Ctrl-H: 移除游標前的一個字元。
* Ctrl-D: 結束輸入。(如果您在 shell 下,就會跳出該 shell)
* Ctrl-C: 終止正在執行的程式。
* Ctrl-Z: 暫時停止程式。 (將該工作放到背景)
* Ctrl-S: 停止輸出到畫面上。(類似 Scroll Lock)
* Ctrl-Q: 回復輸出到畫面上。
* 上/下箭頭: 開始搜尋過去的命令。
* Ctrl-R: 開始漸進收尋過去的命令。
* TAB: 擴展要輸入的檔案到命令列上。
* Ctrl-V TAB: 輸入 TAB,而不是命令列擴展

Emacs 模式下的組合鍵

Bash組合鍵運行預設是emacs模式,但也可以改環境變數EDITOR 成Vi 模式。但是GNU/Linux 下大部分的文字應用程式預設都是emacs模式,建議學emacs模式比較方便。

* Ctrl-A 游標跳至行首,也可用 Home
* Ctrl-E 游標跳至行末,也可用 End
* Meta-B 游標倒退跳一個字
* Meta-F 游標向前跳一個字
* Ctrl-U 從游標倒退刪回至行首
* Ctrl-W 從游標倒退刪最後一個參數, 看起來跟 meta-backspace 一樣
* meta-d Kill from the cursor to the end of the current word, or, if between words, to the end of the next word.
* Ctrl-K 從游標向前刪至行尾
* Ctrl-Y 貼上bash刪除緩衝區裡的內容 或 Insert鍵
* Meta-Y Rotate the kill-ring, and yank the new top
* Ctrl-_ 回手(undo)

巨集

* Ctrl-x ( 開始紀錄巨集
* Ctrl-x ) 結束紀錄巨集
* Ctrl-x e 執行巨集

命令回溯運行

* !xyz回溯運行最後一個以xyz開頭的命令
* !?xyz回溯運行最後一個包含xyz 的命令
* !!回溯運行前一命令
* !號碼n回溯運行第n號命令
* !-號碼n(倒數第n號命令)
* !* 前一命令的所有參數(意即 前一命令去掉第一個字)
* !^ 前一命令的第一個參數
* !$ 前一命令的最後一個參數(這裡字是指以空白分開的 "詞" 而非 字元) 相當於 Meta-. 或 meta-_ 鍵

修改回溯命令內容

* ^被取代字元^取代字元
* :號碼 第幾參數 (第一參數是:0)。例:若前一命令共有三個參數 (共四個字),要去掉最後一個參數可用 !!:-2
* :p 光顯示命令而不執行
* :h Remove a trailing file name component, leaving only the head.
* :t Remove all leading file name components, leaving the tail.
* :r Remove a trailing suffix of the form .xxx, leaving the basename.
* :e Remove all but the trailing suffix.

在 bash 下也可以用 Ctrl-x Ctrl-e 來開啟編輯器來編輯命令。
Gnome-Terminal 鍵盤指定的問題

Gnome Terminal中 Alt鍵 被Menu bar 搶掉了,得用Esc鍵或其他鍵當Meta鍵

一般我們用

* back-space 產生 ASCII DEL
* delete 產生 跳出字元序列

這樣

* delete會取代傳統的 Ctrl-d : 往前刪
* back-space會取代傳統的 delete: 倒退刪

這樣 後退鍵 會倒退刪;刪除鍵 會往前刪。但 ESC-delete 就沒法工作 要用ESC-d

vim 相关

vim 文本宽度

:set tw=80 #textwidth
:set fo+=mM # formatoptions
gq{motion}
gqq
{visual}gq
or
gw

vim 复制与剪切

internal:
y p
:[range]co[py] {address}
:[range]m[ove] {address}
externel:
"+y "+x "+gp

移动

hjkl
wb ege
0^$
()
{}
shift hml
ctrl ud
ctrl fb
gg G
:n
%n

没事可以看看它的 doc.

2009年3月25日星期三

Virtualbox 问题

发现 Virtualbox 不能同时开一个 amd64 或 x86_64 的系统和其它的一个 i386 的其它的系统,这里的 amd64 用的是 Debian,x86_64 用的是 fedora 11, i386 用的是 windows xp 和 slax 6.0.9。但是,能同时开 amd64 和 x86_64 的系统(它们两个都要启用 amd_v 支持),也能同时开两个 i386 的系统。不知道是怎么回事?

源列表

Ubuntu源列表

deb http://mirrors.163.com/ubuntu/ hardy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-backports main restricted universe multivers

Debian 源列表

deb http://mirrors.163.com/debian lenny main non-free contrib
deb http://mirrors.163.com/debian lenny-proposed-updates main contrib non-free
deb http://mirrors.163.com/debian-security lenny/updates main contrib non-free
deb-src http://mirrors.163.com/debian lenny main non-free contrib
deb-src http://mirrors.163.com/debian lenny-proposed-updates main contrib non-free
deb-src http://mirrors.163.com/debian-security lenny/updates main contrib non-free

Archlinux 源
Server = http://mirrors.163.com/archlinux/$repo/os//i686
Server = http://mirror.lzjtu.edu.cn/archlinux/$repo/os/i686

天津大学 ubuntu

http://202.113.13.45:9527/ubuntu-dist

南开大学 debian(更新很慢)

ftp://202.113.29.4/Debian/debian/
http://202.113.29.3/debian/debian/

x configure

Section "Module"
EndSection

Section "Files"
EndSection

Section "ServerFlags"
EndSection

Section "InputDevice"
Identifier "keyboard1"
Driver "dbd"
EndSection

Section "InputDevice"
Indentifier "mouse1"
Driver "mouse"
EndSection

Section "Monitor"
Identifier "my monitor"
HorizSync 31.5-150.0
VertReflesh 75-85
EndSection

Section "Device"
Identifier "VESA framebuffer"
Driver "vesa"
EndSection

Section "screen"
Identifier "screen1"
Device "VESA framebuffer"
Monitor "my monitor"
DefaultDepth 8
SubSection "Display"
Depth 8
Modes "1024*768" "800*600" "640*480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "simple layout"
Screen "screen1"
InputDevice "mouse1" "CorePointer"
InputDevice "keyboard1" "CoreKeyboard"
EndSection

2009年3月24日星期二

魔方

APPLET来源:http://www.randelshofer.ch/





没事可以玩玩,呵呵。我已经会玩初级玩法了,还要学学高级玩法。

注:运行上面的小游戏要有 JRE 环境。

2009年3月21日星期六

debian 下打包

debian 下打包

1,环境

build-essential(gcc, g++, libc6-dev,make, dpkg-dev), python, perl, gfortran
autoconf, automake, patch, xutils
dh-make,debhelper, devscripts, pbuilder
file, gnupg,fakeroot

2, 简单打包
mkdir pack
mv ./pack ./package.tar.gz
cd ./pack
tar zxvf ./package.tar.gz
cd ./package
dh_make -e account@domain.com -f ../package.tar.gz
... Answer prompts.
... Fix source tree
... If it is a script package, set debian/control to "Architecture: all"
... Do not erase ../package.orig.tar.gz
debuild or dpkg-buildpackage -rfakeroot -uc -b
... Make sure no warning happens.



注:我用这种办法成功把 pidgin_2.5.5 打成 deb 包。正如前篇文章说的,我已经成功在机器上将源码编译通过了,但是在 dpkg-buildpackage 时总出错,有如下提示:
*** Warning: Linking the shared library perl.la against the
*** static library /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a is not portable!
...
关键是先前编译的依赖我都解决了,怎么现在会不能通过呢,后来,小改了下 debian/rules 文件就可以正常通过了。原来是 dh_make 生成的 rules 文件还是有些小问题。先前让我不理解的 deb 包的依赖问题其实不是问题,build 过程会在 control 中自动添加依赖。
总结经验,打包前要对软件包进行编译试用,再将其打包,整个过程很简单。下面的方法太长,暂没有试。

3, 用dpatch和pbuilder打包
mkdir pack
mv ./pack ./package.tar.gz
cd ./pack
tar zxvf ./package.tar.gz
cp ./package ./package.org
cd ./package
dh_make -e account@domain.com -f ../package.tar.gz
... Answer prompts.
... Fix source tree by editor
... Try building packages with "dpkg-buildpackage -rfakeroot -us -uc"
... Edit source to make source buildable.
... Do not erase ../package.orig.tar.gz
cd ..
cp ./package ./package.bak
mv ./package/debian ./debian
diff -Nru package-orig package > patch-file
... You may overwrite package directory while doing this.
... Make sure to keep package.bak for your safety
mkdir -p debian/patches
dpatch patch-template patch-file \
-p "01_patchname" "patch-file description" \
< patch-file > debian/patches/01_patchname.dpatch
cd debian/patches
echo 01_patchname.dpatch >00list
cd ../..
rm -rf package
gvim debian/rules

现在文件debian/rules的内容是:

config.status: configure
./configure --prefix=/usr --mandir=/usr/share
build: config.status
${MAKE}
clean:
$(testdir)
$(testroot)
${MAKE} distclean
rm -rf debian/imaginary-package debian/files debian/substvars

可以用编辑器修改debian/rules文件为以下内容使其使用dpatch:

config.status: patch configure
./configure --prefix=/usr --mandir=/usr/share
build: config.status
${MAKE}
clean: clean-patched unpatch
clean-patched:
$(testdir)
$(testroot)
${MAKE} distclean
rm -rf debian/imaginary-package debian/files debian/substvars
patch: patch-stamp
patch-stamp:
dpatch apply-all
dpatch call-all -a=pkg-info >patch-stamp

unpatch:
dpatch deapply-all
rm -rf patch-stamp debian/patched

现在可以用dpatch系统重新打包了

tar zxvf package.orig.tar.gz
cp -a debian/ package/debian
cd package
sudo pbuilder update
pdebuild

主要参考:http://wiki.ubuntu.org.cn/Debian-maint-guide/A

debian 包管理系统


debian 的包管理系统

APT:(基于网络)

apt-get update (更新)
apt-get upgrade (升级)
apt-get dist-upgrade (系统升级)
apt-get install (安装)
apt-get remove [--purge] ([完全]卸载)
apt-cache search (查找)
apt-cache show (控制信息,包括依赖、描述等)
apt-cache showpkg (其它信息,)

dselect
aptitude


DPKG:(基于本地)

dpkg -l (未知:安装状态)
dpkg -i (未装:安装)
dpkg -c (未装:目录)
dpkg -I (未装:控制信息,包括依赖、描述等)
dpkg -L (己装:目录)
dpkg -s (己装:控制信息,包括依赖、描述等)
dpkg -r (已装:卸载)
dpkg -P (己装:完全卸载)
dpkg -S (己装:文件归属)

dpkg --set-selections
dpkg-reconfigure


从源码构建 Debian 包

apt-get source [-b]
apt-get build-dep
dpkg-source -x
dpkg-buildpackage -rfakeroot -uc -b
debuild

依赖修正

apt-get install -f
apt-get upgrade -f
apt-get dist-upgrade -f
dpkg --configure --pending

2009年3月20日星期五

成功编译 pidgin 2.5.5

上次不知道是什么原因把 pidgin 干掉了,可能是因为版本太老了。ubuntu 更新包好慢。无奈只好自行编译。虽说是第一次编译较大的程序,但编译过程十分轻松,

./configure
make
sudo make install

和平常一样,上面三条命令就安装好了。下面是编译过程遇到的依赖,不是很多,呵呵。安装完后正常登录QQ。后来在 linuxsir 下找了个飞信插件,放在 /usr/local/lib/purple-2/ 目录下 pidgin 死都找不到(用 pidgin -d 查看了下调试信息),后来把它放在 ~/.purple/plugins 目录下,重启 pidgin 就好了,下面是截图:



依赖:

XScreenSaver extension development headers not found.: libxss-dev
Startup notification development headers not found.: libstartup-notification0-dev
GtkSpell development headers not found.:libgtkspell-dev
GStreamer development headers not found.: libgstreamer0.10-dev
Meanwhile development headers not found.: libmeanwhile-dev
avahi development headers not found.:libavahi-client-dev ; libavahi-glib-dev
NetworkManager development headers not found.: network-manager-dev
Perl development headers not found.: libperl-dev
Tcl development headers not found.: tcl8.4-dev
Tk development headers not found.: tk8.4-dev

2009年3月19日星期四

格掉 ubuntu?很矛盾的说

ubuntu 啊,想说爱你不容易,

回想从去年五月份开始接触 linux ,装 ubuntu 7.10 ,到八月的这段时间,装过好几回吧,都是因为 dist-update 和 X 的问题。来学校后装了 8.04, 简略学习了 X window, 后来就没有重装过,到现在为止,也用了一个多学期吧,

且不说 ubuntu 默认装上很多用不上的包,浪费了宝贵的硬盘空间有说法,让我感到很不爽的是它有些不稳定,有时插上个 U 盘就死机,上次用 USB 连上同学的三星手机瞬间关机。让人恼火的还不只是硬件检测上的问题,时常还出现 gnome 桌面失去响应,最后只有 ctrl+alt+backspace 重启 X,导致数据没有同步到硬盘中去,晕死,

但是,回过来说,我机器上的 win 就更没法用了,频频弹出程序,内存错误。想把它格掉又想可能什么时候来个 doc, ppt。也在 virtualbox 中装过 wps,不过一点 win 就死掉了,根本不能用。很不愿意在 guest os 中装个 office, 这个东西也忒大了,我安装的精简版 XP 才200多M呢。

要是 wps 出个 linux 版的 office,并且和以前一样深度兼容 MS-office(当然也包括公式),那我就直接 format win 分区算了。其实也有个 linux 版的永中,可惜兼容性不好。要说要兼容性,最可恶的应该算国人都要用那个 MS-office, 才导致这样的问题,唉,

实在是想换个发行了,最看好的还是 debian。

感叹一下

linux 世界真是丰富多彩,有很多好玩的软件,真的可谓是在他的世界里无所不能。

发现了新的音乐播放器 exaile ,很不错的说。

多功能聊天工具,我同时登录的有:QQ,MSN,Feition。win 下也可以哦。Feition 插件在下面这个网页里下载到,linuxsir 那个有点老,登不上了啦。

http://cnpidgin.cn/download.html

2009年2月26日星期四

超星打印破解

最近发现超星上还是有几本书可以看,呵呵,但它的浏览器也做得太垃圾了,只有把它打印出来看。但是它一个月只能打印1000页,看到好书也没有机会及时收藏了。

考虑到它是怎么实现从本机打印的呢?难道是IP,我改了IP,还是不能打印。难道是MAC,这样的话在 win 下可有点麻烦。后来在网看查了下,仅仅是因为安装目录下有一个ssreader.ul文件的关系。这样的话,重新安装下超星就好了嘛。重装安装后就又可以打印了。不错,

仅供学习使用。

处女作

以前在百度 HI 上写东西,它的界面是很简单,可惜它不支持博客导出。如果哪一天它挂了,那我在上面写了这么多东东不就...,所以还是要找个可以导出的。不过可惜的是 google 的界面也太不漂亮了,唉,世界上哪有这么完美的事情呢,呵呵。

其实它在开发一套博客系统,运行在本地机器上,自动与网络上的博客同步,这样可以增加用户的灵活性,如使用自己喜欢的编辑器等。

好吧,就这也不错,准备转google啦,