国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
我的Linux PC開發(fā)環(huán)境
軟件集成開發(fā)環(huán)境(代碼編輯、瀏覽、編譯、調(diào)試)
Emacs            http://www.gnu.org/software/emacs/
Source-Navigator 5.2b2    http://sourceforge.net/projects/sourcenav
anjuta             sourceforge.net (用yum安裝)
代碼索引工具
Cscope            http://cscope.sourceforge.net/
KScope            http://www.kde-apps.org
GLOBAL            http://www.gnu.org/software/global/,F(xiàn)C5 yum安裝5.0,最新5.2
調(diào)試器(GNU gdb的GUI前端)
DDD            http://www.gnu.org/software/ddd/
Insight 6.4.0        http://sourceware.org/insight/ from a mirror site ‘/insight/releases/‘.
KDbg            http://www.kdbg.org/
評(píng)測(cè)器(內(nèi)存、性能、覆蓋等的profiler,類似IBM Purify)
Valgrind                    http://www.valgrind.org/,F(xiàn)C5自帶3.1.0-2
ggcov(GNU gcov的GUI)    http://ggcov.sourceforge.net/
kprof(GNU gprof的GUI)    http://kprof.sourceforge.net/
KCachegrind                http://kcachegrind.sf.net
BoundsChecking        http://www.doc.ic.ac.uk/~phjk/BoundsChecking.html
代碼靜態(tài)檢查工具
Splint            http://www.splint.org/(可用yum安裝)
flawfinder        http://www.dwheeler.com/flawfinder/
代碼靜態(tài)測(cè)量工具
--暫缺,Windows上非開源的LineCount(http://liangs.autodebug.com/)統(tǒng)計(jì)C/C++/Java代碼還湊合。
PyMetrics(http://sourceforge.net/projects/pymetrics/)測(cè)量Python代碼復(fù)雜度。
http://www.chris-lott.org/resources/cmetrics/羅列了好些C static metric tools。
軟件構(gòu)建
SCons            http://www.scons.org/,也可以FC5 yum安裝。
GNU Make        http://www.gnu.org/software/make/
crosstool     http://www.kegel.com/crosstool/
distcc        http://distcc.samba.org/
代碼版本控制
subversion         http://subversion.tigris.org (用yum安裝)
RapidSVN            http://www.rapidsvn.org/(用yum安裝)
StatSvn            http://svn.statsvn.org/
mpy-svn-stats    http://mpy-svn-stats.berlios.de/
ViewVC            http://viewvc.tigris.org/
測(cè)試框架
CppUnit1.10.2        http://sourceforge.net/projects/cppunit
CUnit            TODO
代碼差異工具(比較/制作和應(yīng)用補(bǔ)?。?br>GNU diffutils        http://www.gnu.org/software/diffutils/
kdiff3            http://kdiff3.sourceforge.net/或者h(yuǎn)ttp://www.kde-apps.org(可用yum安裝)
代碼在線文檔
doxygen            http://www.stack.nl/~dimitri/doxygen/
離線文檔
DocBook            http://www.docbook.org
XMLMind            http://www.xmlmind.com/
代碼格式化
astyle(Artistic Style)    http://astyle.sourceforge.net/
indent            http://www.gnu.org/software/indent/
UML建模
ArgoUML            http://argouml.tigris.org


軟件工程事務(wù)(BUG等)跟蹤(IBM的ClearQuest有此功能)
Trac            http://trac.edgewall.org/(基于Pythyon,用yum安裝)--感覺和BugFree一樣小巧
BugFree        http://www.1zsoft.com/(基于PHP+MySQL)--中小規(guī)模軟件適用
BugZilla        http://www.bugzilla.org/--配置復(fù)雜,使用麻煩
自動(dòng)化持續(xù)構(gòu)建與測(cè)試系統(tǒng)(類似IBM BuildForge)
BuildBot        http://buildbot.sourceforge.net/(基于Python)
Cabie            http://cabie.tigris.org/(基于Perl和MySQL)
系統(tǒng)級(jí)別測(cè)試框架
DejaGNU        www.gnu.org/software/dejagnu/(基于Expect,因而基于Tcl)
QMTest         http://www.codesourcery.com/qmtest/(基于Python)


Linux實(shí)用工具
yum            http://linux.duke.edu/projects/yum/,FC4自帶yum-2.3.2-7, FC5自帶2.6.1-0
wget            http://www.gnu.org/software/wget/
cURL            http://curl.haxx.se/
Wireshark(原名Ethereal)    http://www.wireshark.org,http://www.ethereal.com/。FC4/5自帶版本都較老
NcFTP            http://www.ncftp.com/ncftp/
tftp和tftp-server    yum -y install tftp-server和tftp
rp-pppoe        http://www.roaringpenguin.com/penguin/open_source_rp-pppoe.php(FC4自帶版本較低)
minicom        FC4/5自帶
TightVNC        http://www.tightvnc.com/
Wine+IEs4Linux        http://www.winehq.org/
            http://www.tatanka.com.br/ies4linux/index-en.html
StarDict        sourceforge.net
fcitx            http://www.fcitx.org
KchmViewer        sourceforge.net
kmhtConvert          http://www.kde-apps.org
永中Office        http://www.evermoresw.com
webmin            sourceforge.net,插件結(jié)構(gòu)
Rsync                http://rsync.samba.org/
wxDFast            http://dfast.sourceforge.net/
FlashGot            http://flashgot.net/

打字練習(xí)軟件
Tuxtype, Linux/Windows, http://tuxtype.sourceforge.net/
TypeFaster, Windows, http://typefaster.sourceforge.net/

Python庫/工具
pyserial        http://pyserial.sourceforge.net/
pysvn            http://pysvn.tigris.org/
twill            http://twill.idyll.org/
pexpect        http://pexpect.sourceforge.net/
wxPython        http://www.wxpython.org/
Snack            http://www.wanware.com/tsgdocs/snack.html
PIL            http://www.pythonware.com/products/pil/index.htm
SIP            http://riverbankcomputing.co.uk/sip/index.php(可yum安裝,名稱Python-SIP)
dogtail         http://people.redhat.com/zcerza/dogtail/index.html
PyChecker    http://pychecker.sourceforge.net/
pylint        http://www.logilab.org/857/(Logilab.org還提供了基于Python的人工智能、科學(xué)計(jì)算等包)
Winpdb        http://www.digitalpeers.com/pythondebugger/
pydb            http://bashdb.sourceforge.net/pydb/
SPE            http://pythonide.stani.be/
Python數(shù)據(jù)庫方面有個(gè)規(guī)格Python Database API 2.0,有遵循此規(guī)格的對(duì)各現(xiàn)有DBMS(sqlite,mysql等)的包裝,如pysqlite,MySQLdb

python SIP/MGCP stacks
Shtoom        http://divmod.org/trac/wiki/ShtoomProject
Divmod Sine    http://divmod.org/trac/wiki/DivmodSine
PJSIP            http://www.pjsip.org/(Pjsip now supports Python abstraction for PJSUA-API...)
Sipx利用Python實(shí)現(xiàn)了SIP Forum Basic UA Test Suite(http://www.sipfoundry.org/sftf-user-guide.html)

編譯器生成器
Bison            http://www.gnu.org/software/bison/

C/C++庫/工具
STL-Boost中文站點(diǎn)     http://www.stlchina.org/
       

KXML Editor        http://www.kde-apps.org
jedit            sourceforge.net,插件結(jié)構(gòu)。用處不大。
jdk1.5            java.sun.com

SIP協(xié)議棧相關(guān)
xvidcore1.1.0        www.xvid.org    (XViD codec)
live                    www.live555.com    (RTSP_Server)
SER                    www.iptel.org/ser
sipX                    http://www.sipfoundry.org/sipX
sipsak                http://sipsak.org/
SIPp                    http://sourceforge.net/projects/sipp

跨平臺(tái)的萬能編輯器Emacs配合CEDET/ECB/Cscope/GDB-UI這4個(gè)插件之后就成了一個(gè)完整的IDE。接觸Linux幾年來總是對(duì)它崇敬畏懼,這兩天下決心學(xué)習(xí)了一下,感覺(1)“學(xué)習(xí)曲線”并不是以前想象的那么“陡”;(2)編輯功能確實(shí)像傳說中的那么強(qiáng)。對(duì)它稍作定制,就能在寫代碼過程中自動(dòng)應(yīng)用特定編碼風(fēng)格。http://www.chris-lott.org/resources/cstyle集中了許多C/C++風(fēng)格規(guī)定。
我認(rèn)為Emacs適合于編輯自己的代碼(編輯功能很強(qiáng),分析能力稍差),而Source-Navigator適合于閱讀別人的代碼(編輯能力稍差,分析能力很強(qiáng))。
我試用了eclipse用來開發(fā)C/C++的cdt插件,對(duì)中等規(guī)模的工程(100-200個(gè)源文件)建立索引太慢,常常"Out ofmemory";調(diào)試器啟動(dòng)時(shí)有常遭遇"No symble ‘New‘ in current context"和"Connot accessmemory at address0x0"之類的錯(cuò)誤;代碼提示超級(jí)慢,10多秒無響應(yīng)。我是在CPU2.6G,RAM1G的FC5上運(yùn)行Eclipse3.2.1。大概eclipse的cdt僅適用于"Hello,world"之類的C/C++工程,但eclipse依然是Linux/Windows平臺(tái)上開發(fā)Java相關(guān)工程的首選。
附cscope的使用方法:一般的首先生成cscope.files文件,這個(gè)文件里主要是要生成索引的文件列表,一般我都用的find命令生成(windows下可以考慮使用cygwin),比如我要在當(dāng)前目錄下生成*.c*文件和*.h*文件的索引,那么我可以鍵入:"find . -name "*.c*"-or -name "*.h*" > cscope.files",具體的find命令的用法不再闡述了。
生成cscope.files文件之后,在終端鍵入"cscope -k -q"就可以生成源代碼的索引了。
Cscope(http://cscope.sourceforge.net/)解壓后contrib/xcscope/xcscope.el是為Emacs/XEmacs準(zhǔn)備的。
CEDET(Collection of Emacs Development Environment Tools)網(wǎng)址http://cedet.sourceforge.net/。
ECB(Emacs Code Browser)網(wǎng)址http://ecb.sourceforge.net/。
GDB-UI(Emacs Mode for GDB)網(wǎng)址http://www.inet.net.nz/~nickrob/。
注:在安裝這些插件的過程中可能有些LISP文件和FC5自帶的Emacs的重復(fù),直接覆蓋不會(huì)有啥問題。
我把cedet和ecb編譯后拷貝到emacs資源所在目錄(FC5自帶Emacs是/usr/share/emacs),然后編輯$HOME/.emacs增加如下設(shè)置:
;; Load CEDET
(load-file "/usr/share/emacs/cedet-1.0pre3/common/cedet.el")
;; Enabling various SEMANTIC minor modes.  See semantic/INSTALL for more ideas.
;; Select one of the following
(semantic-load-enable-code-helpers)
;; (semantic-load-enable-guady-code-helpers)
;; (semantic-load-enable-excessive-code-helpers)
;; Enable this if you develop in semantic, or develop grammars
;; (semantic-load-enable-semantic-debugging-helpers)

;; Load ECB
(add-to-list ‘load-path "/usr/share/emacs/ecb-2.32")
(require ‘ecb-autoloads)

;; Load Cscope
(require ‘xcscope)

;; Some shortcuts
(global-set-key [f5] ‘speedbar)
(global-set-key [f7] ‘compile)



FC4上面安裝Anjuta2.0.2的過程真是太艱難了。(1)Anjuta2下載頁面下方給出了Anjuta2依賴的一些包的名稱和位置,但這個(gè)提示并不夠顯眼(2)把Anjuta網(wǎng)站提供的gdl下載安裝后要配置pkg-config依賴的環(huán)境變量exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig(gdl-1.0.pc所在目錄)。而某些版本的gdl安裝之后并不產(chǎn)生相應(yīng)的.pc文件?。?)FC4的glib版本太低,www.gtk.org給的鏈接用Firefox下載不了,用curl搞定了。(4)devhelp 0.11 --> Gtk+2.8 --> Pango with Cairo.
configure Devhelp:
checking for LIBDEVHELP... configure: error: Package requirements (
        gthread-2.0 >= 2.6.0
        gtk+-2.0 >= 2.6.0
        libglade-2.0 >= 2.4.0
        libwnck-1.0 >= 2.10.0
        gconf-2.0 >= 2.6.0
) were not met.

在FC5上config Source-Navigator 5.2b2一直到5.1.0都失?。?br>checking if 64bit support is requested... no
checking if 64bit Sparc VIS support is requested... no
checking system version (for dynamic loading)... ../../../tcl/unix/configure: line 6020: syntax error near unexpected token `)‘
../../../tcl/unix/configure: line 6020: `       OSF*)‘
configure: error: ../../../tcl/unix/configure failed for unix
Configure in /home/kenny/WorkEvnInit/sourcenav-5.1.0/snbuild/tcl failed, exiting.
后來在sourceforge.net此項(xiàng)目的論壇上找到一個(gè)patch搞定了,但窗口最大化仍然有問題。


/usr/local/lib/pkgconfig/gdl-1.0.pc
sourcenav在FC4上編譯遇到兩個(gè)錯(cuò)誤(在Redhat9上順利編譯),都是說不支持"-fwritable-strings"選項(xiàng),把對(duì)應(yīng)Makefile修改一下注釋掉這個(gè)選項(xiàng)即可.
make[3]: Entering directory `/home/kenny/WorkEvnInit/sourcenav-5.2b2/tix/unix/tk8.3‘
gcc -pipe -c  -fwritable-strings
make[3]: Entering directory `/home/kenny/WorkEvnInit/sourcenav-5.2b2/libgui/src‘
gcc -DHAVE_CONFIG_H -I. -I. -I.. -fwritable-strings

Linux上除了SourceNavigator之外,另一個(gè)較好的C代碼編輯、瀏覽工具是KScope在http://kscope.sourceforge.net/。最新版1.3.4把我的GCC(FC4自帶)版本列入黑名單。FC5上安裝1.4.0成功。KScope是Cscope的前端,它的代碼導(dǎo)航、外觀、語言支持等各方面都較SourceNavigator遜一籌。
Windows上流行使用SourceInsight,不是免費(fèi)的,且代碼導(dǎo)航功能不如SourceNavigator。

GNUGLOBAL is a source code tag system that works the same way acrossdiverse environments. You can locate a specified object in the sourcefiles and move there easily. It is useful for hacking a large projectcontaining many subdirectories, many #ifdef and many main() functions.It is similar to ctags or etags but is different from them at the pointof independence of any editor. It runs on a UNIX(POSIX) compatibleoperating system like GNU and BSD.
有人用GLOBAL分析Linux內(nèi)核以自動(dòng)生成HTML(例如http://joyfire.net/kernelsrc/),其文檔功能類似Doxygen,但似乎可以搭配Vim等編輯器來瀏覽代碼。我認(rèn)為其代碼導(dǎo)航功能不如SourceNavigator。

Valgrindis an award-winning suite of tools for debugging and profiling Linuxprograms.ElectricFence(http://perens.com/FreeSoftware/ElectricFence/)聲稱自己不如Checkergcc(http://www.gnu.org/software/checker/checker.html),而Checkergcc又由于Valgrind的出現(xiàn)而退役。一句話:當(dāng)前大家公認(rèn)Valgrind是最接近IBM商業(yè)產(chǎn)品Purify的開源的內(nèi)存/性能評(píng)測(cè)工具。

C/C++代碼覆蓋、性能profiling工具一般基于GNU的gprof和gcov。(還有一類基于模擬器的profiling工具,如IBMPurify,Valgrind。KCahcegrind是Callgrind,OProfile等的GUI前端。)我知道的有g(shù)gcof,kprof,lcov。lcov是Linux TestingProject工具之一,見http://ltp.sourceforge.net/tooltable.php上的工具列表。這兒還有壓力測(cè)試、WEBServer測(cè)試等許多工具。在http://www.testingfaqs.org分類歸納了多種軟件測(cè)試工具。

運(yùn)行期間棧以及數(shù)據(jù)段的溢出比堆溢出更難以發(fā)現(xiàn)、定位。絕大多數(shù)安全工具聚焦于防止棧溢出覆蓋函數(shù)返回地址從而阻止了可能的攻擊。Avaya 實(shí)驗(yàn)室發(fā)布libsafe2.0,增加了防止格式化字符串攻擊功能,目前可以保護(hù)系統(tǒng)免受兩種攻擊‘buffer overflow‘ and ‘formatstring‘.Libsafe在自己的strcpy/printf等函數(shù)即將導(dǎo)致棧幀處被覆蓋時(shí)終止程序,從而防止被入侵。其技術(shù)思路是:采用Interposition技術(shù)用自己的strcpy/printf等函數(shù)替換C標(biāo)準(zhǔn)庫函數(shù)(ElectricFence也采用此技術(shù)替換堆內(nèi)存相關(guān)函數(shù));在自己的函數(shù)中找到FP位置(函數(shù)_libsafe_stackVariableP()),同時(shí)判斷給定指針是棧上還是堆上;堆上指針直接調(diào)用C標(biāo)準(zhǔn)庫函數(shù);棧上指針則在邊界檢查通過后調(diào)用C標(biāo)準(zhǔn)庫函數(shù),檢查未通過就exit。很多細(xì)節(jié)限制了其只能用于特定平臺(tái)Linux并且被保護(hù)軟件是用gcc編譯。但我的目的是發(fā)現(xiàn)所有數(shù)組越界錯(cuò)誤,要求更嚴(yán)格??赡苤挥蠫CC的補(bǔ)丁BoundsChecking(http://www.doc.ic.ac.uk/~phjk/BoundsChecking.html,在SF上有下載http://sourceforge.net/projects/boundschecking/)能做到這一點(diǎn)。當(dāng)前版本(forGCC4.0.2)僅支持C。我反匯編了它編譯出來的executable,發(fā)現(xiàn)棧上的字符數(shù)組分配由10多條指令加call__bounds_add_stack_object來做,在最后多分配了1字節(jié)用于保護(hù)。堆上內(nèi)存分配的函數(shù)malloc也以__bounds_check_malloc代替。這類補(bǔ)丁最大的問題是產(chǎn)生的executable運(yùn)行速度奇慢,尤其是指針操作密集的測(cè)試成百上千倍地慢。
嘗試了兩個(gè)例子,效果很好。但webcam工程鏈接期大量錯(cuò)誤,如:src/protocols/call/sip/src/misc/sipcopy.c:774:對(duì)‘__bounds_check_free’未定義的引用。是不是我的gcc編譯不對(duì)勁?還是ld不對(duì)勁?

Splint is a tool for staticallychecking C programs for security vulnerabilities and coding mistakes.With minimal effort, Splint can be used as a better lint. If additionaleffort is invested adding annotations to programs, Splint can performstronger checking than can be done by any standard lint.

Flawfinder,a program that examines source code and reports possible securityweaknesses (``flaws‘‘) sorted by risk level. It‘s very useful forquickly finding and removing at least some potential security problemsbefore a program is widely released to the public. Flawfinder iswritten in Python.
檢查當(dāng)前目錄下(遞歸地)所有C/C++代碼,輸出檢查結(jié)果:
flawfind --quiet --html . >flaws.html
Error: File ended while in string.

SCons是一個(gè)與GNU make,qmake和Ant類似的軟件構(gòu)建管理工具。SCons is a next-generation softwareconstruction tool, or make tool--that is, a software utility forbuilding software (or other files) and keeping built softwareup-to-date whenever the underlying input files change.FC5的rpm是0.96.1,我發(fā)現(xiàn)有時(shí)檢查不到.c的變化,并且為install目標(biāo)指定別名后"sconsinstall"就必然導(dǎo)致scons無響應(yīng)。安裝最新的0.96.92版即可解決這些問題,但install目標(biāo)常常不能更新,可能是時(shí)間戳判斷的問題?
Java項(xiàng)目的構(gòu)建現(xiàn)在主要用Ant或Maven來做,這兩個(gè)工具目前也完全局限于Java項(xiàng)目。我現(xiàn)在不做Java項(xiàng)目,這些東西對(duì)我毫無用處,所以就沒有深究它們。

按照《Building Embedded LinuxSystems》極其詳盡的指導(dǎo),為嵌入式系統(tǒng)開發(fā)構(gòu)建GNU交叉工具鏈也很困難:gcc/glibc/binutils/kernel版本之間的配合,特定版本的特征(如GCC3.2開始應(yīng)該這么做而不是那么做),還要考慮補(bǔ)丁...手工來做非常耗時(shí)且不大可能成功(碰到問題看文檔和使用Google也不一定能搞定)。用crosstool(http://www.kegel.com/crosstool/),只需要你有個(gè)LinuxPC能上網(wǎng),一個(gè)命令(如demo-arm.sh)下去就行。有時(shí)間可以深入研究一下這個(gè)工具。Building a gcc / glibccross-toolchain for use in embedded systems development used to be ascary prospect, requiring iron will, days if not weeks of effort, lotsof Unix and Gnu lore, and sometimes willingness to take dodgyshortcuts.
Linux內(nèi)核的ARM補(bǔ)丁、ARM工具鏈都可在http://lists.arm.linux.org.uk/上找到,這是Linux ARM架構(gòu)的最權(quán)威站點(diǎn)。 另外可能還需要特定芯片廠商提供的補(bǔ)丁,例如3615使用的TIDM320有內(nèi)核補(bǔ)丁設(shè)置了各設(shè)備在Flash的地址。
注意:(1)對(duì)一個(gè)項(xiàng)目而言,升級(jí)交叉編譯工具鏈后,制作的ramdisk內(nèi)也要以新的C動(dòng)態(tài)庫替換掉老的,否則可能導(dǎo)致兼容性問題如程序運(yùn)行不起來。(2)要使得toolchain識(shí)別用戶添加的庫,把庫放在arm-linux/arm-linux/usr/lib。為了運(yùn)行時(shí)能找到這個(gè)庫,制作的ramdisk也必須包含這個(gè)庫。(3)如果硬件平臺(tái)沒有浮點(diǎn)支持,所以在crosstool的arm.dat文件最后添加如下兩行:GCC_EXTRA_CONFIG="--with-float=soft"和GLIBC_EXTRA_CONFIG="--without-fp";或者不使用demo-arm.sh而是demo-arm-softfloat.sh(注意這兩個(gè)腳本可能在GCC版本方面并不同步)。在交叉工具鏈完成后可以用"arm-linux-gcc-v"查看配置情況。(4)默認(rèn)的目標(biāo)是arm-unknown-linux-gnu,可以在arm.dat中將TARGET設(shè)置為"arm-linux"使得編譯出來的GCC名字為arm-linux-gcc。


[使用distcc 縮短編譯時(shí)間]distcc isa program to distribute builds of C, C++, Objective C or Objective C++code across several machines on a network. distcc should alwaysgenerate the same results as a local build, is simple to install anduse, and is usually much faster than a local compile.
The mainfeature required by distcc is that the compiler must be able to run thepreprocessor separately, and then compile the preprocessor output froma file. This was a basic part of the original design of C, but somecompilers seem to have lost the ability to do this. Secondarily, distccis currently hardcoded to suit gcc‘s behaviour and command-line syntax,so only compilers that act like gcc will work. This could in principlebe changed.


Kompare是KDE自帶的一個(gè)文件/目錄比較工具,比較大目錄太慢了,也沒有合并功能。我上網(wǎng)了解到在這方面的好工具有Kdiff、Meld和xxdiff。Meld的沒有做漢化,許多菜單、按鈕的文字顯示不出來或者是亂碼。xxdiff還沒有嘗試過。Kdiff3還有windows版本。

Meld is a visual diff and merge tool. Kdiff3 is very good for large merges, automatic merge facility.
Meld is written with the excellent pygtk toolkit.
pyGtk 2.8.6要求GLIB(就是gtk+) version >= 2.8.0, FC4版本是 gtk+-1.2.10-39。
kdiff3-0.9.90-1.fc.i686.rpm要求libstdc++.so.6(GLIBCXX_3.4.6),對(duì)應(yīng)的FC4平臺(tái)RPM是libstdc++-4.0.2-8.i386.rpm,但FC4光盤上只有4.0.0,網(wǎng)絡(luò)速度太慢,下載不了!:(kdiff3-0.9.89把我的編譯器列入了黑名單。最后用0.9.88終于順利安裝了。運(yùn)行起來感覺不錯(cuò)!

Subversion(簡(jiǎn)稱svn)是經(jīng)典的開源的版本控制系統(tǒng)cvs的替代物。有個(gè)工具cvs2svn可以轉(zhuǎn)換CVS庫到SVN庫。Windows上svn的GUI最好用且功能強(qiáng)的是TortoiseSVN(http://tortoisesvn.tigris.org/)。Linux上svn的nativeGUI的易用性和功能都要差一些,就我所知最好的是KdeSVN(http://www.kde-apps.org,可yum安裝)。
RapidSVN(http://rapidsvn.tigris.org)是基于wxWidgets的SVN客戶端GUI。我在Linux下編譯0.9.3和0.9.4失敗。Windows版看起來功能還行。在FC5上可以yum安裝!
(KdeSVN也有類似錯(cuò)誤)RapidSVN顯示工作拷貝的目錄出錯(cuò):"Error: Error while updating filelist(ValidUTF-8 data (hex: 68) followed by invalid UTF-8 sequence (hex: ca 3b09))"
RapidSVN郵件列表對(duì)此有回答:
On the subversion mailinglists were quite a few threads on this topic. (You
might
want to check up on these for example on:
http://www.contactor.se/~dast/svnusers )
As far as i remember it all boiled down to setting the ‘LANG‘ and ‘LC_CTYPE‘

environment variables to sensible values.
You can use ‘locale‘ to find out more about your settings.

此外還有基于wxPython的WorkBench(與pysvn同一站點(diǎn)發(fā)布),運(yùn)行起來經(jīng)常出錯(cuò)。

SmartSVN是一個(gè)純粹Java的SVN客戶端GUI。并不是開源的,有免費(fèi)試用版和商業(yè)版本。2.0.x不支持subversion1.4工作拷貝的格式,我下載的2.1RC4支持。每次打開工作拷貝或者選中其中某個(gè)目錄時(shí)就會(huì)掃描,對(duì)稍大型工程非常耗時(shí)且出現(xiàn)“run out ofmemory”以至于只掃描了頂層目錄。實(shí)際上,用戶關(guān)心的大多數(shù)時(shí)候只是工作拷貝中某一很小部分的狀態(tài)。可以在項(xiàng)目的"Refresh/Scam"屬性設(shè)置為"Root directoryonly"避免這個(gè)問題。SmartSVN的日志緩存功能不錯(cuò),節(jié)省時(shí)間:)另外要注意:SmartSVN依賴于SUN JDK.

StatSvn基于著名的StatCvs的SVN版本,開源,以Java編寫。它能夠?qū)φ麄€(gè)SVN庫做統(tǒng)計(jì),包括:每作者提交數(shù)、擁有代碼行數(shù)等等。試用了一下,感覺很不錯(cuò)?。⊿tatSvn手冊(cè)指出:由于SVN日志文件的特性,第一次統(tǒng)計(jì)較慢。我針對(duì)LR3615_WEBCAM工程[10萬多行]第一次統(tǒng)計(jì),耗時(shí)70多分鐘。)另外要注意:FC5默認(rèn)JRE(即gij)沒有提供Graphics2D等庫,這將導(dǎo)致JVM拋出異常。安裝SUN提供的JDK1.5.0即可解決此問題。
[kenny@kenny statsvn-0.2.0]$ java -jar statsvn.jar /home/kenny/sw_3615/svn.log /home/kenny/sw_3615

mpy-svn-stats:Very simple and easy to use Subversion statistics generator written inPython.(http://mpy-svn-stats.berlios.de/)是另一個(gè)Subversion庫分析工具。SipX項(xiàng)目的統(tǒng)計(jì)信息(http://www.voiceworks.pl/sipxpbx-stats/)就是由此工具生成的。

ViewVC是一個(gè)基于web的CVS、SVN代碼倉庫瀏覽工具。它最早是從cvsweb發(fā)展而來的,cvsweb是用Perl編寫的, viewvc原作者GregStein發(fā)現(xiàn)很難在此基礎(chǔ)上擴(kuò)展新的功能,于是用Python重新實(shí)現(xiàn),并命名為viewcvs。后來又加入了對(duì)SVN代碼倉庫的支持,為反映這一變化viewcvs重命名為viewvc。viewvc可以以獨(dú)立的程序運(yùn)行(standalone.py),也可以以cgi方式運(yùn)行于支持CGI的web服務(wù)器,還可以以ASP模式運(yùn)行于IIS,以mod_python模式運(yùn)行于Apache。viewvc通過本地文件系統(tǒng)訪問代碼倉庫,所以它必須安裝在運(yùn)行CVS或SVN代碼倉庫的同一服務(wù)器上。運(yùn)行viewvc需要很多第三方軟件,具體需要的依賴軟件取決于啟用功能和運(yùn)行平臺(tái)兩大因素。viewvc除了支持CVS代碼倉庫瀏覽功能,還支持
1)SVN代碼倉庫瀏覽功能
2)代碼語法加亮、顏色標(biāo)注
3)CVS代碼修訂歷史圖形顯示
4)CVS代碼代碼提交動(dòng)作的記錄、查詢

此外還有FishEye(http://cenqua.com/fisheye/)等商業(yè)的代碼庫分析工具。

當(dāng)前Linux平臺(tái)上的GDB前端有DDD,Insight,KDbg等。DDD是一個(gè)非常流行的調(diào)試器,Fedora Core4附帶了它。Insight是Redhat的GNUPro開發(fā)套件之一,是gdb的Tk包裝(版本號(hào)與gdb版本號(hào)完全一致),可與SourceNavigator集成。KDbg是gdb的KDE風(fēng)格的GUI。DDD雖然GUI稍稍難看(Tk和KDE風(fēng)格我也不太喜歡,基于KDE的應(yīng)用在關(guān)閉時(shí)調(diào)用KNotify太慢了),但功能最強(qiáng)。三者中只有DDD支持的后臺(tái)調(diào)試器不局限于gdb;也只有DDD提供了gdb的CLI,這使得其非常靈活(例如增加一個(gè)函數(shù)斷點(diǎn),命令breakfunc就OK,而不像用菜單指定文件名和行號(hào)那樣煩瑣)。Insight調(diào)試多線程程序時(shí)暫停常常使得Insight失去響應(yīng)。KDbg是gdb的前端,可以瀏覽過去打開的源文件,這是個(gè)優(yōu)勢(shì)。就像其簡(jiǎn)介中所說的,你不能期望它能做的比gdb更多,所以它在許多方面都比DDD差:(1)查看變量的值,如果變量形式較復(fù)雜,則鼠標(biāo)放在其上不能顯示其值或者顯示其值為0,只得麻煩地寫一個(gè)監(jiān)視表達(dá)式。(2)不能像DDD的數(shù)據(jù)窗口那樣可視化地顯示一個(gè)結(jié)構(gòu)體、數(shù)組,必須為特定成員寫一個(gè)完整的監(jiān)視表達(dá)式。(3)調(diào)試過程中不能修改變量值、挪動(dòng)執(zhí)行點(diǎn)(這些功能有時(shí)很有用)。(4)主窗口以及打開的各個(gè)窗口(本地變量、內(nèi)存等)在FC5的任務(wù)面板上縮成一個(gè)標(biāo)簽,切換起來很是費(fèi)事。

TotalView(http://www.etnus.com/)號(hào)稱自己是多核時(shí)代地球上最好的多線程/進(jìn)程調(diào)試器。有試用版,不過我想不出來我以后什么時(shí)候會(huì)覺得gdb不夠強(qiáng)。

程序代碼美化工具astyle可美化C/C++/Java。astyle有幾個(gè)成套的的風(fēng)格定義:ansi java linuxkr...不必記住復(fù)雜的縮進(jìn)具體選項(xiàng)。indent(gcc附帶的一個(gè)標(biāo)準(zhǔn)工具)只能美化C代碼。專門針對(duì)Java代碼的有CheckStyle(免費(fèi),http://checkstyle.sourceforge.net/)和Jacobe(商業(yè),http://www.tiobe.com/jacobe.htm)等。
astyle 1.19有個(gè)BUG:如果#ifdef 下一行以{開頭,則{被調(diào)整到#ifdef行最后,這必然導(dǎo)致編譯失敗。
indent也不完美:(1)處理dspcode.h類似文件時(shí)間極長(zhǎng),把數(shù)組每一項(xiàng)單獨(dú)作為一行導(dǎo)致頭文件行數(shù)極多。Frank說處理dspcode.h類似文件之后導(dǎo)致編譯失敗。(2)在#else之后自動(dòng)加了/*,隨后多了一行*/。(3)有時(shí)候格式化比較亂甚至導(dǎo)致編譯失敗。
Windows平臺(tái)上有試用版的SourceFormatX。
結(jié)論:不要企圖把整個(gè)工程的源代碼一次性格式化,哪個(gè)C文件格式實(shí)在太亂了再說。
#/bin/sh
# -kr    Kernighan & Ritchie style
#     -nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
#     -cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
#     -nprs -npsl -saf -sai -saw -nsc -nsob -nss
# -nbad   The ‘-bad‘ option causes `indent‘ to force a blank line after every
# block of declarations.  The `-nbad‘ option causes `indent‘ not to force
# such blank lines.   
# -cliN Case label indent of N spaces.
# -bliN Indent braces N spaces.
# -cbiN Indent braces after a case label N spaces.
# -nut Use spaces instead of tabs.
indent -kr -bli0 -cbi4 -nut $1

Bison 是替代yacc的語法解析器. 有時(shí)間研究一下!還有Boost Spirit框架!

pyserial是一個(gè)Python串口庫,包裝了Python標(biāo)準(zhǔn)庫termios。雖然用C操作串口并不難,但要考慮一些細(xì)節(jié),遠(yuǎn)不如用pyserial簡(jiǎn)單和方便。在編寫測(cè)試代碼、原型代碼涉及串口通信時(shí)可以考慮它。
wxPython是wxWidgets的Python綁定,類似的Python GUI庫還有Tkinter(Python事實(shí)上標(biāo)準(zhǔn)的GUItoolkit,基于Tk)、PyGtk(基于GTK+)、PyQt。經(jīng)過一番權(quán)衡(網(wǎng)上有個(gè)《知名GUI庫簡(jiǎn)評(píng)》),我決定采用wxPython。我認(rèn)為它的跨平臺(tái)性非常好,且使用非常簡(jiǎn)單(安裝包就帶有大量的范例,這是最好的參考資料)。
The pysvn project‘s goal is to enable Tools to be written in Python that use Subversion.

Snack是一個(gè)Python庫,用于創(chuàng)建簡(jiǎn)單的基于文本的用戶界面。紅帽子的Linux在安裝、配置期間出現(xiàn)的那些非常像GUI但又不具有普通窗口控制功能的界面,就是基于文本的用戶界面,它們使用了Snack。例如:配置系統(tǒng)時(shí)區(qū)的命令/usr/sbin/timeconfig包裝了Python腳本/usr/share/system-config-date/timeconfig.py,時(shí)區(qū)列表/usr/share/zoneinfo/zone.tab。
Snack is apython library based on newt that can be used to create a simple textbased User interface. This is the package that was used by Red Hat tocreate their installation along with a number of configuration tools.It is an ideal platform upon which to create installation andconfiguration scripts, particularly if you don‘t want to rely on X, oryou want to avoid complexity.
還有Python包也叫做Snack,在http://www.speech.kth.se/snack/。The Snack Sound Toolkit is designed to beused with a scripting language such as Tcl/Tk or Python. Using Snackyou can create powerful multi-platform audio applications with just afew lines of code.
用于創(chuàng)建基于文本的用戶界面的Python包并不只有Snack。“某一類 Python應(yīng)用程序最好使用交互式用戶界面,這樣可以消除圖形環(huán)境的系統(tǒng)開銷或復(fù)雜性。交互式文本模式程序(在 Linux/UNIX 中),例如封裝在Python 的標(biāo)準(zhǔn) curses 模塊中的ncurses 庫,正是您所需要的。 Tinter 是構(gòu)建在 curses上的高級(jí)窗口小部件的一個(gè)模塊。Tinter 支持按鈕、文本框、對(duì)話框和進(jìn)展欄。一種沒有充分引起公眾注意的(并且難以捕捉到的) ncurses和其它各種封裝器的備用產(chǎn)品結(jié)合了slang 和newt 以及 python 封裝器模塊snack。slang 的功能與 curses一樣,而且newt 的功能與Tinter 一樣。 ”


pexpect(http://pexpect.sourceforge.net/)is a pure Python Expect-like module. Pexpect makes Python a better toolfor controlling otherapplications.Python-dev郵件列表http://mail.python.org/pipermail/python-dev/2002-November/thread.html對(duì)此有討論。

twill is a simple scriptinglanguage intended for programmatic or automated browsing of Web sites.twill strives to be a complete implementation of a Web browser,omitting only JavaScript support. It includes support for cookies,basic authentication, and most (all?) HTTP trickery, includingHTTP-EQUIV redirects. Please let me know if you find a situation whereit doesn‘t work! It‘s written in Python. It‘s Python API is for Pythonprogrammers interested in using twill from Python.
twill還支持?jǐn)嘌皂憫?yīng)中含特定錯(cuò)誤碼、特定URL、特定文本等。twill還可以用于壓力測(cè)試,twill-fork基于Python的os.fork()。其文檔還列舉了許多其他WEB測(cè)試相關(guān)的工具(要是twill實(shí)在不合適,可以看看它們)。
twill支持cookie、基本認(rèn)證等許多東西,唯一不爽的是不支持JavaScript(基于Java的HttpUnit支持一些JavaScript)。IPCam項(xiàng)目的網(wǎng)頁一般在HTML最后用一段簡(jiǎn)單的JavaScript腳本設(shè)置表單各域的值。好在它們的Javascript腳本和Cookie都非常簡(jiǎn)單,可以用Python的正則表達(dá)式來提取它們,然后修改twill解析出來的表單相應(yīng)域的值。IPCam項(xiàng)目的網(wǎng)頁用這樣一段JavaScript腳本來設(shè)置Cookie和跳轉(zhuǎn):
<scriptlanguage=javascript>document.cookie="admin_999999;path=/";parent.location.href="../web/system_1.asp";</script>
twill忽略這一段,所以后繼網(wǎng)頁都訪問不了了!可以先用正則表達(dá)式解析出Cookie值并存入一個(gè)文件,然后用load_cookies命令加載這個(gè)Cookie...
服務(wù)器返回的相應(yīng)在HTTP頭中這樣設(shè)置Cookie:
Set-Cookie:S=gmail=ZlqdB1eh50LLOD2oHQy-AA:gmail_yj=wYXY0sDUzqa7YGNlHwld8w:gmproxy=r8SkXMoAtqc:gmproxy_yj=0nwuEpFAlkk;Domain=.google.com; Path=/\r\n
twill這樣表示Cookie:
<CookieSID=DQAAAGkAAADjG8D7QJIQvqfILHXEzSkXTkoj8CjBwoANMpmfSGsZi2hdp1WmaECgfVyfgGihzZD_aOj30vO_UFH4U6aUrQ3OOF18ePC9owraK0-SVfGxjBwrARvxeWKUDP5QXFG40ehFrk8ynkZ1W7NHI4xz7CUtfor .google.com/>
twill存儲(chǔ)所有cookies為一個(gè)文件,以這樣的格式:
#LWP-Cookies-2.0
Set-Cookie3:SID="DQAAAGkAAADjG8D7QJIQvqfILHXEzSkXTkoj8CjBwoANMpmfSGsZi2hdp1WmaECgfVyfgGihzZD_aOj30vO_UFH4U6aUrQ3OOF18ePC9owraK0-SVfGxjBwrARvxeWKUDP5QXFG40ehFrk8ynkZ1W7NHI4xz7CUt";path="/"; domain=".google.com"; path_spec; domain_dot; discard;version=0

The Python Imaging Library (PIL) adds image processingcapabilities to your Python interpreter. This library supports manyfile formats, and provides powerful image processing and graphicscapabilities.SVN統(tǒng)計(jì)工具mpy-svn-stats的圖片操作基于它創(chuàng)建RGB模式的PNG圖片。Python圖像處理方面的極好文章:Python andImageprocessing位于http://python.cn/pipermail/python-chinese/2005-October/016910.html。


Trac: Simple, web based, intuitive bugand change tracking. Has a good interface with Subversion. Click aroundand view a current project using TRAC<http://trac.wordpress.org/>.
說到版本控制,也順便提一下目前越來越熱的Trac,她是一個(gè)非常好的融合了wiki、故障跟蹤、版本管理的軟件項(xiàng)目管理平臺(tái)。使用Python編寫,版本管理采用subversion,不過采用的是subversion自帶的Swig-python接口。其他的數(shù)據(jù)存儲(chǔ)在sqlite中,系統(tǒng)采用clearsliver頁面模板引擎編寫。

wget的"-r"選項(xiàng)遞歸方式下載整個(gè)web站點(diǎn)。
下載/離線瀏覽整個(gè)網(wǎng)站的工具非常多...Linux下有個(gè)商業(yè)版本的HTTrack V3.40 For Linux(http://www.httrack.com/,一直連接不上).一個(gè)容易使用的站點(diǎn)鏡像軟件,能將網(wǎng)站傳送到本地目錄,并且會(huì)將所有相關(guān)鏈接重新組織,以便順利的離線瀏覽。

cURL is acommand line tool for transferring files with URL syntax, supportingFTP, FTPS, TFTP, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. curlsupports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTPform based upload, proxies, cookies, user+password authentication(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,proxy tunneling and a busload of other useful tricks.

AIX操作系統(tǒng)提供了ftp客戶端工具/usr/bin/ftp,但是這個(gè)工具使用起來不是非常方便。本文介紹一種在世界上廣泛使用的ftp命令行客戶端軟件ncftp,它提供更方便、快捷、強(qiáng)大的功能,使我們?cè)谑褂胒tp服務(wù)的時(shí)候更得心應(yīng)手。ncftp廣泛應(yīng)用于各個(gè)版本的Linux上。ncftp與傳統(tǒng)的ftp相比,主要有以下改進(jìn)或變化:
1、子目錄下載,采用遞歸的方法,下載整個(gè)目錄及其子目錄。
2、支持?jǐn)帱c(diǎn)續(xù)傳。一次傳輸沒有完成,下次可以接著傳輸未完成的文件。
3、匿名ftp自動(dòng)登錄。目前大部分ftp站點(diǎn)都可以匿名登錄,ncftp可以自動(dòng)登錄(默認(rèn)方式)。
...

wxDFast也是一個(gè)圖形化的下載工具,支持多線程、斷點(diǎn)續(xù)傳等功能,基于wxWidgets,最大特點(diǎn)是下載速度快。
FlashGot- Best Firefox Download ManagerIntegration.一個(gè)下載管理器,將瀏覽器(Mozilla/Firefox/Flock/Thunderbird)與一些下載工具(GUI的wxDFast/D4X/KGet等,CLI的wget/cURL/WellGet[適合于邊下載邊播放電影]等)集成起來,使得下載操作就像Windows下用netants/FlashGet那樣簡(jiǎn)單。


我在Linux下經(jīng)常下載一些新鮮軟件嘗試,但是瀏覽器Firefox常常打不開鏈接或者下載失敗,尤其是隔了防火墻訪問SourceForge之類的較慢站點(diǎn);而這些鏈接在Windows下是可以下載的,雖然速度慢一點(diǎn)。用yum升級(jí)系統(tǒng),常出現(xiàn)“http://fedora.cs.wisc.edu/pub/mirrors/linux/download.fedora.redhat.com/pub/fedora/linux/core/updates/5/i386/vim-minimal-7.0.042-0.fc5.i386.rpm:[Errno -1] Header is notcomplete.”類似的錯(cuò)誤。而gFTP這樣的FTP客戶端GUI常常這兒或那兒工作得不對(duì)勁。用NcFTP或者cURL一般可以解決這些問題。(注:FTP的URL舉例:ftp://book:book@125.64.92.50/book_h/20060828/c69318f9-1bcb-4a11-8808-1daca711db4d.chm)

CHM是Windows平臺(tái)幫助文件標(biāo)準(zhǔn)格式,有許多電子書籍(甚至許多關(guān)于Unix/Linux的)以此格式發(fā)布.Linux平臺(tái)上有一些閱讀/編輯此格式的工具.KchmViewer基于Qt,獨(dú)立于KDE/Gnome.我在make時(shí)參照README加上了選項(xiàng)"--with-kde"才編譯成功,否則因?yàn)閘d找不到Xext庫而失敗.可以把.chm格式關(guān)聯(lián)到KchmViewer,在FedoraCore4下面這么做:右鍵單擊一個(gè)文件,然后選屬性,再點(diǎn)打開方式,選擇添加,然后在自定義命令里面自己寫上kchmviewer即可.

mht是IE另存的一種Web Archive格式,它將html/圖片等存儲(chǔ)在單一文件內(nèi).Linux平臺(tái)的kmhtConvert可以將其轉(zhuǎn)化為Konqueror(KDE的一個(gè)瀏覽器)支持的war格式(再把此格式關(guān)聯(lián)到Konqueror).Konqueror中這樣創(chuàng)建war:工具->存檔網(wǎng)頁.kmhtConvert實(shí)現(xiàn)了以下格式的相互轉(zhuǎn)化:(*.mhtml, *.mht,*.eml, *.war).大家都知道網(wǎng)頁格式一般為.htm,.html,.shtml三種格式,其中三種格式的網(wǎng)頁代碼都是通用的.SHTML和HTML的區(qū)別在于shtml是一種采用了Server SideInclude(SSI,服務(wù)器端包含指令)技術(shù)的文件。大多數(shù)(尤其是基于Unix平臺(tái))的WEB服務(wù)器如Netscape EnterpriseServer等均支持SSI命令。

和Windows相比,Linux上的詞典、翻譯工具比較少.星際譯王StarDict是利用GTK(GIMPTOOLKIT)開發(fā)的國際化的、跨平臺(tái)的詞典工具,它也可以安裝在Windows上,不過,安裝前首先要安裝GTK+環(huán)境。星際譯王的詞典要在安裝完程序之后才能下載和設(shè)置.官方網(wǎng)站上的這個(gè)頁面:http://stardict.sourceforge.net/Dictionaries_zh_CN.php,就有很多中英詞典的下載地址。Toinstall these tarball dictionaries, do this:(1)tar -xjvf a.tar.bz2(2)mv a /usr/share/stardict/dic.我下載安裝了朗道英漢字典5.0漢英詞典5.0。


你可以在 http://www.xml-dev.com/blog/#19 找到許多好用的XML編輯器。
KXMLEditor是基于KDE的XML顯示和編輯工具。啟動(dòng)命令kxmleditor。
一些公司也發(fā)布比商業(yè)版功能少但免費(fèi)的版本:Eclipse的XMLBuddy插件標(biāo)準(zhǔn)版(www.xmlbuddy.com/,提供以下編輯功能:格式化、用戶可配置的語法著色、DTD 驅(qū)動(dòng)的代碼輔助、驗(yàn)證以及同步的提綱視圖格式化功能),Windows平臺(tái)的XMLSpy家庭版(HomeEdition,www.altova.com/),基于Java的XMLmind標(biāo)準(zhǔn)版(StandardEdition,www.xmlmind.com/,網(wǎng)上有中文版)。只發(fā)布商業(yè)版本的有oxygen(www.oxygenxml.com/)
Ratherthan writing DocBook XML documents by hand using a text editor likenotepad or vi, it is often conveinent to use an XML editor with apoint-and-click graphical user interface (GUI). This tutorial coversthe use of one such editor, XMLMind‘s XML Editor (XXE), to createDocBook XML documents.

ArgoUML是100%基于J2SE開發(fā)的UML建模工具,支持UML1.4所有7類圖,支持導(dǎo)入導(dǎo)出XMI,支持導(dǎo)出成PNG等多種圖形文件,支持代碼生成,不支持逆向工程,不支持C++。FedoraCore4附帶的Umbrello是基于KDE的,在保存和加載XMI文件時(shí)很慢。編譯1.5.1時(shí)居然提示我編譯器版本被它列入了黑名單以防止KDE崩潰,要求我更換其他版本編譯器。gcc (GCC) 4.0.0 20050519 (Red Hat4.0.0-8)。我通過SVN下載了gcc,但擔(dān)心把系統(tǒng)搞壞了,不敢弄。
Win32平臺(tái)上的StarUML是一個(gè)開源的UML/MDA平臺(tái),據(jù)說很不錯(cuò)(我用了一下,確實(shí)不錯(cuò)),下載地址:http://www.plasticsoftware.com/。
注意:各工具導(dǎo)出的XMI并不完全兼容,可能導(dǎo)致信息丟失甚至解析錯(cuò)誤!


webmin是Unix平臺(tái)上的服務(wù)器管理工具,能管理HTTP,FTP,SAMBA等.有許多插件可用.我選擇了"Start at boot",端口號(hào)默認(rèn)10000.但沒有識(shí)別我后來安裝的Apahce,不知道怎么回事?

jEdit是基于Java的文本編輯器(自然地在windows,Linux上都可用),支持多種語言的語法著色,就象Windows上的UEStudio和EditPlus一樣可以作為一個(gè)簡(jiǎn)單的IDE.有許多插件可用.(FedoraCore4附帶JRE版本1.4.2,jEdit1.4.3pre3運(yùn)行不起來:Out of memory...。從SUN下載JDK1.5或者JRE1.5安裝即可)

這兒是Linux內(nèi)核2.6完整的UML文檔,但似乎不實(shí)用:http://www.softwarerevolution.com/jeneral/open-source-docs.html

永中Office2004與MSOffice文檔格式兼容性很好。有Linux平臺(tái)的試用版免費(fèi)下載。在FederaCore4上安裝失敗,提示找不到"libgnomeui.so.32"。把FederaCore4光盤上的ORBit-0.5.17-15.i386.rpm和gnome-libs-1.4.1.2.90-46.i.386.rpm安裝上去就OK了。永中Office要安裝自帶的JVM,不管PC上是否安裝過。FC5上安裝永中20004Trial過程崩潰;安裝2007Beta版重是在停留在解壓縮階段,按照永中論壇的一個(gè)帖子搞定了。

除了FC系統(tǒng)自帶的up2date以外,我們還有更為強(qiáng)大的在線升級(jí)工具 yum 和 apt-get可用。apt與yum相比,apt歷史更久,且不限于RPM格式的包,可用于多個(gè)Linux Release。yum 工具是Fedora推薦使用的在線升級(jí)更新軟件包的工具,在安裝系統(tǒng)時(shí),一般都是默認(rèn)安裝。主要資源有 freshrpms.net和rpm.livna.org。例如安裝anjuta: yum install anjuta。幫助:yum --help。

WireShark(原名Ethereal)是個(gè)功能強(qiáng)大的協(xié)議分析器。最重要的特性:(1)Capture Filter,(2)DisplayFilter,(3)Capturer停止條件(時(shí)間、包數(shù)、大?。?,CaptureFile存儲(chǔ)形式(多文件循環(huán)利用)(這個(gè)功能比Windows上的安捷倫Agilent還要強(qiáng)!我用了0.99.3及之前版本,此功能經(jīng)常導(dǎo)致軟件崩潰)(4)允許指定接口抓包,常用的接口包括以太接口、Lookback接口、所有接口(5)支持tcpdump等許多其他協(xié)議分析器的記錄格式,(6)支持多達(dá)759種協(xié)議,(7)捕獲報(bào)文能夠全部或部分存儲(chǔ)、導(dǎo)出、打印,(8)可運(yùn)行于所有流行的OS上。Ethereal從版本0.99.1開始更名為WireShark??梢酝瑫r(shí)運(yùn)行多個(gè)Wireshark在同一接口上抓包--這樣便于從多個(gè)角度觀察網(wǎng)絡(luò)流量,例如區(qū)分多個(gè)IPCam的流量以便于判斷哪個(gè)斷線了。鑒于WireShark的多文件循環(huán)存儲(chǔ)功能有BUG,可以用tcpdump或者命令行方式的Wireshark,直接把報(bào)文打印到stdout,不需要考慮尺寸限制--缺點(diǎn)是瀏覽報(bào)文不如GUI方式直觀。
 Ethereal® is used by networkprofessionals around the world for troubleshooting, analysis, softwareand protocol development, and education. It has all of the standardfeatures  you would expect in a protocol analyzer, and several featuresnot seen in any other product. Its open source license allows talentedexperts in the networking community to add enhancements. It runs on allpopular computing platforms, including Unix, Linux, and Windows.


企鵝輸入法fcitx,比FedoraCore4自帶的智能拼音好用多了.

Linux是很不錯(cuò)的OS,但現(xiàn)實(shí)環(huán)境有許多平時(shí)工作要用的軟件都必須在Windows環(huán)境下運(yùn)行,所以還是沒有辦法使用Linux。其實(shí)安裝了WINE即可使用exe檔,也可以使用ie、word、execl、powerpoint、photoshop、adobeacrobat......
IEs4Linux is the simpler way to have Microsoft Internet Explorer running on Linux. What is the target public?
    * WebDesigners that want to move to Linux but still need to test their sites on IE.
    * People who have to open IE-only sites
我為了在WINE上安裝IE6,用winetools幾次都出錯(cuò)。網(wǎng)上有人說用EasyWine也總是出錯(cuò)。最后用IEs4Linux輕松搞定!
安裝BII的NetCam客戶端后提示缺少M(fèi)SVCP60.dll,拷貝過來后運(yùn)行又發(fā)生"run time error"??磥碛脀ine運(yùn)行任意一個(gè)Windows上的exe不是那么容易!

偶然發(fā)現(xiàn)了一個(gè)內(nèi)部網(wǎng)搜索引擎ht://Dig在http://www.htdig.org/。http://www.gnu.org/就是用它作為站內(nèi)搜索引擎。這個(gè)軟件在做web站點(diǎn)時(shí)可能有用。



[root@KennyLinux kenny]# find /  -name "httpd"
/usr/sbin/httpd
/usr/share/doc/qt-devel-3.3.4/examples/network/httpd
/usr/lib/httpd
find:WARNING: Hard link count is wrong for /proc: this may be a bug in yourfilesystem driver.  Automatically turning on find‘s -noleaf option. Earlier results may have failed to include directories that should havebeen searched.
/etc/httpd
/etc/rc.d/init.d/httpd
/etc/logrotate.d/httpd
/etc/sysconfig/httpd
/var/log/httpd

[root@KennyLinux kenny]# find / -name *apx*
find:WARNING: Hard link count is wrong for /proc: this may be a bug in yourfilesystem driver.  Automatically turning on find‘s -noleaf option. Earlier results may have failed to include directories that should havebeen searched.
/var/www/manual/programs/apxs.html.en
/var/www/manual/programs/apxs.html.ko.euc-kr
/var/www/manual/programs/apxs.html


凡是FedoraCore4光盤上有的,可以從FC4-i386-DVD.iso文件中提取(mount選項(xiàng)-t iso9660 -oloop),也可以從Redhat提供的鏡像站點(diǎn)下載rpm來安裝:http://fedora.redhat.com/download/mirrors.html。通過RPM名字或者包含的某共享庫名字查找RPM在網(wǎng)站rpmfind.net, rpm.pbone.net和www.rpmseek.com。

今天偶然發(fā)現(xiàn)有Fortran和Pascal代碼到C代碼轉(zhuǎn)化工具f2c和p2c。記得以前聽說過Java代碼到C#代碼的轉(zhuǎn)化工具。“如果你有一些用 FORTRAN 或 Pascal寫的代碼要用 C 重寫的話, f2c 和 p2c 對(duì)你非常有用. 這兩個(gè)程序產(chǎn)生的 C 代碼一般不用修改就直接能被 GCC 編譯.如果要轉(zhuǎn)換的FORTRAN 或 Pascal 程序比較小的話可以直接使用 f2c 或 p2c 不用加任何選項(xiàng). 如果要轉(zhuǎn)換的程序比較龐大,包含很多文件的話你可能要用到一些命令行選項(xiàng). ”

Zope,Z Object PublishingEnvironment,它即是http服務(wù)器,又是數(shù)據(jù)庫,又包含腳本編程語言。Zope是一種支持多種平臺(tái)開源的Web應(yīng)用服務(wù)器軟件,它提供了完善的功能和強(qiáng)大的動(dòng)力,適用于構(gòu)建各種類型的Web應(yīng)用,從小型網(wǎng)站到企業(yè)級(jí)分布式網(wǎng)絡(luò)應(yīng)用都有Zope的用武之地。Zope在許多方面都超過了ASP、PHP、JSP等傳統(tǒng)方法,是一套優(yōu)秀而完整的解決方案。本專題詳述Zope的應(yīng)用開發(fā),帶您領(lǐng)略Zope的強(qiáng)大功能。
Zope是一個(gè)應(yīng)用服務(wù)器, 他是一個(gè)讓您的應(yīng)用被英特網(wǎng)訪問(如用您的web瀏覽器)的平臺(tái). 這樣Zope可在內(nèi)部網(wǎng)或者英特網(wǎng)上提供內(nèi)容.非常適合內(nèi)容管理和群件系統(tǒng),Zope被認(rèn)為這個(gè)市場(chǎng)最有效的工具之一. "Zope在創(chuàng)建和管理動(dòng)態(tài)基于web的商務(wù)應(yīng)用(如內(nèi)部網(wǎng)和門戶網(wǎng))等方面,使團(tuán)隊(duì)協(xié)作成為可能."(Zope.org)

Virtual Network Computing (VNC) allows one to viewand operate the console of another computer remotely accross thenetwork.RealVNC(www.realvnc.com)和TightVNC(www.tightvnc.com)在Linux和Windows上都有Client/Server合一的版本。我在Windows上安裝TightVNC作為VNCServer,配置非常簡(jiǎn)單:服務(wù)器配置只需要設(shè)置密碼即可。Linux上運(yùn)行VNC客戶端在訪問時(shí)指定服務(wù)器IP并提供密碼即可。 FedoraCore 5集成了2個(gè)VNC客戶端:krdc和“終端服務(wù)客戶端”,都在Internet分類下面。
在windows中也由一套著名的網(wǎng)絡(luò)遙控軟件――Symantec公司推出的pcAnywhere。

備份是系統(tǒng)管理中最艱巨、最容易被忽略的工作之一,同時(shí)也是最重要的工作之一。備份是防御硬件故障、非法入侵和系統(tǒng)安全的最大威脅——終端用戶的最后一道防線。有許多備份系統(tǒng)價(jià)值數(shù)千美元,它們使用到處都是 Bug 的專有版權(quán)軟件將數(shù)據(jù)存入昂貴的磁帶機(jī)中,而實(shí)際上有更好的方法:Rsync和廉價(jià)的磁盤陣列。

RFC資源:
詳細(xì)列表(近7M大)    http://ietfreport.isoc.org/rfclist.htm
簡(jiǎn)明列表            http://ietfreport.isoc.org/rfcindex.htm
PDF版                http://www.faqs.org/rfc/pdf/rfc000.pdf
                    ftp://ftp.faqs.org/rfc/pdf/rfc000.pdf
TXT版                ftp://ftp.faqs.org/rfc/rfc000.pdf
RFC文件閱讀器2.0(菊風(fēng)特別版)    http://www.juphoon.com/cn/support/downloads&updates.htm
RFC Viewer破解版    忘記哪兒找到的了。和上面的RFC文件閱讀器2.0差不多,沒必要用這個(gè)盜版。



[kenny@kenny gcc_objdir]$ pwd
/home/kenny/WorkEnvInit/gcc/gcc_objdir
[kenny@kennygcc_objdir]$ ../gcc-4.0.2/configure --program-suffix=bounds--enable-version-specific-runtime-libs --enable-languages=c,c++--disable-nls
[kenny@kenny gcc_objdir]$ make bootstrap
...
gcc  -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic-Wno-long-long -Wno-variadic-macros -Wold-style-definition   -DHAVE_CONFIG_H  -o g++ \
  gcc.o g++spec.o intl.o prefix.o version.o   ../libcpp/libcpp.a   ../libiberty/libiberty.a
echo|  ./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem/usr/local/i686-pc-linux-gnu/include -isystem/usr/local/i686-pc-linux-gnu/sys-include-L/home/kenny/WorkEnvInit/gcc/gcc_objdir/gcc/../ld -E -dM - | \
  sed -n ‘s/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p ; \
        s/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p‘ | \
  sort -u > tmp-macro_list
sort: sort.c:701:inittables_mb: 斷言“mblength != (size_t)-1 && mblength != (size_t)-2”失敗。
/bin/sh: line 1: 31774 Done                    echo
    31775                       | ./xgcc -B./-B/usr/local/i686-pc-linux-gnu/bin/ -isystem/usr/local/i686-pc-linux-gnu/include -isystem/usr/local/i686-pc-linux-gnu/sys-include-L/home/kenny/WorkEnvInit/gcc/gcc_objdir/gcc/../ld -E -dM -
     31776 斷開的管道              | sed -n ‘s/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p ;  s/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p‘
     31777 已放棄                  (core dumped) | sort -u >tmp-macro_list
make[2]: *** [s-macro_list] 錯(cuò)誤 134
make[2]: Leaving directory `/home/kenny/WorkEnvInit/gcc/gcc_objdir/gcc‘
make[1]: *** [stage1_build] 錯(cuò)誤 2
make[1]: Leaving directory `/home/kenny/WorkEnvInit/gcc/gcc_objdir/gcc‘
make: *** [bootstrap] 錯(cuò)誤 2

看sort的在線幫助得知這個(gè)對(duì)文件的所有行排序的工具受環(huán)境變量LC_ALL的影響:
       *** WARNING *** The locale specified by the  environment  affects  sort
       order.  Set LC_ALL=C to get the traditional sort order that uses native
       byte values.


sipsak:SIP Swiss Army Knife, very useful test utility (Linux).SIPSAK是一個(gè)小的命令行工具,用于開發(fā)者和系統(tǒng)管理員測(cè)試SIP系統(tǒng)??蓪?duì)SIP應(yīng)用和設(shè)備進(jìn)行簡(jiǎn)單的測(cè)試。sipsak結(jié)合Python,Perl之類的腳本語言,可以快速構(gòu)建一個(gè)簡(jiǎn)單測(cè)試。http://sipsak.org/上的cdt.pl就是這方面的例子。這比起僅使用腳本語言,省去了認(rèn)證、發(fā)送ACK、DNS解析等麻煩。

SIPp: a powerful SIP performance testingtool sponsered by HP. Its main features are basic SIPStone scenarios,TCP/UDP transport, customizable (xml based) scenarios, dynamicadjustement of call-rate and a comprehensive set of real-timestatistics.

Bison的-g選項(xiàng)輸出語法的自動(dòng)機(jī)的VCG定義。 Visualization of CompilerGraphs。以下兩個(gè)地方有相關(guān)工具信息:http://rw4.cs.uni-sb.de/~sander/html/gsvcg1.html,http://vcg.sourceforge.net/,directory.fsf.org/Xvcg.html。好像函數(shù)調(diào)用關(guān)系也可以用這個(gè)表達(dá),見http://web.mit.edu/fortran/www/vcg.html。

BuildBot基于Python。BuildBot是分布式結(jié)構(gòu),master監(jiān)控若干slaves(監(jiān)視狀態(tài),下發(fā)命令,搜集結(jié)果),各個(gè)slave按照指示執(zhí)行update/compile/test并返回結(jié)果。Python和其他許多項(xiàng)目(Python的持續(xù)構(gòu)建報(bào)告http://www.python.org/dev/buildbot/;wireshark的構(gòu)建報(bào)告http://buildbot.wireshark.org/trunk/)利用它做持續(xù)構(gòu)建。最簡(jiǎn)單的調(diào)度器是Periodic,每隔N秒(無論庫有無變化)呼叫slave一次;其次是Scheduler,每次注意到庫變化都呼叫slave一次;最復(fù)雜是Nightly,注意到庫變化后在特定時(shí)間點(diǎn)呼叫slave一次。
我嘗試了一下BuildBot,做到了Periodic式持續(xù)構(gòu)建,但沒有做到Scheduler式構(gòu)建--庫變動(dòng)后,WEB上一直看不到新Build動(dòng)作,似乎SVNProller檢測(cè)不到庫的變化?
IPCam小組現(xiàn)在用的Autobuild機(jī)制修改為基于BuildBot來實(shí)現(xiàn),好處不大,因?yàn)锽uildBot更適合于那些需要在多個(gè)環(huán)境下編譯和測(cè)試的軟件項(xiàng)目。


dogtail(http://people.redhat.com/zcerza/dogtail/index.html) is a GUI test tooland automation framework written in Python. It uses Accessibility(a11y) technologies to communicate with desktop applications. dogtailscripts are written in Python and executed like any other Pythonprogram. Both dogtail and LDTP (Linux Desktop Testing Project) are testtools that use the same underlying technology (AT-SPI). Beyond thatfact, there is no current relationship between dogtail andLDTP.(我最初是在http://directory.fsf.org/devel/prog/Python/這個(gè)工具發(fā)現(xiàn)這個(gè)工具的簡(jiǎn)介。后來發(fā)現(xiàn)了marathon--一個(gè)基于Python和Java的測(cè)試Java SwingGUI的測(cè)試工具。其實(shí)以上這些GUI測(cè)試工具的測(cè)試步驟都是如下三步:Record[錄制腳本]->Refactor[調(diào)整]->Replay[重放])

SIP (http://riverbankcomputing.co.uk/sip/index.php)is a tool for automatically generating Python bindings for C and C++libraries. It was originally developed to create PyQt, the Pythonbindings for the Qt toolkit, but can be used to create bindings for anyC or C++ library. 可yum安裝,名稱Python-SIP。
SIP is included with all of the major Linux distributions. However, it may be a version or two out of date.
PySWT(http://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction)是用SIP擴(kuò)展Python的一個(gè)好例子(它包裝了Eclipse采用的SWT庫,這只是作者做的原始版本而已)。這個(gè)頁面比較了SWIG和SIP兩種包裝方法,認(rèn)為SIP更易用。

PyChecker is a tool for finding bugs in python sourcecode. It finds problems that are typically caught by a compiler forless dynamic languages, like C and C++. It is similar to lint. Becauseof the dynamic nature of python, some warnings may be incorrect;however, spurious warnings should be fairly infrequent.

Pylintis a python tool that checks if a module satisfies a coding standard.Pylint can be seen as another PyChecker since nearly all tests you cando with PyChecker can also be done with Pylint. But Pylint offers somemore features, like checking line-code‘s length, checking if variablenames are well-formed according to your coding standard, or checking ifdeclared interfaces are truly implemented, and much more (see thecomplete check list).

Pyreverse is a set of tools for reverseengineering Python code. So far, it features dependency analysis tools,unittest skeleton generation, quick UML like diagrams generation andXMI generation for importation in a UML modeling tool. A special modulecan be used to generate files readable by Argo UML.

Winpdb - AnAdvanced Python Debugger. Winpdb is an GPL Python debugger, withsupport for smart breakpoints, multiple threads, namespacemodification, embedded debugging, password encrypted communication andspeed of up to 20 times that of pdb.它基于wxPython。我用了一下,感覺比Python自帶的IDLE的調(diào)試功能更強(qiáng),更好用,速度也更快(IDLE里面執(zhí)行一行代碼慢得像蝸牛)。Winpdb只有很少的在線文檔,啟動(dòng)命令:"_winpdb.py-t"。調(diào)試器Launch一個(gè)Python腳本時(shí)使用的就是啟動(dòng)調(diào)試器時(shí)的那個(gè)Python解釋器,似乎沒有辦法更換。

pydbis an expanded version of the Python debugger loosely based on the gdbcomand set. It also has all of the features found in an earlier versionof pydb.py that was distributed with the debugger GUI ddd.早期的pydb是DDD的一個(gè)插件,而現(xiàn)在的版本基于gdb命令行,所以還可以集成到Emacs中。

免費(fèi)的PythonIDE很多,我選擇了SPE(http://pythonide.stani.be/)。它基于wxPython,集成了UML,語法檢查工具PyChecker, 調(diào)試器Winpdb, GUI設(shè)計(jì)器wxGlade和XRC, 3D建模器和游戲引擎Blender &more...我用了一下,它像Python自帶的IDLE那樣有命令行,但編輯代碼等功能好了十萬八千里,顯示漢字沒問題。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
100個(gè)最佳Linux站點(diǎn)
代碼審計(jì)工具匯總
常見python模塊大全
Linux不是Windows
這些大網(wǎng)站都用什么操作系統(tǒng)與 Web 服務(wù)器
linux
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服