微软将在Hyper-V中支持红帽Linux

微软将在Windows Hyper-V中支持红帽Linux作为客户操作系统,但在近日的OSCON 2011上,微软对这一新闻持沉默态度,可能是因为人们对Windows巨人企图进入开源的愤怒还未消退。

OSCON参会人兼软件架构师Bryan Davis并不受感动,他说:“相同的事情,不同的日期罢了。微软把开源为它们封闭系统上的免费插件,核心技术是占用和创建进程。”

随即Twitter上软件开发员Luke Closs回应了这样一条评论:“关于微软在#OSCON#上的主旨:这是个陷阱!”

其他人称微软的动机实际是自利。SkySQL的CEO Uls Sandberg说:“这很简单。微软这么做是要赚钱。”

在某大型科技公司就知的一句经理也有相似的指责,他的公司支持多厂商的IT部署。他通过电子邮件说:“如果IT商店真得进入混合环境,无论怎么说VMware也有机会。Hyper-V确实不仅仅是一个微软独有的产品,IMHO不只是支持CentOS,RH也不是一个标准操作程序,只会说‘看,我们确实热爱开源,所以考虑我们作为VMware的竞争对手’而不只是想要支持其它人的系统吧”。他说,“我没有看到微软在Linux上放了太多精力。和我谈过的人没有谁对它的前景感到兴奋。RHEL KVM似乎会在我生活的圈子中产生更大的影响。”

但是,微软开源社区的高级主管Gianugo Rabellino尽最大努力招揽OSCON参与者,他强调很多客户同时运行Linux和Windows,且在“混合IT”这个时代里的互动性也因此有必要了。

沿着相同的路线,微软将其SUSE Linux的互操作协议(现在由Attachmate代替了Novell)延至2016年。在这期间,微软同意在新的Linux企业级证书上投资1亿美元来让客户得到来自SUSE的Linux支持。

考虑到微软的大动作地推进,红帽的Linux-Hyper-V新闻并不让人惊讶。年初时,微软称将支持CentOS作为Hyper-V中的来宾操作系统。

Rabellino还谈到其它例子阐述微软的公民资格,包括它支持Drupal和Joomla开源内容管理系统的工作。微软还发布了用于PHP的Windows Azure SDK 4.0版本和在云中实现PHP应用开发的新工具。

但是,Rabellino想通过兜售Apache Software基金会成员来吸引观众的企图加上他在微软相对来说还很短的任期,他并没有影响到更多愤世嫉俗的与会者。

技术人员如何”正确”的浪费时间?

iPhone产品用户要浪费时间,你就应该这样做:买个有锁的 iPhone ,每天刷几百次威锋网等待越狱或解锁,看到新 App 就安装,程序提示更新立刻升级;有新的固件(哪怕是 β 版)就压制不住升级的欲望;每次 WWDC 提前几个礼拜就关注,坚持看完所有 Keynote 和文章,然后到 Twitter 或是微博发表评论,再在微博上收听苹果产品有关的 ID…

Linux 操作系统用户如果要浪费时间,你就应该这样做:编译一个”更快”的内核;通过源代码编译 Firefox / Chromium ;反复调整字体;不停的美化桌面;闲着没事就跑一下APT更新一下程序;和 Windows 用户打嘴仗;

Windows 操作系统用户如果要浪费时间,你就应该这样做:安装杀毒软件并且按照提示更新;定期扫描病毒和木马;安装个360,不停根据提示更新软件,优化系统,每天查看开机速度击败了全国多少的电脑;重新安装操作系统;跟 Linux 用户和 Mac 用户打嘴仗;

开发人员如果要浪费时间,你就应该这样做:不停的寻找一个更趁手的编辑器,反复尝试不同的配色;尝试最新的语言;买个更好的显卡”挖矿”–bitcoin;和其它语言用户打嘴仗;

Mac 用户如何浪费时间?在Mac上跑一个Windows 虚拟机,再跑一个 Linux 虚拟机;上网购物用Windows,写代码用Linux;Mac OS X?不用。

恭喜你,这些都是”正确”浪费时间的办法。

为什么Linux到现在也不能双击安装软件

看最近互联网上的评论,有一位仁兄矢志不渝的重复“世界上最差的系统就是linux,双击不能安装软件”,而对于该评论的观点众多,但是真正正确的确极少。综合来看,广大网友尤其是喜欢评论的盆友对Linux理解的还比较少,而且很多都是跟Windows做比较(当然这里我承认高手也大有人在),所以我想在这里有必要说一下为什么Linux到现在也不能做到双击安装软件。

