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

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 ...

    22_PHP_基于KPI的医疗废弃物管理系统-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    Python教程-快速入门基础必看课程09-文件处理

    该视频主要讲述了Python中文件的读写操作和pandas库中的subt函数来处理CSV文件。 在Python中,文件的读写操作需要使用open函数打开文件,并指定路径和模式。读取文件时,可以使用f.read()方法读取内容,并使用f.close()方法关闭文件。写入文件时,可以使用f.write()方法写入内容,并使用f.close()方法关闭文件。视频还介绍了如何在文件中进行换行操作,以及如何将文件中的内容进行读取和写入。 此外,视频还强调了在进行文件操作时需要注意的一些细节和技巧,例如文件的编码格式、内存不足问题、文件的访问权限、写入速度变慢问题等。视频还介绍了如何使用with语句来自动关闭文件,以及如何使用os模块中的函数来处理文件和文件夹。 另外,视频还讲述了如何使用pandas库中的subt函数来处理CSV文件。通过使用read函数将CSV文件读入,然后使用subt函数按照行和列进行划分。在划分时,可以根据需要选择不同的分隔符,如逗号、制表符等。通过subt函数可以将CSV文件切分成多个元素,然后将这些元素存储在一个list中。视频还展示了如何将这个list进行组合,

    《2023年度TikTok电商行业趋势白皮书》.zip

    《2023年度TikTok电商行业趋势白皮书》.zip

    网络攻防课程seed-labs实验-DNS_Attacks.zip

    网络攻防课程seed-labs实验-DNS_Attacks.zip

    sql查询数据库表结构(sql server适用)

    1. sql 语句查询sql server 数据库表结构 2. sql 语句查询sql server 数据库临时表结构 3. 可自由扩展字段,主要提供一个查询思路 4. 包括表名,列名,字段类型、主键表示、字段说明等。

    ASP.NETC#实验室预约管理系统.zip

    ASP.NET实验室预约管理系统源码 该系统的系统角色有三个:学生、教师、管理员,系统功能介绍如下: 学生功能 学生主要是四个功能。注册功能、查询功能、预约功能、学生资料管理功能。 (1)注册功能。学生进入登录界面后,如果没有注册,要先注册。注册的用户名是学生的学号。注册后才可以登录,学生在此功能里还能够修改、删除个人资料。 (2)查询功能。学生在进入主界面后,能够对想预约的课程查询或教师查询。由于老师可能教多个课程,所以有个二级选择目录。 (3)预约功能。当学生查询好信息后,就要对想要预约的实验开始预约。 (4)学生资料管理功能。学生在注册后,可以通过登录,修改自己的个人信息。 教师功能 教师也有四个功能。注册功能、查询功能、预约功能,教师的资料管理功能。只是教师和学生所使用功能的方式不一样。 (1)注册功能。老师进入登录界面后,如果没有账号,也要先注册账号,同时可以对自己的资料进行修改、删除、填加。 (2)查询功能。教师的查询功能主要是对实验室类别、项目、预约情况的查询。类别查询主要是查询实验室房间的信息;项目查询主要是查看能实验该项目的房间信息;预约查询主要是对实验室预约状况的查

    html实现儿童节庆祝项目源码

    java结合html实现儿童节庆祝代码

    操作系统课程实现Shell.zip

    操作系统课程实现Shell.zip

    一带一路下的交通发展(16组).pptx

    一带一路下的交通发展(16组).pptx

    光伏特性曲线(光照强度/温度)构建U-P以及U-I曲线

    通过MATLAB/simulink模块,构建光伏特性曲线(光照强度/温度)构建U-P以及U-I曲线,可以通过simulink模型设置光伏发电板串并联数量、光伏参数(开路电压,开路电流、最大功率点电压、最大功率点电流以及最大功率)、温度系数等,可以得到完美的U-P以及U-I曲线,通过m文件能够修改坐标轴的x轴及y轴坐标的范围。 模型使用方法,首先在MATLAB中添加文件路径,然后在MATLAB工作区中打开m文件以及slx文件,然后在MATLAB中直接运行m文件,然后回弹出相应的U-P以及U-I曲线,通过m文件能够修改光照强度的变化范围、温度的变化范围,总共可以得到光照强度以及温度共四个U-P以及U-I曲线图。

    Python爬取百度贴吧数据.zip

    python爬虫案例

    43_超市管理系统-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    农业农村部特聘审计员推荐表.doc

    农业农村部特聘审计员推荐表.doc

    132_基于Java的动物拯救游戏-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    农垦农产品质量追溯系统建设项目验收申请书目录.doc

    农垦农产品质量追溯系统建设项目验收申请书目录.doc

Global site tag (gtag.js) - Google Analytics