1. 程式人生 > >LINUX基礎4

LINUX基礎4

###虛擬機器管理
##1.指令碼安裝虛擬機器
#!/bin/bash

virt-install \
--cdrom /home/kiosk/rhel-server-7.0-x86_64-dvd.iso \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/test.qcow2,bus=virtio,size=10 \
--name test \
--network bridge=br0,model=virtio

 


###2.虛擬機器管理命令
virt-manager            ##開啟虛擬機器管理器
virsh list              ##列出當前執行的虛擬機器
virsh list --all        ##檢視所有虛擬機器
virsh start westos      ##開啟
virsh shutdown westos   ##正常關閉虛擬機器
cirsh destroy westos    ##強行關閉
virt-viewer westos      ##檢視虛擬機器
virsh undefine westos  ##刪除虛擬機器
###模擬虛擬機器恢復
mv /var/lib/libvirt/images/westos.qcow2 /mnt/   ## 硬碟
mv /etc/libvirt/qemu/westos.xml  /mnt/          ## 硬體資訊

在虛擬機器管理器中刪除這個裝好的虛擬機器

模擬過程

cd /mnt
virsh creat westos.xml          ## 用硬體資訊檔案啟動虛擬機器
在操作過程中會有以下錯誤
[[email protected] mnt]# virsh create westos.xml
error: Failed to create domain from westos.xml
error: Cannot access storage file '/var/lib/libvirt/images/westos.qcow2' (as uid:107, gid:107): No such file or directory

解決方法:
mv /mnt/westos.qcow2 /var/lib/libvirt/images/
virsh define westos.xml   ##永久恢復虛擬機器

建立快照
 cd /mnt
  vim kuaizhao.sh

#!/bin/bash
qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2

virt-install \
--name $2 \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--import &

###重置虛擬機器(快照)

cd /mnt
vim reset.sh
#!/bin/bash
     virsh destroy $1
     rm -fr /var/lib/libvirt/images/$1.qcow2

     qemu-img create -f qcow2 -b \
     /var/lib/libvirt/images/$2.qcow2 \
     /var/lib/libvirt/images/$1.qcow2

     virsh start $1
     virt-viewer $1 &


chmod +x reset.sh


###yum
    
  上層軟體管理工具,最重要的功能是可以解決軟體的依賴性
  yum能夠投入使用的前提是必須要有yum源頭,以及配置指定檔案

##1.從網路上下載與本紀系統版本匹配的iso映象檔案
rhel-server-7.0-x86_64-dvd.iso
##2.把 rhel-server-7.0-x86_64-dvd.iso    掛載到/mnt以便系統訪問映象檔案
mount    rhel-server-7.0-x86_64-dvd.iso    /mnt(目錄裡不存在重要檔案和目錄,可以新建目錄)


##3.配置本機yum源指向
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
  [Server]
  name=rhel7.0
 baseurl=file:///guazai
  gpgcheck=0       ##表示不檢測gpgkey      gpgkey表示軟體的出品logo
  
##4.測試安裝軟體
  yum clean all
 yum install httpd -y

              
##軟體名稱識別
 【abrt-addon-ccpp】-【2.1.11-19】.[el7]【x86_64】.rpm    ##rpm的結尾適用於redhat作業系統
    ^           ^         ^      ^
    軟體名稱         軟體版本 軟體適用系統  64位          
5.安裝資源共享服務
 yum install httpd -y
systemctl stop firewalld 
systemctl disable firewalld
systemctl start httpd
systemctl    enable httpd

6.建立共享目錄,並掛在映象檔案到共享目錄上
cd /var/www/html/
mkdir  rnel7.0
umount /mnt(解除之前的掛載)
mount rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0
7.測試
可在真機瀏覽器中輸入 http://虛擬機器ip/rhel7.0
可以看到映象中的內容

8.修改本機的yum源指向

[Server]
  name=rhel7.0
 baseurl=file:///var/www/html/rhel7.0
  gpgcheck=0    

 
9.測試:修改另一臺虛擬機器的yum源地址
【server】
name=server
baseurl=http://ip/rhel7.0
gpgcheck=0
10.開機自動掛載iso
vim /etc/rc.d/rc.local
mount /root/Desktop/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0
chmod +x /etc/rc.d/rc.local


###yum命令
yum install softwarename -y   安裝軟體
yum  repolist     列出設定yum源資訊
yum  remove  softwarname  解除安裝軟體
yum list all    列出所有軟體的名稱
yum list softwarename     檢視軟體源中是否有該軟體
yum list install softwarename    是否安裝該軟體
yum list available 列出可與用yum安裝的軟體
yum clean all   清空yum快取


yum search softwareinfo    根據軟體資訊搜尋軟體名
yum whatprovides filename   在yum源中查詢包含filename檔案的軟體包
yun update   更新軟體
yum history  檢視系統軟體改變歷史
yum install softwarename 重新安裝軟體
###如何安裝軟體


rpm   -ivh name.rpm   安裝軟體   -v  顯示過程   -h 指定加密方式為hash
rpm   -e    name.rpm    解除安裝
rpm -ql name.rpm   檢視軟體生成的檔案
rpm -qlp name.rpm   查詢軟體安裝後會生成什麼檔案
rpm -qa    查詢系統中安裝的所有軟體名稱
rpm   -pq  name.rpm    查詢軟體包安裝後的名字
rpm -ivh name.rpm  --force  強制安裝,但是不能忽略依賴性
  rpm -ivh name.rpm  --nodeps --force   忽略軟體的依賴性並且強制安裝
rpm -qi name 檢視軟體的資訊

###第三方源的搭建
把所有rpm軟體包放到一個目錄中,這個目錄只能存在.rpm檔案
createrepo -v /rpm存放目錄
修改本機yum源
【software】
name=software
baseurl=file:///software
gpgcheck=0

 

 

練習

一.在server主機中配置yum倉庫,並安裝gcc編輯器

 

二.在server主機中把/etc目錄打包壓縮到/mnt中,名字為etc.tar.gz

三.複製server主機中的etc.tar.gz到desktop主機的/mnt中

四.同步server中的/etc的所有檔案到desktop主機的/mnt中,包含連結檔案

5.在server主機中庸timedatectl命令設定系統時區為上海,時間為11.11.11

6.配置server主機中的chronyd服務,使server主機的時間可以被desktop主機同步

vim    /etc/chronyd.conf    
22  allow 172.25.254.165/24     
29  local    stratum  10    

systemctl  restart    chronyd

7.同步server主機的時間到desktop主機中

vim  /etc/chronyd.conf
server 172.25.254.125 iburst    
systemctl  restart    chronyd  

8.配置系統中的systemd.journal程式,使journal命令可以看到關機前的日誌