linux软件安装管理与安装RPM时的挂载的概念
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文件就行了, 这时全能补全已经可以自动补全了, 还真够"全能"吧.
- 猜你在找