您的位置:首页 > 运维架构 > Linux

linux软件安装管理与安装RPM时的挂载的概念

2016-08-22 22:15 405 查看
1.软件的分类:



其中的源码包有好处也有坏处,

其中的好处是:我们能看到里面的源代码,方便我们修改和学习其编程语法;还有一个就是不容易中病毒,因为Windows下的很多病毒对于linux来说都是不认识的。 

其中的坏处是:linux的所有的程序是不能直接拿来使用的,需要再开发;安装步骤比较多,并且对于大型的软件时容易出现拼写错误;安装时间比较久。好处:



  第二个可以自由选择所需的功能,例如我们不需要软件的某些功能,完全可以把其相关代码进行修改。而Windows的供选择的的功能很少,大概只能选择安装位置之类的基础功能。

 第四个卸载方便,linux的关联性文件种类分的比较集中,当我们需要卸载某个程序时,只需删除其安装目录文件即可完全删除,而Windows的系统会越用越卡,是因为其软件相关文件删除不干净。

   2.二进制包;

   


   二进制包指的是已经编译成机器码的包,例如windows的很多应用程序安装包都是编译成机器码的,其中反编译技术不能完整的还原源代码,因为反编译是有代码损失的,所以其一般是不可逆的,rpm包可能会有依赖性,例如安装当前包需要安装B包,安装B包需要安装C包,此时我们则需要先安装C包,再按照B包,最后安装当前包,其实其跟打游戏一样,需要安装显卡驱动,c++等才可能运行游戏。

3、挂载的概念与相关指令:

  像我们的Windows的快压就有一个挂载的功能,其能够把ISO镜像不进行解压就直接在系统上挂个CD盘,这样我们就可以对ISO里面的文件进行读取

,而不用经过解压。现在有个疑问就是什么叫做挂载?

   挂载就是把一个设备或者一个文件(网络中的、本地的、内存的、硬盘的、U盘的)泛资源当做本地的一个文件夹处理,这样你的应用程序就可以直接读取了,注意这里指的是把其当做一个文件夹来处理,意思就是我们在挂载后对里面所以的文件可见。例如我们在挂载iso镜像后就可以打开里面的内容列表。其是挂载随处可见:当我们插入U盘后,在电脑上显示出其盘符,这也是一直挂载,因为我们能打开它对其里面的东西进行操作。如下:



下面是linux系统如何进行挂载一些

2.RPM包的命名原则:



其有个缺点就是:RPM包依赖性,例如:



例如下面的在挂着了centos的iso包后进行安装里面的数据库,则出现了因为依赖性没解决,而出错:



其就是因为缺少libodbcinst.so.2这个包而出现错误。当在安装这个包时使用tab键进行补全时不能进行补全,则是因为这个目录下根本就没有这个包

,原因是:

以后以.so结尾的都是文件,其不是RPM软件包,其是需要安装某些软件包后才会生成的文件。在我们不知道这个库文件所在的软件包时,就可以

通过上面的的那个,模块依赖里的那个查询网站。这是比较繁琐的事,一个更好的方法就是使用yum在线管理,其使用的yum指令会在网上对各种库依赖

进行建立关系,解决了很多繁琐的工作(也可以不联网,把本地光盘当做yum)

3.rpm安装指令是:



其中的--nodeps不检测依赖性(最好好不用,因为软件虽然安装上了,但是可能是运行不了的,其少了一些关联的文件)例子是:



这里需要有两个百分百才成功,第一个是准备成功,第二个是才是安装成功

4.升级与卸载:

  其升级为:rpm -Uvh 包全名   

其中选项: -U(upgrade)升级,其也是先下载包然后按照包,不过这个包必须比当前系统版本更高,如果没有按照这个软件,升级指令则会按照此软件,如果安装后则会升级。

使用RPM指令来安装包,其安装路径是由RPM产生的默认路径里,其各种信息会放到:ls  /var/lib/rpm 这个路径的数据库文件里,为了方便后期的升级、卸载等。

其卸载为:rpm -e  包名

其中选项:-e(erase)卸载  --nodeps不检查依赖性(一般也是禁止使用的)。其中rpm包卸载也是有顺序的,其是上面安装顺序的反顺序,否则会提示卸载失败。其例子:



   注意:这里卸载rpm包为啥需要通过指令来卸载,而不是直接删除相应文件夹来卸载?  因为rpm包安装时会产生一些默认的文件路径,如果凭自己亲自删除文件,可能无法删除干净,但是对于源码包的安装,则可以直接删除相应文件夹,因为,其路径是自己自定义的。

  5.RPM包的查询:

使用rpm安装包比较麻烦,一般使用yum来安装包,但是yum只能实现包的安装,但是其不能查询rpm包的一些信息,必须通过RPM指令来查询。

a.查询是否安装指令:rpm -q 包名    选项-q  查询(query)                                                rpm -qa  查询所有已安装的rpm包, 选项 -a 所有(all)

b.查询软件包详细信息: rpm -qi 包名  选项:-i 查询软件信息(information)   -q查询未安装包信息(pakege) 例子:



c.查询文件安装位置:rpm -ql 包名 选项:-l列表(list) 例子:



d.查询系统文件属于哪个rpm包,其指令是:rpm -qf 系统文件名 选项: -f 查询系统文件属于哪个软件包(file) 例子:



注意:这些指令都是针对rpm包的,因为rpm安装时在其数据库里有储存各种信息。

5.rpm包的校验,其指令是:rpm -V 已安装的包名  选项 -V 校验指定rpm包中的文件(verify),例子:



其中在c前面的是属于校验的具体内容,c为校验出现问题的文件类型,其两者的种类有:





