- 论坛徽章:
- 0
|
Red Hat Linux 9 安装心得
最近为了搭J2EE服务器,由于Windows XP不太稳定,又耗资源,于是决定装一个Linux。为了安装使用方便,当然是选择使用最广泛的Red Hat Linux,其最新版本是9。
由于系统已经安装了XP,而且我的主要工作还是在XP下进行的,因此决定安装双系统。
参考了网上相关资料后,结合我的机器的具体配置,经历了几次实践后,终于成功实现双系统,并且通过XP的OS Loader引导Linux。
1. 首先,从
ftp://ftp.redhat.com
下载3个ISO光盘镜像文件,放到一个FAT32的分区中,这样就可以直接从硬盘安装,而不必刻录到光盘上再安装。注意,最好放在根目录下,可以省去安装过程中指定目录的麻烦。
2. 将第一张盘shrike-i386-disc1.iso加载到虚拟光驱中,把dosutils目录复制出来,放到FAT32分区中。
3. 用DOS软盘启动电脑,进入FAT32分区的dosutils目录,运行autoboot,启动Red Hat Linux 9 安装程序。
4. Red Hat Linux 9 安装程序启动后,会让你选择安装方式,选择从硬盘安装,并输入ISO文件所在的驱动器,我的FAT32分区对应的是/dev/hda4,因此输入/dev/hda4。
5. 接下来是Red Hat Linux 9的标准安装,注意要不破坏XP的引导系统,可以将GRUB或LILO安装到Linux启动分区而不是硬盘的MBR中。安装过程中制作一张启动软盘,安装完成后用软盘重启计算机。
6. 进入Linux系统后,先挂载FAT32分区,比如我将它挂到/mnt/dos下,使用命令
mount -t vfat /dev/hda4 /mnt/dos
7. 使用dd命令复制Linux根分区的第一个扇区到一个文件中,以便使用Windows XP的NT Boot Loader启动Linux。由于我的Linux装在/dev/hda2,因此用root登陆,输入:
#dd if=/dev/hda2 of=/mnt/dos/linuxboot.lnx bs=512 count=1
文件应该存放到FAT32分区或软盘中。
8. 重启进入XP,将FAT32分区的linuxboot.lnx复制到C:盘根目录下,在系统属性中打开启动选项,编辑boot.ini,在[operating systems]下添加:
C:\linuxboot.lnx="Red Hat Linux 9"
9. 重启XP,会出现启动菜单
Microsoft Windows XP Professional
Red Hat Linux 9
选择Red Hat Linux 9就可以直接启动Linux了!
以上的关键是我的C:盘使用的NTFS格式,Linux无法识别,只能通过FAT32分区或者软盘来交换数据。
此外,如果没有制作启动盘,可以将第一张光盘里的loadlin.exe(在dosutils目录下)和vmlinuz(在dosutils\autoboot下)复制到软盘,用DOS启动后,输入:
loadlin vmlinuz root=/dev/hda2 ro
也可以启动Linux,但是要注意,启动后的内核版本显示为2.4.20-8BOOT,而不是2.4.20-8,因此很多驱动无法正确加载,也就无法配置网卡声卡等,但可以通过步骤6-8实现硬盘启动,这样就能正确配置系统了。
Sky
发表于 2005年09月22日 下午04时56分 |
全文
-->
2005年11月21日
Linux软件安装通用思路
在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种:
1)一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz)。
2)另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包。只要您理解了以下的思路,这两种形式的安装包也不在话下了。
下面,我们就分成两个部分来说明软件安装思路:
第一部分:搞定.tar.gz
1.首先,使用tar -xzvf来解开这个包,如:
#tar -xzvf apache_1_3_6_tar.gz
这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似),用来存放解压了的内容。如本例中就是apache_1.3.6
2.进入这个目录,再用ls命令查看一下所包含的文件,如:
#cd apache_1.3.6
#ls
你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。
1)如果是configure文件,就执行:
#./configure
#make
#make install
2)如果是Makefile文件,就执行:
#make
#make install
3)如果是Imake文件,就执行:
#xmkmf
#make
#make install
3.如果没有出现什么错误提示的话,就搞定了。至于软件安装到什么地方,通常会在安装时出现。否则就只能查阅一下README,或者问问我,:-)
如果遇到错误提示,也别急,通常是十分简单的问题:
1)没有安装C或C++编译器;
确诊方法:执行命令gcc(C++则为g++),提示找不到这个命令。
解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
#rpm -ivh gcc* (哈哈,我们用到了第二种安装方式)
2)没有安装make工具;
确诊方法:执行命令make,提示找不到这个命令。
解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
#rpm -ivh make*
3)没有安装autoconf工具;
确诊方法:执行命令make,提示找不到这个命令。
解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
#rpm -ivh autoconf*
4)缺少某些链接库;
确诊方法:在make时,提示需要某些文件。
解决方法:安装包含这个文件的包,这就需要积累了。
第二部分:搞定.rpm
RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
1.安装软件:执行rpm -ivh rpm包名,如:
#rpm -ivh apache-1.3.6.i386.rpm
2.升级软件:执行rpm -Uvh rpm包名。
3.反安装:执行rpm -e rpm包名。
4.查询软件包的详细信息:执行rpm -qpi rpm包名
5.查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名
6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名
http://www.linuxdiyf.com/
Sky
发表于 2005年11月21日 上午10时49分 |
全文
-->
2005年11月29日
Linux必须学会的60个命令
Linux系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。Linux文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。
file
1.作用:file 通过探测文件内容判断文件类型,使用权限是所有用户。
2.格式:file [options] 文件名
3.[options] 主要参数:
-v:在标准输出后显示版本信息,并且退出。
-z:探测压缩过的文件类型。
-L:允许符合连接。
-f name:从文件 namefile 中读取要分析的文件名列表。
4.简单说明:使用 file 命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件,还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
5.应用实例:如果我们看到一个没有后缀的文件grap,可以使用下面命令:
$ file grap grap:English text 此时系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。
mkdir
1.作用:mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。
2.格式:mkdir [options]目录名
3.[options]主要参数:
-m,--mode=模式:设定权限,与chmod类似。
-p,--parents:需要时创建上层目录;如果目录早已存在,则不当作错误。
-v,--verbose:每次创建新目录都显示信息。
--version:显示版本信息后离开。
4.应用实例:在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”。假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令:
$ mkdir-m 777 tsk
grep
1.作用:grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式:grep [options]
3.主要参数:[options] 主要参数:
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern 正则表达式主要参数:
:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$:匹配正则表达式的结束行。
:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的单个字符。
*:有字符,长度可以为0。
正则表达式是 Linux/Unix 系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符“*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。
4.应用实例:查询 DNS 服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有时IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]{3 }.[0-0{3}。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。
$grep '[0-9 ]{3 }.[0-0{3}' ipfile 补充说明,grep家族还包括fgrep和egrep。fgrep是fix grep,允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持 q 模式范围的应用及与之相对应的一些更加规范的模式。
dd
1.作用:dd命令用来复制文件,并根据参数将数据转换和格式化。
2.格式:dd [options]
3.[opitions]主要参数:
bs=字节:强迫ibs=及obs=。
cbs=字节:每次转换指定的。
conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。
count=块数目:只复制指定的输入数据。
ibs=字节:每次读取指定的。
if=文件:读取内容,而非标准输入的数据。
obs=字节:每次写入指定的。
of=文件:将数据写入,而不在标准输出显示。
seek=块数目:先略过以obs为单位的指定的输出数据。
skip=块数目:先略过以ibs为单位的指定的输入数据。
4.应用实例
dd命令常常用来制作Linux启动盘。先找一个可引导内核,令它的根设备指向正确的根分区,然后使用dd命令将其写入软盘:
$ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0
上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。
find
1.作用:find命令的作用是在目录中搜索文件,它的使用权限是所有用户。
2.格式:find [path][options][expression]
path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。
3.主要参数:
[options]参数:
-depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。
-maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level是0的话表示仅在当前目录中查找。
-mindepth levels:表示至少查找到开始目录的第level层子目录。
-mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。
-version:打印版本。
[expression] 是匹配表达式,是find命令接受的表达式,find 命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数。
—name:支持统配符*和?。
-atime n:搜索在过去n天读取过的文件。
-ctime n:搜索在过去n天修改过的文件。
-group grpoupname:搜索所有组为grpoupname的文件。
-user 用户名:搜索所有文件属主为用户名(ID或名称)的文件。
-size n:搜索文件大小是n个block的文件。
-print:输出搜索结果,并且打印。
4.应用技巧 find 命令查找文件的几种方法:
(1)根据文件名查找例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令:
find /-name lilo.conf
find命令后的“/”表示搜索整个硬盘。
(2)快速查找文件根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间,特别是大型 Linux 文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此时可以使用下面命令:
find /etc -name smb.conf 这样,使用“快速查找文件”方式可以缩短时间。
(3)根据部分文件名查找方法有时我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令:
find /-name '*abvd*'
输入这个命令以后,Linux 系统会将在 / 目录中查找所有的包含有 abvd 这4个字符的文件(其中*是通配符),比如 abvdrmyz 等符合条件的文件都能显示出来。
(4)使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我们想在 /etc 目录中查找大于500000字节,并且在 24 小时内修改的某个文件,则可以使用 -and (与)把两个查找参数链接起来组合成一个混合的查找方式。
find /etc -size +500000c -and -mtime +1
Sky
发表于 2005年11月29日 上午10时20分 |
全文
|
评论 (2)
-->
Linux操作系统的内核编译内幕详解
内核简介
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取相应的源程序代码。
全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明显的好处就是Linux修补漏洞的快速以及对最新软件技术的利用。而Linux的内核则是这些特点的最直接的代表。
想象一下,拥有了内核的源程序对你来说意味着什么?首先,我们可以了解系统是如何工作的。通过通读源代码,我们就可以了解系统的工作原理,这在Windows下简直是天方夜谭。其次,我们可以针对自己的情况,量体裁衣,定制适合自己的系统,这样就需要重新编译内核。
在Windows下是什么情况呢?相信很多人都被越来越庞大的Windows整得莫名其妙过。再次,我们可以对内核进行修改,以符合自己的需要。这意味着什么?没错,相当于自己开发了一个操作系统,但是大部分的工作已经做好了,你所要做的就是要增加并实现自己需要的功能。在Windows下,除非你是微软的核心技术人员,否则就不用痴心妄想了。
内核版本号
由于Linux的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布给他人使用。Linux的开发采用的是集市模型(bazaar,与cathedral--教堂模型--对应),为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统。
一个树是稳定树(stable tree),另一个树是非稳定树(unstable tree)或者开发树(development tree)。一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。
开发数就体现在源程序的版本号中;源程序版本号的形式为x.y.z:对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大一(因此,是奇数)。到目前为止,稳定树的最高版本是2.2.16,最新发布的Redhat7.0所采用的就是2.2.16的内核;开发树的最新版本是2.3.99。也许你已经发现和多网站上都有2.4.0-test9-pre7之类的内核,但是这并不是正式版本。内核版本的更新可以访问http://www.kernel.org。
为什么重新编译内核
Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、 更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是Linux使用者的必要操作内容。
为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面四个考虑:
自己定制编译的内核运行更快(具有更少的代码)
系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些
内核编译模式
要增加对某部分功能的支持,比如网络之类,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module),动态调用。
如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点是会使内核变得庞大起来,不管你是否需要这部分功能,它都会存在,这就是Windows惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。
如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。
内核编译详解
新版本内核的获取和更新
Linux内核版本发布的官方网站是http://www.kernel.org,国内各大ftp上一般都可以找到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另外一种是patch文件,即补丁。
完整的内核版本比较大,比如linux-2.4.0-test8.tar.bz2就有18M之多,网速快的用户可以下载使用。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分别是使用gzip或者bzip2进行压缩的文件,使用时需要解压缩。
patch文件则比较小,一般只有几十K到几百K,极少的会超过1M,网速慢的用户可以使用patch文件来升级内核。但是patch文件是针对于特定的版本的,你需要找到自己对应的版本才能使用。
编译内核需要root权限,以下操作都假定你是root用户。请把你需要升级的内核拷贝到/usr/src/下(下文中以2.4.0test8的内核的linux-2.4.0test8.tar.gz为例),命令为
#cp linux-2.4.0test8.tar.gz /usr/src
让我们先来查看一下当前/usr/src的内容,注意到有一个linux的符号链接,它指向一个类似于linux-2.2.14(对应于你现在使用的内核版本号)的目录。首先删除这个链接:
#cd /usr/src
#rm -f linux
现在解压我们下载的源程序文件。如果所下载的是.tar.gz(.tgz)文件,请使用下面的命令:
#tar -xzvf linux-2.4.0test8.tar.gz
如果你所下载的是.bz2文件,例如linux-2.4.0test8.tar.bz2,请使用下面的命令
#bzip2 -d linux-2.4.0test8.tar.bz2
#tar -xvf linux.2.4.0.test8.tar
现在让我们再来看一下/usr/src下的内容,你会发现现在有了一个名为linux的目录,里面就是我们需要升级到的版本的内核的源程序。还记得那个名为linux的链接么?之所以使用那个链接就是防止在升级内核的时候会不慎把原来版本内核的源程序给覆盖掉了。我们也需要同样处理:
#mv linux linux-2.4.0test8
#ln -s linux-2.4.0test8 linux
这样我们也有了一个名为linux的符号链接,就不用担心以后会把它覆盖掉了(也许你会觉得重新建立linux的符号链接没有必要,但实际上这是必不可少的,下文中会有介绍)。如果你还下载了patch文件,比如patch-2.4.0test8,你就可以进行patch操作(下面假设patch-2.4.0test8已经位于/usr/src目录下了,否则你需要先把该文件拷贝到/usr/src下):
#patch -p0
Sky
发表于 2005年11月29日 上午11时32分 |
全文
-->
轻松安装、卸载Linux软件(三篇)
以下三篇文章大部分内容是雷同的,懒得整理,所以全放上来了!!
第一篇:
Linux下软件的安装与卸载
在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:
一、二进制分发软件包的安装与卸载
Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm形式的二进制软件包
安装:rpm -ivh *.rpm
卸载:rpm -e packgename
说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。
如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸载:手动删除
说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。
如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。
3、提供安装程序的软件包
这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。
二、源代码分发软件包的安装与卸载
Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
1、*.src.rpm形式的源代码软件包
安装:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
然后进入解压后的目录:
./configure 配置
make 编译
make install 安装
卸载:make uninstall 或 手动删除
说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。
关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!
第二篇:
如何安装Linux的软件
在windows下安装软件大家都觉得很容易,只要双击setup或是install的图标,然后跟着向导一步一步的按提示做就可以了,但是在linux下安装软件就不像windows下那样容易了,有时你找到的是没有编译过的软件源码,那就更加的麻烦了,这里就介绍一下如何安装linux的软件啦!
linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。
一、在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到文件上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm文件才会出现)show info,upgrade和install,这三项的意思大家都很清楚了,我就不多说了。rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的文件就会自动解压缩的,是解压缩而不是像rpm那样有install选项的,install文件会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。
二、说完了xwindow下的安装和解压缩,接着说在文本模式下如何解压缩和安装,还有编译源码了。首先说rpm的,以root身份登陆后(用其他的身份登陆也可以但有些软件就不能被安装)键入rpm -i你所要解压缩的文件+扩展名(当然是rpm)也不是很难吧,这里我要说的是“-i”意思是install,如果你想要卸载或是要执行其他的指令就打rpm --help,看电脑给你的提示吧,为了照顾那些E文不太好的人我这里就写几个常用的参数:-e:卸载相关的应用程序,-U(注意是大写):升级软件包, -pql:列出rpm软件包的相关信息,-qf:查找指定文件属于哪个软件包。至于那些其他格式的软件则可以用gunzip,gzip,tar和unzip等指令来解压缩,然后再运行install。通过解包后会得到一些文件,然后进入刚才解压缩后文件目录用“ls -F -color”指令看一下所得到的文件,一般有两种情况:第一种是文件为已经编译好的程序(无须再编译了)用上面的察看文件命令会以带“*”标记的亮绿色显示;第二种则是需要由你自己编译的源代码。得到的是源代码的话,就需要我们自己编译来得到可运行的程序。编译源代码听到编译是不是就吓到你了呢,其实说穿了也就加上几句话而已,对初学者是有些困难想用好的操作系统就需要学习嘛,等你学会了在MM前露一手的时候想想吧……,在编译之前先要认真的阅读一下readme文档,老鸟们就不需要了吧,等你阅读完了以后就执行
./configure
make
make install(只有Root身份才能执行此命令),编译完成之后便会在当前目录或src子目录下得到软件的可执行程序。
介绍完了,大家是不是觉的RPM的软件安装比较容易一点呢,但我个人意见初学者还是多选择RPM格式以外的软件,因为通过编译软件的源码可以为你以后编译内核打下一定的基础。(上海 张国荣)
第三篇:
轻松安装、卸载Linux软件
Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或 |
|