存档在 ‘技术杂谈’ 分类

RPM包的管理

2012年9月1日

1.软件包管理器

软件包管理器在Linux各发行版中占据重要地位,为用户提供了便利。软件包管理器提供给用户已经编译好的二进制软件包,它免去了通过源码包安装软件时遇到的各种问题,比如检测操作系统安装环境、编译以及设置参数等,这样使得用户在安装、升级和卸载软件包时变得非常简单。

RPM是Linux界两大主流的软件包管理器之一,RPM全称Red Hat Package Manager,它是Red Hat公司所开发的软件包管理器,它在Redhat,Fedora,CentOS和SUSE等Linux发行版中被广泛使用。另一款软件包管理器为Debian公司开发的dpkg,它在Debian,Ubuntu和Linux Mint等发行版中被使用。

1.1 RPM和SRPM

RPM软件包最大的特点是将你要安装的软件提前编译好,并且打包成为符合RPM标准的软件安装包。在安装时,RPM管理器会将该安装包中的二进制文件释放到配置文件所指定的路径中。

这种方法对用户来说简单方便,但是同时也缺少一定的灵活性。因为RPM包中的数据是已经编译完成的二进制文件,因此安装该软件包的计算机环境必须与编译该软件包时所在计算机环境相同。

SRPM可以解决上述问题,它的全称是Source RPM,也就是说这种RPM包中包含有源代码。与普通的源码包不同的是,SRPM包中除了包含源代码,还包含该软件所需要的依赖性软件说明。在通过SRPM安装软件时,它会自动检查该软件所依赖的软件是否已经安装。

1.2 YUM在线升级机制

在安装某个RPM包之前,必须确保该RPM包所依赖的软件包都已经安装。否则,强制安装该RPM包会导致该软件不能正常使用。yum在线升级机制将解决软件包之间的依赖问题,它在安装指定软件包时,将该软件包的所有依赖软件同时安装。

使用yum机制的Linux发行版将发布好的所有软件放在yum服务器中,并且将所有软件之间的依赖关系记录下来。当客户端发送了安装软件的需求时,客户端主机将yum服务器上关于该软件的依赖清单与本地机中的软件对比,依次安装缺失的依赖软件。通过这话总方法可以轻松的解决软件包的依赖问题。

yum是redhat系列发行版中的在线升级机制,apt-get是Debian系列发行版中的在线升级机制。

2.RPM打包方法

RPM包的通用制作过程为:下载源码包,再编写spec文件,最后通过rpmbuild构建RPM包。其中,打包最主要的工作是对spec文件的编写,该文件用于对即将构建的软件包进行描述,它包含了软件包的诸多信息,如软件包的名字、版本、类别、简要说明、创建时要执行的命令、安装时要执行的命令等。

对于spec文件的来源,可按照以下的优先级进行选取:

1.首先,如果源码包上有spec文件,则使用该文件。

2.否则,如果社区上有同样的包,但是版本不符合,可以针对具体情况对这些spec文件进行修改。

3.否则,自己编写spec文件。

参考:1.《鸟哥的Linux私房菜》

配置ubuntu

2012年6月9日

对于一个刚刚安装的ubuntu系统,为了更好的使用体验,我们需要对它进行一些配置。下面命令均在ubuntu 10.04上测试过。

1.更新系统源

打开源所在文件后,复制速度比较快的源保存。然后再对源进行刷新:

$ sudo gedit /etc/apt/sources.list
$ sudo apt-get update

2.安装中文环境

先安装中文ibus输入法:

$ sudo apt-get install ibus ibus-pinyin ibus-table

即便安装时选择了中文系统,安装后也不完全是中文环境。通过下面的命令安装中文环境:

$ sudo apt-get install language-support-zh language-pack-zh

3.安装显卡驱动

首先将系统切换到字符界面,按Ctr+Alt+F1即可。然后关闭X-server:

$ sudo /etc/init.d/gdm stop

接着用root身份安装驱动:

# ./NVIDIA-Linux-x86-285.05.09.run

安装完毕后重启系统。

4.安装常用软件

对于我来说,我需要一个完成的vim,内核源码阅读工具,别人可远程登录到我的系统,英汉词典,下载工具,C++编译环境。因此依次下载如下:

$ sudo apt-get install -y vim cscope ctags openssh-server stardict multiget g++

另外,可以进一步配置一下vim。先打开vim配置文件:

$ sudo gedit /etc/vim/vimrc

再在文件末尾输入下面两行,代码可以自动缩进对齐:

set autoindent
set cindent

对于我来说,这两项足够了。

在/etc/passwd中得到普通用户列表

2011年9月7日

/etc/passwd文件用来保存系统中当前所有的用户信息,该文件对所有用户都可见。在该文件中,每行信息代表一个用户。每个用户的信息由7部分组成:

用户名:加密后的用户密码:用户ID(UID):用户所在组ID(GID):用户全名以及用户信息:用户主目录:该用户登录时所用的命令解释器

在该文件中,有些用户并不是用户建立的,而是系统帐号。比如在上述passwd文件中,sys、bin等用户就是系统所保留的用户。

edsionte@edsionte-desktop:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
…………
guest:x:1001:1001:guest,,,,:/home/guest:/bin/bash
lc:x:1002:1002:lc,,,,:/home/lc:/bin/bash

现在有一个项目需求,即从/etc/passwd文件中将普通用户的用户名解析出来。要完成这个要求,关键是找出系统用户和普通用户之间的差别。在useradd命令的man手册中关于-u选项有这样的描述:

-u uid 使 用 者 的 ID 值 。 必 须 为 唯 一 的 ID 值 , 除 非 用 -o 选 项 。 数 字 不 可 为 负 值。预设 为 最 小 不 得 小 于 999 而 逐 次 增 加 。 0~ 999 传 统 上 是 保 留 给 系 统 帐 号 使 用。

因此,可以通过UID来区分普通用户和系统用户,即UID大于999的为普通用户,否则为系统用户。

后记:本文发出后,有几个朋友指出这个办法只适合ubuntu系统,因此希望大家注意使用范围。

Software Freedom Day

2010年9月19日

今天去新校区参加了软件自由日西邮站,深深被xiyoulinux小组的每位成员所感动。特别是关于小组成员在准备此次活动时的一些影像,看着那些熟悉的面孔在为今天的自由日活动做着准备,心里很是感动,自愧不如。那种感动应该是他们对Linux的狂热、对理想的坚持。他们身上散发的open精神是无人能及的,只有当你真正融入这个小小的团体,才能感受到他们巨大的力量。

加油,xiyouLinux Group!

ubuntu下安装VirtualBox

2010年7月28日

ubuntu的功能非常强大,但是有时候还是会用到XP下的某些软件。那么就在ubuntu下安装个虚拟XP吧。

下载好文件(这里只针对.run格式),解压至主文件夹运行:

sudo sh VirtualBox-3.2.4-62431-Linux_x86.run

安装完毕后,也许你会觉得原始屏幕太小,那么安装增强包。在虚拟窗口点击:设备–安装增强包。然后打开虚拟XP的光驱,点击那里的VBoxWindowsAdditions.exe文件就可安装。重启XP以后,你就可以随意拖动虚拟窗口大小了。

windows 7 ultimate product key

windows 7 ultimate product key

winrar download free

winrar download free

winzip registration code

winzip registration code

winzip free download

winzip free download

winzip activation code

winzip activation code

windows 7 key generator

windows 7 key generator

winzip freeware

winzip freeware

winzip free download full version

winzip free download full version

free winrar download

free winrar download

free winrar

free winrar

windows 7 crack

windows 7 crack

windows xp product key

windows xp product key

windows 7 activation crack

windows7 activation crack

free winzip

free winzip

winrar free download

winrar free download

winrar free

winrar free

download winrar free

download winrar free

windows 7 product key

windows 7 product key