从Centos7升级到Centos8的教程(图文详解)

升级完毕,检查发现kernel、rpm等还是原来的,感觉只是修改了/etc/centos-release,仅供参考吧!!!

 

如果在正式环境升级,请做好数据备份以及重要配置备份!因为升级会造成一部分应用被卸载。

1.安装epel源

yum -y install epel-release

2.安装rpmconf和yum-utils

yum -y install rpmconf yum-utils

3.执行rpmconf ,如果出现一些提示,请输入Y和回车继续,如果没提示继续第四步操作

rpmconf -a

4.安装dnf

yum -y install dnf

5.移除yum和yum-metadata-parser

dnf -y remove yum yum-metadata-parser

6.删除/etc/yum目录

rm -rf /etc/yum

7.安装Centos8的源和升级epel源

 

1

2

3

4

dnf -y upgrade

dnf -y upgrade http://mirrors.163.com/centos/8.0.1905/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm

dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

dnf clean all

8.卸载centos7的内核

rpm -e --nodeps `rpm -q kernel`

9.升级到centos8,这一步一般会报错,如果没有报错请进行第10步操作

1

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

发现报错之后先卸载类似于图上from package后面的包名

1

2

3

4

rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64

rpm -e --nodeps python-inotify-0.9.4-4.el7.noarch

rpm -e --nodeps adwaita-qt5-1.0-1.el7.x86_64

rpm -e --nodeps pycairo-1.8.10-8.el7.x86_64

卸载完后再次执行升级

1

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

10.执行rpmconf,会出现如下界面,一直输入Y和回车即可

rpmconf -a

11.重启机器

reboot

总结

以上所述是小编给大家介绍的从Centos7升级到Centos8的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

 

转载至https://www.jb51.net/article/174239.htm

### 如何使用 UniApp 开发微信小程序实现视频上传与预览功能 #### 前端页面设计 为了实现在 UniApp 中开发微信小程序的视频上传和预览功能,前端页面的设计至关重要。可以创建两个主要界面:一个是用于选择本地视频文件并执行上传操作;另一个则是展示已上传视频供用户观看。 对于视频的选择与上传部分,在 `pages/index.vue` 文件内定义如下组件: ```vue <template> <view class="container"> <!-- 显示当前选中的视频缩略图 --> <video id="myVideo" :src="tempFilePath"></video> <!-- 视频选择按钮 --> <button type="primary" @click="chooseVideo">选择视频</button> <!-- 提交上传按钮 --> <button v-if="!uploading && tempFilePath !== &#39;&#39;" type="warn" @click="doUpload">上传视频</button> <!-- 正在上传提示 --> <text v-if="uploading">{{ progress }}%</text> </view> </template> <script> export default { data() { return { tempFilePath: &#39;&#39;, // 存储临时路径 uploading: false, progress: 0 // 记录上传进度百分比 } }, methods: { chooseVideo() { uni.chooseVideo({ success(res) { this.tempFilePath = res.tempFilePath; }.bind(this), fail(err) { console.error(&#39;选择失败&#39;, err); } }); }, doUpload() { const that = this; wx.uploadFile({ url: &#39;http://your.server/api/upload&#39;, filePath: this.tempFilePath, name: &#39;file&#39;, formData: {}, header: {&#39;content-type&#39;: &#39;multipart/form-data&#39;}, success(uploadRes) { if (JSON.parse(uploadRes.data).success === true){ uni.showToast({title:&#39;上传成功&#39;}); }else{ uni.showModal({ content: JSON.stringify(JSON.parse(uploadRes.data)), showCancel:false}); } }, onProgressUpdate(progressEvent) { that.progress = Math.floor((progressEvent.totalBytesSent / progressEvent.totalBytesExpectedToSend)*100); } }); this.uploading = true; } } } </script> ``` 此代码片段实现了基本的视频选取以及通过 `wx.uploadFile()` 方法向指定 URL 发送 POST 请求完成上传过程[^1]。 #### 后端接口调用及服务器配置 后端服务需要提供接收来自客户端发送过来的数据流的能力,并将其存储至适当位置(如云储存)。这里假设采用 Node.js 和 Express 框架作为后台技术栈来处理 HTTP 请求。 安装必要的依赖包: ```bash npm install express multer cors body-parser ``` 编写简单的路由逻辑以支持文件上传: ```javascript const path = require(&#39;path&#39;); const fs = require(&#39;fs&#39;); const express = require(&#39;express&#39;); const multer = require(&#39;multer&#39;); // 创建Express应用实例 let app = express(); // 配置Multer中间件解析表单数据 var storage = multer.diskStorage({ destination(req, file, cb) {cb(null,&#39;./uploads/&#39;)}, filename(req,file,callback){callback(null,new Date().toISOString()+path.extname(file.originalname))} }); let upload = multer({storage}).single(&#39;file&#39;); app.use(express.json()); app.use(cors()); // 处理POST请求 - 图片上传API endpoint app.post(&#39;/api/upload&#39;,(req,res,next)=>{ try { upload(req, res,function(error){ if (!error){ let response={ message:"File uploaded successfully", fileName:req.file.filename }; res.status(200).send(response); } else { throw new Error(`Error during file upload ${error.message}`); } }) } catch(e){ next(new Error(e)); } }) // 错误处理器 app.use(function(err, req, res, next) { console.log(err.stack); res.status(500).json({ error: "Something went wrong!" }); }); // 设置静态资源目录以便可以直接访问上传后的文件 app.use("/uploads", express.static(path.join(__dirname,"uploads"))); // 监听端口启动HTTP server app.listen(process.env.PORT || 3000,()=>{ console.log("Server started"); }) ``` 这段脚本设置了一个 RESTful API `/api/upload` 来接受从前端传来的多媒体文件并将它们保存到磁盘上的特定文件夹中。同时启用了 CORS 支持跨源资源共享。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值