第十三单元 软件安装

一、软件名称识别

[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. 读书笔记 effective c++ Item 17 使用单独语句将new出来的对象放入智能指针

    1. 可能会出现资源泄漏的一种用法 假设我们有一个获取进程优先权的函数,还有一个在动态分类的Widget对象上根据进程优先权进行一些操作的函数: int priority(); void proces ...

  2. JS实例——间歇循环滚动

    间歇滚动:滚动一行后,延迟2秒后继续滚动 具体实现代码如下: <!doctype html> <html lang="en"> <head> & ...

  3. 连连看的原生JS实现

    那天闲来无事,便想找个小游戏来打发时间,后来便找到了连连看, 玩了一会儿感觉无聊,想到各位高手用JS做的各种小游戏,便想自己也来做一个,于是便有了这几天的成果. 代码是用 原生JS 实现的,只是用来学 ...

  4. MySQL主从复制与主主复制

    1.简介 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一.但不可忽略的是它本身的功能的确很强大.随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时 ...

  5. linux 下 zookeeper安装

    1.安装zookeeper-3.4.6cd /usr/soft#解压zookeeper 安装包tar -zvxf zookeeper-3.4.6#拷贝安装包到安装目录cp zookeeper-3.4. ...

  6. 关于Storm Stream grouping

    在Storm中, 开发者可以为上游spout/bolt发射出的tuples指定下游bolt的哪个/哪些task(s)来处理该tuples.这种指定在storm中叫做对stream的分组,即stream ...

  7. php写购物车(思路&源码)

    本文介绍一个php实现的购物车代码,功能实现完整,具有一定的参考价值 这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的 具体分析如下: 对购物车里 ...

  8. Debian安装Oracle Java步骤

    在Debian下安装OpenJDK使用apt命令非常方便的安装,但安装Oracle就需要手动了,这里需了解ln和update-alternatvies命令. ln链接 首先我们来说说linux的链接, ...

  9. oracle数据库命令-持续更新

    一.系统命令 登录 dba用户命令 sqlplus / as sysdba 2. 用户命令 删除用户 DROP USER **** CASCADE; DROP SCHEMA **** CASCADE; ...

  10. JVM学习之类加载

    该文使用Hotspot    JDK1.7 一.类加载器 1.什么是类加载器 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java ...