Linux基础笔记

2017-06-07  本文已影响0人  kun_zhang

在Linux中看与识别的软件包

1、源码包   大部分是C写的。需要手工安装,并且繁琐。比较满。

1-1、脚本安装包。不多见,并且这种包是源码包二次开发后的安装包。 不需要手工安装。

很简单,

2、二进制包(RPM包、系统默认包)。是经过编译之后的机器语言包。

源码包     有点:

1、开源,如果有足够的能力,可以修改源代码

2、可以自由选择所需要的功能

3、软件是便宜安装,所以更家适合自己的系统,更加稳定也效率更高。

4、卸载方便。

缺点:

1、安装过程步骤较多,尤其安装较大的软件集合时(如 LAMP环境搭建),容易出现拼写错误

2、编译过程时间较长,安装比二进制安装时间长。

3、因为是编译安装,安装过程中一但报错新手很难解决。

RPM包  二进制包    有点:

1、包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。

2、安装速度比源码包安装快的多。

缺点:

1、经过编译,不在可以看到源代码。

2、功能选择不如源码包灵活

3、依赖性。指:当安装a时候,需要有b的支持,当安装b时,需要有c的支持。卸载的时候需要先卸载c然后卸载b,再卸载a。

RPM包管理  -rpm命令管理

RPM包命令规则

例如:httpd-2.2.15-15.el6.centos.1.i686.rpm

httpd     软件包名   包名指:这个包的英文名称:如:httpd   全名是全称。

2.2.15     软件版本

15     软件发布的次数

el6.centos     适合的Linux平台

i686     适合的硬件平台  如果此处是x64则表示:只可以安装在64位操作系统上。

rpm     rpm包扩展名。这个rpm扩展名是给管理员看,表明是什么文件。

注意:有些命令只能跟包名,有些命令必须跟包全名。如果写错了,这个命令将不能正确执行。

RPM包依赖性:

树形依赖:  a>b>c

最典型。

安装时候:先安装c,再安装b,再安装a。卸载的时候,先卸载 a,再卸载b,再卸载c。

环形依赖:a>b>c>a

这时候:将abc用一条命令全部安装即可解决环形依赖。

模块依赖: 模块以来查询网站:www.rpmfind.net

注意: 只要以:.so.2:点so点数字结尾的,都是库依赖。这种库依赖包,不是单独独立的包,是某一个软件包中的一个软件。所以只要把这个库依赖包的软件包安装后,这个库依赖就会自动安装。

RPM包管理-yum在线管理

这个就是为了解决依赖性的。

可以做一个包含所有rpm包的网站作为在线服务器源。只要运行  -yum 就会自动从服务器下载依赖的库等。

有个问题:除了拿网络作为服务器源外,还可以拿本地光盘作为 yum源。如果是readHead系列收费,他认为yum是他的售后服务 。

centos 是免费的,yum也是免费的

包全名与包名:

包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。

一般:安装和升级的时候,使用包全名。操作的是未安装包,所以使用全名。

包名:操作已经安装的软件包时,使用包名。是搜索  /var/lib/rpm/中的数据库。

/var/lib/rpm/  都是二进制文件。如:查询、卸载。所以只写包名即可。

RPM安装:--可以手工指定安装位置,但是会带来比较麻烦的问题。比如:服务命令就会找不到rpm包安装的功能或服务。因为很多服务搜索的位置都是默认的,如果这时候手工指定,未使用默认,会带来管理上的不方便。

rpm   -ivh   包全名  --- 一般都会使用 -ivh

选项:     -i(install)     安装

-v(verbose)     显示详细信息

-h(hash)     显示进度

--nodeps     不检测依赖性(安装时,是不行的。)可以在实验的时候安装。

RPM包升级

rpm  -Uvh  包全名

选项:  -U (upgrade )     升级。

RPM  卸载:

rpm  -e  包名

选项:  -e(erase)     卸载

--nodeps     不检查依赖性。

注意: -yum安装的,都可以通过rpm的命令查询。

查询是否安装:

[root@localhost ~]# rpm  -q  包名

查询包是否安装

选项:     -q     查询(query)

[root@localhost ~]# rpm  -qa

查询所有已经安装的RPM包

选项:     -a     所有(all)

查询软件包详细信息:

[root@localhost ~]# rpm  -qi  包名

选项:     -i     查询软件信息(information)

-p     查询未安装包信息(package)

查询未安装包信息:rpm  -qip  包全名   --- 用到的不多。

注意:安装、升级,后跟包全名。

查询包中文 文件安装位置:

[root@localhost ~]# rpm  -ql  包名

选项:  -l     列表(list)

-p     查询未安装包信息(package)

