Linux操作系统基础--(4)文件传输与软件管理

本文介绍了Linux操作系统的基础知识,包括使用scp和rsync进行文件传输的对比及应用,文件的归档压缩方法,以及通过rpm和dnf管理软件包。此外,还详细阐述了Linux系统下的虚拟化部署,如kvm虚拟化的安装和管理,以及虚拟机快照的创建和使用。内容涵盖了实验环境设置、命令操作实例和关键概念解析。
摘要由CSDN通过智能技术生成

Linux操作系统基础

实验所用系统为Redhat-rhel8.2。

Linux操作系统基础–linux系统中的文件传输

实验环境
需要两台主机并保证这两台主机可以通信

westos-vmctl creat westosb
nm-connection-editor 
---> "-"删除已有ethernet 
---> 点击“+”号选择Ethernet点击create 
---> 设置name,在device里选择ens3,在Ipv4 Settings下的Method里选择Manual,在Addresses点击“+”,address(172.25.254.209),network(24),geteway(点击) 
---> 点击save并关闭 
---> ip a 查看状态 
---> 链接真实主机ping 172.25.254.9

远程操作主机
ssh 远程主机ip -l 远程主机用户

##wetosa
systemctl set-default multi-user.target			##永久切换到无图形模式(需重启,可使用临时切换)
hostnamectl set-hostname westosa.westos.org		##重命名
nm-connection-editor							##图形方式设定ip
init 3											##当前临时切换到无图形模式,开机恢复
 
##westosb
hostnamectl set-hostname westosb.westos.org

##真实主机shell
ssh -l root 172.25.254.109						##链接虚拟机a
rm -rf .ssh/

ssh -l root 172.25.254.209						##链接虚拟机b
rm -rf .ssh/


systemctl disable --now firewalld				##关闭火墙

一、scp命令

scp	本地文件	远程主机用户@远程主机ip:远程主机目录的绝对路径			##上传
scp	远程主机用户@远程主机ip:远程主机文件的绝对路径	本地文件			##下载

实验步骤:

  1. 在westosb中建立文件和目录
  2. 把本地文件复制到远程主机(上传)
  3. 把远程文件复制到本地(下载)
###westosb
touch westos
mkdir westosdir

###上传
scp	westos	root@172.25.254.109:/root/Desktop			##在当前主机以超级用户身份将文件westos上传到ip为172.25.254.109的主机/root/Desktop目录里
scp -r	westosdir	root@172.25.254.109:/root/Desktop	##-r 表示复制目录
scp  -q	westos	root@172.25.254.109:/root/Desktop		##-q	表示传输文件时不显示进度

###westosa 下载
scp	root@172.25.254.209:/root/Desktop/westos /root/Dsektop	##在当前主机以超级用户身份将ip为172.25.254.209的主机/root/Desktop目录里westos文件下载到本机目录/root/Dsektop里

请添加图片描述

#上传文件
请添加图片描述

#上传目录-r

请添加图片描述
#上传文件不显示进度-q
请添加图片描述
#下载文件

二、rsync

1、rsync和scp对比

  • 创建测试脚本
vim check_scp.sh
///
time scp -qr /boot root@172.25.254.209:/root/Desktop

vim check_rsync.sh
///
time rsync -raCq /boot root@172.25.254.209:/root/Desktop
  • 执行
sh check_scp.sh
sh check_rsync.sh
  • 测试结果

请添加图片描述
#scp三次执行时间几乎一致

请添加图片描述
#rsync执行时间后两次远远小于第一次

scp慢,但是复制完全
rsync远程传输:快,但是不准确完整

2、rsync用法

rsync	文件	远程用户@远程主机ip:远程主机目录		##上传
rsync	远程用户@远程主机ip:远程主机目录	文件路径	##下载
rsync
	-r	##复制目录
	-l	##复制链接
	-p	##复制权限
	-t	##复制时间戳
	-o	##复制拥有者
	-g	##复制拥有组
	-D	##复制设备文件

