Manjaro-生存手册

[toc]

下载镜像

选择镜像

1.XFCE

Xfce 是一个用于类 UNIX 操作系统的轻量级桌面环境。它的目标是快速和低系统资源,同时仍然具有视觉吸引力和用户友好性。Xfce 体现了传统的 UNIX 模块化和可重用性哲学。它由许多组件组成,这些组件提供了现代桌面环境所期望的全部功能。它们是单独包装的,您可以在可用的软件包中进行选择,以创建最佳的个人工作环境。

XFCE

2.KDE Plasma

KDE Plasma 适合那些想要用户友好和可定制桌面的人。它是一个功能丰富且用途广泛的桌面环境,提供多种不同风格的菜单来访问应用程序。一个出色的内置界面,可以轻松访问和安装来自互联网的新主题、小部件等,也值得一提。默认情况下,KDE Plasma 很简单,它是一个干净的工作区域,供实际使用,不会妨碍您,因此用户可以创建工作流程,从而更有效地完成任务。

KDEPlasma

3.GNOME

对于想要一个非常现代和简单的桌面的人

简单来说,这就是像ubuntu那样的桌面,算是极简主义者的天堂了。

GNOME

制造启动U盘

下载工具

这里我们去balenaEtcher的官网下载一个便携式的u盘刻录工具,萌新前期可以通过这个工具把我们需要装的系统刻录进u盘中。(如果觉得一次只能刻录一个镜像而感到苦恼的话,也可以去ventoy官网下载ventoy这款无敌的工具,能够兼容多个系统镜像,真正让你的u盘不再唯一)

刻录好u盘之后我们可以开始进行我们的系统安装了!!!

1.单系统(manjaro)

2.双系统(window10 + manjaro)

一.与window10 efi 共存方案

二.单独一个 manjaro efi 方案

三.如何删除双系统下的manjaro系统

注意事项

直接在window系统上面格式化manjaro的磁盘是不能完全删除manjaro的,这样做会触发efi检测不到manjaro硬盘而进入grub模式!!!

1.EFI根除教程

1.删除EFI首先在cmd里面把装系统的那个分区显现出来,并且赋予盘符号。

  • 1.用diskpart来对磁盘进行操作

  • 然后给diskpart授权开启

  • 2.查看磁盘命令

  • 3.选中目标磁盘0用select disk 0命令

  • 4.列出该磁盘下的所有分区信息用list partition命令

  • 5.选择我们的EFI系统分区用select partition 1命令(在这一步也可以删掉选中盘的所有内容(命令是delete partition override)(执行这条命令相当于把那个分区抹去了))

  • 6.用命令给这个EFI分区赋予盘符之后,它就会像一个磁盘出现在电脑里面,命令是assign letter=p(这里p是盘符号,你也可以按照自己喜欢来打其他字母,只要不重复就好。)

  • 7.然后你就神奇的发现多了一个p盘分区(这个叫SYSTEM的磁盘分区就是那个EFI)

  • 8.这个时候你可以使用新建文本文档在里面打开这个p盘里面删掉EFI里面的系统启动文件或者用Total Commander 64 bit这个东西来删除里面的删掉EFI里面的系统启动文件千万别把整个EFI干掉,那就是一把梭,莽!!!


  • 然后移除盘符p用命令remove letter=p

2.删除卷

右键此电脑—>单击管理—>单击磁盘管理—>找到你分配给manjaro的磁盘,直接右击删除卷,然后重新添加新的分区就行了。

3.manjaro系统入门操作(过不了就躺板板吧,别学了)

换源

1.换国内软件源

安装完成manjaro的第一步就是给manjaro换上国内源,使接下来能安装软件等其他操作。

1
sudo pacman-mirrors -i -c China -m rank #在弹出来的面板选择一道两个时间短的源

下面这个跟上面那一步操作类似,它是直接把源放入到文件里面一步到位(注意:这个源要放文件内容最前面),有上面命令的操作可以跳过导入源到mirrorlist这一步。

首先把这几个源加入到这个文件里面:

1
sudo vi /etc/pacman.d/mirrorlist    #因为没有软件源,我没办法下载vim,所以这里我用的编辑器是vi,你们可以使用nano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
## Country : China
Server = https://mirrors.huaweicloud.com/manjaro/stable/$repo/$arch