注意:包中的安装位置是在组件这个包的时候就决定的。 如果查询安装位置时,即使没有安装也会查看到这个包打算把文件装哪里的。

查询系统文件属于哪个RPM包

[root@localhost ~]# rpm  -qf  系统文件名

选项:     -f     查询系统文件属于哪个软件包(File)

注意:这个file必须是包出来的,不是手工创建的。比如:手工创建的,或系统自动生成的一些临时文件,日志文件,这些都不是包出来的,所以无法查询所在哪个RPM包。

查询文件属于哪个包

查询软件包的依赖性

[root@localhost ~]# rpm   -qR  包名

选项:     -R     查询软件包的依赖性(requires)

-p     查询未安装包信息(package)

查询包信息

RPM包校验

[root@localhost ~]#  rpm   -V   已经安装的包名

选项:

-V     校验制定RPM包中的文件(verify)

校验:装完RPM包把特征记录下来 ,需要的时候,把现在的文件与先前记录的文件进行比较,判断是否有变化,而做了修改。  判断文件是否被更改过。

验证内容中的8个信息的具体内容如下:

S     文件大小是否改变

M     文件的类型或文件的权限(rwx)是否被改变

5     文件MD5校验和是否改变(可以看成文件内容是否改变)

D     设备的中,从代码是否改变

L     文件路径是否改变

U     文件的属主(所有者)是否改变

G     文件的属组是否改变

T     文件的修改时间是否改变

1

其中的c是文件类型:

c     配置文件(config  file)

d     普通文档(documentation)

g     “鬼”文件(ghost  file),很少见,就是该文件不应该被这个RPM包   包含

如果在某个包中出现了,则这个文件需要认真对待一下了。

l     授权文件(license  file)

r      描述文件(read   me)

RPM包中  文件提取:  制定的文件---主要是误操作,修复。

[root@localhost ~]#  rpm2cpio  包全名  |  \  cpio  -idv.文件绝对路径

任凭mcpio     将RPM包转换为  cpio  格式的命令

cpio     是一个标准工具,他用于创建软件档案文件和从档案文件中提取文件。

[root@localhost ~]# cpio  选项<[文件|设备]   --- <输入重定向

选项:  -i     copy-in模式,还原

-d     还原时自动新建目录

-v     显示还原过程

情景:当误操作了包中的某个文件时。查找这个文件是哪个包的,然后从新提取包中的文件,替换即可。

2

提取包中的某个文件。例如:

3

RPM包管理  -yum在线管理:都是RPM包管理,没有yum包。

最主要的好处:解决依赖性。

IP地址配置和网络yum源

setup配置IP地址:


4

这样设置将永久生效。

5

网络yum源  只要是.repo结尾的都是合法的yum源

本地yum源位置及介绍: 这个yum源都是配置好的,不需要更改。

[root@localhost ~]#  vi  /etc/yum.repos.d/CentOS-Base.repo

[base]     容器名称,一定要放在[]中

name     容器说明,可以自己随便写

mirrorlist     镜像站点,这个可以注释掉

baseurl     我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果觉得慢可以改成喜欢的yum源地址。

enabled     此容器是否生效,如果不写或携程enable=1 都是生效,写成enable=0就是不生效

gpgcheck     如果是1是指RPM的数字证书生效,如果是0则不生效

gpgkey     数字证书的公钥文件保存位置,不用修改。

yum命令:

查询:

[root@localhost yum.repos.d]#  yum  list

查询所有可用软件包列表   --- 这个命令是到远程服务上查询的。所以在本机任何位置执行都可以,前提是Linux可以链接互联网。

[root@localhost yum.repos.d]#  yum  search  关键字

搜索服务器上所有和关键字相关的包   --- 这里的关键字,是报名

注意:包名与包全名只在  -rpm命令管理时要求。

安装:

[root@localhost yum.repos.d]#  yum  -y  install  包名

选项:     install     安装

-y     自动回答yes

备注: yum  -y   install  gcc  --- gcc是C语言的编辑器,源码包安装的时候必须要有gcc的存在,源码包才可以正常安装

升级:

[root@localhost yum.repos.d]# yum  -y  update  包名  ---慎重使用。

如果后面不加  包名:则表示:升级所有的软件包,包括Linux的内核。

注意:Linux内核升级后需要在本地做一定配置才可以使用的。如果远程执行了升级,则服务器将无法开机。会导致崩溃

选项: update     升级

-y     自动回答yes

卸载:

[root@localhost yum.repos.d]#  yum  -y  remove  包名

选项:     remove      卸载

-y     自动回答yes

注意: 当使用  yum  卸载的时候可能出现问题。原因:因为yum卸载的时候会把相互依赖的包也会卸载,可能会导致系统依赖的包也会卸载,从而导致一些问题的发生。系统崩溃,或一些重要命令不能使用

