Showing posts with label debian. Show all posts
Showing posts with label debian. Show all posts

Monday, October 17, 2011

[转]Gentoo、Debian和FreeBSD软件安装指令

原文:http://hi.baidu.com/hzxy0830/blog/item/04c3a409bda344a32eddd4b4.html
以关键词搜寻软件
Gentoo: emerge -s
输出会有这个 pkg 的简介 , 关键词都可以用正规表示式
Debian: apt-cache search
FreeBSD: make search name= 或
ports_glob   — need portupgrade
安装软件
Gentoo: emerge
Debian: apt-get install
FreeBSD: portinstall
移除软件
Gentoo: emerge unmerge
Debian: apt-get remove
FreeBSD: pkg_deinstall
升级单一软件
Gentoo: emerge -u
Debian: apt-get install
FreeBSD: portupgrade
察看升级全系统会动到哪些套件:
Gentoo: emerge -puDv world
Debian: apt-get -s dist-upgrade
FreeBSD: portupgrade -arnv
升级全系统
Gentoo: emerge -u –deep world
Debian: apt-get dist-upgrade
FreeBSD: make world ; portupgrade -ar
查询系统装了哪些软件
Gentoo: emerge -pe world 或 qpkg -I -v
Debian: dpkg –get-selections
FreeBSD: pkg_info
查询某档案属于哪个软件
Gentoo: qpkg -f
(need gentoolkit)
Debian: dpkg -S
FreeBSD: pkg_info -W
查询某个套件安装了什么档案
Gentoo: qpkg -l
Debian: dpkg -L
FreeBSD: pkg_info -L
查询有没有装这个关键词的套件
Gentoo: qpkg -I &line; grep   (qpkg再加上 -v 看版本号码)
Debian:
FreeBSD: pkg_info &line; grep
找哪些 pkg “简介” 里含有你要找的关键词:
Gentoo: emerge -S
输出方式和前者一样, 关键词都可以用正规表示式
Debian: apt-cache search
FreeBSD: make search key=
不管相依性强制移除某套件
Gentoo: emerge -C
Debian: dpkg -r –force-depends
dpkg -P –force-depends
上面是 remove ,下面是 purge
使用 remove 不会清掉设定档,用 purge 才会
FreeBSD: pkg_delete -f
全系统重新编译
Gentoo: emerge -e world
Debian: apt-get update;apt-get upgrade
FreeBSD: make world ; portupgrade -arf
查询有没有装这个关键词的套件
Gentoo: qpkg -I &line; grep   (qpkg再加上 -v 看版本号码)
Debian: dpkg -l &line; grep
FreeBSD: pkg_info &line; grep

Saturday, November 1, 2008

debian使用vbox安装ubuntu 8.10



一直使用debia sid,很稳定,可以现在最火的应该是ubuntu,恰巧昨天刚发布了8.10,于是使用vboxer安装了一下,确实不错,但是分辨率太小,看东西很麻烦。

于是安装vboxer的增强模式,如图

Sunday, October 26, 2008

自动禁用touchpad

老出差,所以本本的鼠标总是丢三落四的,打字的时候老是触碰触摸板,导致鼠标飞来飞去的,尽管有方法可以禁用触摸板,但是老要手动那多累,xp下有注册表可以实现当usb鼠标插上的时候自动禁用触摸板,一直再找如何再debian下实现。

偶然再bones的blog看到一个脚本,很不错。

原文链接是: 自动禁用/启用触摸板

脚本的原理就是触发一个事件然后执行操作,新建一个 /etc/udev/rules.d/01-touchpad.rules 文件,内容如下:
# disable the touchpad when inserted a usb mouse
# should be linked to /etc/udev/rules.d/01-touchpad.rules
ACTION==”add”, SUBSYSTEM==”input”, ID_CLASS=”mouse”, RUN+=”/usr/bin/synclient TouchpadOff=1″
ACTION==”remove”, SUBSYSTEM==”input”, ID_CLASS=”mouse”, RUN+=”/usr/bin/synclient TouchpadOff=0″



与网络同步调整系统时间

1:面板上右键>“添加到面板”>“时钟”>“添加”

2:
ntp服务器同步时间
代码:
sudo ntpdate cn.pool.ntp.org


将调整后的时间写入cmos
代码:
sudo hwclock --systohc

在Debian下关闭触摸板

使用笔记本的朋友肯定都有过这种经历,在X环境下输入文本时由于受触摸板的影响,鼠标不受控制的乱跑,能不能关闭触摸板?或者更进一步能不能动态的 对触摸板进行控制?经过一段时间的搜索,我得到了肯定的答案。现将过程记录下来,以作备忘之用。如果能对你有所帮助,我会感到更加高兴。
我使用的笔记本是HP Pavilion ze2000,操作系统是Debian Sarge3.1 rc2,自编译内核版本是2.6.18.2,使用的X环境是Gnome 2.8.3,经过以下六个步骤,我就能在Gnome中动态控制触摸板,感觉不错。:)
1. 检测系统是否支持Touchpad
$dmesg | grep Synaptic
Synaptics Touchpad, model: 1, fw: 5.10, id: 0x258eb1, caps: 0xa04713/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input1

2. 确认Touchpad设备
$cat /proc/bus/input/devices
......
I: Bus=0011 Vendor=0002 Product=0007 Version=0000
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 ts0 event1
B: EV=b
B: KEY=6420 0 70000 0 0 0 0 0 0 0 0
B: ABS=11000003
......

3. 安装Synaptics Touchpad Driver
#apt-get install xfree86-driver-synaptics

4. 修改/etc/X11/XF86Config-4
......
Section "Module"
......
Load "synaptics"
EndSection
......
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "AlwaysCore"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "SHMConfig" "on"
#默认关闭Touchpad
Option "TouchpadOff" "1"
EndSection
......
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse" "CorePointer"
InputDevice "Touchpad"
EndSection
......

5. 修改启动模块配置文件/etc/modules,确定包含以下两个模块
......
psmouse
evdev

6. 重启X
$synclient touchpadoff=0 #可以重新打开Touchpad
$synclient touchpadoff=1 #可以重新关闭Touchpad

Thursday, August 28, 2008

rxvt下的复制与粘贴

在rxvt下按右键是没有响应的,也无法通过常规的Ctrl+C/Ctrl+V来进行复制粘贴。其实,在Linux中的X下,只要选中某段字符串,该字符串就会被自动复制到Clipboard,然后通过鼠标中键即可完成粘贴操作。

Wednesday, August 27, 2008

用screen + irssi上irc之乡民版教学(含Q&A)

最近身旁許多在上 IRC (Internet Relay Chat)的朋友都問我哪個IRC client 比較好用?其實,只要問過我的,而且又是UNIX-like的系統使用者時,基本上都會被我推薦irssi這個command mode的純文字IRC程式。若有server可用的朋友們,更是會被我力推screen + irssi的組合。好處是,可以遠端持續掛著IRC,到哪邊都可以ssh進去繼續看IRC log,這樣真的很方便,也不用擔心因為沒開自己的電腦,就看不到別人的對話或別人要留給自己的訊息。

以下是針對irssi這軟體所寫的簡易基本介紹與使用和一些需要使用到IRC與GNU screen的基本指令,如需IRC或screen的其他更詳細指令與資料,文末會補上相關連結,如有不足,歡迎補充。

irssi的程式安裝不贅述,可由apt-get或yum等工具自套件庫裡面找尋並安裝。

先在這邊建立第一次使用screen + irssi操作IRC的朋友們觀念,確定遇到的問題跟操作,該是由screen還是由irssi的程式部份來處理,或者本身只是IRC上的指令操作罷了。screen只是方便讓使用者可以利用server不關機的優勢,讓irssi可以連續開著不中斷,使得下次再透過screen來接軌回到上次開啟還未被關閉的irssi來繼續IRC這樣子。所以,這樣看下面的簡介操作後比較不會搞混狀況,如果請教朋友也比較能問到問題處。

以下例子皆以irssi 0.8.10或以上版本,經實驗都可順利執行,且都以在FreeNode上的#orzlab IRC channel 為例。

(如果不掛 screen 者,這一段請直接跳過) 首先ssh login到server後,請輸入:
screen -RD
-R Reattach if possible, otherwise start a new session.
-D (-r) Detach and logout remote (and reattach here).
然後會進入到新開啟的screen,並且screen會自動開啟一個新的window讓我們使用,接下來直接輸入:
irssi
就會在screen底下的第一個視窗執行irssi這隻程式。