[注意]
复制远程目录时,“/mnt”表示复制目录本身以及目录里的文件;
“/mnt/”表示复制目录里的文件,不包含目录本身

实验步骤:

###b
touch /mnt/file{1..5}
chmod 777 /mnt/*
chown westos /mnt/*
ln -s /mnt/file /mnt/lee	##创建一个链接
###a
watch -n 1 ls -lR /mnt		##监控
###a另一个shell
rsync -r root@172.25.254.209:/mnt /mnt/		##复制目录本身以及目录里的文件
rsync -r root@172.25.254.209:/mnt/ /mnt/	##复制目录里的文件,不包含目录本身
-rlp	##同步权限
-rl		##同步链接
-rlpog	##同步用户组
-rlpogt	##同步时间
-rD		##同步设备文件

请添加图片描述
#实验环境
请添加图片描述
#/mnt/mnt/的区别

请添加图片描述
#复制链接和权限
请添加图片描述
##复制拥有者和时间
请添加图片描述
#复制设备文件

三、文件的归档压缩

1、文件归档

tar
	c			##创建
	f			##指定文件名称
	X			##解档
	v			##现实过程
	t			##查看
	r			##向归档文件中添加文件
	--get		##解档指定文件
	--delete	##删除指定文件
	-C			##指定解档路径
	-P			##don‘t remove “/”(加P创建的tar文件打开后所有的内容全在根目录下;不加P创建的tar文件里的内容在被打包的目录里)
例:
tar cf etc.tar /etc/				##将/etc/归档成etc.tar
tar tf etc.tar						##查看etc.tar
tar rf etc.tar westos_rhel8			##向etc.tar中添加westos_rhel8
tar xf etc.tar						##解档etc.tar
tar f etc.tar --get westos_rhel8	##解档文件包里的指定文件
tar f etc.tar --delete westos_rhel8	##删除指定文件
tar xf etc.tar -C /root/Desktop		##指定解档路径
tar Pcf etc.tar /etc				##创建的tar文件里的内容在根目录下

2、文件的压缩

zip
zip (-r) mnt.tar.zip  mnt.tar	##zip格式压缩(复制压缩,即原文件还在)
unzip mnt.tar.zip		##zip格式解压缩(解压后压缩文件还在)

gzip
gzip mnt.tar		##gzip格式压缩(直接将原文件压缩,下同)
gunzip mnt.tar.gz	##gzip格式解压缩(将压缩文件直接解压,解压后只剩解压格式的文件,下同)

bzip2
bzip2 mnt.tar 		##bzip2格式压缩
bunzip2 mnt.tar.bz2	##bzip2格式解压缩

xz(压缩后大小最小,不适合压缩图片和音频,只适合压缩文本文档)
xz mnt.tar		##xz格式压缩
unxz mnt.tar.xz		##xz格式解压缩

请添加图片描述

3、tar+压缩(打包并压缩)

gzip
tar zcf etc.tar.gz /etc		##原文件不会消失,即复制后打包压缩,且并没有形成新的文件
tar zxf etc.tar.gz			##原压缩文件不会消失,解压后也仍然是原文件本身--创建时间未改变

bzip2
tar jcf etc.tar.bz2 /etc
tar jxf etc.tar.bz2

xz
tar Jcf etc.tar.xz /etc
tar Jxf etc.tar.xz
du -sh /etc/	##查看/etc/的大小

请添加图片描述

Linux操作系统基础–Linux系统中的软件管理

1、linux中软件包的类型

1.DEB		#UBlinux DEBlinux(当前系统不适用)
2.RPM		#redhat centOS fadora
3.bz2|gz|xz	#1、需要源码安装需要编译
			#2、绿色软件,打开可直接用
			#ntfs-3g_ntfsprogs-2017.3.23.tgz	需要编译“configure”
			#Firefox-latest-x86_64.tar.bz2		绿色软件

[注意] 在rhel8中只能使用绿色软件,源码编译软件和rpm软件

2、软件包的名称结构

[dhcp-server]-[4.3.6-30].[el8].[x84_64].[rpm]
		1		  2		   3	   4	  5

1、软件名称
2、软件版本
3、软件的授权协议版本
4、软件架构
5、软件类型后缀

3、rpm命令管理软件包

rpm
	-ivh			##安装参数组合 -i install -v verbose -h hash
	-q				##查询(搭配其他命令使用)
	-a(qa)			##所有
	-f(qf)	+目录	##文件
	-l(ql)			##软件安装文件列表
	-e				##卸载
	-c(qc)			##配置文件
	-d(qd)			##说明
	-p				##软件包(现有系统不太能用到)
	--info			##软件信息
#例:rpm -q openssh-server-8.0p1-4.el8_1.x86_64  --info
	--foece			##强制(只能解决重装时需要强行安装)
#例:rpm -ivh python3-jinja2-2.10.1-2.el8_0.noarch.rpm --force
	--nodeps		##忽略依赖性
#例:rpm -ivh python3-jinja2-2.10.1-2.el8_0.noarch.rpm --nodeps
	--scripts		##查询软件在安装或卸载过程中的运行脚本
#例:rpm -q python3-jinja2-2.10.1-2.el8_0.noarch.rpm --scripts
	--Kv			##检测软件md5校验码
#例:rpm -Kv python3-jinja2-2.10.1-2.el8_0.noarch.rpm
	--V				##检测已安装软件在系统中的文件被修改信息
#例:rpm -V linuxqq
拆解rpm包
rpm2cpio google-chrome-stable_current_x86_64.rpm  | cpio -id

请添加图片描述

4、本地文件仓库的搭建

1)在系统中加载安装系统时使用的安装镜像
##下载镜像
172.25.254.250/isos 
---> rhel-8.2-x86(copy link location) 
---> su -root 
---> mkdir /iso 
---> cd /iso 
---> wget + 复制的网址
##挂载镜像
mount /iso/rhel-8.2-x86_64-dvd.iso  /sourcedir(会报错但挂载成功)
wget http://172.25.254.250/isos/rhel-8.2-x86_64-dvd.iso
mkdir /sourcedir
mount /iso/rhel-8.2-x86_64-dvd.iso  /sourcedir
2)编写软件仓库文件
/etc/yum.repos.d/	##软件源指向文件配置目录
					##在此目录中不能有无法访问的源指向
vim westos.repo						##软件仓库指向文件
///
[AppStream]							##仓库名称
name=AppStream						##描述
baseurl=file:///sourcedir/AppStream	##地址(第三个“/”表示根目录)
gpgcheck=0							##不检测gpgkey(跳过授权检测)(对源进行GPG校验,1是开启,0是关闭)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release(校验文件)
enabled=1(启用源)

[BaseOS]
name=BaseOS
baseurl=file:///sourcedir/BaseOS
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
///
3)检测
dnf list all
4)整体步骤
cd /etc/yum.repos.d/
vim westos.repo(内容在上文)
cat westos.repo
cd
rpm -qa | wc -l
ls -l /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

dnf list all | wc -l
vim /etc/rc.d/rc.local			##开机自启配置文件
///
mount /iso/rhel-8.2-x86_64-dvd.iso  /sourcedir/ 	##设置开机自动挂载
///
chmod +x /etc/rc.d/rc.local		##增加执行权限
cat /etc/rc.d/rc.local

5、dnf软件管理命令

1)dnf命令
dnf	repolist				##列出仓库信息
	clean all				##清楚系统中已经加载的仓库缓存信息  /var/cache/dnf
	list all				##列出所有软件
	list available			##列出未安装软件
	list installed			##列出已安装软件
	install	(-y)			##安装
	renmove	(-y)			##卸载
	reinstall (-y)			##重新安装
	search (+ssh等)			##搜索
	whatprovides(*/ssh)	##搜索包含某文件的软件包
	history					##dnf执行历史
	history info +数字		##某条dnf执行历史详细信息
	group list				##列出软件组
	group list --installed	##列出已安装软件组
	group list --available	##列出未安装软件组
	group list --hideen		##列出隐藏软件组
	group install ""-y)	##安装软件组
	group info				##查看软件组信息

