Windows11专业版使用虚拟化技术安装Linux(CentOS7)
1.Windows11版本信息
2.启用wsl2及Hyper-V相关功能
#wsl2Enable-WindowsOptionalFeature-Online-FeatureName$("Microsoft-Windows-Subsystem-Linux","VirtualMachinePlatform","Containers")#Hyper-V方式一Enable-WindowsOptionalFeature-Online-FeatureName$("Microsoft-Hyper-V","VirtualMachinePlatform","Containers")-All#Hyper-V方式二Enable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Hyper-V-All#关闭(重置)Hyper-VDisable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Hyper-V-All Disable-WindowsOptionalFeature-Online-FeatureNameVirtualMachinePlatform Disable-WindowsOptionalFeature-Online-FeatureNameContainers bcdedit /set hypervisorlaunchtype off bcdedit /enum|findstr"hypervisorlaunchtype"3.虚拟化技术之WSL2
3.1Win11命令行wsl命令无法使用
WSL出现问题,提示“系统找不到相关路径”或者“系统找不到指定的文件“
3.2CentOS7-下载
Windos11下通过WSL安装centos7系统
记录:wsl2 安装 centOS7 一些问题解决 并 使用shell 工具连接
3.3CentOS7-安装
- 1、解压安装包CentOS7.zip至任意路径
- 2、双击运行CentOS7.exe可执行文件
- 3、安装完成后检查Windows下是否存在CentOS7系统文件
- 4、进入CentOS7系统,输入任意命令检查系统是否正常
3.4DockerDesktop版本信息
窗户 |Docker 文档下载地址1下载地址2
3.5wls相关命令
#查看WSL版本信息wsl--version#查看WSL状态wsl--status#列出已安装的 Linux 发行版wsl-l-v#终止特定实例(如果需要终止该子系统)wsl--terminateCentOS7#重启wsl服务wsl--shutdown#设置默认 Linux 发行版(若想将CentOS7设为默认)wsl --set-default CentOS7#将WSL版本设置为1或2wsl --set-version#设置默认 WSL 版本为2wsl --set-default-version2#运行特定的Linux发行版wsl--distribution--user#以特定用户的身份运行wsl-u, wsl--user#更改发行版的默认用户wsl config --default-user#注销或卸载 Linux 发行版wsl--unregisterCentOS7cdD:\Environment\CentOS7 Remove-Item ext4.vhdx wsl--list--all#进入指定的子系统wsl-dCentOS7#更新WSL至最新版wsl--update#启用 systemd 管理 Linux 服务echo-e"[boot]\nsystemd=true"|sudotee-a/etc/wsl.confexit;wsl--shutdownwsl-dCentOS74.虚拟化技术之Hyper-V
4.1Hyper-V网络配置
4.2CentOS7-下载
CentOS 7镜像下载本文使用的版本是CentOS-7-x86_64-DVD-1810-7.6.iso
4.3CentOS7-安装
hyper-v安装linux系统,Hyper-V虚拟机上安装一个图形界面的Linux系统
4.4CentOS7网络配置
#查看宿主机Win11的ip地址ipconfigcd/etc/sysconfig/network-scripts/#手动编辑ifcfg-eth0文件viifcfg-eth0#或用以下内容直接替换TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=dhcpDEFROUTE=yesNETMASK=255.255.255.0IPV4_FAILURE_FATAL=yesIPV6INIT=noIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0UUID=0fad1e43-a8f0-4534-aca5-626e713336bfDEVICE=eth0ONBOOT=yesDNS1=8.8.8.8IPADDR=192.168.1.110PREFIX=24GATEWAY=192.168.1.1LAST_CONNECT=1384407977检查网络是否已经连通
pingwww.baidu.com4.5虚拟机的导出与导入
4.6虚拟机重命名
5.yum命令使用异常
CentOS7报错解决:Cannot find a valid baseurl for repo: base/7/x86_64
cd/etc/yum.repos.dsed-i's/mirrorlist/#mirrorlist/g'CentOS-*sed-i's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g'CentOS-* yum clean all&&yum makecache yum-yupdate yum-yinstallgcc gcc-c++makewgetyum-yinstallopenssl* openssh* yum-yinstallvimtarnet-tools ncurses6.ssh服务及防火墙相关设置
systemctlenablesshd.service systemctl start sshd.servicerpm-qa|grepfirewalld;rpm-qa|grepfirewall-config yum-yinstallfirewalld firewall-configrpm-qifirewalld firewall-config systemctlenablefirewalld.service# 重启防火墙开机自启动systemctl restart firewalld.service# 重启防火墙服务firewall-cmd--version# 查看防火墙版本firewall-cmd --list-all# 查看已开放的端口firewall-cmd--permanent--zone=public --add-port=22/tcp# 开通sftp服务22默认端口firewall-cmd--reload# 刷新防火墙,重新载入# 关闭Selinux策略setsebool-Pftpd_full_access onsed-is#enforcing#disabled#g /etc/sysconfig/selinuxsetenforce0&&getenforce getenforce7.搭建开发环境
7.1安装docker
Docker安装篇(CentOS7安装)
Docker入门
cat/etc/redhat-release yum removedockerdocker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine yum-yinstallgcc gcc-c++ yum-yinstallyum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast yuminstalldocker-ce docker-ce-cli containerd.io systemctl startdockerdockerversion配置docker镜像源
mkdir-p/etc/docker vi/etc/docker/daemon.json//daemon.jsonwe文件内容如下{"registry-mirrors":["https://cr.laoyou.ip-ddns.com","https://image.cloudlayer.icu","https://hub.fast360.xyz","https://docker-0.unsee.tech","https://docker-cf.registry.cyou","https://docker.1panel.live","https://pwhs9o2u.mirror.aliyuncs.com"]}chmod777/etc/docker/daemon.json systemctl daemon-reload systemctl restart docker7.2docker常用命令
systemctl startdockersystemctl statusdockersystemctlenabledockerdockernetwork inspect bridgedockerexec-itmysqlping192.168.1.110#windows使用 findstr ,linux使用 grepdockerinspect oralce11g|grepIPAddressnetstat-tanlp|grep3306dockerport mysqlnetstat-ano|findstr :3306dockerexec-itmysqlbashdockersystem prune-adockerps-a#更新容器至自启动状态dockerupdate 0af13655f6d6--restart=always7.3安装mysql数据库
#拉取镜像dockerpull mysql:8.0.21#查看镜像dockerimages#运行镜像,启用mysql实例dockerrun-d--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD=mc123456--restart=always mysql:8.0.21dockerupdate 0af13655f6d6--restart=always firewall-cmd--permanent--zone=public --add-port=3306/tcp firewall-cmd--reloaddockerps-alldockerrm容器ID7.4安装redis数据库
dockersearch redisdockerpull redisdockerrun-p6379:6379--nameredis-d--restart=always redis7.5安装oracle数据库
dockerpull iatebes/oracle_11gdockerrun-d--privileged=true--nameoralce11g-p1521:1521-eORACLE_SID=orcl-eORACLE_PWD=oracle-eENABLE_ARCHIVELOG=true--restart=always iatebes/oracle_11gdockernetwork inspect bridgedockerexec-itoralce11gping172.17.0.2dockerinspect oralce11g|findstr IPAddressdockerport mysqldockerexec-itoralce11gbashsu- oracle sqlplus /nolog conn / as sysdba ALTERUSERsystem IDENTIFIED BY oracle;GRANT SYSDBA TO system;exit;su- oracle sqlplus / as sysdba conn system/root as sysdba;# 查询实例selectinstance_name fromv$instance;show parameter name# 查询数据库selectname fromv$datafile;# 创建表空间create tablespace CK_BUS_TABLE_SPACE datafile'/opt/oracle/app/oradata/orcl/CK_BUS_TABLE_SPACE.dbf'size 200m autoextend on extent managementlocalsegment space management auto;# 查询数据库selectname fromv$datafile;# 创建用户并指定表空间# CREATE USER 用户 IDENTIFIED BY 用户密码 DEFAULT TABLESPACE NOTIFYDB;CREATEUSERCK_BUS IDENTIFIED BY ck_bus DEFAULT TABLESPACE CK_BUS_TABLE_SPACE;# 给用户授予dba的权限grant SYSDBA to CK_BUS;# 登录账号conn CK_BUS/ck_bus as sysdba;select* from dual;exit;ORA-01950: no privileges on tablespace ‘USERS’ 处理
--检查当前配额SELECTtablespace_name,max_bytesFROMdba_ts_quotasWHEREusername='CK_BUS';-- 给某个用户在 CK_BUS_TABLE_SPACE 表空间上无限制使用权限ALTERUSERCK_BUS QUOTA UNLIMITEDONCK_BUS_TABLE_SPACE;-- 或者分配固定配额,比如 1000MALTERUSERCK_BUS QUOTA1000MONCK_BUS_TABLE_SPACE;--ORA-01045: user lacks CREATE SESSION privilege; logon deniedgrantcreatesession,resourcetoCK_BUS;7.6安装Java环境
Docker 安装JDK1.8
dockerpull java:8dockerrun-d-it--namejava8--restart=always java:8dockerexec-itjava8 /bin/bashjava-version7.7部署Java项目
#编写Dockerfile文件#导入java项目依赖FROM java:8#暴露java项目的端口EXPOSE8099# 将本地的 JAR 文件复制到容器中COPY ck-bus-admin-1.0.0-BOOT.jar /app.jar# 运行 JAR 文件CMD["java","-jar","/app.jar"]#将Dockerfile文件和java项目的jar包上传至linux的同一级目录#执行镜像构建命令dockerbuild-tck_bus.#查看java项目镜像构建情况dockerimages#启动java项目dockerrun-d--nameck_bus-test-p8099:8099--restart=always ck_bus#查看java项目执行日志dockerlogs ck_bus-testcurl192.168.1.110:8090#进入java项目容器之内dockerexec-itck_bus-testbash#查看docker容器执行情况dockerps-a#删除java项目步骤,停止服务,删除容器,删除镜像dockerstop ck_bus-testdockerrmck_bus-testdockerrmi ck_bus8.Windows安装oracle轻量连接
无需安装Oracle客户端,轻松实现ODBC链接Oracle数据库
通过ODBC连接Oracle数据库
官网下载
下载Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC 安全更新
删除未使用的驱动
注册表路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
#新建文件夹 D:\ProgramFiles\Oracle\instantclient_11_2\network\ADMIN #新建文件 tnsnames.ora 并添加如下内容 # tnsnames.ora Network Configuration File: D:\ProgramFiles\Oracle\instantclient_11_2\network\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) #新建文件 listener.ora 并添加如下内容 # listener.ora Network Configuration File: D:\ProgramFiles\Oracle\instantclient_11_2\network\ADMIN\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\ProgramFiles\Oracle\instantclient_11_2) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )9.Windows跟踪命令提示符cmd的执行情况
SxsTrace Trace -logfile:d:\SxsTrace.etl SxsTrace Parse -logfile:d:\SxsTrace.etl -outfile:d:\SxsTrace.txt