6.rpm包中文件提取,

其指令是:rpm2cpio 包全名 | cpio -idv .文件绝对路径

-rpm2cpio 将rpm包转换成cpio格式的命令    -cpio是一个标准工具,他用于创建软件档案文件和从档案文件中提取文件。

定位某个文件的位置,其指令是:whereis ls   

使用剪切的指令是:mv  /bin/ls   /tmp/ 当这个/bin/ls不存在时则使用不了ls指令,其例子是:

其操作顺序是:



其实际操作是:



6.yum安装使用本地光盘来安装包。(这个是对于redhat、centos等linux系统的,而对于ubuntu、debian等系统使用不了会报错,其对应指令是apt-get install )



其大概的顺序是需要挂载光盘,然后把本地光盘当做源包库。其中的

mkdir /mnt/cdrom   建立挂载点

mount  /dev/cdrom /mnt/cdrom  挂载光盘

是网络yum源失效,其指令是

cd /etc/yum.repos.d/   进入yum源目录

mv CentOS-Base.repo CentOS-Base.repo.bak   修改yum源文件后缀名,使其失效,因为在这个目录下有四个文件,其中默认起作用的是

base.repo的文件,那个media.repo(光盘)文件是不起作用的,在使用media.repo时,我们需要修改使其生效,linux的注释,其中的#号需要在开头,如果不是开头第一位,则会无法识别的。

其原始文件为:



修改后的文件为:



其各个语句的作用如下:



然后通过指令yum list来确定yum是否生效,其如果输出的结果是如下:



通过这样子就完成了光盘搭建yum源。接下来就是yum命令安装。

其常用的yum命令是:

yum list 查询所有可用的软件包列表

yum search 关键字   搜索服务器上所有和关键字相关的包,其中的例子是:



其指令是:yum -y install 包名  选项install 安装    -y 自动回答yes   例如:yum -y istall gcc

其中gcc是一定要转的,因为后面的源码包安装需要使用到gcc编译器,否则是无法安装源码包的,这也说明gcc编译器的安装必须使用yum源来安装,系统越简单则包的依赖性越多。

7.通过yum指令来升级和卸载  其指令是:

yum -y update httpd    其是升级httpd软件,如果不加包名则是指升级所有的东西,包括linux内核,以前的centos 6.3版本以前的系统如果使用这条指令则其会导致系统直接奔溃,所以一般升级需要加包名

其卸载指令是yum -y remove 包名  选项: -Remove 卸载   -y 自动回答yes,  服务器一般要使用最小化安装,用什么软件则才安装什么软件,尽量不卸载。

8.源码包安装过程:

我们linux系统一般建议:源代码保存位置为:/usr/local/src/     软件安装位置:/usr/local/    

在使用tar命令解压完包后,使用cd进入解压文件里,然后执行命令:

./configure 软件配置与检查 ,其后面可以带一些功能选项参数,(这个指令会进行:检测系统环境是否符合安装要求;把定义好的功能选项和检测系统环境的信息都写入makefile文件,用于后续的编辑)---基本上源码包文件里都有一个执行文件configure文件,即使没有的话,都会有相似功能的命令来代替。

./configure  --prefix=/usr/local/apache2  (其是制定安装位置,源码包安装一般都要自己手动指定位置,这是为了便于管理)。

make

make install   (即可完成安装)

其中在源码包的目录下有个大写的INSTALL文件,其指的是安装说明和执行文件的启动指令。我们打开其,里面有:



接着我们在启动阿帕奇后就可以在网页上输入ip地址即可访问这个服务器。其例子为:



其中html储存的位置,在RPM包与源码包中是不一样的,

其中在我们编辑vimrc文件后是无法使用source指令来重新加载改配置的,其会报错,是因为source是对bash的相关配置

其作用的。

小指令:

强大的文本编辑器Vim

1.:set mouse=a  启用对鼠标的支持,双击任何位置就可以定位,好

2.:set LANG="zh_CN.UTF-8"  设置为中文环境

3.:vim ~/.vimrc  其是配置vim编辑器的一些功能,如行号,函数高亮,ctag函数定位

4.:直接在命令行下输入vim就加载新的vim配置文件了。syntax on就是开启代码高亮,在

vimrc中不写这句的话也会高亮,因为这是默认设置,当把on改为off时则是关闭高亮。

5.

apt-get install openssh-server  安装ssh服务

ps -e | grep ssh  确认sshserver是否启动了:

/etc/init.d/ssh start 启动ssh服务

6.源代码浏览,使用tags,其步骤为:

安装ctags指令为:

apt-get install ctags

然后用cd定位到源码目录,在终端上使用如下指令生成tags,

ctags -R

然后在vim打开的源代码界面,使用set指令告诉编译器tags在哪里,

:set tags=/home/yangdashi/examples/tags

然后就可以跳转了,其跳转方法为:Ctrl-】;Ctrl-T键,调回原来的位置。g-】

:如果有同名的多个tag,可以用这两个键进行跳转,会提示选择序号。

7.系统函数,使用的跳转指令是:

shift + K

8.其补全代码是:

此时有一些快捷键可以用:

Ctrl+P 向前切换成员

Ctrl+N 向后切换成员

Ctrl+E 表示退出下拉窗口, 并退回到原来录入的文字

Ctrl+Y 表示退出下拉窗口, 并接受当前选项

如果你增加了一些成员变量, 全能补全还不能马上将新成员补全, 需要你重新生成一下tags文件,

 但是你不用重启vim,只是重新生成一下tags文件就行了, 这时全能补全已经可以自动补全了, 还真够"全能"吧.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: