ubuntu20环境搭建+Qt6安装

1 镜像地址

下载源 http://old-releases.ubuntu.com/releases/

2 安装

博主虚拟机中安装的。

请添加图片描述


虚拟机中要安装 vmware tools

sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools-desktop
安装时全部输入Y
然后重启

3 更改源

cd /etc/apt/
cp sources.list sources.list.bk
sudo vim sources.list
添加如下内容
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
# 添加上述内容后update
sudo apt-get update

阿里源 https://developer.aliyun.com/mirror/
清华源 https://mirrors.tuna.tsinghua.edu.cn/
华科源 http://mirrors.ustc.edu.cn/
网易源 http://mirrors.163.com/

请添加图片描述


点击第一个ubuntu按钮,然后找到对应20版本的源。

请添加图片描述

4 搭建工作环境

4.1 删除libreoffice

libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉。

sudo apt-get remove libreoffice-common

4.2 删除Amazon的链接

sudo apt-get remove unity-webapps-common

4.3 删掉基本不用的自带软件(用的时候再装也来得及)

sudo apt-get remove thunderbird totem rhythmbox empathy brasero simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmission-common gnome-orca webbrowser-app gnome-sudoku  landscape-client-ui-install  
sudo apt-get remove onboard deja-dup  

4.4 安装vim

sudo apt-get install vim
如果报错一般需要先
sudo apt-get remove vim-common
然后
sudo apt-get install vim
  • 配置
    配置vim,只需在Home目录创建一个/.vimrc文件即可以配置vim了,如需安装插件,在/.vim目录下创建一个bundle文件夹,插件装在里面。(我通过Vundle管理插件,自行百度Vundle怎么使用),可以参考我的vimrc配置文件: 含有完整的注释
set nocompatible
filetype on

" 当新建 .h .c .hpp .cpp .mk .sh等文件时自动调用SetTitle 函数
autocmd BufNewFile *.[ch],*.hpp,*.cpp,Makefile,*.mk,*.sh exec ":call SetTitle()" 
" 加入注释 
func SetComment()
    call setline(1,"/****************************************************************") 
    call append(line("."),   "*   Copyright (C) ".strftime("%Y")." uMore Ltd. All rights reserved.")
    call append(line(".")+1, "*   ") 
    call append(line(".")+2, "*   File Name:".expand("%:t")) 
    call append(line(".")+3, "*   Author: worthsen")
    call append(line(".")+4, "*   Date: ".strftime("%Y年%m月%d日")) 
    call append(line(".")+5, "*   Description:") 
    call append(line(".")+6, "*")
    call append(line(".")+7, "****************************************************************/") 
    call append(line(".")+8, "")
endfunc

" 加入shell,Makefile注释
func SetComment_sh()
    call setline(3, "#****************************************************************") 
    call setline(4, "#   Copyright (C) ".strftime("%Y")." uMore Ltd. All rights reserved.")
    call setline(5, "#   ") 
    call setline(6, "#   File Name:".expand("%:t")) 
    call setline(7, "#   Author:worthsen")
    call setline(8, "#   Date:".strftime("%Y年%m月%d日")) 
    call setline(9, "#   Description:") 
    call setline(10, "#")
    call setline(11, "#****************************************************************")
    call setline(12, "")
    call setline(13, "")
endfunc 

" 定义函数SetTitle,自动插入文件头 
func SetTitle()
    if &filetype == 'make' 
        call setline(1,"") 
        call setline(2,"")
        call SetComment_sh()
    elseif &filetype == 'sh' 
        call setline(1,"#!/system/bin/sh") 
        call setline(2,"")
        call SetComment_sh()

    else
        call SetComment()
        if expand("%:e") == 'hpp' 
            call append(line(".")+9, "#ifndef _".toupper(expand("%:t:r"))."_H") 
            call append(line(".")+10, "#define _".toupper(expand("%:t:r"))."_H") 
            call append(line(".")+11, "#endif //".toupper(expand("%:t:r"))."_H") 
        elseif expand("%:e") == 'h' 
            call append(line(".")+9, "#ifndef _".toupper(expand("%:t:r"))."_H") 
            call append(line(".")+10, "#define _".toupper(expand("%:t:r"))."_H") 
            call append(line(".")+11, "#endif //".toupper(expand("%:t:r"))."_H") 
            call append(line(".")+12, "#pragma once") 
        elseif &filetype == 'c' 
            call append(line(".")+9,"#include \"".expand("%:t:r").".h\"") 
        elseif &filetype == 'cpp' 
            call append(line(".")+9, "#include \"".expand("%:t:r").".h\"") 
         endif

    endif
endfunc

"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G

" 语法高亮
if &t_Co > 1
     syntax enable
endif

" Tab键的宽度
set tabstop=4
" 自动缩进
set autoindent
set cindent
" 统一缩进为4
set softtabstop=4
set shiftwidth=4

" 显示行号
set number

" 高亮显示匹配的括号
set showmatch

4.5 安装输入法(放弃,安装qt与后续安装qt6有冲突风险)

Ubuntu20.04安装中文输入法

搜狗输入法

目前官方最新的搜狗输入法 for Linux v2.3.1.0112,使用的还是 qt4,依赖于 fcitx-frontend-qt4 等组件,然而在 Ubuntu 20.04 LTS 软件源中 qt4 已被移除,导致安装错误。

百度输入法

# 通过命令行安装aptitude
sudo apt-get install aptitude
# 通过命令行利用aptitude 安装fcitx、qt
sudo aptitude install fcitx-bin fcitx-table fcitx-config-gtk fcitx-config-gtk2 fcitx-frontend-all
sudo aptitude install qt5-default qtcreator qml-module-qtquick-controls2

请添加图片描述


请添加图片描述


请添加图片描述

4.6 安装编译工具

sudo apt install gcc
sudo apt install g++
sudo apt install make
sudo apt install cmake

4.7 安装ifconfig

sudo apt install net-tools

4.8 安装sshd

sudo apt install openssh-server
# 启动ssh服务命令
service sshd start 
# 重启SSH服务
service sshd restart
# 停止ssh服务命令
service sshd stop 
# 查看ssh服务22端口是否启动命令
netstat -antp | grep sshd
# 查看ssh服务进程命令
ps -ef|grep ssh
# 设置ssh服务为开机启动命令
chkconfig sshd on 
# 设置ssh服务禁止开机启动命令
chkconfig sshd off 

4.9 防火墙工具ufw

基于iptable之上的防火墙工具ufw,使用ufw配置防火墙规则远比iptable方便多了。

# 启动防火墙
sudo ufw enable
sudo ufw default deny
# 常用命令
sudo ufw allow smtp     允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp   允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53       允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100      允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp           禁止外部访问smtp服务
sudo ufw delete allow smtp   禁止smtp端口
sudo ufw delete allow 53     禁用53端口

4.10 安装git

sudo apt-get install git

4.11 安装nginx

Nginx 发音 “engine x” ,是一个开源软件,高性能 HTTP 和反向代理服务器,用来在互联网上处理一些大型网站。它可以被用作独立网站服务器,负载均衡,内容缓存和针对 HTTP 和非 HTTP 的反向代理服务器。
和 Apache相比,Nginx 可以处理大量的并发连接,并且每个连接占用一个很小的内存。

sudo apt install nginx
# 启动ngnix服务端口
sudo ufw allow 'Nginx Full'
# 查看状态
sudo ufw status
# 启动nginx服务
sudo /etc/init.d/nginx start
# 退出nginx服务
sudo /etc/init.d/nginx quit
# 立马停止nginx服务
sudo /etc/init.d/nginx stop
# 加载最新配置
sudo /etc/init.d/nginx reload

所有的 Nginx 配置文件都在​​/etc/nginx/​​目录下。
主要的 Nginx 配置文件是​​/etc/nginx/nginx.conf​​。

4.12 安装Qt

安装OpenGL库

注:安装系统时没有选择边安装边更新,此处会缺依赖库
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev

安装Qt 6.3

下载预装包

在线安装,在哪里安装,在哪里打开网页,博主在虚拟机打开官网。
Download Qt | Develop Desktop & Embedded Systems | Qt

请添加图片描述


请添加图片描述


![请添加图片描述](https://img-blog.csdnimg.cn/7aaf43a1f84c41229fd4f86eac27e1ee.png

安装libxcb-xinerama0(如报错)

# 如下报错时
./qt-unified-linux-x64-4.4.1-online.run: error while loading shared libraries: libxcb-xinerama.so.0: cannot open shared object file: No such file or directory
# 重新安装libxcb-xinerama0即可
sudo apt install --reinstall libxcb-xinerama0

请添加图片描述

官网直接下载失败则跳过,通过nginx下载

直接从官网下载,容易emo。

请添加图片描述

通过nginx下载,安装nginx

sudo apt install nginx

修改nginx配置

如上安装nginx,然后修改配置文件/etc/nginx/nginx.conf

server_name  download.qt.io;
rewrite ^(.*)$ https://mirrors.tuna.tsinghua.edu.cn/qt$1 permanent;

请添加图片描述

开启nginx服务

# 启动nginx服务
sudo /etc/init.d/nginx start

修改/etc/hosts文件,增加如下内容

127.0.0.1 download.qt.io

刷新hosts文件

sudo /etc/init.d/network-manager restart

继续下载,选择组件

请添加图片描述


请添加图片描述

选择协议

选择最后一个LGPL协议(商业友好协议,做出来的软件满足条件可以闭源,可以收费)
安装包6.86G,有点猛啊。

关闭nginx

# 退出nginx服务
sudo /etc/init.d/nginx quit

修改/etc/hosts文件,删除如下内容

127.0.0.1 download.qt.io

刷新hosts文件

sudo /etc/init.d/network-manager restart

成功

请添加图片描述

参考

1、[linux–ubuntu sudo update与upgrade的作用及区别以及手动更改apt-get源](linux–ubuntu sudo update与upgrade的作用及区别以及手动更改apt-get源_worthsen的博客-CSDN博客)
2、linux–搭建工作环境
3、linux–vim进阶
4、linux–搭建工作环境_worthsen的博客-CSDN博客_linux工作环境
5、Qt6.0高速在线安装 下载极速无需漫长等待_space9bug的博客-CSDN博客_qt6下载

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...