linux笔记five

来源:互联网 发布:婚庆网站源码下载 编辑:程序博客网 时间:2024/06/06 09:55
################
####软件安装####
################

####1.软件名称识别####

[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm    ##rpm结尾的适用与redhat操作系统
       ||         ||         ||       ||
    软件名称       软件版本 软件适用系统 64位


####2.如何安装软件####
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能够投入使用的前提是必须要有yum源,以及配置源的指向文件

###server源端####
1.从网络上下本机系统版本匹配的iso镜像文件
rhel-server-7.1-x86_64-dvd.iso

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

3.配置本机yum源指向
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.1
baseurl=file:///mnt
gpgcheck=0

4.安装资源共享服务
yum install httpd -y
systemctl stop firewlld
systemctl disable firewalld     ##开机不启动
systemctl start httpd
systemctl enable httpd        ##开机启动     

5.建立共享目录,并挂在镜像文件到共享目录上
mkdir /var/www/html/rhel7.2
umount /mnt
mount rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2

6.修改本机yum源指向
[server]
name=rhel7.2
baseurl=file:///var/www/html/rhel7.2
gpgcheck=0

7.测试
在浏览器中输入:http://本机ip/rhel7.2
可以看到镜像中的内容

8.开机自动挂载iso
vim /etc/rc.d/rc.local
mount rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2
:wq

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

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

例子:
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.1
baseurl=http://172.25.0.254/pub/rhel7.1
gpgcheck=0
:wq

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


安装gcc



####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    ##卸载组件



############################
####14.linux中设备的访问####
############################

####1.设备访问####

1.设备识别
/dev/xdxn        ##硬盘设备/dev/sda1
/dev/cdrom        ##光驱
/dev/mapper/*        ##虚拟设备

2.设备的使用
##《设备的发现》##
fdisk -l        ##查看真实存在的设备



cat /proc/partitions    ##系统能够识别的设备
blkid            ##系统能够挂载使用的设备id


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


##《设备的使用》##
1.设备的挂载
mount         设备        挂载点
mount         /dev/sdb1    /mnt        #把系统中第二块硬盘的第一个分区挂载到/mnt目录上

2.卸载设备
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扫描设备


####2.软硬链接###


软链接:又称符号链接,类似于windows的快捷方式
硬链接:防止误删。由于linux是通过索引节点来识别文件,硬链接可以认为是一个指针,可多个指向同一个索引节点,系统并不为它重新分配inode。

ls -i                ##查看文件节点号
ln -s /file /file1        ##软链接
ln /file /file1            ##硬链接

例:
##当前有目录linux,里面只有一个名为redhat文件
[kiosk@foundation15 linux]$ cat redhat
hello
[kiosk@foundation15 linux]$ du -sh
4.0K    .
[kiosk@foundation15 linux]$ du -sh redhat
4.0K    redhat
[kiosk@foundation15 linux]$ ln -s redhat redhat1    ##软链接
[kiosk@foundation15 linux]$ ln redhat redhat2    ##硬链接
[kiosk@foundation15 linux]$ du -sh
4.0K    .
[kiosk@foundation15 linux]$ ls -li
total 8
405741046 -rw-rw-r-- 2 kiosk kiosk 6 Feb 15 11:31 redhat
405741047 lrwxrwxrwx 1 kiosk kiosk 6 Feb 15 11:32 redhat1 -> redhat
405741046 -rw-rw-r-- 2 kiosk kiosk 6 Feb 15 11:31 redhat2
##redhat和redhat2文件的索引节点一致,软链接redhat1不同
[kiosk@foundation15 linux]$ cat redhat1
hello
[kiosk@foundation15 linux]$ cat redhat2
hello
##通过他们都能看到文件内容
[kiosk@foundation15 linux]$ du -sh
4.0K    .    
##linux目录大小仍为4k,软硬链接都没耗内存
[kiosk@foundation15 linux]$ rm -f redhat
[kiosk@foundation15 linux]$ ls -li
total 4
405741047 lrwxrwxrwx 1 kiosk kiosk 6 Feb 15 11:32 redhat1 -> redhat
405741046 -rw-rw-r-- 1 kiosk kiosk 6 Feb 15 11:31 redhat2
[kiosk@foundation15 linux]$ du -sh
4.0K    .
[kiosk@foundation15 linux]$ du -sh redhat2
4.0K    redhat2
[kiosk@foundation15 linux]$ cat redhat1
cat: redhat1: No such file or directory
##删除redhat之后,软链接失效,硬链接仍然可用
[kiosk@foundation15 linux]$ cat redhat2
hello



####3.文件查找####
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    链接

说明:
-perm
find    /xxx    -perm    mode    ##表示严格匹配,文件权限转换为十进制书与mode一致
find    /xxx    -perm    -mode    ##mode的每一个不为0的二进制位与查找的文件只要每一位权限相同就算查找成功,用数学方式说明:mode转换为二进制与上(按位与)查找文件的二进制权限结果为mode
find    /xxx    -perm    /mode    ##mode只要有一个不为0的二进制位与查找的文件的对应权限的二进制位相同就算查找成功,用数学方式说明:mode转换为二进制与上(按位与)查找文件权限的二进制数,结果只要有一位为1,就算成功

举例说明:





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

#########################
####15.系统虚拟机管理####
#########################

####1.安装####

##脚本
## ‘/’为换行
#!/bin/bash            ##命令运行环境的指定
virt-install \            ##安装虚拟机
--name $1 \            ##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1000 \            ##内存
--file /var/lib/libvirt/images/$1.qcow2 \        ##硬盘文件    
--file-size 8 \                 ##硬盘文件大小
--cdrom /iso/rhel-server-7.2-x86_64-dvd.iso &  ##安装源指定

####2.管理####
virt-manager            ##开启图形管理工具
virt-viewer vmname        ##显示虚拟机,vmname表示虚拟机名称
virsh list            ##列出正在运行的vm
virsh list --all        ##列出所有vm
virsh start vmname        ##运行指定vm
virsh shutdown vmname        ##正常关闭指定vm
virsh destroy vmname        ##强行结束指定vm
virsh create vmname.xml        ##临时恢复指定vm,vmname表示前端管理文件
virsh define vmname.xml        ##永久恢复vm
virsh undefine  vmname        ##删除vm的前端管理,不会删除存储

例:(虚拟机的删除与恢复)
##删除虚拟机之前县备份俩文件
[root@foundation mnt]# cp /var/lib/libvirt/images/lang.qcow2 .
[root@foundation mnt]# cp /etc/libvirt/qemu/lang.xml .
##删除虚拟机后将原备份的文件复制回原来的位置
[root@foundation mnt]# cp lang.qcow2 /var/lib/libvirt/images/
[root@foundation mnt]# cp lang.xml /etc/libvirt/qemu/
##永久恢复虚拟机
[root@foundation mnt]# virsh define lang.xml
Domain lang defined from lang.xml


####3.虚拟机快照####
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2

##虚拟机重置命令
#!/bin/bash
##删除需要重置的虚拟机
virsh destroy $1
virsh undefine $1
rm -fr /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/images/lang.qcow2  /var/lib/libvirt/images/$1.qcow2 &> /dev/null
##lang.qcow2 是原始的
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2 \
--import &> /dev/null &

###4.远程安装虚拟机####
##该脚本需要在被安装虚拟机的机子上先运行
##关防火墙
#!/bin/bash
virt-install \   ##安装
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2 \
--file-size 8 \
--cdrom /wang/rhel-server-7.2-x86_64-dvd.iso \  ##虚拟机安装包
--vnc \
--vncport=6000 \  ##开端口
--vnclisten=172.25.254.15 &  ##ip为本机ip

远程控制通过 vnc 操作:
vncviewer  172.25.254.15:6000   ##通过对方端口6000,连接需要安装虚拟机的主机
##之后直接弹出安装窗口,进行相关操作


0 0
原创粉丝点击