如果沒有要掛著screen執行irssi的朋友,那直接輸入
irssi
就可以直接執行 irssi 這隻程式。

進入irssi後,直接在提示輸入字元處輸入
/connect irc_server
就會直接連到該個IRC server,例如:
/connect irc.freenode.net
這樣就會直接連接到freenode的IRC server上,此時,可以先在這邊修改自己要在該IRC server 上的暱稱,如果要修改,則輸入以下格式:
/nick you_want_nickname
例如當我輸入
/nick lzy
時,那我顯示出來的暱稱將會是「lzy」的字樣( irssi 預設的暱稱會是 login 的使用者名稱)。
搞定暱稱後,接著我們就可以加入其他頻道了。
只要輸入
/j #channel_name
就可以直接加入了,例如:
/j #orzlab
這樣就完成加入#orzlab這個IRC channel(即OrzLab的主要IRC channel),如果該IRC channel需要key/password的話,則輸入:
/j #channel_name password
如果要離開單一IRC channel ,則直接輸入
/wc
就可以離開這個IRC頻道。
若是要離開一個IRC server的連線,則輸入
/disconnect irc_server_name

剛剛是教如何連線,現在則是教一些常用的熱鍵與功能。
先來看圖說故事一下:


上面的這張圖,我們在
[Act: 1,2,4,6,9,10]
這邊發現了幾個不一樣的標示數字,Act這一欄位會提示你在第幾編號的channel上對話狀況,而你還沒切換到該IRC channel 上觀看。顏色對應的意思如下:
  • 灰色一般體的是代表有人登入或登出此 irc channel (如 1,9,10)
  • 白色粗體的是代表有人正在此 irc channel 上談話(如 4,6)
  • 灰色粗體的則是有人在對話中提起你的名字或者呼叫你,總之就是有出現你的名字(如 2)
這是基本識別,再來是知道哪個channel有什麼狀況後,就是切換到該IRC channel上查看:
Alt + 1~0 對應 1~10 的 irc channel 編號;
Alt + q~p 對應 11~20 的 irc channel 編號;
Ctrl + n/p 可切換 上/下 一個 irc channel;
按鍵盤上的 PageUP/PageDn 可以直接切換 上/下 頁訊息。
如發現有編碼上的問題,需要轉編碼的話,則可輸入
/recode add #channel_name code_type
例如要把#orzlab的UTF-8格式加入,則輸入
/recode add #orzlab utf8
即可加入此頻道的編碼格式。
然後輸入
/recode
就可以看到加入的編碼列表。
(註:因 /recode add會寫入到設定檔裡,所以僅需要寫入一次即可)


Q&A TIME:

Q:如何同時有連接多個IRC server呢?又該怎樣切換不同IRC server來加入該server的IRC channel呢?
A:
請直接再下一次 /connect irc_server 就可以再連接一個新的 irc server ,然後按Alt + 1切換到第一個的特殊頻道上,再按 Ctrl + x來切換目前要下達指令的 IRC server名稱。

Q:如何查看該頻道的所有人呢?
A:
請下達/who的IRC指令即可,然後也是一樣按Alt + 1切換到第一個伺服器狀態頻道上觀看

Q:如何查看單一網友的基本連線資料呢?
A:
請下達/whois nickname的IRC指令即可,然後也是一樣按Alt + 1切換到第一個伺服器狀態頻道上觀看

Q:如何傳送私人訊息到指定的朋友暱稱呢?
A:
請下達/msg nickname即可開啟一個名為指定暱稱的訊息頻道,一樣用alt + 1~0/q~p 來選擇(注意:某些IRC server 會限制此功能,傳訊前請先確認是否有權限,如FreeNode)。
Q:已使用上面所講的方式操作screen + irssi ,那我離開時,是否得下達任何參數或指令?又下次ssh login 後,需要打什麼指令呢?
A:
為了簡化登入與記憶上的方面,採用-RD的參數,所以每次要離開irssi時,直接關閉該視窗就好,不需下達任何參數或指令。然後下一次ssh login後,只要打screen -RD 這樣就可以接軌回上次開啟的irssi了。

Q:如果遠端連線到編碼為Big5 的主機掛screen + irssi,且client端是採用UTF-8編碼時,編碼的亂碼問題如何處理?
A:
首先,先處理screen的編碼問題,從utf8端要檢視big5 server時,先Ctrl + a,然後輸入 :encoding big5 utf8 ,把從server將送出的Big5編碼先轉成UTF-8後再送出,然後輸入 "/recode" 觀看頻道編碼是否指定正確,照上述設定,理應能順利顯示。

