Category: 作業系統

  • 为什么我讨厌Ubuntu/Canonical

    本文不是网上各种英文版的Why I hate Ubuntu的中文翻译,而是我自己原创的文章,黑Ubuntu和Canonical! 首先就是Canonical对开源的“推动”。好多人都会说开源行业奋斗那么久都没能推进桌面Linux,而Ubuntu一出迅速笼络人气成为桌面发行版的第一名,而且甩开第二名一条街。因此,Canonical对于开源软件的推动有不可磨灭的功绩!Canonical让更多的人了解到了开源的力量,是的,这句话没错!但是它真的给Tux世界带来什么好处了么?!没有或者说几乎没有!!Canonical做的事情就是基于Debian分发一个不符合标准的发行版——Ubuntu,甚至把原本在/usr下的东西无脑地改到/usr/local下!Canonical公司和上游合作的情况更是糟糕透顶,远远不如Novell和Red Hat!总而言之,Canonical给Tux世界带来了只不过是一大群不会自己解决问题的“捉虫勇士”。 其次,Ubuntu屡次分裂桌面Linux!!!Unity这个玩意儿我觉得是实打实失败的,反应速度慢,把滚动条设计到窗口外面而且只有窄窄的一点点实在太反人类了。搞个Unity就算了,后来又折腾Ubuntu for Phone,然后改名Ubuntu Touch(打算上平板了)。折腾到现在,竟然表示自己搞了一个Mir显示服务,和X11、Wayland均不同……到底打算在普通开发者身上压多少稻草?搞得乌烟瘴气,以至于很多软件都变成for Ubuntu而不是for Linux,或者说是for Linux,实际上就是for Ubuntu! 最后,Canonical墙头草。在开发Unity的时候用的GTK+,然后准备了一套Unity 2D,用的Qt,后来停止Unity 2D的开发了,因为认为GTK+更高效balabala的。好吧,横跨手机、平板、PC的计划出来之后,马上改口,下一代Unity将全面用Qt 5写成,理由是Qt 5能够适应于Canonical的这种多平台要求。同样的把戏出在显示服务上,Wayland刚出来的时候,Canonical是表示支持的先锋,然后现在冷不丁冒出一个与Wayland不兼容、不相同的Mir出来。 Canonical是想做Linux业界的Microsoft!挟持普通用户绑架开发者,成了一定气候之后,现在又开始绑架硬件厂商给Mir提供驱动?! 人民群众也不是没脑子的,不要把Linux用户当Windows用户一样白痴。从Unity成为默认桌面环境之后,大家用脚投票,表示Ubuntu甚至从第一名跌落,让基于Ubuntu的Linux Mint变成了最受欢迎的发行版,所谓一报还一报吧。 Canonical也不是一无是处,正如前面讲的,带来了大量普通用户,让小白有机会变成大白,变成老鸟。最后果断更换发行版,然后变成业余开发者,给Tux世界带来正能量!o(∩_∩)o

    Continue Reading →

  • NetBSD开始着手移植包括KMS和GEM在内的DRM

    消息来源:Phoronix 相信各位Linuxer对内核设定模式(Kernel mode-setting)不陌生吧,作为提升GPU效率的KMS引入Linux内核已经有蛮久了,而对于BSD世界而言,KMS还远没有扎根。作为面向桌面用户最积极的FreeBSD已经在9.1版本中引入了Intel显卡的KMS支持,Radeon的KMS则正在移植中。而其它BSD发行版的开源显卡驱动支持基本都是严重过时的(像NetBSD的radeon上次更新是几年前的事情了),大部分都被移除出当前的工作树了。 二月份早些时候NetBSD的Taylor Campbell在邮件列表中说,NetBSD基金会雇佣他来完成对当代Linux的DRM (Direct Rendering Manager)移植工作,这项工作也包括进一步把KMS (Kernel Mode-Setting)和GEM (Graphics Execution Manager)移植到NetBSD当中。 驱动的支持从Intel开始,然后再轮到Radeon和Nouveau(如果时间允许的话),Campbell希望能够利用目前已经移植到FreeBSD中的DRM代码。 现在还没有任何消息可以确定什么时候能在NetBSD的发行版本中看到Intel/Radeon/Nouveau的KMS/DRM支持,当然了,如果NetBSD还把自己当作一个桌面操作系统的话,那么这些驱动无疑是至关重要的!其实这个提议好几年前就提出来了,只是一直没有什么有意义的举措。   译者注: NetBSD目前对于AMD(ATI)显卡的支持是用“惨烈”二字形容,radeon只能支持到HD4000系列(想想看,用的还是几年前的代码)。对于目前主流用户(HD5000及以上)而言,把NetBSD装到机器里面开机连界面都不能正常渲染,只能用vesa……奇卡无比的桌面体验足以吓跑任何桌面用户。好在NetBSD总算准备开工了,个人预测在NetBSD 7.1之前是难以完成的,特别按照鬼佬的平均工作效率计算的话。这样也好,等我们的电脑变成老爷机的时候就可以用NetBSD来续命了!

    Continue Reading →

  • 目前Fedora 17/18的KWin和QtCurve冲突

    昨天用Fedora 17做了一次yum upgrade之后就出现了这个惨状: 能够顺利进入KDE桌面,但是执行任何程序均会导致KWin崩溃(卡死在那里,没有任何响应,仅有鼠标指针可以移动)。一开始我不知道是KWin崩溃了,于是我装了razorqt(一个Qt写的轻量桌面环境),用openbox作WM可以顺利进入,但是一旦用KWin作WM就会出现那个卡死的问题。这才知道是KWin有问题。然后我又删掉.kde这个文件夹(这个做法害死我了,直接在razorqt里面进KDE设置不用QtCurve就好了)……这才能够回到K桌面环境下(别跟我说让我在KDE下用openbox做WM)。 怎么发现在Fedora 18下也有这个问题的呢。。。我以为Fedora 18的软件包会比17要新,可能修复了这个问题,于是用FedUp升级了我的Fedora 17到Fedora 18……结果发现我瞎忙活了…… 至于我还删掉AMD Catalyst闭源驱动改用开源驱动这个事情我就不说了。 最后终于发现了,是KWin和QtCurve有冲突(具体什么冲突也不知道)。T_T 不过kernel-3.8.0和kde-4.10应该快要放到stable源了,大家等一段时间升级应该会修复这个问题。

    Continue Reading →

  • 配置NetBSD防火墙ipfilter

    不看不知道,一看吓一跳,今天SSH连上服务器之后,顺带看了一下各个log,翻到/var/log/authlog的时候,心中一百只草泥马奔腾(略夸张哈哈)。 有一品德低下的电脑操作人员尝试暴力登录,对此我是呵呵啊,哥不是用的密码验证方式,而是用的SSH的私钥(key)验证的啊,你扫描致死都是进不来的。更可笑的是这哥们尝试的用户名除了root就是CUCU、git还有ubuntu,抱歉啦,哥用的是NetBSD,打死都不可能创建一个用户名是ubuntu,NND鄙视一万次。 好吧,鄙视归鄙视,从authlog记录的IP地址查到是煤矿省的,不管了,赶紧上防火墙block掉这个IP! NetBSD是自带ipfilter的,但是默认没有激活这项服务,首先当然是在/etc/rc.conf里面加上ipfilter=YES一行,然后就是编辑/etc/ipf.conf这个文件(没有则新建,/etc/ipf6.conf则是针对IPv6的)。详情可以看NetBSD官方的文档。下面贴出在下的ipf.conf文件的内容以供参考。 第一行是放行所有出去的数据包,第二行是阻止从218.26.XX.XXX(保护这傻逼的隐私,最后几位数就不写出来了)这个IP到任意IP(任意IP当然就包括了本机IP啦)的所有数据包。 完成之后,/etc/rc.d/ipfilter start就可以启动服务了(因为添加到/etc/rc.conf了,所以重启的话ipfilter也会自动启动的)!

    Continue Reading →

  • NetBSD配置aria2的web前端YAAW笔记

    Apache和YAAW的安装配置 先说说Apache的配置安装,YAAW是纯HTML/CSS/Javascript写成,所以这里不用装MySQL、PHP那些“NAMP”中常见的组件了。 安装完apache之后,复制服务启动项。 然后就是将apache添加到rc.conf, 自己看着配置一下apache,/usr/pkg/etc/httpd/httpd.conf,觉得okay了就可以启动apache服务器了 下载YAAW(作者页面在此,项目地址在此),解压出来的东西复制到/usr/pkg/share/httpd/htdocs下。

    Continue Reading →

  • Slax中关于KDE程序编译脚本的注意事项

    Slax是个非常优秀的Linux发行版,之前说过了,也介绍过制作Slax Bundle的buildscript书写。 但是我今天在编译rekonq的时候遇到了点麻烦,一直提示出错,跑到IRC上#rekonq频道询问,人家告诉我是少了ksgmltools2,确实少了。我发邮件告诉Tomas M(Slax作者),这位仁兄告诉我Slax是特意去除这个组件的,并告诉我要在buildscript里对CMakeLists.txt打一下“补丁”,让程序编译过程去除掉Documentation(文档),这么一来我的rekonq终于编译成功了! 去除文档的办法,是删掉CMakeLists.txt中的ADD_SUBDIRECTORY( doc ),当然我知道可以用文本编辑器去删掉,问题是您要写的是一个脚本在服务器上运行的,所以要用到一些简单的shell脚本来操作,相关行我贴在这里。 另外一个需要注意的事情,就是对于cmake编译安装的软件,需要在cmake参数里加上 -DLIB_SUFFIX=”${SLAX_64_FLAG}” ,不然在64位系统中也会把libraries安装到/usr/lib而不是/usr/lib64,程序无法找到lib的情况。所以这点千万切记要加上这个参数。 2013/02/06补充:(根据Michal发给我的邮件正文,下面详细贴出buildscript软件编译部分的正确示例) 1) 当使用./configure时, 2) 当使用cmake时(假定先执行了mkdir build && cd build了), 3) 当制作商业闭源软件的Bundle时,必须准备好32位和64位两份预编译包。 如此才能确保服务器根据buildscript编译出来的Slax Bundle正确。

    Continue Reading →

  • 用buildscript制作Slax的扩展包sb文件

    昨天成功用buildscript制作了fcitx在Slax下的sb bundle(一看到sb这个扩展名我就莫名其妙地想笑……233) 我强烈建议大家直接阅读官方的Documentation和template.SlaxBuild,基本就知道怎么做了。 build写好之后,在终端下运行,看看是不是能成功制作出sb文件,然后slax activate之,运作是否正常。一切顺利的话,就可以slax upload上传了,上传的时候会要一个密码,这个密码最好记好了,因为Slax的Modules是不可以有重复的,之后就只能用slax update更新脚本或者slax delete删除脚本了,而后面的操作都会要验证密码是否正确。 在# —————– put your actual build code here: —————后面一定要写详细的编译过程,这个buildscript其实就是一个shell脚本,编译过程参考一下Slax的Module就好了(看看我上传的qtqq和fcitx吧,其它我还真没找到真正“编译”的bundle)。 刚刚又制作了QtQQ的sb,把buildscript上传了,个人觉得Slax还是非常有希望在Linux发行版海洋里活出自己的空间的,首先当然就是它的bundle系统了,和Chakra很像,但是Slax又自称是Pocket system,体积很小,所以还是有自己的优势所在的!唯一比较郁闷的就是Slax的网站关键环节全部是under construction(很多Modules的buildscript已经有了,但是sb文件都没有编译出来,导致可以下载的Modules非常少),这可不行啊,得早日上线运作!

    Continue Reading →

  • 解开蓝魔Amlogic方案JellyBean 4.1中的boot.img文件

    是否很多筒子发现在4.0时代一直用的uImage解包打包脚本突然就不能用了,提示找不到uImage file?我开始也很纳闷,突然闲来想到是不是Amlogic又改回按标准的bootimg.h里面描述的格式来处理这个文件了? 刚刚一试验,果不其然!多年前做Motorola MB200的ROM时,曾去解包boot.img来改开机静态图片(我当时真是够无聊的),当时用的就是这个Perl脚本,实验证明现在还能用!(标准就是标准啊!)Google一圈还找到一个配合使用的shell脚本方便地将boot.img完全解开~ 于是,HatMod项目今天华丽丽地加了commits了,各位可以去我的GitHub项目上抓取解包和打包脚本 (legacy目录下是解包和打包4.0时代的boot.img的!)。 由于W22PRO还没有官方4.1固件,因此我无法尝试是否打包后刷入能用,只是下载了W28的固件,去解包和打包了boot.img都是可以的,不过没有用真机测试。

    Continue Reading →

  • NetBSD增加硬盘更改/usr/pkgsrc挂载点的笔记

    之前安装NetBSD分配inode不太合理,导致inode用光了,差点重装系统,仔细想来*nix的超强扩展性不用我们如此费神重装系统重新格式化什么的。还好是在VirtualBox虚拟机下装的,在虚拟机关机之后给NetBSD虚拟机增加一块硬盘然后开启虚拟机。 这里我的老硬盘识别为/dev/wd0,新的是/dev/wd1,顺带说一下老硬盘我只有一个分区(/ 根分区),所以a和d没有了,这里我让整个/dev/wd1作为系统的e分区加入进来。下面是实践过程的记录。(#后一个空格表示后接root下执行的命令,#后跟中文是注释) 然后编辑/etc/fstab添加一行 ‘/dev/wd1e /usr/pkgsrc ffs rw 1 2’ (不含单引号) 然后启动系统(输入exit退出单用户模式就会自动启动系统到正常模式下了)看看是不是一切okay,没问题的话就可以删掉/usr/pkgsrc.old这个备份文件夹了。 至于为什么我不建议把整个/usr单独挂载到其它分区,因为目前我完全不能适应其它的Shell,而bash是安装到/usr/pkg/bin下的,如果/usr和/不是在一个分区的话,单用户模式下是不能使用bash的,所以我还是只把占用indoe最多的pkgsrc文件夹挪走就可以了。

    Continue Reading →

  • NetBSD编译安装Go和Node.js

    现在Go和Node.js都在pkgsrc-wip项目里面,wip意思是work in progress,可以理解为开发进程中的软件包,稳定后才会被采纳进入官方维护的pkgsrc,现在好歹有wip就知足吧。嗯,写这篇文章的目的是希望能有更多人来研究BSD系统,作为Unix的较为正统的分支,BSD在很多方面还是值得Linux学习的,当然这两个流派风格是迥异的。摸索摸索几个月,以后就在自己的EC2上部署NetBSD了! 废话少说,直接上命令内容了。我安装了curl用来下载,你也可以用你自己喜欢的工具下载pkgsrc安装好。 记得到时候自行修改pkgsrc-2012Q3,不可能指望今年年底还用去年第三季度的东西对吧。。。后面PATH表示路径,记得改成你相应的下载路径。下载很快的,前面讲过了,用的是最快的镜像点了,下载完成后就解压到系统里面,执行命令: 等一会吧,解压出来好几百兆的文件呢,解压完毕后再来解压一个wip的source,先去pkgsrc-wip快照列表下载一个最新的下来(注意看一下文件尺寸,2013-01-03的那个文件只有400+KB是错误的文件,一般都是10M左右,不然下载下来也解不开),然后执行命令解压到系统: 解压完成之后就可以开始编译Go和Node.js了,当然其它在wip中的软件也是这样编译安装! 上面的命令最后都是su切换到root账户下执行,免得提示没有权限。 可惜的是,pkgsrc-wip并没有把软件源代码也塞进去,所以make install其实会执行一大段复杂的过程,包括获取源代码、解决依赖关系神马的,结果服务器是自动用主站服务器,所以速度是龟速(10KB/s)……耐心等待哦。 至于Node.js的话,cd /usr/pkgsrc/wip/node && make install,其它软件的话自己去找找在哪个文件夹下cd进去然后make install就okay了!

    Continue Reading →