## Country : China
Server = https://mirrors.ustc.edu.cn/manjaro/stable/$repo/$arch

## Country : China
Server = https://mirrors.sjtug.sjtu.edu.cn/manjaro/stable/$repo/$arch

## Country : China
Server = https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch

## Country : China
Server = https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch

2.添加cn软件源(完成这步,就可以正常下载东西了)

这里我使用的是中科大的软件源:

1
sudo vi /etc/pacman.conf
1
2
3
4
#中科大源
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
1
2
pacman -Syyu                     #更新整个系统
pacman -S archlinuxcn-keyring #安装密钥环密钥
注意:如果更新的时候出现manjaro pacman:“GPGME错误:无数据”问题

如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pacman -Syyu
错误:GPGME error: 无数据
错误:GPGME error: 无数据
错误:GPGME error: 无数据
错误:GPGME error: 无数据
错误:GPGME error: 无数据
:: 正在同步软件包数据库...
core 已经是最新版本 0.0 B 0.00B/s 00:00 [----------------------] 0%
extra 已经是最新版本 0.0 B 0.00B/s 00:00 [----------------------] 0%
community 已经是最新版本 0.0 B 0.00B/s 00:00 [----------------------] 0%
multilib-testing 已经是最新版本 B 0.00B/s 00:00 [----------------------] 0%
multilib 已经是最新版本 0.0 B 0.00B/s 00:00 [----------------------] 0%
错误:数据库 'core' 无效 (无效或已损坏的数据库 (PGP 签名))
错误:数据库 'extra' 无效 (无效或已损坏的数据库 (PGP 签名))
错误:数据库 'community' 无效 (无效或已损坏的数据库 (PGP 签名))
错误:数据库 'multilib-testing' 无效 (无效或已损坏的数据库 (PGP 签名))
错误:数据库 'multilib' 无效 (无效或已损坏的数据库 (PGP 签名))

只需要执行这条命令就可以正常启动

1
sudo rm -R /var/lib/pacman/sync

常用工具

1.vim编辑工具

1
sudo pacman -S vim         # vim编辑器永远的神

2.时间同步(非常重要,影响科学上网的vmess协议)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#硬件时间and系统时间
#这2个时间不是同步的!如果有一天发现系统的时间不对了,可以分别看看这2个时间。硬件时间写在BIOS里,系统时间就是电脑显示的时间了。
#这个显示的时硬件时间。
sudo hwclock -r
[sudo] $home 的密码:
2022-01-21 17:28:32.107794+08:00

#在使用ntpdate同步网络时间后可以将时间写入到BIOS:
#同步网络时间:
sudo ntpdate time.windows.com
21 Jan 17:30:46 ntpdate[1898]: adjust time server 20.189.79.72 offset -0.276329 sec

#写入BIOS:
sudo hwclock -w #写入BISO
#再看看现在的时间
sudo hwclock -r
2014年12月31日 星期三 20时26分03秒 -0.979207 seconds

3.安装yay

1
sudo pacman -S yay #yay可以安装archlinux wiki上面的AUR软件包,给archlinux点赞

Archlinux庞大的AUR软件包地址,需要软件包直接进去搜索

4.安装一个非常重要的基础库base-devel

1
2
3
4
5
6
7
sudo pacman -S base-devel
#:: 在组 base-devel 中有 24 成员:
#:: 软件仓库 core
1) autoconf 2) automake 3) binutils 4) bison 5) fakeroot 6) file 7) findutils 8) flex 9) gawk
10) gcc 11) gettext 12) grep 13) groff 14) gzip 15) libtool 16) m4 17) make 18) pacman 19) patch
20) pkgconf 21) sed 22) sudo 23) texinfo 24) which
#这个基础包必须安装,否则我们在使用yay安装AUR软件的时候经常会遇到安装不上的问题。

5.浏览器

谷歌浏览器
1
yay -S google-chrome
Chromium
1
sudo pacman -S chromium
火狐浏览器
1
sudo pacman -S firefox

中文汉化

1
sudo pacman -S firefox-i18n-zh-cn

6.办公套件WPS

虽然安装manjaro的时候让你选择了办公套件,但是全英文的真是一言难尽。还是用回国产吧!