Q:如果不小心按到Ctrl + z或鍵盤上的Pause時, irssi被suspend了,該如何恢復?
A:
請直接輸入fg後按Enter ,就可以把剛剛被suspend的irssi給喚醒。

Q:如果我要關閉一個irssi,該如何下達指令?
A:
請直接關閉開啟irssi的screen ,請按Ctrl + k來關閉screen window,然後可以再重新開啟一個全新的 rssi出來。

Q:要如何自動儲存IRC log ?
A:
在需要auto irc log的IRC channel上輸入/SET autolog ON,即可打開autolog功能。

Q:要如何指定當開啟irssi後,自動連接IRC server與自動連接IRC channel ?
A:
直接看例子會比較快,先假設我要讓他自動用 lzy 的暱稱連接到Freenode的IRC server 上的#orzlab:
/network add -nick lzy Freenode
/server add -auto -network Freenode irc.freenode.net 7000
/channel add -auto #orzlab Freenode

如果是需要key/password的IRC channel的話,則把最後一行改為
/channel add -auto #irc_channel_name irc_server_name password
也就是直接把密碼接在後面就可以了
如果需要自動對註冊的暱稱進行認證登入的話 (設口令為abcde):
/network add -autosendcmd "/^msg nickserv ident abcde;wait 2000" Freenode

Q:如何讓irssi發出有人提起自己暱稱時的訊息警告(或響鈴)?
A:
在irssi裡輸入以下指令,讓irssi適時發出聲音訊號:
/set beep_when_window_active ON
/set beep_when_away ON
/set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGHT
/set bell_beeps ON

在screen中按下Ctrl +a , Ctrl + g的按鍵,讓screen把irssi發出來的聲音訊號傳出來
或參考Jedi的blog一文「會響的 PuTTY + screen + irssi
Q:如何更換irssi的theme ?
A:
把抓好的 theme(可從官網選擇偏好的),然後複製該theme的檔案到~/.irssi/路徑,並下達/SET theme theme_name來更改該 theme 。

Q:如何自訂irssi的IRC訊息熱鍵?
A:
因為設定比較繁雜,故只提供官網網址,讓有興趣的朋友可以自己去翻閱。

提供幾個額外補充的網站,沒標示語言者,皆為中文
※本文另有較鄉民版本:「用 screen + irssi 上 irc 之鄉民版教學 (含Q&A)

Thursday, July 24, 2008

Apt和dpkg快速参考

Debian官方文档: http://www.debian.org/doc/user-manuals

Debian官方APT中文文档: http://www.debian.org/doc/manuals/apt-howto/index.zh-cn.html

apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
apt-get install # ------(package 安装包)
apt-get install # -----(package --reinstall 重新安装包)
apt-get -f install # -----(强制安装, "-f = --fix-missing"当是修复安装吧...)
apt-get remove #-----(package 删除包)
apt-get remove --purge # ------(package 删除包,包括删除配置文件等)
apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
apt-get update #------更新源
apt-get upgrade #------更新已安装的包
apt-get dist-upgrade # ---------升级系统
apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖,当是查看该包被哪些包依赖吧...)
apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
apt-get clean && apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
apt-get check #-------检查是否有损坏的依赖
dpkg -S filename -----查找filename属于哪个软件包
apt-file search filename -----查找filename属于哪个软件包
apt-file list packagename -----列出软件包的内容 
apt-file update --更新apt-file的数据库

dpkg --info "软件包名" --列出软件包解包后的包名称.
dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
dpkg -s 查询已安装的包的详细信息.
dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
dpkg-reconfigure 重新配置