首先要说一下,很多Linux的发行版例如Ubuntu或者CentOS、Fedora等,已经早就可以双击安装自己发行版的安装包了,例如deb、rpm等。
那么为什么现在大部分软件还是需要下载一个tar.gz然后./configure/make/make install繁琐的命令安装呢?

其实,Linux下跟Windows的软件发布有一个最大的不同就是Linux下大部分软件都是开源的,只提供源码下载,不提供编译好的二进制下载。所以,上面的三个命令实际上是编译一个软件,然后拷贝到系统对应目录,准确来说不是安装。

但是为什么非要这三个命令,而不是双击之后自动执行上述三个命令呢? Continue reading 为什么Linux到现在也不能双击安装软件

微软 Hyper-V 软件将支持 CentOS

虽然长期以来微软一直是Linux社区的公敌,但如今软件巨人却试图拓展一直由Linux统治的Web server市场。

今天微软宣布它的虚拟化软件Hyper-V将正式支持CentOS Linux,即基于RHEL的社区发行版。用户可以使用最新版本的 CentOS 部署微软的 Hyper-V 系统。CentOS 是第三个正式支持微软 Hyper-V 的 Linux操作系统,另外两个是 Red Hat Enterprise Linux 和 Suse Linux Enterprise Server。

微软现在也注意到CentOS在Web服务器市场的受欢迎程度,它宣布Windows Server2008 R2 Hyper-V将能运行CentOS,以巩固服务器合作伙伴的信心,降低在Windows Server Hyper-V上Windows + Linux混合架构的成本和复杂程度。

微软开源解决方案经理 Sandy Gupta 透露选择 CentOS 是因为 CentOS 是最多网页寄存公司使用的操作系统。

微软近期似乎愈来愈看重开源系统的重要性,这次微软的举动除了再一次证明开源操作系统在商用方面的影响力及重要性之外,微软似乎也明白了要令其所提供的数据中小方案更完善,便要扩充其支持的操作系统,包括 Windows、Linux 以及 Mac OS。

 

Windows恶意软件20年“创新”史

在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹出一些含有令人费解内容的对话框。现今,Windows恶意软件能够锁定你的数据,劫持它并且向你索要赎金。它控制你的PC对外发动攻击,寻找含有银行卡号码和口令的文件,这真是令人讨厌的东西。

20年间,Windows恶意软件造就了许多价值数几十亿美元的杀毒公司,赋予足以装满亚历山大大图书馆的文章以灵感,为成千上万的安全专业人士创造了职位,并给人们带来无穷无尽的烦恼。

这些讨厌的程序不是一夜之间从初学走路的孩子变成打遍天下无敌手的恶棍的。恶意软件的成长有着清晰的继承性,其手段、方法和目标随着时间的发展而不断变化。如同任何技术一样,创新的思想指引着恶意软件的前进道路。让我们看一看为达到邪恶目的的创造力是如何将Windows黑客技术变成价值数十亿美元的产业的,以及Windows恶意软件的成长足迹指向了未来的何处。 Continue reading Windows恶意软件20年“创新”史

NSIS 脚本浅析

一直以来,B/S程序由于其结构的原因不能像安装WINDOWS程序那样使用setup来进行安装,一般都是由开发人员配置好WEB运行环境,再导入数据库(或者由WEB的安装程序完成此部分),这样一般来说够用了,再如果是不懂开发的人配置这些环境就麻烦了,如果能像安装WINDDOWS程序那样,一路回车法就能安装成功,那就更帅了。

前几天由于公司的项目需要,我小小的的研究了一下NSIS,为什么选它呢?因为它是使用脚本来定制安装程序的,非常灵活,就是要学习一下它的脚本语言,多看一些例子就会用了。

先说一下制作的原理,系统的环境是apache1.3, php5.1.4,mysql5。这几个其实都是不需要安装的,在window2000/xp下,直接配置成服务,并启动服务就行了。所以安装过程应该是分为

1.复制文件到指定目录.
2.配置apache和mysql.
3.把apache和mysql安装成服务并启动.

首先下载并安装NSIS,安装后可以到它的example目录下看一下有很多例子程序。右键点示例脚本选择Compile NSIS Script进行编译,在该目录下会生成一个.exe文件,就是生成的安装程序文件。
NSIS的脚本由一些类似PHP和汇编的语法指定组成,还可以定义函数,宏。每个脚本至少有一个Section,名字为Uninstall的以un.开头的Section被认为是卸载时使用的指令集。