那就直接AUR库安装wps咯

1
yay -S wps-office-mui-zh-cn wps-office-mime-cn wps-office-cn wps-office-fonts ttf-ms-fonts  ttf-wps-fonts

ttf-wps-fontswps-office-fontsttf-ms-fonts是安装字体的,可选安装的,我这就懒了,直接一把梭呗!

7.安装Jetbra全家桶(以Pycharm为例子)

Manjaro_install_Pycharm_Professional

8.安装obs

使用命令下面命令安装

1
yay -S obs-studio

你启动obs的时候可以看到启动然后马上闪退

这里只需要把libva-vdpau-driver这个包删了就行了

1
sudo pacman -R libva-vdpau-driver

然后,就能正常使用obs了

Screenshot_20231122_150148

但是。。。我手贱没将它加入忽略更新里面,敲了一次sudo pacman -Syyu这个obs就挂了

好吧!试一下编译安装

1
yay -S obs-studio-rc

这个倒是没问题了,所以不确定的包,尽量别更新,趁早丢忽略更新里头。

好好查查文档,想玩好arch就得看官方文档,上游更新之后,系统只要滚一下就是最新的了,所以很多问题都没有披露就被你“趁热”吃上了。

obs官网

obs-studio-github

obs-studio-github-install

安装输入法

Fcitx5 官方文档
中文及日文输入法均体验良好。

1
2
3
4
5
6
sudo pacman -S fcitx5-im #基础包组
sudo pacman -S fcitx5-chinese-addons #官方中文输入引擎
sudo pacman -S fcitx5-anthy #日文输入引擎
yay -S fcitx5-pinyin-moegirl #萌娘百科词库 由于中国大陆政府对github封锁,你可能在此卡住。如卡住,可根据后文设置好代理后再安装
sudo pacman -S fcitx5-pinyin-zhwiki #中文维基百科词库
sudo pacman -S fcitx5-material-color #主题

设置环境变量 编辑文件 sudo vim /etc/environment 加入以下内容。konsole 以及 dolphin 都需要这些环境变量,倒是 chrome 和 firefox 都不需要就可以输入中文

1
2
3
4
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx

打开 系统设置 > 区域设置 > _输入法_,先点击运行Fcitx即可,拼音为默认添加项。如你还需要更多输入法如五笔,则再点击添加输入法,找到简体中文下的五笔 ,点击添加即可加入五笔输入法。(建议,无论什么输入法都留一个英文的输入法在首位置)。

接下来点击 拼音 右侧的配置按钮,点选云拼音在程序中显示预编辑文本 最后应用。

回到输入法设置,点击配置附加组件,找到 经典用户界面 在主题里选择一个你喜欢的颜色 最后应用。

注销,重新登陆,就可以发现已经可以在各个软件中输入中文了

聊天工具

我们日常使用的聊天工具无非就是微信,QQ,Telegram

这个时候,我们可以去Archlinux庞大的AUR软件里面搜索

1
2
3
4
5
6
#微信(已经是孤儿包不维护了)
yay -S deepin-wine-wechat
#QQ(已经是孤儿包不维护了)
yay -S deepin-wine-qq
#Telegram
sudo pacman -S telegram-desktop

科学上网(没有经验的直接跳过)

服务器端(Server端)

1.科学上网服务器(外网服务器一台)
1
2
# 系统是centos7,更新软件
yum update -y && yum upgrade && yum install curl -y && yum -y install wget
1
2
# 脚本
wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh
2.开启BBR加速

2然后选19懂???

1
2
3
wget --no-check-certificate -O tcpx.sh https://raw.githubusercontent.com/ylx2016/Linux-NetSpeed/master/tcpx.sh && chmod +x tcpx.sh && ./tcpx.sh
uname -r
lsmod | grep bbr
不喜欢上面的一键脚本可以试一下X-UI
1
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
docker(xui)
1
2
3
4
5
6
mkdir x-ui && cd x-ui
docker run -it --network=host \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--name x-ui --restart=unless-stopped \
enwaiax/x-ui

客户端(Client端)

https://clashforwindows.app/download/

目前 Clash for Windows 最新版本为 v0.20.39,可直接点击下表下载最新版 Clash for Windows。原厂备份,绝无修改,😂笑死根本不会改。

