用户管理

与用户相关的配置文件

 /etc/passwd
/etc/shadow
/etc/skel
/etc/defalut/useradd
/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.-.el5_4..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.....T c /etc/httpd/conf/httpd.conf S file Size differs
M Mode differs (includes permissions and file type)
MD5 sum differs
D Device major/minor number mismatch
L readLink() 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.

对未安装的软件的操作:

 rpm -qpi 软件包名
rpm -qpi elinks-0.11.-.el5_4..x86_64.rpm
rpm -qpl elinks-0.11.-.el5_4..x86_64.rpm
rpm -qpc elinks-0.11.-.el5_4..x86_64.rpm
rpm -qpd elinks-0.11.-.el5_4..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=
gpgcheck=
#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=
gpgcheck=
#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=
gpgcheck=
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

1.3 安装源码包

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

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

安装源码包的步骤

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

事例

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

Linux基础3(用户/组管理,rpm,yum,源码安装软件)的更多相关文章

  1. linux基础之程序包管理(rpm,yum)

    一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...

  2. linux源码安装软件的一般方法

    rhel系统貌似安装不了xmgrace,配置的时候居然说要那个M*tif库.百度了一下,需要openmotif库,然后用root账户想要用yum安装一下这个库,搞了好久没搞懂.后面搞明白了,原因竟是因 ...

  3. Linux 之 软件安装-yum、rpm、源码安装

    软件安装-yum.rpm.源码安装 参考教程:[千峰教育] 一.Yum安装软件: 基本说明: 1.yum相当于windows上面的360的软件中心,appstore,安卓的应用商店. 2.yum是re ...

  4. 【程序包管理】Linux软件管理之src源码安装编译

    在很多时候我们需要自定义软件的特性,这时就需要用到源码安装.那么,网上有很多编译源码的工具,那么,我们怎么知道别人使用的是什么工具呢.其实我也不知道(*^▽^*). 那么本篇博客主要是写C代码的源码安 ...

  5. linux下源码安装软件

    在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包 ...

  6. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  7. Linux源码安装软件

    Linux环境下 源码编译安装软件 ==== 1. 下载,步骤略 ==== 2. 验证,部分官方下载同时提供签名,MD5,sha1,sha256等校验信息. $ gpg --verify gnupg- ...

  8. [svc]salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  9. NFS, web,负载均衡,Nginx yum 源码安装

    作业一:nginx服务1.二进制安装nginx 2.作为web服务修改配置文件 3.让配置生效,验证配置  [root@localhost ~]# systemctl stop firewalld.s ...

随机推荐

  1. DOM操作基础

    ownerDocument 返回元素的 ownerDocumentoffsetParent 获取父节点(找有定位的父节点,没有定位默认是body,ie7以下定位在自己是html)parentNode ...

  2. git push上传代码到gitlab上,报错401或403

    之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...

  3. jquery.validate.min.js 用法方法示例

    页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  4. 一步一步学swift之:自己写Api接口-PHP

    想要自己一个人完成app,那么后台接口也必须自己动动手.不用担心,其实很简单的,给自己信心!下面就以登录注册为例,做一个api接口 首先在mac上搭建PHP环境,下载 MAMP Pro for Mac ...

  5. 恢复Reflector反编译后资源文件的办法

    反编译问题: 1.路径问题:如果遇到了Path.Combine,有错误改下即可 2.资源文件问题: 在Reflector下,对左边的资源管理窗口的Resources文件夹下的资源文件,进行右键点击,选 ...

  6. Linux 网络编程详解八

    TCP/IP协议三次握手机制 TCP/IP是全双工通道,两端都可以读写,三次握手机制就是验证TCP/IP是否是全双工通道 1.客户端调用connect()函数,阻塞客户端进程,客户端向服务器发送数据包 ...

  7. ZooKeeper 笔记(4) 实战应用之【消除单点故障】

    关键节点的单点故障(Single Point of Failure)在大型的架构中,往往是致命的.比如:SOA架构中,服务注册中心(Server Register)统一调度所有服务,如果这个节点挂了, ...

  8. 手把手教你使用markdown

    这是 [认真学编程] 系列的 第3篇 文章,欢迎点赞分享.写留言,这些都是对我最好的支持. 全文2300字,阅读预计5分钟] 在前面几篇文章中,多次提到装X神器markdown,本人也是markdow ...

  9. 【REST WCF】30分钟理论到实践

    先来点理论知识,来自 http://www.cnblogs.com/simonchen/articles/2220838.html 一.什么是Rest REST软件架构是由Roy Thomas Fie ...

  10. 仿造slither.io第二步:加个地图,加点吃的

    前言 上一篇博文讲了如何造一条蛇,现在蛇有了,要让它自由的活动起来,就得有个地图啊,而且只能走也不行呀,还得有点吃的,所以还得加点食物,这一篇博文就来讲讲如何添加地图和食物. 预览效果 当前项目最新效 ...