Linux入门到进阶(四)#服务管理 #软件安装 #软件编译安装 # 内核升级 #grub配置
4. 服务管理
4.2 软件安装
-
软件包管理器:
包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具。(服务器daunt不仅要解决) - CentOS、RedHat使用 yum 包管理器,软件安装包格式为rpm
- Debian、Ubuntu使用 apt 包管理器,软件安装包格式为deb
4.2.1 rpm包和rpm命令
软件包名格式: 软件名称
-软件版本.系统版本
.平台.rpm
DEMO: vim-common
-7.4.10-5.el7
.x86_64.rpm
-
rpm常用参数: 查询和卸载时,写软件名即可(比如vim-commen)。安装时,需要写详细的软件包名称(比如vim-common-7.4.10-5.el7.x86_64.rpm)。
-q 查询软件包,加a可以看到所有软件包
-i 安装软件包
-e 卸载软件包
设备文件存放在/dev文件中
光驱就是sr0这个块设备
-
把真的光盘做成ISO:
dd if=/dev/sr0 of=某路径.iso - 块设备的操作叫挂载(相当于把U盘插入Windows弹出新盘符): mount /dev/sr0 挂载的目录,推荐/mnt
4.2.2 yum仓库
-
rpm包的问题:
需要自己解决依赖关系
软件包来源不可靠
-
yum配置文件:
/etc/yum.repos.d/CentOS-Base.repo
也推荐下载别人已经写好的:
wget -O /etc/yum.repos.d/CentOS-Base.repo
看见说明更新完成
-
yum选项(常用):
安装软件包: install
卸载软件包: remove
查看软件包: list| grouplist
升级软件包: update
4.2.3 其它方式安装
- 二进制安装:像Windows一样,同意各种协议的安装
- 源代码编译安装(用于一些开源的软件)
下载安装包
解压安装包
进入安装包进行配置。最后一步./configure是让其与我们的系统设置进行匹配。--prefix参数指定安装位置(以后要删除简单,不指定的话会分散到/usr/bin下面的目录中,很麻烦。
(PS: ヾ(◍°∇°◍)ノ゙我不小心把usr打成use了,无伤大雅,无伤大雅)
把源代码变成可执行程序。-j2表示使用两个逻辑的CPU进行编译(如果代码没有上下文之间的依赖关系,会加快编译速度)。通用的步骤是使用make,但软件要求了使用gmake(gmake可以方便我们进行跨平台编译),我们按软件的要求来。
把编译好的安装程序安装到指定的目录(--prefix指示的目录)
- 配置过程可能会出现提示没有gcc,那就yum install gcc
- 配置过程还有可能出现(需要什么库,就下载什么库);
yum install pcre-devel
(devel指的是开发包)
4.2.4 内核升级
-
查看内核版本:
uname -r
-
升级内核版本:
yum install kernel-x.xx.x
- 升级已安装的其它软件包和补丁: yum update
4.2.5 grub配置文件
-
grub是什么:
CentOS6以前使用grub1,CentOS使用grub2. -
grub配置文件:
grub2的配置放在这个文件中,但不应该直接修改/boot/grub2/grub.cfg
应该修改下述文件,再通过命令修改/etc/default/grub
,简单配置/etc/grub.d/
,详细配置
命令:grub2-mkconfig -o /boot/grub2/grub.cfg
在4.1.1.1中有过示范。
-
更改内核DEMO:
查看内核
grep可以查找文件内的内容:grep 正则 文件路径
设置默认内核,设置成第一个参数为0,第二个为1,以此类推(设置完后可用grub2-editenv list
查看):
- /etc/default/grub重要参数
quite表示建模模式启动(引导时值打印必要消息,如果发现启动异常,会把quite去掉)
rhgb表示引导的时候是一个图形界面
-
使用单用户进入系统(忘记root密码)
在这个界面按e进入grub文件编辑
这一行是不是很熟悉?
在这一行后添加single(CentOS6),rd.break(CentOS7)
输入Ctrl X
就不需要root密码进入了系统