第十三单元 软件安装

一、软件名称识别

[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm ###rpm结尾的适用与redhat操作系统

||      ||         ||       ||

软件名称    软件版本 软件适用系统 64位

二、如何安装软件

1.rpm

rpm -ivh name.rpm ###安装 ,-v显示过程,-h指定加密方式为hash

-e name ###卸载

-ql name ###查询软件生成文件

-qlp name.rpm ###查询软件安装后会生成什么文件

-qa ###查询系统中安装的所有软件名称

-qa |grep name ###查询软件是否安装

-q name ###。。。。

-qp name.rpm ###查询软件安装包安装后的名字

-qf filename ###查看filename属于那个安装包

-ivh name.rpm --force ###强制安装

-qi name ###查看软件信息

-Kv name.rpm ###检测软件包是否被篡改

-qp name.rpm --scripts ###检测软件在安装或卸载过程中执行的动作

2.yum

上层软件管理工具,最重要的功能是可以解决软件的倚赖关系

yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件

三、server源端

1.从网络上下本机系统版本匹配的iso镜像文件

rhel-server-7.1-x86_64-dvd.iso

eg:[root@localhost ~]# scp root@172.25.254.62:/iso/rhel-server-7.2-x86_64-dvd.iso /iso/

2.把rhel-server-7.1-x86_64-dvd.iso挂在到/mnt以便访问镜像中的文件

mount rhel-server-7.1-x86_64-dvd.iso /mnt

eg:[root@localhost ~]#  mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2/

3.配置本机yum源指向

rm -fr /etc/yum.repos.d/*

vim /etc/yum.repos.d/yum.repo

[Server]

name=rhel7.1

baseurl=file:///mnt

gpgcheck=0

eg:[root@localhost ~]# vi /etc/yum.repos.d/yum.repo

[root@localhost ~]# cat /etc/yum.repos.d/yum.repo

[virgo]

name=rhel7.2

baseurl=file:///rhel7.2

gpgcheck=0

4.安装资源共享服务

yum install httpd -y

systemctl stop firewlsh-plugin-11.2.202.451-release.x86_64.rpmld

systemctl disable firewalld

systemctl start httpd

systemctl enable httpd

eg:[root@localhost ~]# yum clean all

[root@localhost ~]# yum install httpd -y

[root@localhost ~]# systemctl start httpd

[root@localhost ~]# systemctl status httpd

[root@localhost ~]# systemctl enable httpd

[root@localhost ~]# systemctl status firewalld

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

5.建立共享目录,并挂在镜像文件到共享目录上

mkdir /var/www/html/rhel7.1

umount /mnt

mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1

eg:[root@localhost ~]# mkdir /var/www/html/rhel7.2

[root@localhost ~]# umount /rhel7.2/

[root@localhost ~]# mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2/

6.测试

在浏览器中输入:http://本机ip/rhel7.1

可以看到镜像中的内容

eg:http://172.25.254.66/rhel7.2

7.修改本机yum源指向

[server]

name=rhel7.1

baseurl=file:///var/www/html/rhel7.1

gpgcheck=0

8.开机自动挂在iso

vim /etc/rc.d/rc.local

mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1

:wq

chmod +x /etc/rc.d/rc.local

eg:[root@localhost ~]# vim /etc/rc.d/rc.local

[root@localhost ~]# cat /etc/rc.d/rc.local

#!/bin/bash

touch /var/lock/subsys/local

mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2/

9.第三方软件仓库的搭建

把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件

createrepo -v /rpm存放目录

vim /etc/yum.repos.d/xxx.repo

[Software]

name=software

baseurl=file:///rpm存放目录

gpgcheck=0

四、client指向端

vim /etc/yum.repos.d/xxxx.repo ###仓库指向文件位置

[xxxx] ###自定义软件仓库名称

name=xxxx ###自定义软件仓库描述

baseurl=ftp://|http://|file:// ###仓库位置

gpgcheck=0 ###不检测gpgkey

###gpgkey表示软件的出品logo

yum clean all ###清空yum缓存识别新配置

eg:[root@foundation62 yum.repos.d]# vim /etc/yum.repos.d/yum.repo

[root@foundation62 yum.repos.d]# cat /etc/yum.repos.d/yum.repo

[foundation62]

name=rhel7.2

baseurl=http://172.25.254.66/rhel7.2

gpgcheck=0

[root@foundation62 yum.repos.d]# yum clean all

五、yum命令

yum install softwarename ###安装

repolist ###列出设定yum源信息

remove softwarename ###卸载

list softwarename ###查看软件源中是否有次软件

list all ###列出所有软件名称

list installd ###列出已经安装的软件名称

list available ###列出可以用yum安装的软件名称

clean all ###清空yum缓存

search softwareinfo ###根据软件信息搜索软件名字

whatprovides filename ###在yum源中查找包含filename文件的软件包

update ###更新软件

history ###查看系统软件改变历史

reinstall softwarename ###重新安装

info softwarename ###查看软件信息

groups list ###查看软件组信息

groups info softwaregroup ###查看软件组内包含的软件

groups install softwaregroup ###安装组件

groups remove softwaregroup ###卸载组件

eg:[root@localhost ~]# yum repolist   ###列出设定yum源信息

Loaded plugins: product-id, search-disabled-repos, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

repo id                              repo name                            status

virgo                                rhel7.2                              4,620

repolist: 4,620

[root@localhost ~]# yum list all   ###列出所有软件名称

[root@localhost ~]# yum list installd   ###列出已经安装的软件名称

[root@localhost ~]# yum list available   ###列出可以用yum安装的软件名称

第十四单元 linux中设备的访问

一、设备访问

1.设备识别

/dev/xdxn ###硬盘设备/dev/sda1

/dev/cdrom ###光驱

/dev/mapper/* ###虚拟设备

2.设备的使用

fdisk -l ###查看真实存在的设备

cat /proc/partitions ###系统能够识别的设备

blkid ###系统能够挂载使用的设备id

df ###查看设备被系统使用的情况

eg:[root@foundation42 /]# fdisk -l   ###查看真实存在的设备

磁盘 /dev/sda:320.1 GB, 320072933376 字节,625142448 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 4096 字节

I/O 大小(最小/最佳):4096 字节 / 4096 字节

磁盘标签类型:dos

磁盘标识符:0x00095828

设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048   104861695    52429824    7  HPFS/NTFS/exFAT

/dev/sda2       104861696   105271295      204800   83  Linux

/dev/sda3       105271296   113463295     4096000   82  Linux swap / Solaris

/dev/sda4       113463296   625141759   255839232    5  Extended

/dev/sda5       113465344   625141759   255838208   83  Linux

磁盘 /dev/sdb:7755 MB, 7755792384 字节,15148032 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x04dd5721

设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1   *          63    15148031     7573984+   c  W95 FAT32 (LBA)

[root@foundation42 /]# cat /proc/partitions   ###系统能够识别的设备

major minor  #blocks  name

8        0  312571224 sda

8        1   52429824 sda1

8        2     204800 sda2

8        3    4096000 sda3

8        4          1 sda4

8        5  255838208 sda5

11        0    1048575 sr0

7        0    3948544 loop0

8       16    7574016 sdb

8       17    7573984 sdb1

[root@foundation42 /]# blkid   ###系统能够挂载使用的设备id

/dev/sda1: UUID="40486AB4486AA87C" TYPE="ntfs"

/dev/sda2: UUID="f0ca4790-6775-414d-b16a-122ebc150994" TYPE="xfs"

/dev/sda3: UUID="94a483f0-9b72-4efd-a4bc-0f99606c1722" TYPE="swap"

/dev/sda5: UUID="f9da5a71-c5f7-4002-920b-aa7a01f37d94" TYPE="xfs"

/dev/loop0: UUID="2015-10-30-11-11-49-00" LABEL="RHEL-7.2 Server.x86_64" TYPE="iso9660" PTTYPE="dos"

/dev/sdb1: LABEL="M-PM-!M-4M-(" UUID="0000-0001" TYPE="vfat"

[root@foundation42 /]# df   ###查看设备被系统使用的情况

文件系统           1K-块     已用      可用 已用% 挂载点

/dev/sda5      255713288 17418536 238294752    7% /

devtmpfs         1813796        0   1813796    0% /dev

tmpfs            1826872      524   1826348    1% /dev/shm

tmpfs            1826872     9060   1817812    1% /run

tmpfs            1826872        0   1826872    0% /sys/fs/cgroup

/dev/sda2         198380   134004     64376   68% /boot

tmpfs             365376       24    365352    1% /run/user/1000

/dev/loop0       3947824  3947824         0  100% /rhel7.2

/dev/sdb1        7559200  4179136   3380064   56% /run/media/kiosk/С

3.设备的挂载

mount 设备 挂载点

mount /dev/sdb1 /mnt ###把系统中第二块硬盘的第一个分区挂载到/mnt目录上

eg:[root@foundation42 /]# mount /dev/sdb1 /mnt/   ###把系统中第二块硬盘的第一个分区挂载到/mnt目录上

[root@foundation42 /]# ls /mnt/

123                        打印                    实验指导   新建文件夹 (2)

Docker学习笔记.pdf         计算机系统结构课程设计  实验指导1  运维

System Volume Information  考研英语                微机原理   助学金

4.卸载设备

umout 设备|挂载点

如出现以下情况:

[root@foundation0 ~]# umount /dev/sdb1

umount: /home/kiosk/Desktop/photo: target is busy.

(In some cases useful info about processes that use

the device is found by lsof(8) or fuser(1))

解决:

fuser -kvm 设备|挂载点 -k kill ,-v显示详细信息,-m扫描设备

eg:[root@foundation42 mnt]# umount /mnt/   ###卸载挂载在/mnt/下的设备

umount: /mnt:目标忙。

(有些情况下通过 lsof(8) 或 fuser(1) 可以

找到有关使用该设备的进程的有用信息)

[root@foundation42 mnt]# fuser -vm /dev/sdb1   ###查看卸载不了的原因

用户     进程号 权限   命令

/dev/sdb1:           root     kernel mount /run/media/kiosk/С

root      21620 ..c.. bash

[root@foundation42 mnt]# cd ..

[root@foundation42 /]# umount /mnt/   ###卸载成功

[root@foundation42 /]# cd /mnt/

[root@foundation42 mnt]# ls

vm_create.sh  vm_kz.sh  vm_reset.sh  westos.xml

[root@foundation42 mnt]# df

文件系统           1K-块     已用      可用 已用% 挂载点

/dev/sda5      255713288 17420628 238292660    7% /

devtmpfs         1813796        0   1813796    0% /dev

tmpfs            1826872      524   1826348    1% /dev/shm

tmpfs            1826872     9060   1817812    1% /run

tmpfs            1826872        0   1826872    0% /sys/fs/cgroup

/dev/sda2         198380   134004     64376   68% /boot

tmpfs             365376       28    365348    1% /run/user/1000

/dev/loop0       3947824  3947824         0  100% /rhel7.2

/dev/sdb1        7559200  4179136   3380064   56% /run/media/kiosk/С

[root@foundation42 mnt]# cd ..

[root@foundation42 /]# umount /dev/sdb1

二、软硬链接

ls -i ###查看文件节点号

ln -s /file /file1 ###软链接

ln /file /file1 ###硬链接

eg:[root@foundation42 mnt]# touch file

[root@foundation42 mnt]# ls -li file    ###查看文件节点号

807990471 -rw-r--r-- 1 root root 0 Mar 31 15:35 file

[root@foundation42 mnt]# ln -s /mnt/file /opt/   ###软链接

[root@foundation42 mnt]# ls -li /opt/file

18687 lrwxrwxrwx 1 root root 9 Mar 31 15:36 /opt/file -> /mnt/file

[root@foundation42 mnt]# rm -fr /mnt/file

[root@foundation42 mnt]# ls -li /opt/file

18687 lrwxrwxrwx 1 root root 9 Mar 31 15:36 /opt/file -> /mnt/file

[root@foundation42 mnt]# cat /opt/file    ###软链接,删除母文件,软链接产生的文件也会被删除

cat: /opt/file: 没有那个文件或目录

[root@foundation42 mnt]# rm -fr /opt/file

[root@foundation42 mnt]# touch file2

[root@foundation42 mnt]# ls -li file2

807990471 -rw-r--r-- 1 root root 0 Mar 31 15:37 file2

[root@foundation42 mnt]# ln /mnt/file2 /opt/   ###硬链接

[root@foundation42 mnt]# ls -li /opt/file2

807990471 -rw-r--r-- 2 root root 0 Mar 31 15:37 /opt/file2

[root@foundation42 mnt]# ls -li /mnt/file2

807990471 -rw-r--r-- 2 root root 0 Mar 31 15:37 /mnt/file2

[root@foundation42 mnt]# rm -fr /mnt/file2    ###硬链接,删除母文件,硬链接产生的文件不会被产生

[root@foundation42 mnt]# ls -li /opt/file2

807990471 -rw-r--r-- 1 root root 0 Mar 31 15:37 /opt/file2

[root@foundation42 mnt]# rm -fr /opt/file2

三、文件查找

1.locate filename ###在文件数据库中搜索filename信息,updatedb更新文件数据库

2.find

find 查找位置 -条件 条件值  -exec 动作 {} \;

-name

-not 条件

-user

-group

-size

-perm

--maxdepth

--mindepth

-a

-o

-type f 文件

d 目录

c 字符设备

b 块设备

s 套节字

l 链接

find /mnt -user student

find /mnt -group linux

find /mnt -user student -a -group linux

find /mnt -user student -o -group linux

find /mnt -user student -a -group linux

find /mnt -user student

find /mnt -user student -a -not -group linux

dd if=/dev/zero of=/mnt/file1 bs=1024 count=10

dd if=/dev/zero of=/mnt/file2 bs=1024 count=20

dd if=/dev/zero of=/mnt/file3 bs=1024 count=30

find /mnt -size 10k

find /mnt -size -10k

find /mnt -size +10k

eg:[root@localhost mnt]# ls -l

总用量 64

-rw-r--r--. 1 root root 10240 Mar 31 04:05 file1

-r--------. 1 root root 20480 Mar 31 04:06 file2

-rwxrwxrwx. 1 root root 30720 Mar 31 04:07 file3

[root@localhost mnt]# find /mnt -perm 444   ###查找权限是444的文件r--r--r--

[root@localhost mnt]# find /mnt -perm 644   ###查找权限是644的文件rw-r--r--

/mnt/file1

[root@localhost mnt]# find /mnt -perm /444   ###查找拥有r权限的文件

/mnt

/mnt/file1

/mnt/file2

/mnt/file3

[root@localhost mnt]# find /mnt -perm -444   ###查找所有用户都拥有r权限的文件

/mnt

/mnt/file1

/mnt/file3

[root@localhost mnt]# find /mnt -perm -222   ###查找所有用户都拥有w权限的文件

/mnt/file3

[root@localhost mnt]# find /mnt -perm -111   ###查找所有用户都拥有x权限的文件

/mnt

/mnt/file3

[root@localhost mnt]# find /mnt -perm /111   ###查找拥有x权限的文件

/mnt

/mnt/file3

[root@localhost mnt]# find /mnt -perm /222   ###查找拥有w权限的文件

/mnt

/mnt/file1

/mnt/file3

[root@localhost mnt]# find /mnt -perm -421   ###查找所有人拥有r权限,所有组拥有w权限,其他人拥有x权限

/mnt/file3

Linux云自动化运维第八课的更多相关文章

  1. Linux云自动化运维第四课

    Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字  ###移动到指定的行 G  ###文件最后一行 gg  ###文件第一行 2)在插入模式下 i  ###光标所 ...

  2. Linux云自动化运维第五课

    Linux云自动化运维第五课 一.进程定义 进程就是cpu未完成的工作 二.ps命令 ps a ###关于当前环境的所有进程 x ###与当前环境无关的所有进程 f ###显示进程从属关系 e ### ...

  3. Linux云自动化运维第三课

    Linux云自动化运维第三课 一.正则表达式 1.匹配符 * ###匹配0到任意字符 ? ###匹配单个字符 [[:alpha:]] ###匹配单个字母 [[:lower:]] ###匹配单个小写字母 ...

  4. Linux云自动化运维第二课

    一.Linux系统结构 1.Linux是一个倒树结构.Linux中所有的东西都是文件.这些文件都在系统的顶级目录中"/","/"是根目录."/&quo ...

  5. Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar

    一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...

  6. Linux轻量级自动化运维工具— Ansible

    Ansible 是什么 ? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配 ...

  7. [Linux]Ansible自动化运维① - 入门知识

    目录 一.Ansible 概述 1.1 Ansible 是什么 1.2 Ansible 优势 1.3 Ansible 特性 二.Ansible 入门 2.1 Ansible 架构 2.2 Ansibl ...

  8. (转)实验文档5:企业级kubernetes容器云自动化运维平台

    部署对象式存储minio 运维主机HDSS7-200.host.com上: 准备docker镜像 镜像下载地址 复制 12345678910111213141516 [root@hdss7-200 ~ ...

  9. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

随机推荐

  1. Java Web(三) 会话机制,Cookie和Session详解

    很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来学习它,今天好好把他总 ...

  2. css3动画animate

    CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. @keyframes 定义动画关键帧: @keyframes anima ...

  3. 关于 <textarea ></textarea >标签在苹果微信浏览器出现 内阴影

    解决方法:(去除浏览器默认的样式元素) textarea  { box-shadow:0px 0px 0px rgba(0,0,0,0); -webkit-appearance:none; }

  4. 谈JS中的作用域链与原型链(1)

    学习前端也有一段时间了,觉得自己可以与大家分享一些我当初遇到疑惑的东西,希望能给对此问题有疑惑的朋友带来一点帮助. 先来普及一下JS的概念(不要嫌我啰嗦,可能一些朋友开始学习JS是跟着视频和写好的代码 ...

  5. Linux下自动备份MySQL

    使用expect和mysqldump备份 expect expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预. 例如,执行shell脚本的过程中,需要输入用户名.密码 ...

  6. 【CNMP系列】CNMP之路,系统起步。

    简单的来理解,我所说的CNMP,不是CNM+P,而是CentOs+Nginx+MySql+PHP,也可以单纯的理解为LNMP,但是系统是我们自己选的,虽说是Linux的一个分支,但我就喜欢CentOs ...

  7. 规范 : disable account

    前台的cookies在后台会去拿account出来,之后在filter status = disable的 用户在登入使用界面请求一个ajax,这时发现是401没有权限,这通常是admin把用户的ac ...

  8. php弱类型语言中的类型判断

    1.php一个数字和一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较.PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0. 例如:123abc转换后 ...

  9. jquery小测

    1.在div元素中,包含了一个<span>元素,通过has选择器获取<div>元素中的<span>元素的语法是? 提示使用has() $("div:has ...

  10. 重新认识JavaScript

    JavaScrpit在我眼中一直是web前端脚本语言,而这段时间的一些工作,让我对JavaScript有了一个全新的认识. 公司准备启动的一个手游项目,服务器端准备使用网易的开源框架pomelo.po ...