Linux基础3(用户/组管理,rpm,yum,源码安装软件)

时间:2022-03-20 08:12:35

用户管理

与用户相关的配置文件

1 /etc/passwd
2 /etc/shadow
3 /etc/skel
4 /etc/defalut/useradd
5 /etc/login.defs

useradd usermod userdel id groups newgrp passwd chage

-u -l -r -S
-g -L
-G -U
-M
-d
-c
-s

  

uid号 0~65535
0
1-499
500+

用户组管理

/etc/group
/etc/gshadow

groupadd groupmod groupdel gpasswd
-g -n 设置组密码
-A
-a
-d
-M
当把用户设置为组管理员,用户有什么权限:添加组成员 删除组成员 设置组密码
组的管理员不一定要是本组用户,一个用可以属于多个用户组。

修改文件 、目录的 所有者和所属组

chgrp 
chown

 


如何查看文件、目录的所有者和所属组

ll 文件名
ll
-d 目录名

一 、软件包管理

1.1 rpm包

默认情况下RHEL-XX 软件包都是.rpm包。
rpm (红帽包管理器)
通过数据库的方式记录安装过的软件包。/var/lib/rpm

查看 安装 升级 卸载
rpm包的组成结构成

软件名-主版本号.次版本号-修改次数.操作系统_机器架构.rpm

elinks
-0.11.1-6.el5_4.1.rpm
el6_i386
i586
86_64
noarch

 

rpm包间有依赖关系
安装的环境要和封包时的环境一致

linux系统软件包的封包类型
.rpm (默认的安装包封包类型) 用rpm 命令 操作
xxx.bin 给安装文件执行权限 就可以安装
.pl 用perl语言编写的软件包 要先编译 perl
make
make install
软件自己提供安装脚本: .sh .install .setup
运行安装脚本就可以安装
免安装软件包: 把安装包解压就可以使用。(调用运行程序的命令就可以)


挂载安装光盘 (/dev/cdrom /dev/hdc)
mount (挂载设备 卸载设备 查看已挂载的设备)
mount

root@localhost rpm]# mount
/dev/sda2 on / type ext3 (rw)
设备名 on 挂载点 type 文件系统类型 (设备的挂载方式)

Cluster 提供集群服务的软件包
ClusterStorage 提供集群存储服务的软件包
VT 提供虚拟化技术的软件包
Server 保存提供系统服务和系统工具命令的软件包
系统引导文件,操作系统的镜像文件
images
isolinux

挂载设备
mount [-t 文件系统类型] 设备名 挂载点(目录)

*尽量不要把多个设备挂载到同一个目录下。
*一个设备可以挂载到不同的目录下。
*通常习惯把外部的移动设备挂载到系统的/mnt目录下
*外部的移动设备默认挂载到/media目录下
*也可以把外部的移动设备到自己手动创建的目录下

光盘的文件系统类型 是 iso9660
.iso (mount -o loop xxx.iso /mnt)

卸载设备
umount 挂载点/设备名
* 挂载的设备不能处于使用状态
* 卸载设备时要退出,设备的加载目录

 


命令格式

 

rpm [选项] 软件名/软件包名
-q 软件名
-qa rpm -qa | grep 'ssl'
-ql 软件名 查看软件包里的文件都安装到系统的哪些目录里
-qc 软件名 查看软件包里的提供的配置文件安装位置
-qd 软件名 查看软件包里的提供的帮助文件安装位置
-qf 文件名 查看指定文件由哪个软件包提供
-qi 软件名 查看已安装软件的信息。

 

安装软件包

-i 安装软件包
-v 显示安装信息
-h 用#号显示安装进度
--nodeps 忽略依赖关系安装
--force 强制安装
rpm
-ivh --nodeps xxxx.rpm
--force

 

rpm包默认安装目录

包里提供的配置文件
/etc
/etc/软件包名/

包里提供的命令
/bin
/sbin
/usr/bin
/usr/sbin

包里提供的库文件(.o .so ) 或头文件(.h)安装的位置
/lib
/usr/lib

包里提供的模板文件 帮助文档
/usr/share/doc/
/usr/share/man/

日志文件
/var/log
/var/log/软件名/

 

升级软件

-U 如果低版本的软件没安装,直接安装当前高版本的软件
-F 如果低版本的软件没安装,当前高版本的软件安装不上

 

卸载软件
-e 软件名 卸载软件

--nodeps 忽略依赖关系卸载
--force 强制卸载