请添加图片描述

2)下载安装包
yumdownloader					##下载软件包到本机指定位置
yumdownloader httpd				##下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt	##下在仓库中指定软件的安装包到指定/mnt目录
yumdoenloader httpd --destdir=/mnt --resolve	##下载仓库中指定软件安装包和软件依赖性到/mnt目录
3)dnf和rpm区别

dnf能识别出下载过程中需要的依赖关系并自动解决,但这些依赖关系必须在镜像安装包里
rpm需要手动处理依赖关系

Linux操作系统基础–linux下的虚拟化部署

一、内核级的虚拟化

内核级的虚拟化
1、inter cpu ----> vmx(需要支持vmx)
2、amd cpu ----> svm

查看当前主机有没有指令集
root用户下 cat /proc/cpuinfo | grep vmx

二、kvm虚拟化安装

  • 真机
dnf group install "Virtualization Client" “Virtualization Tools" -y
Virtualization Client				##虚拟化客户端(在软件仓库配好的情况下,在隐藏软件组里)
Virtualization Tools				##虚拟化工具
systemctl enable --now libvirtd		##开启服务
  • 真机root用户下
virt-manager(关闭已开启的虚拟机) 
---> create a new virtual machine(Local install media) 
---> iso 
---> Memory(2048,内存必须>2g) 
---> cpus(2) 
---> image(20G,硬盘必须>8g) 
---> 默认 
---> 时区(上海) 
---> 语言(中文和英文) 
---> 键盘(默认) 
---> Installation Destination(Custom) 
---> "+"add a new mount point 
---> "/",10G 
---> "/boot",500mb 
---> "swap",500mb 
--->Done 
---> Apccept Changes 
---> Begin Installation 
---> user(设置name,passwd,确认),root(设置passwd,确认)
---> reboot
---> License Information(accept)
--->finish 