文件名 说明 下载
Clash.for.Windows-0.20.39-arm64-linux.tar.gz Linux ARM 64 位 版本 压缩包 下载
⭐Clash.for.Windows-0.20.39-win.7z Windows 64 位 版本 压缩包 下载
Clash.for.Windows-0.20.39-x64-linux.tar.gz Linux 64 位 版本 压缩包 下载
Clash.for.Windows-0.20.39.dmg Mac 64 位 版本 下载
Clash.for.Windows.Setup.0.20.39.arm64.exe Windows ARM 64 位 版本 下载
⭐Clash.for.Windows.Setup.0.20.39.exe Windows 64 位 版本 下载
Clash.for.Windows.Setup.0.20.39.ia32.exe Windows 英特尔 32 位 版本 下载

美化系统

装个像Mac一样的dock栏

1
sudo pacman -S latte-dock

Screenshot_20231116_172202

点一下Latte下面就会弹出这样的dock(你想多了,没这么好看,你得微调)

Screenshot_20231116_171950

设置桌面动效

娱乐篇

哈哈嗨!说了是娱乐嘛!那肯定得打游戏优先咯。那不得先玩玩fps游戏?

Arch_can_actually_play_games

虚拟化

1.KVM

环境检查
1
2
3
4
5
6
7
8
9
10
# 检查硬件是否支持虚拟化
LC_ALL=C lscpu | grep Virtualization
# 检查内核是否已经包含了支持虚拟化所必须的模块
zgrep CONFIG_KVM /proc/config.gz
# 确定模块是否已经加载
lsmod | grep kvm
# 这里输出中需要包含 virtio
lsmod | grep virtio
# 没有 virtio 时执行
sudo modprobe virtio

Screenshot_20231116_163347Screenshot_20231116_163419Screenshot_20231116_163438

安装KVM

执行下列命令安装必要软件

1
sudo  pacman -S qemu libvirt ovmf virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat
  • qemu QEMU 软件,提供 qemu-img 等命令
  • libvirt 提供管理虚拟机、存储、网络的功能
  • virt-manager, 图形化的管理界面
  • virt-viewer是虚拟机查看器,它是一个显示虚拟化客户机的图形界面的工具
  • dnsmasq DHCP DNS 服务,用于 default NAT 网络
  • bridge-utils 桥接网络管理,用于桥接网络
  • openbsd-netcat 用于通过 SSH 管理
重置虚拟机配置
1
yay -S --noconfirm --needed libguestfs
启动服务
1
2
3
4
# 启动虚拟机管理后台服务
sudo systemctl start libvirtd
# 启动 default NAT 网络
sudo virsh net-start default
设置开机启动
1
2
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
添加权限组

修改libvirtd.conf文件

1
2
3
4
5
sudo vim /etc/libvirt/libvirtd.conf
# 将UNIX域套接字组所有权设置为libvirt(第85行):
unix_sock_group = "libvirt"
# 设置R/W套接字的UNIX套接字权限(第108行):
unix_sock_rw_perms = "0770"

保存退出,执行下面命令:

1
2
3
4
5
6
#将你的用户帐户添加到libvirt组:
sudo usermod -a -G libvirt $(whoami)
# newgrp 命令使当前普通用户登入到这个群组
newgrp libvirt
# 重启libvirt守护进程:
sudo systemctl restart libvirtd.service
开启嵌套虚拟化

嵌套虚拟化功能使你可以在KVM虚拟机中运行虚拟机,我的CPU是intel的,启用内核模块为kvm_intel,如果是amd的需要改为kvm_amd

1
2
3
4
5
6
7
8
9
10
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1
要使此配置持久,请运行:
echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf
确认嵌套虚拟化设置为是:
systool -m kvm_intel -v | grep nested
nested = "Y"
nested_early_check = "N"
cat /sys/module/kvm_intel/parameters/nested
Y
创建虚拟机

直接打开virt-manager点点点就行了,这就不用我教了吧!

Screenshot_20231116_165156

这个KVM篇章就是用上面这个虚拟机写的,命令、图片传输只能通过nas传,后续使用VMwareWorkstation就能通过自带的tool加强Linux主机和虚拟机的联系。