*卸载包时包之间也是有依赖的。
要把依赖此软件包的包卸载,才能卸载当前软件包。

 

对软件包做验证。

rpm -V 软件名 查看某个已经安装的软件包里哪些文件被修改过。
rpm
-Vf 文件名 查看某个某个文件是否被修改过
rpm
-Va 查看系统内所有被修改过的文件
rpm
-Va | grep passwd

man rpm

rpm
-V httpd
S.
5....T c /etc/httpd/conf/httpd.conf

S
file Size differs
M Mode differs (includes permissions and
file type)
5 MD5 sum differs
D Device major
/minor number mismatch
L readLink(
2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs

 


文件文件类型

c %config configuration file.
d
%doc documentation file.
g
%ghost file (i.e. the file contents are not included in the package payload).
l
%license license file.
r
%readme readme file.

 


对未安装的软件的操作:

1 rpm -qpi 软件包名
2 rpm -qpi elinks-0.11.1-6.el5_4.1.x86_64.rpm
3 rpm -qpl elinks-0.11.1-6.el5_4.1.x86_64.rpm
4 rpm -qpc elinks-0.11.1-6.el5_4.1.x86_64.rpm
5 rpm -qpd elinks-0.11.1-6.el5_4.1.x86_64.rpm

 

1.2 搭建YUM源服务器

(自动解决安装或卸载软件包时包与包之间的依赖关系)

1.2.1 搭建本地yum源

(安装需要的rpm包在本机)
mkdir /iso
mount /dev/cdrom /iso

修改配置文件指定rpm包的存储位置。

/etc/yum.repos.d/
[root@localhost Server]#
cat /etc/yum.repos.d/iso.repo
[rhel5
-server]
name
=Red Hat Enterprise Linux server - rpm package
baseurl
=file:///iso/Server
enabled=1
gpgcheck
=0
#gpgkey
=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel5-Cluster]
name
=Red Hat Enterprise Linux Cluster - rpm package
baseurl
=file:///iso/Cluster
enabled=1
gpgcheck
=0
#gpgkey
=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

[root@localhost Server]#
yum clean all 刷新yum源缓存
yum list

用yum源 安装 升级 卸载 查看 软件包的命令是 yum
yum 【选项】 动作 软件名

选项
-y 默认安装

yum -y update elinks

动作

install 安装 
remove 卸载
list 查看
update 升级

 

grouplist 查看软件包组
groupinstall 安装软件包组
groupremove 卸载软件包组
groupupdate 升级软件包组

 

yum -y install 软件名1 软件名2
yum -y install php*
yum -y groupinstall "软件包组名" "软件包组名"

1.2.2 搭建网络yum源

(安装需要的rpm包集中存储在网络中的一台服务器,本地没有软件包)

在ip是192.168.1.100服务器上搭建yum源,网络内所有主机可用使用yum源安装rpm包。

server 的配置 : 开启共享服务(ftp httpd)
用共享服务共享客户端安装时使用的rpm包

客户端配置: 编辑自己的主配置文件,指定软件仓库的位置
刷新yum源缓存信息
yum list 查看yum服务器上的所有软件包(能看到就OK)

vim /etc/yum.repos.d/iso.repo
[rhel5
-Cluster]
name
=yum server 192.168.1.100
baseurl
=ftp://192.168.1.100/iso/Server/
enabled=1
gpgcheck
=0
#gpgkey
=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 


1.3 安装源码包

(rpm 包功能 安装环境 都无法修改)
.tar.gz
.tar.bz2

因为源码包是用C语言开发的( gcc C++ make 开发工具软件包组 开发库软件包组)

安装源码包的步骤

1 解包解压缩
2 进源码目录
3 配置 (软件包安装到什么目录下 安装后有哪些功能)
.
/configure 选项
.
/configure -h
--help
--prefix=路径 //指定安装
习惯性 /usr/local/定义的目录名
--prefix=/usr/local/httpd2
不指定安装目录默认把包里文件安装到
/usr/local/目录的不同文件夹里
配置信息保存在 Makefile 文件里,如果配置错误,不会此文件。

4 编译 (按配置编译成可执行文件)
make
5 安装
make install

卸载
rm -rf 安装目录

 

事例  

tar -zxvf httpd-2.2.25.tar.gz 
cd httpd
-2.2.25
.
/configure --help
.
/configure --prefix=/usr/local/httpd2
make
make install
ls /usr/local/httpd2/

rm -rf /usr/local/httpd2