Linux软件包管理和用户组管理
树图思维导图提供 Linux学习笔记 在线思维导图免费制作,点击“编辑”按钮,可对 Linux学习笔记 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:adc6f66e53d56e6a15f72f28a1842c1f
Linux学习笔记思维导图模板大纲
1.软件包分类,二者概念上的区别
1.源码包:原代码安装,脚本安装包
优点
1.开源,可以自行修改源代码
2.可以自由选择所需功能
3.源码包需要编译,更加适合安装的系统,稳定性和效率更高
4.卸载方便,可直接删除安装的位置, 没垃圾
缺点
1.安装步骤较多,尤其安装大型的软件集合时,容易出现拼写等人为错误
2.编译时间较长,比二进制包安装慢
3.安装过程报错新手很难解决
2.二进制包:RPM包,DEB包,编译后的二进制文件
优点
1.包管理系统简单。安装,升级,查询,卸载几个命令就可以实现
2.安装速度比源码包快得多
缺点
1.因为是编译后的,不能再看到源代码
2.功能选译不如源码包灵活
3.存在依赖性的问题
2.RPM包管理
1.rpm命令管理
1.RPM包命令原则
例:httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd:软件包名,而httpd-2.2.15-15.el6.centos.1.i686.rpm是包全名
2.2.15:软件版本
15:发布的次数
el6.centos:适合的Linux平台
i686:适合的硬件平台,noarch:适合任何硬件平台
rpm:rpm包扩展名
2.RPM包依赖性
1.树形依赖:a->b->c
2.环形依赖:a->b->c->a
3.模块依赖:模块依赖查询网站:www.rpmfind.net
3.RPM安装
-i:安装,后跟包全名。例:rpm -ivh 包全名
-U:升级,后跟包全名,大写U
-e:后跟包名
-v:显示详细信息
-h:显示进度
--nodeps:不检测依赖性
4.用rpm安装软件很痛苦
5.查询
-q:查询指定的包是否安装
rpm -q httpd
-qa:查询所有已安装的包
rpm -qa |grep httpd:列出所有已安装的包的包名带“httpd”的清单
-i:查询已安装包中的包信息
rpm -qi 包名
-p:查询没安装包的信息
rpm -qip 包全名
-l:查询包的安装位置
rpm -qlp 包名(装没装都可以查)
-f:查询文件属于哪个包
rpm -qf 文件名
-R:查询包的依赖性
rpm -qRp 包名
6.RPM包校验
-V:校验已安装的RPM包
验证内容
S:文件大小是否改变
M:文件的类型或权限是否被改变
5:文件的MD5校验是否改变
D:设备的中,从代码是否改变
L:文件路径是否改变
U:文件的所有者是否改变
G:文件的所属组是否改变
T:文件的修改时间是否改变
文件类型
c:配置文件
d:普通文档
g:ghost文件,很少见,就是该文件不应该被这个RPM包包含
l:授权文件
r:描述文件
RPM包中文件提取,用于修复文件
rpm2cpio 包全名 | cpio -idv.文件绝对路径
2.yum在线管理
1.IP地址配置和网络yum源
redhat系统可以用setup命令来配置网络参数
2.yum命令
yum list:查询所有可用软件列表
yum search 关键字:搜索服务器上所有和关键字相关的包
yum -y install 包名:自动应答安装包
update:升级,格式跟install一样
remove:删除,同上
安装软件的原则是用什么装什么,升级软件也要有针对性的升级不要“yum -y update”。因为这样会连linux的内核在内,所有包一并更新,更新内核后需要配置才能使用,不配置是进入不了系统的。remove也一样,因为依赖性的问题,删除软件有可以使其它软件崩溃,尽量不要卸载。
软件组
yum grouplist
yum groupinstall 软件组名
yum groupremove 软件组名
3.光盘yum源搭建
1.mount:挂载光盘
2.修改原始的3个网络yum源文件失效
3.让光盘yum源生效,CentOS-Media.repo就是系统准备给用户的光盘yum源文件,使用时修改内容即可
3.源码包管理
源码包和RPM包的区别,安装位置不同
RPM包安装位置:一般情况下是默认的
/etc/:配置文件
/usr/bin/:可执行命令
/usr/lib/:程序所使用的库
/usr/share/doc/:使用手册
/usr/share/man/:帮助文件
源码包安装位置:可以指定位置
建议:/usr/local/软件名/
两者安装位置不同的影响
RPM安装的服务管理
1.绝对路径中运行
例:/etc/rc.d.init.d/httpd start
2.,因为安装位置一般是默认的,所以可以用简化命令运行
例:service httpd start,service是redhat系统专有的
实际上service命令会去/etc/rc.d.init.d/目录查找你所需要运行的服务 类似于window中设定了系统变量
源码代安装的服务
因为安装路径不同,没有了”系统变量“,只能使用绝对路径
源码包安装过程
注意事项
1.源代码保存位置:/usr/local/src/
2.软件安装位置:/usr/local/
3.如何确定安装过程报错
1.安装过程停止
2.并出现error,warning或no的提示
1.安装C语方编译器:gcc
2.下载源码包
3.解压源码包并进入解压的目录,看到INSTALL(安装说明)和README(使用说明)两个文件,最好可以查看一下
4.运行./confure
1.定义需要的功能选项。一定要使用--prefix=/usr/local/软件名
2.检测系统环境是否符号安装要求,例如依赖包是否安装
3.将定义好的功能选择和环境信息写入Makefile用于后续编译
5.运行make,占用时间最长
调用gcc把源码包编译成机器码
6.运行make install
现在才安装到服务器上
7.运行make clean
清空编译产生的临时文件,如果在运行make install之前报错,也可以用这个。清空临时文件
源码包的卸载
make uninstall或不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件
4.脚本安装包
类似于window的安装方式
1.用户配置文件
1.用户信息文件:/etc/passwd
1.用户名
2.密码标志
3.UID
UID为1~499是伪用户,不能登录
系统用户默认是500~65535之间
4.GID
5.用户说明
6.家目录
7.登录之后的Shell
2.影子文件:/etc/shadow
1.用户名
2.加密密码
如何为*或!!代表没密码,不能登录
3.密码最后一次修改日期
4.两次密码的修改间隔
5.密码有效期
6.密码有效期到期的警告天数
7.密码过期后的宽限天数
留空或0:到期后马上失效
-1:密码永不失效
8.帐号失效时间,使用时间戳表示
9.保留字段
3.组信息文件/etc/group和组密码文件/etc/gshadow
2.用户管理相关文件
1.用户家目录
root:/root/,权限550
普通用户:/home/用户名/,权限为700
2.用户邮箱
/var/spool/mail/用户名/
3.用户模板
/etc/skel/
3.用户管理命令
1.useradd:用户添加命令
添加用户时有很多默认值,那这些默认值由什么控制?
/etc/default/useradd
/etc/login.defs
2.passwd:修改用户密码
3.usermod:修改用户信息
4.chage:修改密码状态
chage -d 0 登录名:强迫用户第一次登录的时候就需要修改密码
5.userdel:删除用户
-r:删除用户同时删除用户家目录,建议使用
6:id:查看用户ID和组ID的信息
7.su:切换用户
-:连带用户的环境一起切换,切换用户时,一定要带“-”选项
例:su - 用户名
-c:不切换用户,但用这个“用户”的身份来执行某个命令
例:su - root -c "useradd user3"
7.系统添加和删除用户时系统所操作的文件
1./etc/passwd:用户信息文件
2./etc/shadow:2.影子文件
3./etc/group:组信息文件
4./etc/gshadow:组密码文件
5./var/spool/mail/用户名/:邮箱
6./etc/skel/:模板
7./home/用户名:家目录
4.用户组管理命令
1.groupadd:添加用户组
-g:指定组ID
2.groupmod:修改用户组
-g:修改组ID
-n:修改组名
不建议使用,因为还要很多东西要改,如家目录、邮箱。返而还不如直接删除再重建
3.groupdel:删除用户组
如果有用户的”初始组“是这个要删除的组,则不能删除
如果有用户的”附加组“是这个要删除的组,则不影响,可以删除
4.gpasswd:添加,删除附加组中的用户
-a:添加用户进组
-d:从组中删除用户
树图思维导图提供 一、研究内容 在线思维导图免费制作,点击“编辑”按钮,可对 一、研究内容 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4f21797dd3e8b08f1951dfc24e7be94f
树图思维导图提供 Linux 网络基础知识 在线思维导图免费制作,点击“编辑”按钮,可对 Linux 网络基础知识 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:199680f0e48eac8a1aeaadb90447d4f4