关于Linux(Ubuntu)
之前打ICPC用的wf镜像,不适应ubuntu系统的各种操作,其实队伍里面只有我不会。本文记录一些日常使用ubuntu中遇到的一些问题,以后如果上相关的选修课也可以用用
安装软件
一些软件给linux系统提供了好几种版本,比如X86,ARM,LoogArch、MIPS等,这四种版本的区别:
X86(或x86_64): 适用于大多数个人计算机和服务器的标准桌面和服务器硬件,通常是Intel或AMD处理器。
ARM: 适用于基于ARM架构的设备,如某些嵌入式系统、智能手机、平板电脑等。
loongArch(龙芯架构): 龙芯是中国的一个处理器架构,适用于支持龙芯架构的硬件。
MIPS: 适用于MIPS架构的硬件,这种架构在嵌入式系统和某些网络设备中较为常见。
1 | 查看ubuntu系统的版本信息 |
选了架构之后,下载的软件包又分为三种:
三个不同的包格式(.rpm、.deb、AppImage)在Linux中用于软件管理,它们有一些基本的区别:
.rpm(Red Hat Package Manager): 主要用于基于Red Hat的发行版,如Fedora、openSUSE、CentOS等。这种包格式是通过Red Hat开发的,用于简化软件的安装、升级和卸载。
.deb(Debian Package): 用于Debian及其衍生发行版,如Ubuntu。Debian包管理系统使用.deb格式,也是一种用于简化软件管理的包格式。
AppImage: 是一种独立的可执行软件包格式,不依赖于特定的包管理系统。AppImage封装了应用程序及其依赖项,可以在多个不同的Linux发行版上运行,而无需安装。这使得AppImage更具有可移植性。
关于.deb:
1.找到.deb文件所在的目录,打开终端
2.输入命令$ sudo dpkg -i xxx.deb
*如果出现依赖向错误,可以使用
1 | # 1、更新源 |
关于.AppImage:
需要先给这个加权限
1 | chmod +x example.AppImage # 赋予可执行权限 |
+x
是 chmod
命令的一个选项,用于赋予文件可执行权限。在 Unix 和 Linux 系统中,文件权限包括读取 (read, r
)、写入 (write, w
) 和执行 (execute, x
)。这些权限可以分别应用于文件的所有者、所在组和其他用户。
具体来说,chmod +x <filename>
命令用于将文件 <filename>
标记为可执行文件,这样用户就可以运行这个文件。
r
(read) - 读取权限w
(write) - 写入权限x
(execute) - 执行权限
然后就会发现双击打不开,在命令行中显示要FUSE
安装FUSE
1 | sudo add-apt-repository universe |
然后就行了
扩展磁盘
扩展之前要先把快照删掉,扩展完之后还要在操作系统中设置才能真正的使用,不然是属于未分配的空间(扩展完最好先保存快照防止意外)。
方法也很简单,Ubuntu自带一个disk工具,打开之后就可以选择一个分区扩容,直接拉到最大即可
配置clash
参考Linux(ubuntu)系统安装和使用clash。
下载压缩包,解压文件,在终端中打开使用命令sudo vim .env
。
编辑文件,将其改为:
1 | export CLASH_URL='URL' |
CLASH_SECRET='1111'
将其设置为1111是方便输入密码,不填的话默认是随即字符串。
输入:
1 | sudo bash start.sh |
然后和教程里的步骤不一样,直接用默认的就行不用改什么ip地址。
直接
1 | source /etc/profile.d/clash.sh |
即可。
然后proxy_on
打开代理。
要进入图形化界面对代理进行设置。
输入ip a
查看地址。
其中有一行的前面是这样的:
1 | inet xxx.xxx.xxx.xxx/xxx brd xxx.xxx.xxx.xxx |
这里inet后面的xxx.xxx.xxx.xxx
就是ip地址。
将http://xxx.xxx.xxx.xxx:9090/ui/
中的xxx.xxx.xxx.xxx替换为自己的ip地址,打开这个链接,然后在API Base URL后填上http://127.0.0.1:9090
(默认的那个),就是网址去掉/ui后的内容,在Secret这一栏填上设置的密码(1111),然后点击add,下方就会多出一个选项,点进去就行。
成功的话长这样:
因为clash对7890端口开放,
所以还要手动设置,按照知乎里面那篇文章设置
然后就没问题了,关闭代理只要在终端输入sudo bash shutdown.sh
和proxy_off
。
有点麻烦的是每次开机要重新设置,sudo bash start,proxy_on,切到手动网络配置。有时间写个.sh
upd:问chat要了个脚本
开启代理
1 |
|
暂时关闭代理
1 |
|
重新开启代理
1 |
|
c/c++环境的搭建
配置vim
参考:https://www.bilibili.com/video/BV16P4y1X7xQ/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=d8e94394d339be4a8b0e2b575781e097
下载c/c++插件https://www.bilibili.com/video/BV16P4y1X7xQ/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=d8e94394d339be4a8b0e2b575781e097
如果装vim-plug报错:https://www.cnblogs.com/yutian-blogs/p/12904221.html
升级nodejs版本https://blog.csdn.net/fuhanghang/article/details/133853433
安装cochttps://github.com/neoclide/coc.nvim
coc json的设置 https://github.com/godotc/toys/blob/main/coc-settings.json
配置clion
直接用命令
1 | sudo snap install clion --classic |
还要安装make,gcc,g++这些
1 | sudo apt install make |
然后就可以运行了
关于apt:
Linux apt 命令
配置cpeditor
cpeditor与clion相比较为轻量级,占用的资源也很少比较适合在虚拟机这可怜的内存里面运行。
下载地址
没有代码补全功能是真的很难受,对于我这样的唐氏选手很不友好……就当练练手速了。
安装clang-format用于格式化代码
1 | sudo apt-get install clang-format |
配置redpanda
有代码补全,算是一个折中的方案了,平时训练可以用用cpeditor,一些比赛就还是带上代码补全会好一些。
下载链接
居然感觉比win端的体验要舒服一些。