`
luotuoass
  • 浏览: 641554 次
文章分类
社区版块
存档分类
最新评论

gNewSense

 
阅读更多

gNewSense是自由软件基金会(FSF)基于Ubuntu Linux建立的完全自由的操作系统发行版。它是由Brian Brazi和PaulO’Malley在2006年建立的,虽然Ubuntu 很流行,但它并非一个完全符合GNU 精神的发行版,因为它包含了一些非自由的软件。

clip_image001

gNewSense目标是要提供一个100%自由的操作系统 ,用户可以访问到系统里全部软件的源代码,无论是内核还是用户态程序。gNewSense基于Ubuntu,Ubuntu是从 Debian GNU / Linux上创建的发行版,并且于Debian合作紧密。需要说明的是Debian/GNU Linux虽然冠GNU之名,但是不完全符合GNU的自由精神,而是有所妥协,提供了非自由软件选项。第一个得到GNU承认的完全自由的GNU / Linux发行版是基于GentooUtuto

gNewSense发布时包含了一些改进,但不包含任何私有或非自由的组件。特别地,所有的私有固件、受限制的模块、Ubuntu的徽标 ,都被移除了,而“Universe”软件仓库缺省被选中,一些GNU应用软件如 Emacs 和开发库,以及bsdgamesNetHack ,都被包含在缺省安装中。该计划的目标是创建一份完全自由的Linux发行。

目录

gNewSense- 为什么要创建gNewSense发行版

最好从Ubuntu和Debian的源的格式来简单理解一下自由软件与非自由软件的区别,以及为什么要创建gNewSense发行版,对Ubuntu和 Debian很软件包是否自由或者/etc/apt/souce.list文间中各个源的参数很熟的读者可以直接跳过。

“源”指的就是/etc/apt/sources.list文件中包含的类如此类的信息:

一、对于Ubuntu系统

deb http://cn.archive.ubuntu.com/ubuntu/ gutsy main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ gutsy universe
deb http://cn.archive.ubuntu.com/ubuntu/ gutsy multiverse

注意http链接地址后面的四个参数:main restricted universe multiverse

Ubuntu把所有软件分为4类,称为“组件 (component)”,以反映不同的许可证和可用的支持级别。缺省情况下,来自main的精选包会被安装以满足大多数计算机用户的基本要求,同样被安装的还有来自restricted的对系统可用绝对需要的任何包。

main组件只包含符合Ubuntu许可证要求并可以从Ubuntu团队中获得支持的包。这个策略力图使日常使用Linux系统时所需的任何东西包括在内。在这个组件内的包可以确保得到技术支持和及时的安全升级。

restricted 组件包含了由于其重要性而被Ubuntu开发者支持的软件,但是它们并不具有合适的自由许可证,因此不能列入 main。其中包括仅能以二进制形式获得的显卡驱动程序。因为Ubuntu开发者无法获得源代码,其支持的水平与main相比是有限的。

universe组件包含范围广泛的软件,他们或许是受限许可证,或许不是,但是都不为Ubuntu团队支持。这样用户可以使用Ubuntu的包管理系统安装各种各样的程序,同时又与main和restricted中被支持的包相隔离。

最後是multiverse组件,其中包括了不符合自由软件要求而且不被支持的软件包。

二、对于Debian系统

一个source.list中包含的源,大致如下形式:

deb http://http.us.debian.org/debian stable main contrib non-free
deb http://http.us.debian.org/debian stable non-us

四项的含义分别是:

main 主要的基本的且符合GPL的软件
non-free 不符合GPL的软件
contrib 可以运行但是依赖non-free的软件
non-US 非美国地区的。

三、gNewSense的特性

由上可以看出Ubuntu和Debian并非完全自由,而是做了一定的妥协。该网页是gNewSense的一些特性说明:http://www.gnewsense.org/Main/Features

翻译如下:

1. main组件中(名词“组件”借用Ubuntu的概念)Firmware从内核中去掉了。
2. 制作发行版的工具Builder。
3. Restricted组件去掉了。
4. Ubuntu的图标被替换掉了。
5. 默认开启Universe组件。
6. 安装了emacs, bsdgames, nethack 和 build-essential 作为默认组件。

gNewSense-gNewSense 系统安装配置

目 前最新版是2008年8月25日发布的gNewSense 2.1版。gNewSense 2.1 DeltaH基于Ubuntu 8.04 Hardy,移除了其中的非自由软件和非自由驱动。加入Usplash,新主题和图案,LiveCD sudo不再询问密码等等。

gNewSense的安装配置跟Ubuntu一样。用LiveCD引导进入系统,点击install图标,选择安装的语言(中文)只需要7步,就可以把gNewSense安装到硬盘中。

clip_image003

但即使你选择了中文为默认语言,进入系统后,还有大量的程序如OpenOffice、Synaptic(新立得软件包管理器)、控制终端等等都为英文界面,这就需要我们进行一些小小的安装配置,以快速地建立一个舒适的中文使用环境。

设定连接到互联网

1、请确保你的系统已联入互联网。假如你使用ADSL上网,请参考《ADSL使用PPPoEConf连接到互联网》 方法连接。如连接不到网络请到Linuxsir论坛中求助。

2、确认连接到互联网后,我们需要更新软件包列表。请在终端输入:

$ sudo aptitude update

3、安装更新整个系统。执行下面的命令:

$ sudo aptitude dist-upgrade

或者你打开“系统→系统管理→新立得软件包管理器”,安装更新。

设置中文环境

如果你安装的时候语言选择了中国,那么你已经有一个zh_CN.UTF-8的中文环境了。

* 如果你安装的是英文界面,在进入桌面后:单击主菜单中的“系统(System) –> 系统管理(Administration) –> 打开语言支持(language support)”。
* 在“支持的语言”列表中找到“汉语(Chinese)”,在右端打上勾。同时将默认语言修改为“汉语(Chinese)”并勾选“启用复杂字符输入支持(Enable support to enter complex characters)”,点击确定按钮。
* gNewSense这时会下载并安装语言包。安装完毕之后,当你注销后重新登录,界面就变成中文的了。

当然你也可以在终端下安装,gNewSense会为你自动安装系统中未安装中文支持程序的中文包。你也可以顺便装上高质量字体,文泉驿点阵宋体,让你的桌面更漂亮。

$ sudo aptitude install language-pack-gnome-zh-base language-pack-gnome-zh language-pack-zh xfonts-wqy

安装完后,在系统–>系统管理–>字体 里选择你想要显示的字体,这样你的桌面就漂亮了。

安装SCIM输入平台及输入法

gNewSense系统只默认安装了SCIM输入平台,输入法则需要我们来选择安装,我用的是五笔scim-tables-zh,如果你用拼音就换成 scim-pinyin。

$ sudo aptitude install im-switch scim scim-gtk2-immodule scim-tables-zh
$ im-switch -s scim -z default

设置好后,别忘记注销桌面重新登陆。或者你启动一下输入法:

$ sudo scim -d
你想删除SCIM,使用Fcitx输入法:

$ sudo aptitude purge scim

建议你还是保留Scim输入法,只把当前输入法设置成了Fcitx为好。

用自己喜欢的编辑器打开一个文件:

$ sudo gedit /usr/lib/gtk-2.0/2.10.0/immodule-files.d/scim-gtk2-immodule.immodules

找到下面这段:

# automatically generated by dh_gtkmodules, do not edit
“/usr/lib/gtk-2.0/2.10.0/immodules/im-scim.so”
“scim” “SCIM Input Method” “scim” “/usr/share/locale” “ja:ko:zh”

把最后的:zh删除掉,即只剩下”ja:ko”,在中文环境下,不开启Scim。重新登陆系统即可。安装Fcitx中文输入法

$ sudo aptitude install im-switch fcitx
$ im-switch -s fcitx -z default

注意:最后一步操作不加sudo。完成设置最好重启一下X,输入法就生效了。

多媒体应用环境设置

说句实话,要想使用100%自由软件,你可能就要放弃一些应用了,比如影音。因为多数影音的编码都是专有格式。少有自由开放的编码。如果你只需要听MP3还好办,只需要:

$ sudo aptitude install audacious

如果你觉得,现在的网络电影这么多,不能播放多可惜。那你就加入下面的Ubuntu的源:

$ sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list
$ sudo aptitude update && sudo aptitude install medibuntu-keyring && sudo aptitude update

安装Mplayer及DVD支持、音频解码及RealPlayer:

$ sudo aptitude install mplayer mplayer-fonts mplayer-skin libdvdcss2 w32codecs realplayer

这样,你的电脑就可以播放几十种格式的影音文件了。

大功告成,请注销重新进入桌面!以上对gNewSense系统的基本设置,你已经完成。不过这些设置对于你来说远远不够。你一定还想安装自己需要的软件,那就用图形化安装程序按需要安装吧。

图形化安装程序

gNewSense的Gnome桌面中还提供了两种图形化前端工具,一个是:应用程序->添加/删除程序,另一个是:系统->系统设置->新立得软件包管理器。

clip_image004clip_image002[2] 图形化添加/删除程序

如果你厌烦了用终端安装程序,就用这两种图形化程序来安装你需要的软件吧。

* 添加/删除程序提供了更多、更详细的说明,并且有和应用程序菜单相对应的软件分类,和漂亮直观的图标显示。即使你不懂命令也可以轻松使用,不用命令你就能添加、删除程序,非常方便。

* 新立得软件包管理器不但有软件包的管理,还提供系统升级的功能。如果你安装了中文环境支持,你打开之后就会有中文界面,否则只是英文界面。如果在管理器中细心寻找就可以发现宝藏,很多你想要的软件,不用到网络上去搜索下载,它就已经在你的安装源里。并且,它还提供了强大的搜索功能,你可以搜索软件名称、软 件注释、软件介绍关键词来想办法找到需要的软件。

gNewSense- 用Builder工具创建属于自己的GNU/Linux发行版

作 为创建gNewSense的一部分,我们导出了Builder工具,允许在Ubuntu Hardy的基础上创建新的GNU/Linux发行版。通过一个简单的配置文件,你就能够选择发行版的名称,版本号,标语以及你想要安装或者移除默认的软件包。图像将会自动生成。虽然这些脚本主要的目的是为了创建gNewSense,但是它还是一个不错值得利用的工具。需要注意的是你可以不遵循下面的步骤使用gNewSense,因为你可以从网站的镜像下载到相关的镜像文件。

你需要至少60GB的硬盘空间,最好有一个非常快的网络连接(因 为你将要下载40GB的数据)。同时你的镜像点(也可以在同一个系统中)也需要 40GB左右的空间。如果你会利用硬链接,就能够避免一些重复的下载。这一些操作都将在Ubuntu Hardy(或者更高版本的)系统执行。所有的命令都必须运行在Root权限下。

如果你有什么问题,可以发到我们的IRC中。Builder这个工具还只是测试版软件,我已经很久没有从源码重新编译过该工具,因为有些代码已经修改过了。

第一步:GPG Key

软件库中很多最近版本的apt,需要经过GPG签名的版本文件,这样可以保证发行版的集成度,所以我们的第一步就是创建一个GPG Key。

gpg --gen-key

这个命令就可以让你做到这些。确保Key只有一个空白的密码。把这个Key的指纹信息记录下来,因为之后你将在配置文件中用到它。

第二步: Deb镜像(可选的)

为了避免重复下载文件,我建议创建一个Ubuntu main和universe软件库的镜像点。这样的话大概需要40GB的空间。

debmirror --verbose --progress --method=http --host=ie.archive.ubuntu.com --arch=i386 --source /

--dist=hardy,hardy-security,hardy-updates,hardy-backports --section=main,main/debian-installer,universe /

--ignore-release-gpg --root=ubuntu /the/target/directory

你也可以建一个Apache服务器,这样你就能通过HTTP看到这个镜像点。这个步骤是可选的,但是我强烈推荐大家制作一个本地的Ubuntu镜像点。

第三步: 软件包

你需要安装一些软件包,使得Builder运行顺畅。

apt-get install reprepro debmirror build-essential apache2 subversion cdebootstrap debootstrap imagemagick

apt-get install squashfs-tools netpbm syslinux bittornado fakeroot devscripts equivs sharutils mkisofs

svn co http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk builder

cd builder

如果这里面还缺少某些软件包,请告知我。

第四步: 配置

用文本编辑器,打开配置文件。你主要关心的设置有MIRROR,RELEASE,DISTRONAME,DOMAIN,BASEDIR,和REPOAPT。如果还有其它的定制要求可以修改配置文件的其它设置部分。

MIRROR 指的是你在第二步中创建的镜像点,或者Ubuntu镜像点,它应该包含安全的软件包。

MIRRORDIST 指的是镜像点的发行版本,通常是“Ubuntu“

DISTRONAME 指的是你的发行版名称,只能包含字母和数字。

BASE_RELEASE 指的是你的版本号。版本号应该是小写的,因为它将在路径出现。

TAGLINE 出现在开机启动和登录的屏幕中。

SIGNINGKEY 指的是第一步中你设置的GPG Key,不能包含任何空格。

BASEDIR 指的是放置软件库、livecd、临时文件的目录名称,REPODST 指的是当前文件系统下建立的镜像点位置($BASEDIR/发行版名称的小写形式)。

REPOAPT 指的是编译脚本放置的路径,用来下载软件包。我们假定在archive.DOMAIN和security.DOMAIN以及subdomains处都是类Ubuntu的安装方式。

RSYNC_DEST 指的是可以通过push-repo 或者push-cd来同步的软件库和livecd的位置。

LOGO_LETTER 指的是标志中的字母。

META_*_{ADD,REMOVE} 在你的默认的软件包建立之后,用来管理哪些软件包你想增加或者想把它从Ubuntu默认的软件包移除。

*_VERSION 指的是给软件包版本添加的号码。每次你要重编译一个软件包的时候,你需要增加这些。多半都是从1开始计。

第五步: 构造软件库

./gen-repo && ./do-update

这一步需要一些时间。当这个命令运行的时候,软件库有可能会不一致。这就是为何在第七步中你只需要将改动放到镜像点中。每次有新的版本(例如安全库更新了)重新执行 do-update命令就可以了(如果需要的话,也只可以执行debmirror)。

如果你在64位的内核上运行32位的用户程序,安装linux32软件包,然后执行命令

./gen-repo && linux32 ./do-update

第六步: 创建LiveCD

./gen-livecd

创建好的镜像文件将放在 $LIVECDDIR/$DISTRONAME_L-livecd-$LIVECD_VERSION.iso

./gen-cdsource

./stage-cd

这两个命令将创建一个源码包,并把这个ISO放置在 $REPODST/cdimage

第七步:把你的软件库放到镜像点并公开

现在可以在你的镜像点公开你的软件库(dists和pool)地址和LiveCD,将你的新发行版向世界公开。

./push-repo

./push-cd

? Brian Brazil 2006

Minor edits by Karl Goetz

分享到:
评论

相关推荐

    LiveParkes:gNewSense 3预发行版(Parkes)LiveDVD-开源

    这只是作为liveDVD的Parkes(gnewsense 3预发行版)的演示(但100%可操作)。 它的100%非官方作品按原样发布-我与准备gnewsense 3的英雄没有任何关系。因此,此LiveDVD没有他们或我的任何支持。 试试看,后果自负...

    Linux 可启动 U 盘制作工具 Universal USB Installer 1.9.8.3 中文编译版.zip

    gNewSense GRML gOS gadgets GParted Jolicloud Kiwi KNOPPIX Kororaa KXStudio Leeenux Liberte LinHES Linux XP Like LPS Macbuntu Mandriva One 2011 Matriux MCNLive Toronto Meego MicroCore Netrunner ...

    2009_0525_RT3070_Linux_STA_v2.1.1.0.bz2

    腾达无线网卡驱动,用与Linux.gNewSense下测试成功. http://blog.csdn.net/zhangshaojian/archive/2010/06/23/5690216.aspx

    bcfg2:Bcfg2存储库的Git克隆

    它已成功运行在: AIX,FreeBSD,OpenBSD Mac OS X,OpenSolaris,Solaris 许多GNU / Linux发行版,包括Arch Linux,Blag,CentOS,Debian,Fedora,Gentoo,gNewSense,Mandriva,openSUSE,Red Hat / RHEL,SuSE ...

    java+毕业设计+扫雷(程序).rar

    ensp校园网络毕业设计,java+毕业设计+扫雷(程序)

    【图像增强】 GUI同态滤波图像增晰(含高斯滤波、一阶、二阶巴特沃斯滤波)【含Matlab源码 4397期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Wox全局搜索工具,一款win下的全局搜索软件

    Wox全局搜索工具类似mac的全局搜索功能,在win下可以实时搜索电脑上安装的软件及文档,节省了找文档的时间,可在在不会到桌面的情况下使用Alt+回车搜索需要的内容。

    C语言程序判断回文素数

    附件是判断回文素数C语言程序,这个程序首先定义了两个函数:isPrime 用于判断一个数是否为素数,isPalindrome 用于判断一个数是否为回文。然后在 main 函数中,通过一个循环来检查从2到999(这里假设我们只需要检查小于1000的数)的所有数,如果一个数既是素数又是回文数,就将其打印出来。 请注意,这个程序只检查了小于1000的数。如果需要检查更大的范围,可以相应地调整循环的上限。此外,素数判断的效率并不是最优的,对于大数的判断,可能需要更高效的算法。

    课设毕设基于SSM的抗疫医疗用品销售平台 LW+PPT+源码可运行.zip

    课设毕设基于SSM的抗疫医疗用品销售平台 LW+PPT+源码可运行

    16生产设备日常保养记录表.xls

    16生产设备日常保养记录表.xls

    【图像重建】小波变换图像分解重建(PSNR对比)【含Matlab源码 2686期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    node-v0.9.1-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Sandboxie Plus v1.13.7 2024-沙盘-程序多开-虚拟环境-病毒测试-安全工具-沙盘环境

    Sandboxie Plus 是一款强大的沙盒工具,它允许你在隔离的环境中运行和测试软件。有了它,你可以无所畏惧的在电脑操作一些危险的行为,不用担心会损坏电脑设备,只需一键即可清理所有的残留数据.可以实现程序多开,软件安全保护等一系列不可思议的操作. 通过这种方式,你可以保护系统免受恶意软件和其他潜在威胁的侵害,同时还能安全地进行软件测试和开发。Sandboxie Plus 提供了用户友好的界面和高级功能,确保你的系统始终保持安全和稳定.

    ISO TR 9968 2023 功能安全能量存储系统应用

    ISO TR 9968 2023 功能安全能量存储系统应用

    SketchUp草图 2024贴图打开纹理不显示图片BUG修复文件

    相信很好多使用,使用草图2024的朋友,都会遇到一个问题就是在新建贴图或修改贴图是点击打开不显示图片的问题 其实只需要替换一个文件就可以完美解决 "C:\Program Files\SketchUp\SketchUp 2024\resources\zh-cn\替换以下路径"

    基于JAVA的推箱子游戏

    策略性游戏可以锻炼人的思维能力还能缓解人的压力,使人们暂时忘却生活当中的烦恼,增强人们的逻辑思维能力,游戏的艺术美也吸引着越来越多的玩家和厂商,寓教于乐,在放松人们心情的同时还可以活跃双手。在人类的社会生活当中,游戏占有很大的比重,并且随着社会的发展而不断发展。而且游戏本身具有激发人类潜在行为的特质,是一种能够吸引人们参与其中的活动,其本身具有强烈的吸引力使游戏者卷入其中;再者适当的游戏、合理的时间安排,能够让玩家在娱乐的同时还可以锻炼其反应速度及灵敏程度,亦可让玩家从压力中释放出来。因此游戏逐渐成为人们生活中不可缺少的一部分,游戏产业也正逐步发展成熟。 经典的推箱子游戏是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。它的玩法也非常简单,在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,控制人物不停的移动将箱子推到目的位置才能顺利的完成任务。难点在于移动的位置,以及箱子到达指定位置的顺序,只有多加思考才能获得游戏的胜利。反复推敲,锻炼了人们的耐性。

    考研数据结构-学习笔记

    考研数据结构-学习笔记

    【图像隐写】 FRFT+SVD盲水印嵌入+攻击+提取【含Matlab源码 1757期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【疾病检测】机器视觉黑色素瘤皮肤癌检测【含Matlab源码 1689期】.zip

    【疾病检测】机器视觉黑色素瘤皮肤癌检测【含Matlab源码 1689期】

    成品检验报告(COA).xls

    成品检验报告(COA).xls

Global site tag (gtag.js) - Google Analytics