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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

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.创建区域