在hyper-V上装openSUSUE Tumbleweed

...

June 3, 2022

再看Linux的主流发行版

从distrowatch上看,目前三大主流发行版还是Debian系(包括Ubunt和Mint)、OpenSUSE和Fedora。 Ubuntu 作为Debian系的代表,Ubuntu是花样最多的发行版,囊括服务器(Cloud、Server)、桌面(Desktop)、移动设备(Phone和Table)甚至还有IoT相关的。开源软件的发展太快了,所以每个发行版都要想办法跟上软件更新的速度。Ubuntu采取的发行策略是每半年发行一个服务期为9个月的普通版(当前为15.10),间隔着(每两年?)发行服务器为5年的长期维护版本(当前为14.04LTS)。 此外,对于每个普通发行版,Ubuntu玩出了一些其他花样。比如,Ubuntu for Kylin是和国防科技大学合作开发的汉化版Ubuntu;Snappy Ubuntu Core是为了推出契合Docker那样的服务,软件包管理不同于以往的apt-get。 多说一句Snappy Ubuntu Core,从介绍上看,它直接发布的是KVM的镜像,或者标准的OVA镜像,甚至还有Vagrant镜像,部署起来非常快速。官方的文档的例子举的是在Linux或者云平台上,想在Windows上尝试的朋友,可以下载它的KVM镜像ubuntu-15.04-snappy-amd64-generic.img.xz,解压以后,使用VirtualBox自带命令VBoxManage可将其转化为VirtualBox的VDI镜像 OpenSUSE OpenSUSE目前发行两种版本,一种是滚动更新的Tumbleweed版,另一种是Leap版。Tumbleweed通过滚动更新来提供较新的软件,Leap类似以往的企业版,来提供长期服务。 Tumbleweed的滚动更新的概念还是很受欢迎的,如果效果搞得好,升级就方便多了。以往升级是按发行版来的,从一个发行版升级到另外一个发行版,过程费时费劲,特别容易出错。滚动更新会使这个过程平滑许多。 但是目前Tumbleweed的国内源比较少,阿里云镜像有一些,但是不完全。从镜像列表可以看出,倒是有好多教育网的源,高校里面还是比较幸福的。 Fedora 从Fedora的网站getfedora.org上看,Fedora目前的发行版和以往没有什么太大变化,除了Desktop和Server版以外多出了一个Cloud版,还是一副中规中矩的样子,难怪排名落在Debian系和OpenSUSE之后。 国内镜像 好多开源软件存放在国外的服务器,由于国情,国内的网络访问起来有点不顺畅,幸好有好多国内的镜像可以使用: 阿里云镜像 网易镜像 搜狐镜像 Linux运维派开源镜像站 中科大教育网镜像

February 20, 2016

GNU C的typeof和C++11的decltype

今天看Linux的代码,发现了Typeof关键字。这是一个GNU C编译器对标准C的扩展,旨在编译时取得某个变量的类型,下面是一个例子: typeof(a) b的意思是定义一个和a一样类型的变量b。 这让我不禁联想到C++11的关键字Decltype,也有类似的功效: 得出的一个感悟是语言标准的更新一般都是对已存在扩展的一种追认。GNU C的typeof和C++11的的decltype一个在前一个在后,私以为前者在Linux内核的应用给后者做出实践上的表率,以至于后者在语言层面上将其规范化了。 推而广之,同样的现象应该还存在许多。比如C++11中新增的auto关键字,在GNU C中也有对应的版本,叫__auto_type。 GNU编译器虽然不是最完美,最优化的编译器。但是它的伟大之处在于提供了一个编译器的标准实践,供后来者参考。例如clang和intel编译器中都定义了__CNUC__这个宏,表示和GNU成一格。 最后,可以看一下Linux代码中对GNU C的各种扩展的使用:include/linux/compiler-gcc.h。

December 16, 2015