apt-get install
下载软件包,以及所有依赖的包,同时进行包的安装或升级。如果某个包被设置了 hold (停止标志,就会被搁在一边(即不会被升级)。更多 hold 细节请看下面。
apt-get remove [--purge]
移除 以及任何依赖这个包的其它包。
--purge 指明这个包应该被完全清除 (purged) ,更多信息请看 dpkg -P。

apt-get update
升级来自 Debian 镜像的包列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了
/etc/apt/sources.list 後,必须执行。

apt-get upgrade [-u]
升级所有已经安装的包为最新可用版本。不会安装新的或移除老的包。如果一个包改变了依赖关系而需要安装一个新的包,那么它将不会被升级,而是标志为 hold。apt-get update 不会升级被标志为 hold 的包 (这个也就是 hold 的意思)。请看下文如何手动设置包为 hold。我建议同时使用 '-u' 选项,因为这样你就能看到哪些包将会被升级。

apt-get dist-upgrade [-u]
和 apt-get upgrade 类似,除了 dist-upgrade 会安装和移除包来满足依赖关系。因此具有一定的危险性。

apt-cache search
在软件包名称和描述中,搜索包含xxx的软件包。

apt-cache show
显示某个软件包的完整的描述。

apt-cache showpkg
显示软件包更多细节,以及和其它包的关系。

dselect
console-apt
aptitude
gnome-apt
APT 的几个图形前端(其中一些在使用前得先安装)。这里 dselect 无疑是最强大的,也是最古老,最难驾驭。

普通 Dpkg 用法
dpkg -i
安装一个 Debian 包文件,如你手动下载的文件。

dpkg -c
列出 的内容。

dpkg -I
从 中提取包信息。

dpkg -r
移除一个已安装的包。

dpkg -P
完全清除一个已安装的包。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。

dpkg -L
列出 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。

dpkg -s
显示已安装包的信息。同时请看 apt-cache 显示 Debian 存档中的包信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包信息。

dpkg-reconfigure
重新配制一个已经安装的包,如果它使用的是 debconf (debconf 为包安装提供了一个统一的配制界面)。你能够重新配制 debconf 它本身,如你想改变它的前端或提问的优先权。例如,重新配制 debconf,使用一个 dialog 前端,简单运行:

dpkg-reconfigure --frontend=dialog debconf (如果你安装时选错了,这里可以改回来哟:)

echo " hold" | dpkg --set-selections
设置 的状态为 hlod (命令行方式)

dpkg --get-selections ""
取的 的当前状态 (命令行方式)

支持通配符,如:
Debian:~# dpkg --get-selections *wine*
libwine hold
libwine-alsa hold
libwine-arts hold
libwine-dev hold
libwine-nas hold
libwine-print hold
libwine-twain hold
wine hold
wine+ hold
wine-doc hold
wine-utils hold

例如:
大家现在用的都是 gaim-0.58 + QQ-plugin,为了防止 gaim 被升级,我们可以采用如下方法:

方法一:
Debian:~# echo "gaim hold" | dpkg --set-selections
然後用下面命令检查一下:
Debian:~# dpkg --get-selections "gaim"
gaim hold
现在的状态标志是 hold,就不能被升级了。

如果想恢复怎么办呢?
Debian:~# echo "gaim install" | dpkg --set-selections
Debian:~# dpkg --get-selections "gaim"
gaim install
这时状态标志又被重置为 install,可以继续升级了。

同志们会问,哪个这些状态标志都写在哪个文件中呢?
在 /var/lib/dpkg/status 里,你也可以通过修改这个文件实现 hold。

有时你会发现有的软件状态标志是 purge,不要奇怪。
如:事先已经安装了 amsn,然後把它卸了。
apt-get remove --purge amsn
那么状态标志就从 install 变成 purge。

方法二:
在/etc/apt 下手动建一个 preferences 文件
内容:
Package: gaim
Pin: version 0.58*
保存

dpkg -S
在包数据库中查找 ,并告诉你哪个包包含了这个文件。(注:查找的是事先已经安装的包)

--------------------------------------------
Debian的软件包管理工具命令不完全列表
--------------------------------------------
Debian系统中所有的包信息都在/var/lib/dpkg下.其中/var/lib/dpkg/info目录中保存了各个软件包的信息及管理文件.每个文件的作用如下:
 以 ".conffiles" 结尾的文件记录软件包的配置列表.
 以 ".list" 结尾的文件记录了软件包的文件列表,用户可在文件当中找到软件包文件的具体安装位置.
 以 ".md5sums" 结尾的文件记录了md5信息,用来进行包的验证的.
 以 ".config" 结尾的文件是软件包的安装配置角本.
 以 ".postinst" 角本是完成Debian包解开之后的配置工作,通常用来执行所安装软件包相关的命令和服务的重新启动.
 以 ".preinst" 角本在Debain解包之前运行,主要作用是是停止作用于即将升级的软件包服务直到软件包安装或和升级完成.
 以 ".prerm" 脚本负责停止与软件包关联的daemon服务,在删除软件包关联文件之前执行.
 以 ".postrm" 脚本负责修改软件包链接或文件关联,或删除由它创建的文件.
 
 /var/lib/dpkg/available是软件包的描述信息.
 包括当前系统中所有使用的Debian安装源中所有的软件包,还包括当前系统中已经安装和未安装的软件包.
   
1.dpkg包管理工具
  dpkg --info "软件包名" --列出软件包解包后的包名称.
  dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看.
  dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
  dpkg -s 查询已安装的包的详细信息.
  dpkg -L 查询系统中已安装的软件包所安装的位置.
  dpkg -S 查询系统中某个文件属于哪个软件包.
  dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
  dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
  dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
  dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
  dpkg -reconfigure 重新配置
2. apt高级包管理工具
  (1)GTK图形的"synaptic",这是APT的前端工具.
  (2)"aptitude",这也是APT的前端工具.
  用APT管理工具进行包的管理,可以有以下几种方法做源:
  (1)拿安装盘做源,方法如下:
  apt-cdrom ident 扫描光盘的信息
  apt-cdrom add 添加光盘源
  (2)这也是最常用的方法就是把源添加到/etc/apt/source.list中,之后更新列apt-get update
  APT管理工具常用命令
  apt-cache 加上不同的子命令和参数的使用可以实现查找,显示软件,包信息及包信赖关系等功能.
  apt-cache stats 显示当前系统所有使用的Debain数据源的统计信息.
  apt-cache search +"包名",可以查找相关的软件包.
  apt-cache show +"包名",可以显示指定软件包的详细信息.
  apt-cache depends +"包名",可以查找软件包的依赖关系.
  apt-get upgrade 更新系统中所有的包到最新版
  apt-get install 安装软件包
  apt-get --reindtall install 重新安装软件包
  apt-get remove 卸载软件包
  apt-get --purge remove 完全卸载软件包
  apt-get clean 清除无用的软件包
  在用命令apt-get install之前,是先将软件包下载到/var/cache/apt/archives中,之后再进行安装的.所以我们可以用apt-get clean清除/var/cache/apt/archives目录中的软件包.
  源码包安装
  apt-cache showsrc 查找看源码包的文件信息(在下载之前)
  apt-get source 下载源码包.
  apt-get build-dep +"包名" 构建源码包的编译环境.

Tuesday, July 22, 2008

tor + privoxy 实现代理上网

 tor + privoxy 

1. 概念 * tor 是一个用来匿名上网,隐藏自己踪迹的工具,实际上就是通过数量众多的代理服务器来让你上网,代理服务器有tor来收集,你只需要配置好tor就OK,不用自己手动去找代理。

* tor只提供了socks4的服务,要想让firefox通过tor上网,还必须配置privoxy,一个代理,将http的请求转发到tor的socks服务。 

2. 安装 * 基于Debian良好的软件包管理特性,只需要一条命令:

$ sudo apt-get install tor privoxy tor tsocks 

tor配置 /etc/tsocks.conf,

只需要三行即可:

server = 127.0.0.1

server_type = 5 

server_port = 9050 
privoxy 的配置文件(/etc/privoxy/config)里头加一句:
forward-socks4a / localhost:9050 . 
别漏掉了点。 
* 重新启动一下tor,privoxy: $ sudo /etc/init.d/privoxy restart 
/etc/init.d/tor restart

4. 设置firefox * 打开firefox,在连接属性里面改为手动设置代理:

host:localhost port:8118 * 就这样,firefox就可以上那些被屏蔽的网站了。

5.设置opera *打开opera,在工具-->首选项-->高级-->网络-->代理服务器 设置 

使用自动代理服务器配置 /home/jerry/.opera/proxy.pac

proxy.pac脚本内容为

function FindProxyForURL(url, host)
{
url = url.toLowerCase();
host = host.toLowerCase();//小写
proxyTor="PROXY localhost:8118" //定义代理,取决于你的代理方式

if(shExpMatch(host, "*my.opera.com*")) return proxyTor; //通配符*
else if(shExpMatch(host, "*.wikipedia.org*")) return proxyTor;
else if(shExpMatch(host, "*.blogspot.com*")) return proxyTor;
else if(shExpMatch(host, "*.technorati.com*")) return proxyTor;
else if(shExpMatch(host, "*.googlepages.com*")) return proxyTor;

else return "DIRECT"; //其它网站不用代理
}


debian/ubuntu网络pppoe安装以及加速

安装很简单

apt-get install pppoe pppoeconf dnsmasq

配置使用pppoeconf,其中一个选项很重要,不要选择覆盖DNS解析的文件/etc/resolv.conf,因为我们要选择dnsmasq来本地解析

也许是debian sid的bug,当我的adsl的拨号delay超过120秒的话,他就切断联结,搞的我装好sid以后网络老是不稳定

解决办法就是:

a--在终端输入 
sudo vim  /etc/ppp/options sudo vim /etc/ppp/peers/dsl-provider

将弹出的文档中的 lcp-echo-failure 4 改为 lcp-echo-failure 40 这是因为 debian si默认 
的设置有个很明显的缺陷,lcp-echo-failure 次数被设为 4,而 lcp-echo-interval 设为 30秒。也就是说,如果 120 秒钟之内,ADSL 服务器没有给回 echo-reply 信号,debian sid 便会认为网络已经出了问题,马上中断重联,搞得人非常不爽。 

提高ADSL(pppoe)上网速度
通过减少浏览器解释域名的时间提高上网速度1、安装dnsmasq
debian系统的用户使用
sudo apt-get install dnsmasq
archlinux系统的用户使用
sudo pacman -S dnsmasq

2、编辑dnsmasq的配置文件
sudo gedit /etc/dnsmasq.conf

找到下面这一项
#resolv-file=

用下面的一条语句替换
resolv-file=/etc/resolv_dnsmasq.conf

3、将原dns配置复制至resolv.dnsmasq.conf
确保你没有更改过/etc/resolv.conf文件,如果改过,恢复原状
sudo cp /etc/resolv.conf /etc/resolv_dnsmasq.conf(如果resolv.conf不是链接的情况下)
如果是链接请删除/resolv.conf,及
sudo rm /etc/resolv.conf
sudo cp /etc/ppp/resolv.conf /etc/resolv.conf
sudo cp /etc/ppp/resolv.conf /etc/resolv_dnsmasq.conf

4、编辑resolv.conf
sudo gedit /etc/resolv.conf

将其中的域名服务器全部去掉,加入以下这行
nameserver 127.0.0.1

保存,退出

5、编辑adsl链接配置文件,防止pppoe自动连接网络后resolv.conf的设置被覆盖
sudo gedit /etc/ppp/peers/dsl-provider(老版本的pppoe设置文件)
较新的.文件地址发生了改变。
sudo gedit /etc/ppp/pppoe.conf
在 usepeerdns (老版本),前面增加 # ,也就是把这条语句覆盖掉。
新版本的叫PEERDNS.

6、启动服务
debian系统的用户使用sysv-rc-conf工具来打开dnsmasq的默认开始状态和启用他。
或者直接sudo /etc/init.d/dnsmasq start.
archlinux用户,sudo gedit /etc/rc.conf 然后在daemon 段加入dnsmasq.
sudo /etc/rc.d/dnsmasq start,启用它。

现在感受dnsmasq的速度吧 。。


我的source.list存档

# deb cdrom:[Debian GNU/Linux testing _Lenny_ - Official Beta i386 CD Binary-1 20080630-10:20]/ lenny main

# deb cdrom:[Debian GNU/Linux testing _Lenny_ - Official Beta i386 CD Binary-1 20080630-10:20]/ lenny main

# Line commented out by installer because it failed to verify:
# deb http://security.debian.org/ lenny/updates main
# Line commented out by installer because it failed to verify:
# deb-src http://security.debian.org/ lenny/updates main


# sources.list generated by apt-spy v3.1

# CHINA 上午,晚上
# deb ftp://www.anheng.com.cn/debian/ sid main contrib non-free
# deb-src ftp://www.anheng.com.cn/debian/ sid main contrib non-free
# CHINA TW 下午
deb http://ftp.tw.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.tw.debian.org/debian/ sid main contrib non-free
# deb http://security.debian.org/ lenny main contrib non-free

# debian multimedia
# do following command in a terminal as root (not sudo)
# wget http://debian-multimedia.org/gpgkey.pub -O - | apt-key add - && apt-get install debian-multimedia-keyring
deb http://ftp.tw.debian.org/debian-multimedia/ sid main
deb-src http://ftp.tw.debian.org/debian-multimedia/ sid main

# Emacs snapshot 23
# do following command in a terminal as root (not sudo)
# wget http://orebokech.com/Romain_Francoise.pgp -O - | apt-key add -
deb http://emacs.orebokech.com/ sid main
# deb-src http://emacs.orebokech.com/ sid main

# Google
# do following command in a terminal as root (not sudo)
# wget -q -O - http://dl.google.com/linux/linux_signing_key.pub | apt-key add -
deb http://dl.google.com/linux/deb/ stable non-free

# Compiz-fonsion
# do following command in a terminal as root (not sudo)
# wget http://download.tuxfamily.org/shames/A42A6CF5.gpg -O- | apt-key add -
deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./

## Opera
#KeyFetch: http http://deb.opera.com/archive.key
# deb http://deb.opera.com/opera/ stable non-free
# deb http://deb.opera.com/opera/ testing non-free
deb http://deb.opera.com/opera/ unstable non-free

## VirtualBox
#wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
deb http://download.virtualbox.org/virtualbox/debian/ lenny non-free

Monday, July 14, 2008

debian lenny 安装ati驱动,使用compiz

首先是驱动,我的内置显卡 ATI XPRESS 200M,要装最新的闭源驱动8.6的话,必须使用2.6.24的内核,新点的2.6.25和2.6.26都不支持。

安装过程老办法使用老办法,下载最新的8.6驱动,然后用下载的可执行文件 后带参数 --buildpkg Debian/lenny ,生成的4个包安装以后,到/usr/src目录里,执行sudo m-a prepare(准备编译环境),sudo m-a build fglrx(生成fglrx的内核模块),如果运行成功的话,在当前的/usr/src目录里就有一个fglrx-kernel-*.deb的内核模块包了,sudo dpkg -i fglrx-kernel-*.deb安装就可以了,当然要配置一下,ati-config 等等,重新启动,如果安装成功的话,fglrxinfo就可以正常显示了,而不是mesa的字样。

然后就是安装compiz了,去ubuntu的论坛看看,那里写的很详细。

Sunday, July 13, 2008

debian最简单的制作deb包方法

安装checkintsall

$sudo apt-get install checkinstall

然后进入需要打包的源代码目录

$./configure --prefix=/usr (其他编译选项)

$make

$sudo checkinstall

根据情况修改内容,就可以了

黑色主题gnome


装好gnome和compiz以后,美化了一下,黑色的主题,适合我的小本本

debian的lenny(testing)配置安装就是简单

       更新了系统,现在使用debian的testing版本lenny,下载个网络启动的iso文件,在windows下就可以安装,这里小结一下。

  • 窗口管理器我还是选择了sawfish,搭配fbpanel,习惯了使用快捷键,就在哪里都想用。     
  • 网页浏览使用firefox和opera,opera初次使用就喜欢上了,firefox占用内存太恐怖。     
  • 编辑器当之无愧的选择emacs-23的版本,也许选择emacs就是一种人身态度吧,vim也装上,虚拟终端用的上。
  • 媒体播放器当然是smplayer,从音乐到电影无所不能。BMPX也不错,可以听在线的流媒体电台。
  • ATI的驱动也装上,让compiz带给我3D的桌面效果。不得装gnome的桌面了,我的本本内存小,讲究着用吧。
  • 有些windows下的程序,让wine就可以完全搞定,在linux下玩游戏,没有wine也是不行的。
  • ftp的客户端就选择lftp了,顺便也装了gftp。
  • 虚拟终urxvtscreen的搭配让我不用换窗口。
  • 光盘刻录就K3B,屏幕录制xvidcap,上水木清华就qterm,聊天的话pidginxchat就完全可以了。
  • 文本处理的话使用openoffice,但我不怎么用。

      

Saturday, July 12, 2008

好用的scim-python巨蟒输入法

       以前一直用fcitx但是,现在的停止更新了,所以改用scim,但是默认的打字模式太难受了,比fcitx差好远。

       所以使用这个,很不错。

       使用输入法的话,使用命令

       im-switch -s scim -z default

       这里下载scim-python