服务器安装原则声明:安装的时候最小化安装,不安装多余软件,使用什么软件,安装什么软件,手工装,尽量不卸载。尤其是 yum 卸载,尽量不要多用。

YUM软件组管理命令:

[root@localhost ~]#  yum  grouplist

列出所有可用的软件组列表

[root@localhost ~]#  yum  groupinstall  软件组名

安装指定软件组,组名可以有grouplist查询出来

[root@localhost ~]#yum  groupremove  软件组名

卸载制定软件组

注意:如果组名称中有空格,应用“”括起来。英文在系统中使用命令可以查看

光盘yum源搭建:  对服务器来讲:主要考虑:稳定、安全。可能较老的软件包更为使用广泛。在平常工作中,还是经常用光盘作为yum源。

首先创建挂载点:  mkdri   /mnt/cdrom

挂载光盘:

[root@localhost ~]#  mount  /dev/sr0   /mnt/cdrom

查看挂载:

[root@localhost ~]# mount

6 7

打开:

[root@localhost ~]#  vim  CentOS-Media.repo

8

好处: 加载快,访问方便。没有网络也可以使用。

缺点:软件的版本不能有更新,更多的版本。光盘中的是固定的。

每次用yum时候,光盘必须正确挂载。

注意:Linux中有些配置文件是严格要求格式的,比如:#必须在行首,行中间位置是无法识别注释的。

如果有修改过后报错,检查配置文件格式。

yum  list  |  more

源码包和RPM包的区别:

RPM包安装位置;绝大多数RPM包默认安装的位置。

/etc/     配置文件安装目录

/usr/bin/     可执行的命令安装目录

/usr/lib/     程序所使用的函数库保存位置

/usr/share/doc/     基本的软件使用手册保存位置

/usr/share/man/     帮助文件保存位置

源码包安装位置:

安装在指定位置当,一般是

/usr/local/软件名/

安装位置不同带来的影响:影响服务:启动,关闭,重启动

RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:

/etc/rc.d/init.d/httpd  start

service  httpd  start

在Linux中,要启动一个执行文件,应该是:使用一个绝对路径。

而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,例如: /usr/local/apache2/bin/apachectl  start

源码包,安装准备:

源码包最大的问题:一旦报错很难解决

安装C语言编译器

下载源码包:

http://mirror.bit.edu.cn/apache/httpd

备注: yum  -y   install  gcc  --- gcc是C语言的编辑器,源码包安装的时候必须要有gcc的存在,源码包才可以正常安装

安装注意事项:

1、源代码保存位置:/usr/local/src/

2、软件安装位置:/usr/local/

3、如何确定安装过程报错:

a、安装过程停止;  只要停止就看接下来的报错信息。

b、并出现error、warning或no的提示

9

备注:当安装一个源码包的时候,都是进入到在解压缩后的目录中进行操作的,其中INSTALL为:安装说明。README:使用说明。

源码包安装中---./configure 软件配置与检查:主要进行3个功能。

使用命令: ./configure  --help

1、定义需要的功能选项

2、检测系统环境是否符合安装要求

3、把定义好的功能选项和检测系统环境的信息都写入Makefile 文件,用于后续的编辑。

其中: make  编译

make  install    编译安装

这2个命令都依赖  Makefile  文件。

10

执行完这个命令,make    make   install  才可以使用。

注意:在执行了  ./configure    和  make  命令后并没有在指定的文件中生成对应的目录。如果想在此时卸载,执行:make  clean  就可以实现清空软件包,不会影响后续编译。但是,make   install之后才会向目录当中写入数据。


11

源码包卸载:

必须要卸载命令,直接删除安装目录即可,不会一流任何垃圾文件。

12

脚本安装包:

1、脚本安装包  并不是独立的软件包类型,常见安装的是源码包

2、是认为把安装过程携程了自动安装的脚本,只要执行脚本,定义假单的参数,就可以成功安装。

3、非常类似与Windows下软件的安装方式。

备注:在Linux中脚本安装包,主要是一些硬件的驱动。因为硬件驱动在Linux中安装比较困难,所以一些厂商会对硬件驱动开发脚本安装包。

Webmin的作用:

Webmin  是一个基于Web的Linux系统管理界面。可以通过图形化的方式设置用户账号、Apache、DNS、文件共享等服务。

1、下载软件:

http://sourceforge.net/projects/webadmin/files/webmin/

2、解压缩,并进入解压缩目录。

3、执行安装脚本

其中安装脚本是:setup.sh

注意:如果在次操作中误输入了,需要按 Ctrl+退格键。

13
上一篇下一篇

猜你喜欢

热点阅读