Parallels 虚拟机 CentOS 及Parallels tools 修改源

2024-03-19 05:32

本文主要是介绍Parallels 虚拟机 CentOS 及Parallels tools 修改源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

看到一篇虚拟机文章特别有用,收藏一下. 方便查找.

 

转载: https://idevz.org/2019/10/%E5%9F%BA%E4%BA%8E-parallels-%E5%B0%9D%E9%B2%9C-centos-8/

 

 Table of Contents

之前为了应对在跨语言开发过程中,需要折腾各种开发环境,我做了一个工具包 runX 来自动化环境部署的过程, 当全新的 CentOS-8 可用后,我就一直想折腾一把,毕竟 7 的内核版本实在太低了。因为最近又对环境部署和自动化工具有些新的想法, 干脆一气呵成,直接在工具集中把这些想法实现出来,但是考虑到变化比较大,而且 runX 本身其实已经是稳定状态, 所以索性搞一个 runX 的全新升级版 Lego。

Lego,旨在想搭积木一样来组合各种部署功能,因为在 runX 这几年的使用过程中,发现经常还是会有些复用的功能, 在 k8s-start 项目中我试验了这种积木的思想,发现很受用。重新整理 runX 到 Lego,主要包含以下几个方面:

  1. 最核心的当然是积木的思想,所有的方法和模块都是可组合的。
  2. 新装虚拟机当前可能无法做到完全自动化,但是可以通过组合的方式实现半自动化。

下面是装机初始的一些步骤,相关的代码会逐步整理到 Lego 这个项目中。

Base 装机步骤

  1. 修改运行级别,CentOS 7 通过修改 /etc/inittab 已经过时,CentOS 8 使用 Target,见下
  2. 通网,往后的各种操作都需要联网进行(设置免密登陆,后续操作都可以通过 ssh 完成)
  3. 更换阿里云的 yum 源,阿里云已经建了 CentOS 8 的 yum 源,因为安装 Parallels Tools 依赖的包需要
  4. 安装 Parallels Tools(否则无法共享目录,以及使用命令行 prlctl 命令控制 pvm)
  5. 关机,设置共享文件夹等通用设置(关机后,在 Parallels 图形界面进行设置较为方便,目前尚未研究通过 prlctl 命令来设置)
  6. 安装 Parallels Tools 后,就可以将 Mac 宿主机中的 runX 项目挂载到 pvm 中,运行相关自动化脚本,比如一些基础设置(/etc/profile,/etc/sudoers 等)

修改运行级别,关闭图形界面

systemctl set-default multi-user.target # run level 3
systemctl set-default graphical.target # run level 5Removed /etc/systemd/system/default.target
Created symlink /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

通网

目前 CentOS 8 默认的网络设备为 enp0s5,而不是 eth0,管理工作也由 nmcli 来完成 修改 /etc/sysconfig/network-scripts/ifcfg-enp0s5 文件的内容,然后运行 nmcli c reload 重启 这里主要将 IP 的获取方式由 dhcp 方式修改为静态 IP,相关设置列举如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s5
UUID=xxx-334e-4f70-a808-66b097fd4ba1
DEVICE=enp0s5
ONBOOT=yes
IPADDR="10.xxx.xxx.xxx"
NETMASK="255.255.255.0"
GATEWAY="10.xxx.xxxx.1"

更换 yum 源

这里选择阿里云的 yum 源(阿里云率先支持了 CentOS 8 的 yum 源) 首先备份原始源:sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 修改 /etc/yum.repos.d/CentOS-Base.repo 的 baseurl 为 baseurl=https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/ 修改 /etc/yum.repos.d/CentOS-AppStream.repo 的 baseurl 为 baseurl=https://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/

最后更新缓存使 yum 源的变更生效:

sed -i 's/#baseurl=.*/baseurl=https:\/\/mirrors.aliyun.com\/centos\/$releasever\/BaseOS\/$basearch\/os\//g'  /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/#baseurl=.*/baseurl=https:\/\/mirrors.aliyun.com\/centos\/$releasever\/AppStream\/$basearch\/os\//g'  /etc/yum.repos.d/CentOS-AppStream.reposudo yum clean all
sudo yum makecache

安装 Parallels Tools

Parallels Tools 的安装依赖 epel 和 dkms,而当前 dkms 仅提供了 src.rpm 包,需要下载后自行编译。下面是安装步骤:

  1. 安装 epel 和 rpm-build(后面编译安装 src.rpm 包需要)
  2. rpm-build 编译安装 dkms src.rpm 包
  3. Parallels 图形界面挂载 Parallels Tools 安装包,进行安装

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
    rpm-build
    curl -fSL https://linux.itecs.ncsu.edu/redhat/ncsu/rhel8-beta-needed/8/SRPMS/dkms-2.6.1-1.el8.src.rpm -o dkms-2.6.1-1.el8.src.rpm
    rpmbuild --rebuild --clean dkms-2.6.1-1.el8.src.rpm # 从编译结果中找到生成的 RPM 包,/home/z/rpmbuild/RPMS
    sudo yum install -y /home/z/rpmbuild/RPMS/noarch/dkms-2.6.1-1.el8.noarch.rpm[ ! -d /media/cdrom ] && sudo mkdir /media/cdrom
    sudo mount | grep iso9660
    sudo umount /dev/cdrom \mount -o exec /dev/cdrom /media/cdrom \cd /media/cdrom/ \./install

免密登陆 mac -> pvm

免密登陆的 2 个关键:

  1. 在于目标机器的 ~/.ssh/authorized_keys 文件中是否包含当前机器用户的 ~/.ssh/id_rsa.pub 文件中的内容。
  2. 限制 ~/.ssh 目录的权限为 700,~/.ssh/authorized_keys 文件的权限为 600。

如下:

mkdir -m 700 -p ~/.ssh
sudo su - && mkdir -m 700 -p ~/.ssh
# 将 id_rsa.pub 的内容 添加到要登陆机器的 authorized_keys 中
STATIC_IP="目的 IP 地址"
scp ~/.ssh/id_rsa.pub z@${STATIC_IP}:~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub root@${STATIC_IP}:~/.ssh/authorized_keys

反向免密登陆 pvm -> mac

设置方式与正向免密是一个道理,但其实并不需要设置,直接退出就回来了。

# ssh-keygen -t rsa 生成 id_rsa id_rsa.pub
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

过程中遇到如下问题

  • Parallels 15 才能正常安装(怀疑是 Parallels 14 与 MacOSX Catania 的兼容问题)
  • 手动安装 Parallels Tools(1. 需要先通网;2. 手动编译安装 dkms)
  • 通网,默认网络设备不再是 eth0
  • prlctl 执行 pvm 命令报错:How to fix ‘sudo: no tty present and no askpass program specified’ error? 这个错误是因为 /etc/sudoers 文件中尚未设置当前用户拥有 root 权限

这篇关于Parallels 虚拟机 CentOS 及Parallels tools 修改源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824950

相关文章

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命