用户管理

与用户相关的配置文件

 /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. PHP高效率写法及原因

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...

  2. subtable

  3. java多线程系类:基础篇:02常用的实现多线程的两种方式

    本章,我们学习"常用的实现多线程的2种方式":Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多 ...

  4. 047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)

    我们之前把采购单都审核了,这篇文章说的就是审核之后提交. 其实就是改变(update)采购单的审核状态. 需求: 用户要先查看采购单的内容. 查看采购单页面:页面布局同采购单修改页面. 选择审核结果. ...

  5. AlwaysOn--Backup Preference

    AlwaysOn group的一个新特性是允许在secondary replica进行backup,将backup的负载从primary replica上移除去. 并且提供了Backup prefer ...

  6. [py]shell着色

    print "\033[32;1myou are 30 older and little than 40\033[0m"

  7. 使用LocalBroadcastManager

    Android中BroadcastReceiver主要用途有 发送通知,更新UI或者数据,应用程序间相互通信,监听系统状态(比如开机,网络等) Android中BroadcasetReceiver的注 ...

  8. 利用CSS预处理技术实现项目换肤功能(less css + asp.net mvc4.0 bundle)

    一.背景 在越来越重视用户体验的今天,换肤功能也慢慢被重视起来.一个web系统用户可以选择一个自己喜欢的系统主题,在用户眼里还是会多少加点分的.我们很开心的是easyui v1.3.4有自带defau ...

  9. 20160303 - 升级 Windows 10 版本 1511 后,文件夹默认打开方式为 cmd 的修复

    问题描述:升级 Windows 10 版本 1511 (OS 内部版本 10586.122)后,文件夹的默认打开方式变成了cmd.双击任何一个文件夹,显示相关的提示错误信息如下: [Window Ti ...

  10. libsvm使用详细说明

    一,简介 LibSVM是台湾林智仁(Chih-Jen Lin)教授2001年开发的一套支持向量机的库,这套库运算速度还是挺快的,因此成为目前国内应用最多的SVM的库.详细的使用说明及博主博客见下链接: ...