Linux下推荐应用程序列表
windows下访问ext2fs, ext3fs: http://www.ext2fs-anywhere.com/
http://fs-driver.org/
修复分区表:Disk Genius(原名DiskMan), diskfix
* 批量更改文件名:rename (可能位于rename这个软件包)
* 监视文件或目录变更:fam (http://oss.sgi.com/projects/fam/)
gamin (http://www.gnome.org/~veillard/gamin/index.html)
* 媒体播放:
1)divx影片:mplayer
2)rm影片:realplayer10 for linux, mplayer
3)mp3: amarok, Audacious, beep media player, Rhythmbox,MPD
4)ape: xmms+monkey's audio plugin(http://supermmx.org/linux/mac/)
http://www.sourceforge.net/projects/mac-port/
5)其他格式(wma, wmv, mkv, quicktime): mplayer
* 各种格式的文档和文件
1)打开微软的office文档: openoffice, starsuite
wvware(http://wvware.sourceforge.net/)
2)查看pdf文件:xpdf, acroread for linux, ggv
3)查看ps文件: gsview, ggv, kghostview
4)chm文件: archmage,chmsee, Xchm,kchmviewer, chmreader, gnochm
5)mht文件: ripmime,firefox+MAF插件
6)图表绘制: dia
7).bin虚拟光盘: 用bin2iso或bchunk转成iso后mount
8)压缩文件
.rar: rar for linux或unrar
.zip: unzip
.bz2: bunzip2
.tar/.tgz: tar
.jar/.xpi: ark
* 中文输入法: scim, fcitx
* BBS软件:qterm, pcmanx-gtk2, {rxvt,xterm,gnome-terminal,...}+BBSbot
* 即时通讯:
1) QQ: lumaqq, Gaim+openq plugin, eva
2) MSN,icq,yahoo: Gaim
* web浏览器:mozilla-firefox, mozilla, opera
* ftp客户端(图形界面) :gftp, Iglooftp-1.23
* ftp客户端(终端) : lftp, ncftp
* ftp服务器: pureftpd, proftpd, vsftpd
* http下载(终端): wget, curl, prozilla
* bt下载: bittorrent(终端), azureus(图形界面)
* 多线程下载:MultiGet
* email软件(图形界面):thunderbird, sylpheed, evolution, opera M2
* email终端: mutt, pine, gnus
* RSS:liferea
* SMTP client: msmtp, esmtp
* 编辑器
1) 文本: vim, emacs, jedit
2) 16进制: hexedit, ghex, mc
* 图片浏览: gImageView, gqview, zgv(console), fbida(console)
* 图片处理: gimp, ImageMagick
* 屏幕抓图:
抓成图片:ksnapshot, ImageMagick 的 import, gimp, xwd, scrot
http://addons.mozine.org/firefox/209/ (抓网页)
抓成视频:vnc2swf, vncrec, xvidcap
* 录音、音频处理: audacity, mhwaveedit, glame
* 视频处理:Cinelerra
* 音频格式转换:SoX
* 刻录:k3b, brasero, cdrecord
* 英汉字典: stardict(屏幕取词,词库大,英汉,汉英, 英英)
ibmdict(包含科技词典,词库大,英汉,汉英)
dictd:英汉 汉英 可以使用stardict的全部词库.
cdict:英汉 汉英 使用安装方便,彩色显示.
* 科学计算: matlab, octave
* 科学作图: gnuplot, metapost,Asymptote
* 虚拟机
1) win下虚拟linux: cygwin, 老版virtual-pc, colinux
2) linux下虚拟win: win4lin
3) 跨平台: vmware, bochs, qemu, virtualbox
4) linux下运行windows程序: wine, easywine, winex, crossover office
Glossword WAMP source code (NSIS)
// Glossword WAMP (http://sourceforge.net/projects/glossword/)
// Apache, MySQL and PHP are stored in archive usr.exe, directory /usr/local
// phpMyAdmin is in archive htdocs.exe, directory /htdocs/phpmyadmin
// Additionaly you need files with phrases: English.nsh and Russian.nsh
// ------------------------------------------
// English.nsh:
// LangString SECT_01 ${LANG_ENGLISH} "Glossword ${PRODUCT_VERSION}"
// LangString TXT_02 ${LANG_ENGLISH} "Thank you for installing Glossword.\r\nFor news and updates go to http://sourceforge.net/projects/glossword/"
// LangString DESC_SecGw ${LANG_ENGLISH} "Glossword program core files."
// ------------------------------------------
// install.bat
// @echo on
// cls
// SET ipath=%1
// cd "%ipath%/usr/local/apache2/bin"
// httpd.exe -k install -n Apache2_GW
// httpd.exe -k start -n Apache2_GW
// cd "%ipath%/usr/local/mysql5/bin"
// mysqld-nt.exe --install MySQL50_GW --defaults-file="%ipath%/usr/local/mysql5/bin/my-custom.cnf"
// net start MySQL50_GW
// ------------------------------------------
// uninstall.bat
// @echo off
// cls
// SET ipath=%1
// cd "%ipath%/usr/local/apache2/bin"
// httpd.exe -k stop -n Apache2_GW
// httpd.exe -k uninstall -n Apache2_GW
// net stop MySQL50_GW
// cd "%ipath%/usr/local/mysql5/bin"
// mysqld-nt.exe --remove MySQL50_GW
// ------------------------------------------
// unpack.bat
// @echo off
// usr.exe -y
// htdocs.exe -y
// del usr.exe
// del htdocs.exe
// del unpack.bat
Now you can create your own WAMP package.
; Glossword Desktop edition: Apache, MySQL, PHP
; Written by Dmitry Shilnikov (c) 2002-2007
; tty01@rambler.ru
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
; replace in file with count of changes
!include "FileFunc.nsh"
;--------------------------------
;Custom variables
!define PRODUCT_NAME "Apache, MySQL, PHP"
!define PRODUCT_VERSION "Apache/2.2.4, MySQL 5.0.41-community-nt, PHP 5.2.3 for Windows"
!define DIR_SRC "."
!define THIS_DIR_INSTALLTO "Glossword-WAMP"
;--------------------------------
;General
Name "${PRODUCT_NAME}"
OutFile "glossword-wamp.exe"
;Folder selection page
InstallDir "$PROGRAMFILES\Glossword-WAMP"
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
!define MUI_UI ${NSISDIR}\Contrib\UIs\modern.exe
!define MUI_ICON ${DIR_SRC}\install\gw_new.ico
!define MUI_UNICON ${DIR_SRC}\install\gw_remove.ico
!define MUI_FINISHPAGE_TEXT $(TXT_02)
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Russian"
;--------------------------------
;Installer Sections
Section "$(SECT_01)" SecGw
SetDetailsPrint textonly
DetailPrint "Installing server files..."
SetOverwrite ifnewer
DetailPrint "htdocs..."
CreateDirectory "$INSTDIR\htdocs"
CreateDirectory "$INSTDIR\htdocs\glossword"
SetOutPath "$INSTDIR"
File "usr.exe"
File "htdocs.exe"
File "unpack.bat"
File "install.bat"
File "uninstall.bat"
File "localhost.url"
File "phpinfo.url"
File "phpmyadmin.url"
File "news.url"
File "glossword-wamp224_5041_523.txt"
ExecWait '"unpack.bat"'
SetOutPath "$INSTDIR"
; change configuraiton files
DetailPrint "httpd.conf..."
ClearErrors
FileOpen $0 "$INSTDIR\usr\local\apache2\conf\httpd.conf" "r"
GetTempFileName $R0
FileOpen $1 $R0 "w"
loop1:
FileRead $0 $2
IfErrors done1
StrCmp $2 "# Created by install$\r$\n" 0 +2
StrCpy $2 "# Created by glossword-amp.exe$\r$\n"
StrCmp $2 "DocumentRoot $\"E:/usr/httpdocs/svn/Glossword Desktop/htdocs$\"$\r$\n" 0 +2
StrCpy $2 "DocumentRoot $\"$INSTDIR\htdocs$\"$\r$\n"
StrCmp $2 "ServerRoot $\"E:/usr/httpdocs/svn/Glossword Desktop/usr/local/apache2$\"$\r$\n" 0 +2
StrCpy $2 "ServerRoot $\"$INSTDIR\usr\local\apache2$\"$\r$\n"
FileWrite $1 $2
Goto loop1
done1:
FileClose $0
FileClose $1
Delete "$INSTDIR\usr\local\apache2\conf\httpd.conf"
CopyFiles /SILENT $R0 "$INSTDIR\usr\local\apache2\conf\httpd.conf"
Delete $R0
;
DetailPrint "my-custom.cnf..."
ClearErrors
FileOpen $0 "$INSTDIR\usr\local\mysql5\bin\my-custom.cnf" "r"
GetTempFileName $R0
FileOpen $1 $R0 "w"
loop2:
FileRead $0 $2
IfErrors done2
StrCmp $2 "basedir=$\"../mysql5/$\"$\r$\n" 0 +2
StrCpy $2 "basedir=$\"$INSTDIR\usr\local\mysql5\$\"$\r$\n"
StrCmp $2 "datadir=$\"../mysql5/data/$\"$\r$\n" 0 +2
StrCpy $2 "datadir=$\"$INSTDIR\usr\local\mysql5\data\$\"$\r$\n"
FileWrite $1 $2
Goto loop2
done2:
FileClose $0
FileClose $1
Delete "$INSTDIR\usr\local\mysql5\bin\my-custom.cnf"
CopyFiles /SILENT $R0 "$INSTDIR\usr\local\mysql5\bin\my-custom.cnf"
Delete $R0
;
DetailPrint "php.ini..."
ClearErrors
FileOpen $0 "$INSTDIR\usr\local\php5\php.ini" "r"
GetTempFileName $R0
FileOpen $1 $R0 "w"
loop5:
FileRead $0 $2
IfErrors done5
StrCmp $2 "extension_dir = $\"../../php5/ext$\"$\r$\n" 0 +2
StrCpy $2 "extension_dir = $\"$INSTDIR\usr\local\php5\ext$\"$\r$\n"
StrCmp $2 "session.save_path = $\"c:/temp$\"$\r$\n" 0 +2
StrCpy $2 "session.save_path = $\"$TEMP$\"$\r$\n"
FileWrite $1 $2
Goto loop5
done5:
FileClose $0
FileClose $1
Delete "$INSTDIR\usr\local\php5\php.ini"
CopyFiles /SILENT $R0 "$INSTDIR\usr\local\php5\php.ini"
Delete $R0
;
DetailPrint "install.bat..."
ClearErrors
FileOpen $0 "$INSTDIR\install.bat" "r"
GetTempFileName $R0
FileOpen $1 $R0 "w"
loop3:
FileRead $0 $2
IfErrors done3
StrCmp $2 "set ipath=%1$\r$\n" 0 +2
StrCpy $2 "set ipath=$INSTDIR$\r$\n"
FileWrite $1 $2
Goto loop3
done3:
FileClose $0
FileClose $1
Delete "$INSTDIR\install.bat"
CopyFiles /SILENT $R0 "$INSTDIR\install.bat"
Delete $R0
;
DetailPrint "uninstall.bat..."
ClearErrors
FileOpen $0 "$INSTDIR\uninstall.bat" "r"
GetTempFileName $R0
FileOpen $1 $R0 "w"
loop4:
FileRead $0 $2
IfErrors done4
StrCmp $2 "set ipath=%1$\r$\n" 0 +2
StrCpy $2 "set ipath=$INSTDIR$\r$\n"
FileWrite $1 $2
Goto loop4
done4:
FileClose $0
FileClose $1
Delete "$INSTDIR\uninstall.bat"
CopyFiles /SILENT $R0 "$INSTDIR\uninstall.bat"
Delete $R0
ExecWait '"install.bat"'
;nsExec::ExecToStack '"install.bat"'
SetOverwrite off
CreateDirectory "$SMPROGRAMS\${THIS_DIR_INSTALLTO}"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Glossword at localhost.lnk" "$INSTDIR\localhost.url"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Glossword development news.lnk" "$INSTDIR\news.url"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\phpinfo().lnk" "$INSTDIR\phpinfo.url"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\phpMyAdmin.lnk" "$INSTDIR\phpmyadmin.url"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Apache Monitor.lnk" "$INSTDIR\usr\local\apache2\bin\ApacheMonitor.exe"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Remove Glossword WAMP.lnk" "$INSTDIR\uninstall.exe"
CreateShortCut "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Release notes.lnk" "$INSTDIR\glossword-wamp224_5041_523.txt"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
;--------------------------------
;Descriptions
!include "${DIR_SRC}\install\English.nsh"
!include "${DIR_SRC}\install\Russian.nsh"
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecGw} $(DESC_SecGw)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Functions
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;--------------------------------
;Uninstaller Section
Section Uninstall
SetOutPath "$INSTDIR"
ExecWait '"uninstall.bat"'
SetShellVarContext current
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Remove Glossword WAMP.lnk"
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Apache Monitor.lnk"
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Glossword at localhost.lnk"
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Glossword development news.lnk"
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\phpinfo().lnk"
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\phpMyAdmin.lnk"
Delete "$SMPROGRAMS\${THIS_DIR_INSTALLTO}\Release Notes.lnk"
RMDir /r "$SMPROGRAMS\${THIS_DIR_INSTALLTO}"
RMDir /r "$INSTDIR\usr\local\apache2"
RMDir /r "$INSTDIR\usr\local\php5"
RMDir /r "$INSTDIR\usr\local\mysql5\bin"
RMDir /r "$INSTDIR\usr\local\mysql5\share"
RMDir /r "$INSTDIR\htdocs\phpmyadmin"
Delete "$INSTDIR\install.bat"
Delete "$INSTDIR\uninstall.bat"
Delete "$INSTDIR\glossword-wamp224_5041_523.txt"
Delete "$INSTDIR\localhost.url"
Delete "$INSTDIR\phpinfo.url"
Delete "$INSTDIR\phpmyadmin.url"
;RMDir /r "$INSTDIR"
SetAutoClose true
SectionEnd
官方 NSIS 插件全集简单介绍
System plugin (contain examples) -- 调用其他动态链接库(*.dll)插件,NSIS 软件已包含,超级好用,把 windows 的 API 发挥到极限。
A Plugin for controlling Internet Explorer -- 控制 IE 浏览器操作的插件,例如打开浏览器,关闭浏览器等等。
AccessControl plugin -- 存取控制插件,只适用于 Win2000 或以上。
BDE Alias -- Borland BDE 数据库别名创建修改插件(DELPHI 数据库程序安装制作的好东东)
BitTorrent downloads for NSIS -- BT 下载的插件,呵呵,作单独下载某个 BT 文件的好东西
CabDLL: Plugin to extract all the files from a cabinet (CAB) -- 从 CAB 压缩包中抽取文件的插件
Change Variable Plugin -- 可用来改变 $TEMP 的临时目录的插件,打破只能由安装程序自动选择系统 temp 路径。
ChangeRes Plugin -- 改变屏幕分辨率,颜色数,刷新率的插件。
ComPlusAdmin -- COM+ 组件的添加删除插件
CPUDesc -- 获取 CPU 相关参数的插件,例如 3DNOW, MMX 支持等等
CRC generator plugin -- 用来获取文件标准 ZIP CRC32(CRC 校验值) 的插件。
Crypto Plugin -- 用来加密的插件,算法包括 MD5, SHA1, MD2, MD4,可加密文字,文件,呵呵,绝对可以作出一个需要序列号的安装程序,即使别人有解包工具也需要懂得破解算法加密才行,否则只会得到一堆乱码字节。
Customisable MessageBox Plugin -- 可自定义消息对话框的插件,呵呵,可以作出4个按钮的消息框。
Detect Windows Version -- 检查windows系统版本的插件,在严格需要指定系统的时候有用。
Dialogs 2.3 -- 调用系统标准对话框插件,例如打开,保存等等的标准对话框。
DumpState -- 可列出安装过程中变量,堆栈里面内容的插件,用来调试之用超一流。
Enumerate CD-ROM Drives -- 列举当前可用的CD-ROM列表。
ExecDos -- 创建控制台环境运行DOS程序的插件。
Execute & Set Priority -- 以进程方式运行程序,而且可以指定运行优先级的插件。
ExLicensePage -- 扩展 License 页的插件,是否有很多 License 要用户同意才能安装呢,这个东东就是为了解决这个问题的,实现多页 License 效果。
external install file system -- 分卷安装制作的插件,用 NSIS把安装程序做到多个软盘中已经不是很困难的事了。
ExtractDLL -- 解压 compressfile.exe 压缩的文件,在用 NSISdl 插件制作在线升级程序时有用。只支持 zlib 算法。
ExtractDLLEx Plugin (LZMA containerfile decompressor) -- 同上,支持 LZMA 算法。这个插件和上面那个插件出现的目的是为了,在线升级程序多数人都要把升级文件打包以减少体积,而 NSIS 并没有属于自己的解压插件,所以不得不把一些没有精简过代码的解压程序来作为客户端的解压工具,这是不可取的,所以这两个插件随之出现。
Find Process By Name -- 查找进程的专用插件,呵呵,这下不用自己用API函数来互斥来知道进程是否运行了。
FloatOP plugin -- IntOp 只能操作整数,该插件就是为了解决浮点数运算问题的。
Help Support Plugin -- 这是一个可以令到你点击一个按钮或按“F1”就可以通过关键字调出相关帮助中的相关章节的插件。
InetLoad -- 一个类似 NSISdl 的下载插件,支持 http 和 ftp ,基于 MS WinInet API,对于在线升级程序制作有一定用处。
InstallOptionsEx 2.4.2 beta 1 -- 扩展自原 InstallOptions 插件,更多控件支持 Animation(动画), ProgressBar(进度条), TrackBar(位置调节), IPAddress(IP 输入), DateTime(日期时间编辑框), MonthCalendar(日历), UpDown(上下调节), TreeView(树形结构视图框)。还有其他改进功能。
Internet plugin -- 网络功能插件,取本地计算机的主机名,IP 地址,还有 urls 的状态代码,例如:404 就代表 urls 不存在。
IPTest -- 检测 IP 段中的可用地址。可用来检测一个IP是否存在并可用。
KillProcDLL Manual -- 清除进程的插件,既然能检测出阻碍安装过程的进程当然少不了这个清除进程的东东啦。
Lazarus Registration Component -- 可添加一个输入序列号和注册码的页面,呵呵,想做一个要输入注册码的安装程序吗?这个插件就是用来这样做的。
Marquee (text scroll) -- 可以在 INSTFILES 页面(安装程序进度列表页面)的列表中添加滚动条的插件。还可以改列表的颜色,字体,边框等等
MD5 plugin -- md5 插件,著名的校验算法插件,用来检验一个文件的版本是否对应的最好插件。
MSIBanner - Plugin to display a dialog with a progress bar -- 一个仿效标准 MSI 安装程序(Windows Installer) banner 的界面插件。
new directory selection page -- 安装目录选择页面插件,能检测是否满足需要空间大小。
NSIS Debugger -- NSIS 调试器插件,用来调试脚本用的。
NSIS-Date 1.0 -- 取本地时间的插件,在 API 函数中也能做到,但是这个插件是推荐用的,因为它包括了处理例如夏令时这类的时间问题。
NSISLog -- 写安装日志的插件,用来记录安装过程,从而准确删除安装过的文件的好插件。
nsRandom -- 能产生随机数的插件,某些时候,这个插件是很有用的。
nsScreenshot -- 保存屏幕截图为一个BMP文件的插件。可全屏幕截图或指定窗口截图
nsWeb: A plugin to display the web browser control in a custom page -- 可以插入一个支持 HTML 的页面插件,也可以以弹出窗口的方式显示,做广告的东东。
NxS MSI LoaderDlg -- MSIBanner 只是个仿效插件,所以就产生了这个插件,要求完美的人总会有的。
ODBC Configuration Manager -- ODBC 数据源配置管理插件。制作数据库安装程序的又一个好东东。
Perl plugin - v. 1.3 -- 这是一个允许在 NSIS 安装程序中执行 Perl 代码的插件。
Plugin Tester (or Wrapper) -- 这是个能使用命令行参数调用其他插件中函数的插件。
Processes plug-in -- 查找和清除进程(包括设备驱动)的插件。(适用:WinNT,Win2K,WinXP,Win2003 Server)
Python Interpreter -- 这是一个允许在 NSIS 安装程序中执行 Python 代码的插件。
Refresh Desktop Plugin -- 这是一个刷新桌面的插件,有时候程序安装了桌面图标,为什么用户看不见呢,那就需要这个插件了。
Service Control Manager plugin (install services and drivers on NT/2K/XP) -- 安装服务程序(包括查看服务程序状态,停止,运行操作)的插件。适用:NT/2K/XP
ShellLink plugin -- 这是允许你读取一个快捷方式文件(*.lnk)的插件,那样你就可以知道这个快捷方式的情况,例如指向哪个文件等等。
System hardware detection -- 检查系统硬件信息的插件,目前能检测 CPU 名称,CPU 速度,系统内存大小,显卡名称,显卡内存大小。
System Tray NotifyIcon creator plugin -- 可以产生一个右下角区域中图标的插件,超级酷,估计没有人做过这样的安装程序吧。^__^,可以自定义图标,自定义文字和安装进度百分比。
TAPI Helper Plugin -- 用来检测 modem 的 ID 和名称的插件。
ToolTips -- 可以设置安装程序的提示窗口(例如按钮的帮助提示,正常情况下是浅黄背景色)的前景和背景颜色。
TTF Font Name Plugin -- 能够获取 TTF 字体在计算机中显示的名字的插件,这是个方便制作安装字体的插件。
UnTGZ -- 这是一个解压缩插件。(*.tgz/*.tar.gz)
UserMgr Plugin -- 这是一个能够管理用户帐号和用户组的插件。例如创建计算机用户或计算机用户组等的功能。
VPatch -- 用来制作补丁的插件,能够根据前后版本的不同,根据差异制作出体积非常小的补丁安装程序。
Write arbitrary sized, runtime assigned binary data to Registry -- 在注册表中写入二进制值的插件,限制最大 511 字节。
xtInfoPlugin - System Information Plugin -- 检查系统信息插件,安装程序文件名(ie. Setup.exe) 安装程序放置路径(ie. D:\SetupFiles) 安装程序全路径含文件名(ie. D:\SetupFiles\Setup.exe) 计算机当前语言(ie. Danish, English, German, etc.) .NET Framework IDs(ie. 1.0, 1.1, 2.0, etc.) .NET Framework 版本(ie. 1.0.3705, 1.1.4322, etc.) Internet Explorer IDs(ie. 4.01, 5.0, 5.01, 6.0, etc.) Internet Explorer 版本(ie, 5.00.2920.0000, 6.00.2600.0000, etc.) Windows IDs(ie. 95, 98, me, xp, nt3, nt4, 2003, etc) Windows 版本(ie, 5.1.2800, etc.) MDAC IDs(ie. 2.5) MDAC 版本(ie. 2.50.4403.9) OLEDB IDs(ie. 2.5) OLEDB 版本(ie. 2.50.4403.8) Windows Service Pack IDs(ie, 1, 2a, 6a, etc.)
ZipDLL -- 解压 Zip 压缩文件的插件。
以上插件都是体积非常小的,务求做到了体积小,功能全的效果,以目前来说,NSIS 是安装程序小且功能齐全多样的安装程序制作软件。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
NSIS是 win32安装、卸载系统
NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System)的缩写,
它是一个免费的 Win32 安装、卸载系统,采用了简洁高效的脚本方式。
它本来是一个由 Nullsoft 创建并用于作为 Winamp 及其插件发布的系统,
但现已被上百个应用程序所应用,作为它们进行程序发布的工具。
NSIS 创建的安装程序可以进行安装、卸载、设置系统设置、解压文件等等。
几乎可以做所有事情。因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。
它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言 - 但其仅设计用来创建安装程序。
即使它有所有这些功能,NSIS 仍然是好用的最小的安装系统。在默认选项下,它仅用 34KB 的开销。
NSIS 安装程序不会因为解压缩而令人烦扰, 它会告诉用户“请稍候”。它们开始这点后就会完成工作。
官方网站: http://nsis.sourceforge.net
让Pound支持HTTPS
1. What's Pound
http://www.apsis.ch/pound
The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s). Pound was developed to enable distributing the load among several Web-servers and to allow for a convenient SSL wrapper for those Web servers that do not offer it natively. Pound is distributed under the GPL - no warranty, it's free to use, copy and give away.
2. How to Use HTTPS
首先,生成证书:
openssl req -x509 -newkey rsa:1024 -keyout ipaddr.pem -out ipaddr.pem -days 365 -nodes
其次,增加一个Listen,在Pound.cfg里配置如下:
ListenHTTPS
Address 0.0.0.0
Port 443
Cert "/usr/local/etc/ipaddr.pem"
End
注意,一定要加双引号.>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Eclipse首度推出PHP开发工具
本部在渥太华的Eclipse Foundation宣布了Eclipse PHP 开发工具项目1.0 版本的可用性。
这个Eclipse PDT是一套开发工具和框架,可以提高PHP开发者的效率。PHP这一脚本语言被广泛用于Web开发而且可以植入HTML。
该Eclipse PDT是Eclipse推出的第一个针对PHP开发者社区的项目,据估计PHP开发者约有四百万。而Eclipse这一开源平台拥有大约230万使用者,主要用于Java和C/C++的开发。
Eclipse Foundation官方表示,PDT 1.0的发布允许PHP开发者使用基于Eclipse的IDE,也因此将增加整个Eclipse社区的人数。“这将是PHP和Eclipse的双赢。”Forrester Research 的分析师Jeffrey Hammond说,“Eclipse更多地被认为是优秀的JavaIDE,这也将更好地改变人们的这种观念。”
“我们已经收到来自PHP社区对此的巨大反响,”Eclipse PDT 项目领导Yossi Leon说,“到目前我们已有超过40,000 下载的PDT,反馈非常积极。”
Zend Technologies 和IBM在去年向Eclipse提议了这个PDT。该PHP PDT标准基于Eclipse Public License,是用Java实现的一套插件到Eclipse 平台的工具。
PDT 1.0的主要特性包括:Context sensitive editors:语法突出显示,代码辅助和代码折叠;综合Eclipse 项目模型:可使用File和Project Outline Views和一个新的PHP Explorer View来检查;支持PHP 代码的增量调试;允许开发人员和独立软件供应商能够轻松地扩展PDT 来创建新的和有趣的PHP 开发工具。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MediaWiki 用户权限管理[转]
安装MediaWiki之后,发现权限设置是完全开放的,需要做一些设置,例如禁止匿名用户编辑内容等等,但程序上却没有提供设置选项。网上查询了一下,却发现设置方法各有各的说法,没法,只有突破万难,到官方网站上查询一下,发现这MediaWiki的确是管理功能各方面多有不足。
希望设置MediaWiki的用户权限,对匿名用户的设置可以从修改LocalSettings.php入手,下载该文件,然后按照希望设置的用户权限,在文件中插入对应的设置语句,存储后再上传回去就可以了。通过下面介绍的设置方法,可以阻止匿名用户注册,又或者阻止他们编辑,要求注册后才能够编辑,还可以设定注册前匿名用户可以查看那些页面。而在设置新用户的注册之后,管理人员仍可通过特殊页面手动为其他人创建用户。而用户的权限,则可以通过特殊页面内的User rights management进行管理。
LocalSettings.php用户权选设置相关选项
阻止新用户注册
1.5.x
$wgGroupPermissions['*' ]['createaccount'] = false;
注意: 阻止新用户注册,此时管理员可以到特殊页面上的用户登录页面(Special:UserLogin)里,输入希望为其建立帐户的某人的用户名与电子邮件地址,然后点击通过eMail(by email)按钮递交,系统将创建帐号并将随机生成的密码发送到指定email里。
设置匿名用户权限
1.5.x
$wgGroupPermissions['*' ]['createaccount'] = false;
$wgGroupPermissions['*' ]['read'] = true;
$wgGroupPermissions['*' ]['edit'] = false;
设置匿名用户可读内容
1.5.x
$wgWhitelistRead = array( "Main Page", "Special:Userlogin" );
$wgGroupPermissions['*' ]['read'] = false;
注意:具体需要对应自己的站点链接,而对于多字节语言的MediaWiki,例如中文首页链接index.php?title=%E9%A6%96%E9%A1%B5,这首页中文字符PHP可能无法正确解码。需要利用urldecode()函数转换一下,写为:
$wgWhitelistRead = array( urldecode("%E9%A6%96%E9%A1%B5") ;
为 iPhone 开发应用程序 (Part 1)
Apple 确实为 iPhone 应用的开发定了条与众不同的道路--如 Jobs 大嘴巴所说--iPhone 上八成不再有什么第三方 native code 了,唯有 web app 才是 iPhone 第三方应用的正道--不过我猜如果哪个 ISV 面子够硬的话还是能有 SDK 来写 native 应用的
Apple 的开发者网站 Developer Connection 上已经推出了 iPhone 部分。只有一个内容,就是 Web Development for iPhone。按照 Apple 的设想和许诺,开发者能够写出和 iPhone 内置应用在外观和功能上差不多的第三方程序–这是暗示内置程序亦是 web app 呢还是只是夸耀 apple 提供给第三方的开发能力使外人也能写出和内置的 native 程序同样等级的软件?这些第三方程序能与 iPhone 内置应用和服务无缝集成--包括拨打电话,发送 email 和在 Google Maps 上显示位置。
我想这种安排相比暴露一堆 API 的好处是:
- 引导了开发者把重心放到设计有创意的产品上,开发真正创新的有竞争力的应用,而不是继续鸡毛蒜皮的小修补,才是 iPhone 最需要的–大家可对 Windows Mobile 上 500 个第三方日历程序心有余悸?谁让 Microsoft 恨不得把自家牙缝里的东西都写进 MSDN 呢。对易用性大师 Apple 来说,暴露 API 似乎没有太多现实意义–出自这帮这帮家伙之手的 iPhone 内置应用基本没什么余地/缺陷留给第三方开发者填充或者弥补了,所以,你们不需要 OS 或者某种传统 framework 的 API 来再次开发,再所以,你们还是打起精神,为编写真正配得上 iPhone 的 cool app 整装待发吧。
- 再者,web app 开发好歹也算在标准接口上工作,绝大多数相关技术都是开放的,开发 iPhone 需要的参考资料–xml,html,javascript,rfc 里的协议等等等等–差不多全是 ISO,IEEE 等的标准。design house 为一百个手机写他妈的一百个的 phonebook 的黑暗日子总算有个头了– 哦,又忘了,iPhone 根本没打算让你为他重写 phonebook。
ADC 的 iPhone 开发准备内容只有两节:WebKit (或者 Safari,随便你) 和 Development Guidelines。WebKit 的内容不依 iPhone 的开发早就有了,不表。和其他手持系统上的开发不同,iPhone 上没有什么鸟 SDK 和 host 上的模拟器,如果说有的话,那 SDK 就是所有 web 开发相关标准–因为这是和 iPhone 打交道的接口,而模拟器就是 host 上的 Safari 啦,要不 Jobs 费劲地移植个 Safari Windows 版干嘛。
Guideline 是一对一和 iPhone 挂钩的东西,需要编写应用时阅读参考。不过先打个招呼,基于你的视角和观点,你会觉得 iPhone 上开发应用程序“居然沦落到”或者“终于进化到”这样的地步:If you are a seasoned web developer, there are probably just a few refinements you can make to ensure that your site looks great and works best on iPhone。
早先说了,在 Apple 的选择下,没有必要有类似 API 列表的 reference manual 了,因为 html,css 和 javascript 等内容本来就是开放的,所以只需说明应用与 iPhone 时的注意事项。
按 Apple 的表述,iPhone 的 Safari 和桌面系统 Safari 使用一样的 WebKit--这话其实言之不详,似是而非,虽然我们宁愿已是精确表述。换做老式应用开发,我们只需要知道系统底层机制的描述,再有文档可以查阅 API 变化(比如有无增减,参数类型含义有无变更)即可,而所谓使用同一 WebKit 并不明确,因为 WebKit 至少包含 WebCore 和 JavaScriptCore 两部分,细节颇多,随便挑个 DOM 对象比比,都有可能不同。
对开发者甚至一般 iPhone 用户来说,最重要的是,如 guideline 里一句话所说,It’s tempting to think that using an iPhone is like using a computer. But it isn’t. 体现在用户交互上,表现很明显。
通常的网页–其实是我们的电脑了–当然只考虑到最常用的交互设备是鼠标键盘等,iPhone 的输入设备–手指–在精确度,可识别性乃至可产生的 event 上不同于鼠标。guideline 上为此专门提供了 “Know Which Events You Can Handle” 和 “Design for Double Tap.”两节内容。不过当然记住,在 iPhone 那光滑性感的表面上游走的两根手指可没法实现什么复制粘贴,拖放和选中;另外,手指是有宽度的,设计过于密集的交互对象(比如网页上的超链接)会让人吐血的。
既然是些 Web app,那相关标准就要随时能涌上心头了,iPhone 伟大的 WebKit 引擎支持的标准“应该”和桌面 Safari 一样,包括:
* HTML 4.01
* XHTML 1.0
* CSS 2.1,部分 CSS 3.xx
* JavaScript 1.4, 包括 DOM 支持
* AJAX 技术, 包括 XMLHTTPRequest
又因为 Apple 让 iPhone 上的 WebKit 和桌面一样,所以 iPhone 会另类地不支持 WML (Wireless Markup Language),不过支持 XHTML mobile profile。开发适合 iPhone 浏览的页面和开发适用于通常浏览器的页面有很多详细之处,如果感兴趣,ADC 里也列出了相关参考资料。
下面,终于是有点入题的内容了–怎么实用 iPhone 上的服务。
电话:
1-408-555-5555
吐血,也可以理解,一切都是协议。这下好了,你连炫耀一下知道 MO call,MT call 的机会都没了。
Safari 也可以自动把一串数字解释成电话号码。
至于 mail 和 google map,和通常网页也无区别啦:mailto: 协议以及通常的 google map url 就行了。
在编写为 iPhone 优化的页面是,再一个参考是 Safari 发送的 agent 字符串:
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
和桌面平台的 Safari 很像,但是多了
platform 描述:(iPhone; U; CPU like Mac OS X; en)
mobile 版本:Version/3.0 Mobile/1A543a Safari/419.3
在使用 CSS 时,要考虑到 iPhone 只支持 screen –你没看错哈–而不支持 print 和 handheld media query–这些都是 CSS3 的特性。所以,编写 iPhone 优化的页面时,可以这样引用 css 文件:
使用 only 关键字。这样也不会影响其他浏览器。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
AMD 双核驱动、补丁、优化工具下载地址和安装方法
第一:感觉速度没有明显提升,和以前的AM2 2500+(OC 2.1G)相比
第二:XP更新时候,试过一次死机(自动重启),原因:不明
第三:2003安装Norton时候,死机(系统没反应),原因:可能Dep保护
在网上搜索原因,应该是因为没有给双核处理器装驱动、补丁、优化。
首先是AMD官方的双核驱动和双核优化程序,然后是微软为XP系统出的AMD双核补丁。
第一:AMD官方双核CPU驱动(AMD Athlon™ 64 X2 Dual Core Processor Driver for Windows XP and Windows Server 2003 Version (x86 and x64 exe) 1.3.2.16 ):
http://www.amd.com/us-en/assets/content_type/utilities/amdcpusetup.exe
第二:AMD官方双核CPU优化(AMD Dual-Core Optimizer):
http://www.amd.com/us-en/assets/content_type/utilities/Setup.exe
第三:微软双核CPU补丁,KB896256(For XP。注意:此问题还会影响基于 x64 版本的 Microsoft Windows Server 2003。)
http://download.microsoft.com/download/4/2/c/42c2b48a-7f1d-4852-95f3-3a859acfbdfb/WindowsXP-KB896256-v4-x86-CHS.exe
这个补丁安装完之后,是需要修改注册表开启的,方法很简单(我暂时没禁用):
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。
安装本文所述的修补程序后,可使用注册表设置来禁用新的性能状态策略行为。为此,请按照下列步骤操作:1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2. 右键单击“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager”,指向“新建”,然后单击“项”。
3. 键入 Throttle 作为该新项的名称。
4. 右键单击“Throttle”,指向“新建”,然后单击“DWORD 值”。
5. 键入 PerfEnablePackageIdle 作为值名称。
6. 右键单击“PerfEnablePackageIdle”,然后单击“修改”。
7. 在“数值数据”框中,键入 0。确保选中了“编辑 DWORD 值”对话框中的“十六进制”,然后单击“确定”。
注意:您可以在“数值数据”框中键入 1,以启用新的性能状态策略行为。
8. 退出注册表编辑器。
第四:微软AMD双核处理器专用补丁,KB924441(直接安装完重启就可以了)
(安装本更新程序可以解决以下问题:使用支持 ACPI 处理器性能状态 (AMD PowerNow!) 的 Advanced Micro Devices (AMD) 双内核处理器或多处理器的系统停止响应。)
Windows XP 更新程序 (KB924441)
http://download.microsoft.com/download/5/a/b/5abb895e-1343-4386-b675-94e45064e1e3/WindowsXP-KB924441-x86-CHS.exe
Windows Server 2003 更新程序 (KB924441)
http://download.microsoft.com/download/b/1/c/b1c60a0e-e9a6-4a4c-aa2e-9da1c26266b3/WindowsServer2003-KB924441-v3-x86-CHS.exe
以上安装顺序应该是:1、官方双核驱动;2、微软补丁;3、官方双核优化程序;4、微软双核补丁。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
在Windows Server上增加RamDisk来提升性能
[file]attachment/200709/1190277162_0.rar[/file]
这个程序原作者是 gavotte,后来 lyh728 又作了一个前端,使得安装更加容易。我在这里主要说一下如何来配置一个适合服务器使用的 RamDisk 盘。这里主要以 IIS 为例来讲。
首先用 lyh728 做到 RamDisk 的 GUI 前端来安装 RamDisk 驱动。直接双击 ramdisk.exe 然后点击 install ramdisk 按钮就可以了。然后你可以调整盘符和磁盘大小。RamDisk 的盘符默认是 R:,因为我的服务器只有一个软驱 A:,所以我把 RamDisk 的盘符设为了 B:,主要是为了保证这个盘符不会变。RamDisk 上一般放的都是临时性质的文件,比如 IE 的缓存、IIS 的压缩页面缓存、临时文件夹、PHP 的 Sessions 文件等。这些内容在服务器重启以后就没有了。我给我的服务器分了 256M 的内存作 RamDisk,实际上我发现用不了这么多,目前也只占了 20 多兆的空间而已,所以如果你的内存本来就不是很多的话,分 32M 作 RamDisk 给服务器我觉得基本上就足够了,不放心的话,也可以多给它一点空间,比如 64M 或者 128M。但是默认的 RamDisk 是格式化成 FAT 格式的,并且已经建好了一个 TEMP 文件夹。你会发现这个文件夹在服务器重启后,依然存在。你甚至会发现,你即使将 RamDisk 重新格式化为 NTFS 格式,再重启后,仍然会变为 FAT 格式,并且还有那个 TEMP 文件夹。原因在于默认的安装已经把这个配置写到注册表里了。如果想修改的话,需要用里面的 rdutil 这个工具。
首先安装完 RamDisk,并调整好盘符和大小后,什么也别做。磁盘类型默认是 Fixed Media,不要修改!另外不要急着把 IE 的缓存目录改到 RamDisk 上,否则 RamDisk 会被锁定,以至于不能在被修改保存。
然后格式化 RamDisk:
FORMAT /FS:NTFS /Q /V:RamDisk /A:512 B:
其中 /FS: 后面指定的是文件系统,/A: 后面是一个单元块的大小,因为 RamDisk 上保存的大都是小文件,因此指定 512 字节比较合适。B: 是盘符。
接下来把 NTFS 的日志大小设到最小(2M):
CHKDSK /L:2048 B:
否则,会因为太大而无法压缩到注册表中。
在接下来你就可以在上面建文件夹了,比如 Temp、Sessions、Upload Temp Files、IIS Temporary Compressed Files 等。目录不要建太多,够用就行了。比如 Temp 是用来保存系统临时文件的,Sessions 可以保存 PHP 的 Session 文件,Upload Temp Files 可以保存 PHP 上传的临时文件,IIS Temporary Compressed Files 可以保存 IIS 的临时压缩文件。当然这些目录你还要给予足够的权限,比如需要让 IIS(包括用 IIS 发布的 PHP 程序)访问的目录,就需要给 IIS_WPG 用户组或者 IUSR_HOSTNAME 用户足够的权限。注意,这里也不要给 IE 建立缓存目录,即使你想让 IE 缓存也使用 RamDisk,因为当你设置 IE 的缓存到 RamDisk 的时候,IE 会自动建立这个目录的。
好了,做完这步后,先不要急着把这些目录用起来,先把这个文件系统和目录结构保存到注册表:
rdutil B: registry
好了,如果你看到保存成功的提示,就大功告成了。重启一下试试看,你会发现重新启动后,你的 RamDisk 将会保持你设置的文件系统格式,以及目录和相应的权限。
现在你就可以把系统的 Temp 目录、IIS 的压缩文件缓存、IE 缓存、PHP Session 文件目录、PHP 临时上传目录统统设置到 RamDisk 上了。