2.VMwareWorkstation 篇

vmware-workstation

Screenshot_20231125_164005

3.VirtualBox篇

4.docker篇

一.安装docker
1
sudo pacman -S docker
二.docker基础服务命令

启动docker

1
systemctl start docker

开机启动docker

1
systemctl enable docker

关掉开机启动docker

1
systemclt disable docker

显示docker的版本信息

1
docker version
三.配置镜像加速和docker代理

镜像加速

1
vim /etc/docker/daemon.json

加入这个中科大的源

1
2
3
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

重新加载配置

1
systemctl daemon-reload
1
systemctl restart docker
四.docker命令

查看docker安装的镜像

1
docker images

搜索镜像

1
docker search 目标镜像

下载目标镜像

1
docker pull 目标镜像

下载指定版本的目标镜像

1
docker pull 目标镜像:版本

卸载目标镜像

1
docker rmi -f 容器ID 容器ID 容器ID 容器ID

运行容器

1
2
3
4
5
6
7
8
9
10
docker run [可选参数] image
# 参数说明
--name="Name" Name是你给容器起的名字,来区分容器
-d 后台方式运行
-it 使用交互方式运行,加入容器看内容
-p 指定容器的端口 -p 8080:8080
-p IP:主机端口:容器端口
-p 主机端口:容器端口
-p 容器端口
-P(大P) 随机指定端口

查看正在运行的容器

1
2
3
docker ps
-a #列出当前正在运行的容器+带出历史运行过的容器
-q #列出容器id

退出容器

1
2
exit  #直接容器停止并且退出
ctrl + p + q #容器不停止退出

删除容器

1
2
3
docker rm 容器id      #删除指定的容器,不能删除正在运行发容器 
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -aq | xargs docker rm #删除所有容器

启动和停止容器的操作

1
2
3
4
docker start 容器id   #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前容器
五.常用其他命令

后台启动容器

1
2
3
4
docker run -d 镜像名
# 问题docker ps ,发现centos 停止了
#常见的坑,docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
#nginx,容器启动后发现自己没有提供服务,就会立刻停止,就是没有程序了

查看日志目录

1
2
3
docker logs -tf --tail 10 容器id      #看十条容器日志
-tf #显示日志
--tail number #要显示日志条数

查看容器中进程信息

1
docker top 容器id

查看容器的原数据

1
docker inspect 容器id

备份:导出容器数据

1
docker export 容器id > xx.tar

备份:导入备份数据

1
cat xx.tar | docker import - 镜像用户/镜像名:镜像版本号

打包容器成为镜像

1
docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]

进入当前正在运行的容器

1
2
3
4
方式一:进去容器后开启一个新的终端,可以在里面操作(常用)
docker exec -it 容器id /bin/bash
方式二:进入正在运行的终端,不会启动新的进程
docker attach 容器id

拷贝容器里面的数据到主机

1
2
docker cp 容器id:/home/* /home
# 把容器的home目录下的全部文件拷贝到我主机的home目录
部署Mariadb
1
2
3
4
5
6
7
sudo docker run --restart=always --name mariadb01 \ 
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /home/orange/docker/mariadb/mysql.conf.d/mysql.cnf:/etc/mysql/mysql.conf.d/mysql.cnf \
-v /home/orange/docker/mariadb/data:/var/lib/mysql \
-d mariadb
#-e环境配置
部署Nginx
1
docker run --name nginx01 -p 8080:80 -v /home/orange/docker/nginx/html:/usr/share/nginx/html:ro -d amd64/nginx
六.docker-compose
WordPress
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
version: '1.18.0'

services:

wordpress:
image: wordpress
restart: always
ports:
- 80:80
- 443:443
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: orange
WORDPRESS_DB_PASSWORD: NNLCV9GG
WORDPRESS_DB_NAME: WordPress
volumes:
- wordpress:/var/www/html

db:
image: mariadb:latest # 更改为使用MariaDB镜像
restart: always
environment:
MYSQL_DATABASE: WordPress
MYSQL_USER: orange
MYSQL_PASSWORD: NNLCV9GG
MYSQL_ROOT_PASSWORD: NNLCV9GG
volumes:
- db:/var/lib/mysql

volumes:
wordpress:
db:

5.wine(最牛的)