下面是安装程序的全部脚本。
SetCompressor lzma
!include “MUI.nsh”

!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP “E:\logo.bmp”
!define MUI_ABORTWARNING
!define APP_NAME “蓝桥OfficeSystem2.0”

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE “SimpChinese”

Name ${APP_NAME}
Icon “${NSISDIR}\Contrib\Graphics\Icons\arrow-install.ico”
UninstallIcon “${NSISDIR}\Contrib\Graphics\Icons\arrow-uninstall.ico”
DirText “安装程序将安装 $(^Name) 在下列文件夹。$\r$\n$\r$\n要安装在不同文件夹,单击 [浏览] 并选择其他文件夹。”
InstallDir “C:\lqserver”
OutFile “setup.exe”

Section “setup”
SetOutPath $INSTDIR
File /r Apache
File /r mysql5
File /r officesystem2
File /r php-5.1.4
File /r config.js
File /r sc.exe
Call config
WriteUninstaller “uninstall.exe”
CreateDirectory “$INSTDIR\temp”
CreateDirectory “$SMPROGRAMS\${APP_NAME}”
CreateShortCut “$SMPROGRAMS\${APP_NAME}\启动${APP_NAME}.lnk” “http://localhost/”
CreateShortCut “$SMPROGRAMS\${APP_NAME}\卸载${APP_NAME}.lnk” “$INSTDIR\uninstall.exe”
SectionEnd

Section “Uninstall”
ExecWait “$INSTDIR\sc stop apache”
ExecWait “$INSTDIR\Apache\apache -k uninstall”
ExecWait “$INSTDIR\sc stop mysql”
ExecWait “$INSTDIR\mysql5\bin\mysqld-nt –remove mysql”
RMDir /r $INSTDIR
RMDir /r “$SMPROGRAMS\${APP_NAME}”
SectionEnd

Function config
ExecWait “cscript $INSTDIR\config.js $INSTDIR”
#先停止并禁用IIS服务
ExecWait “$INSTDIR\sc stop w3svc”
ExecWait “$INSTDIR\sc config w3svc start= disabled”
#安装apache和mysql服务
ExecWait “$INSTDIR\Apache\apache -k install”
ExecWait “$INSTDIR\sc start apache”
ExecWait “$INSTDIR\mysql5\bin\mysqld-nt –install mysql –defaults-file=$INSTDIR\mysql5\my.ini”
ExecWait “$INSTDIR\sc start mysql”
FunctionEnd

一些指令的解释
SetCompressor lzma 指定压缩方式
!define APP_NAME “蓝桥OfficeSystem2.0” 定义应用程序的名字以便后面使用。
!insertmacro MUI_PAGE_*
这些是安装程序的所有页面,包括欢迎界面,选择目录,安装文件,完成页面。

Name ${APP_NAME} 指定应用程序的名字,语法和PHP有些类似
Icon “${NSISDIR}\Contrib\Graphics\Icons\arrow-install.ico”
UninstallIcon “${NSISDIR}\Contrib\Graphics\Icons\arrow-uninstall.ico”
指定安装程序和卸载程序的图标,$NSISDIR是NSIS的安装目录,不用修改。
InstallDir “C:\lqserver” 默认安装目录
OutFile “setup.exe” 输出的安装程序文件名称
下面的一个section就是主要的安装和配置指令

File /r 解压一个文件夹及下面所有的文件和子目录到安装位置

Call config 调用config函数,这个函数主要是修改配置文件的作用。
WriteUninstaller “uninstall.exe” 生成卸载程序
ExecWait 是执行程序并等待返回,这样可以防止外部程序的运行而影响到NSIS脚本的执行。比如在apache服务的停止的时候,如果服务没停止完,就进行删除文件的操作就会出错。

在修改apache和mysql配置文件的时候我采用了js脚本来完成。因为用NSIS来完成这个功能太吃力了,用JS脚本进行字符串替换还是比较简单的,主要是把一些目录修改为安装目录就可以了。

还有这里使用了sc.exe,这个程序是命令行下管理windows服务的程序,不是系统自带的,可以去microsoft下载,使用它先禁用iis服务,防止和apache发生冲突。另外使用sc启动和停止服务要比用net命令快的多。