[注意] 内存>2g,硬盘>8g

三、kvm虚拟化信息

服务名称:
libvird

虚拟化核心
qemu/kvm

虚拟化存储目录(虚拟机硬盘)
/var/lib/libvirt/images/westos.qcow2(硬盘信息-存储数据,安装系统,不可以没有)

虚拟化硬件信息
/etc/libvirt/qemu/westos.xml(存储硬件)

修改硬件信息,比如虚拟机名字
改名需要在虚拟机关闭的情况下完成,之后重启虚拟机
vim /etc/libvirt/qemu/westos.xml
修改名字
systemctl restart libvirtd.service
重新连接

四、虚拟管理命令

virt-viewer 	westos &	##显示westos虚拟机
virt-manager				##打开虚拟机控制器

virsh list					#列出运行的虚拟机
virsh list --all			##列出所有虚拟机
virsh start 	westos		##开启虚拟机
virsh shutdown 	westos		##正常关闭虚拟机
virsh destroy 	westos		##断电westos虚拟机

请添加图片描述

五、虚拟机快照

cd /var/lib/libvirt/images
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/node1.qcow2	
	##将安装好的虚拟机在/var/lib/libvirt/images下的westos.qcow2文件备份成node1.qcow2

virt-manager(须在虚拟机关闭的情况下)
选择添加已有的镜像(Import existing disk image)
---> forward 
---> Browser 
---> node1.qcow2 
---> rhel 8.2 
---> forward 
---> memory(1g),cpu(1) 
---> forward 
---> name(node1) 
---> finish

[注意] 快照的作用是在操作的过程中读写的文件不同,读的是westos.qcow2文件,写在快照node1.qcow2里,以保护虚拟机,如果写入过程出现错误,可以删掉快照,重新建一个新的,不会影响虚拟机。

快照不能运行后
rm -rf /var/lib/libvirt/images/node1.qcow2

qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/node1.qcow2	
	##重新建一个快照
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值