本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
Windows11官方WSL2已经支持Ubuntu、Open SUSE、Debian和Oracle等等发行版,由于CentOS也是非常经典的一个发行版,由于官方尚未提供安装方式,所以我整理了下安装方式给有需要的人,方法很简单。
一、下载 ZIP 包?
这一步比较简单,ZIP 包本身也不大,打不开页面的请 “科学上网”。
CentOS-WSL
CentOS-8
CentOS-7
二、安装
1. 打开 Windows 子系统支持
WSL 需要 Windows 子系统支持和虚拟化支持,打开方式请看我的文章或自行搜索下,方法很简单,这里就不赘述了。
2. 安装到指定位置
强烈建议不要安装到 C 盘,这个虚拟机会越用越大,未来可能把 C 盘撑爆。虽然可以移动,但是配置起来麻烦,不如一步到位。
首先,在 D 盘创建一个文件夹CentOS8,如果安装 7 的话就创建文件夹CentOS7。
其次,将下载的 ZIP 包解压到对应的目录下,你会得到一个压缩文件和一个可执行文件。以CentOS8为例:初始有CentOS8.exe和rootfs.tar.gz两个文件,中间那个文件是配置后才有的。
最后,双击CentOS8.exe等待配置完成,这个时候你应该已经进入系统了,使用的用户是root。
安装差不多就到这里了,接下来我们简单配置下。
3. 管理虚拟机
如果退出了也不用每次都到文件夹下面去打开,你只要执行wsl -d <发行版>就行了。
wsl --list -v
NAME STATE VERSION
* Ubuntu-20.04 Stopped 2
Ubuntu-22.04 Running 2
Ubuntu-18.04 Stopped 2
CentOS8 Stopped 2
CentOS7 Stopped 2
上面是我安装的所有版本,可以看到CentOS8和CentOS7就是我通过前面的方式安装的。
使用下面的命令打开CentOS8:
wsl -d CentOS8
接下来最重要的一步配置,主要包括配置国内源和配置用户。
4. 配置虚拟机
1. 配置国内源
原始的CentOS8发行版里面是没有源的,无法更新缓存,也就是不能安装软件。
另外,CentOS7发行版里面有国外源,可以缓存,速度没有保证。
这里贴出CentOS8的换源操作,CentOS7的请自行查阅。
#备份原始源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的源wget方法
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
#下载新的源curl方法,这个发行版是没有预装wget的,需要使用curl,效果一样
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
#替换字段
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
#缓存
yum clean
yum makecache
2. 安装软件
对于习惯使用Debian的用户可能会有差别,他们的很多包名不一样。安装软件没有 Debian 系那么简单。
这里介绍几个简单的安装包方法:
cmake:
yum install cmake
wget:
yum install wget
和 Ubuntu 不一样的是,你安装gcc它会同时安装g++,只不过他这里不叫g++。
3. 安装第三方源
CentOS有一个令人诟病的地方,官方的源有时候安装不了一些软件。比如:ffmpeg和htop等等。这个时候就只能通过其它的方法解决了,好在不是太难,当然也够折腾一下的了。
这里以CentOS8安装 ffmpeg 为例:
sudo yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo yum install -y http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.14-2.el7.x86_64.rpm
sudo yum install -y ffmpeg
对,没错不出意外的话还是出意外了。SDL2-2.0.14-2.el7.x86_64.rpm这个包不存在,我去网站找了一圈没有找到,这个是 ffmpeg 依赖的多媒体库,必须装上去才行。
所以,只能另辟蹊径了,接着往下看。
包含了x86和x86_64的两个指令的,按需下载即可。
下载完成后先安装SDL2,安装完成后再安装ffmpeg就没问题了,实测运行没问题,也支持NVCUVID。
同时,WSL的图形界面也是支持的,不需要安装额外的东西。
基本你添加了额外源之后,像htop这种之前不能安装的现在都可以安装了,但可能也不包括所有的包。
其它的包各位另行想办法吧!
5. 配置用户
差点漏了很重要的一个配置,我们登录CentOS8或CentOS7用的都是 root 用户,我们可以自己建一个用户,然后将我们的账号设为登录账号,防止一直以 root 操作引发灾难问题。
1. 创建用户
这个比肩简单,Linux 应该都一样的。这里我推荐 adduser,会默认创建 / home/<用户> 目录,不用指定额外参数,提示输入密码就完成了。
adduser anold
因为这里没有打开密码验证,可以随便输,只做了简单的弱密码提示,直接过了就行了,没有影响。
2. 赋予 sudo 权限
这里我发现连 sudo 程序都没有安装,我选择使用另一种方法配置用户的速度权限,那就是修改 / etc/sudoers。
这一步一定要在 root 账户下进行,因为我们创建的用户这会还没有 sudo 权限。
yum install sudo
vim /etc/sudoers
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
#
# Adding HOME to env_keep may enable a user to run unrestricted
# commands via sudo.
#
# Defaults env_keep += "HOME"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
<你的用户> ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
## Allows members of the users group to mount and unmount the
## cdrom as root
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
## Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown -h now
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
注意:sudoers这个文件很重要,修改需要谨慎,如果是WSL我们还可以通过切换 root挽救,如果是实体机可能就完犊子了。
重点就在这一句:
<你的用户> ALL=(ALL) ALL
这里我之前创建的是anold,所以应该是下面的样子:
anold ALL=(ALL) ALL
切记,wq!
3. 测试 sudo 权限
很简单,使用sudo执行程序就行了。先把用户切换到anold,再执行更新源:
下面的命令会要求输入密码,也可以配置不需要输密码,但我是喜欢输密码,因为一方面是安全着想,另一方面是给自己留一个思考的时间,防止造成不可挽回的损害!
su - anold
sudo yum update
不出意外的话,密码验证通过后就开始更新源了,说明sudo权限增加成功了!
6. 配置登录用户
不想打字了,我之前一篇文章讲述了Ubuntu配置非root用户为默认用户,同样的方法也适用于CentOS8。
WSL 配置默认用户
总结
1、有 CentOS 需求的福音
2、只支持CentOS8和CentOS7两个发行版。