当前位置: 代码迷 >> 综合 >> Manjaro 自动化部署
  详细解决方案

Manjaro 自动化部署

热度:24   发布时间:2024-01-31 17:30:51.0

文章目录

  • Manjaro 自动化部署
    • 工具介绍
    • 修改系统语言
    • 更改源
      • 国内源
      • 中文社区仓库源
      • 更新
      • 添加AUR源
        • yay 用户
          • yay 配置文件路径
          • yay 查看配置
        • yaourt 用户(废弃)
      • 再次更新
    • 安装Qt
    • 搜狗拼音(需要重启或注销)
      • 安装
      • 配置:
      • 生效
      • 报错
    • snapd 使用
      • 安装(一般直接在自带软件开启即可)
      • 启动服务
      • 开机自启
      • 使用
      • 报错
    • 双系统时间不一致
    • 终端打开文件:
    • oh-my-zsh(自带)
      • 下载安装
      • 使用zsh替换bash(需要注销)
      • 查看当前shell
      • 还原bash(需要重启)
      • zsh 主题风格配置
        • 新增配置
        • 激活配置
      • vim 主题风格配置
        • 简介
        • 添加配置文件
        • 激活配置
    • python 高速源配置:
    • 在线正则表达式测试
    • python3虚拟环境
      • 安装虚拟环境
      • 配置环境变量
      • 简单使用
    • mariadb 配置
      • 初始化MariaDb数据库(手动)
      • 启动MariaDb
      • 初始化MariaDb数据库(自动)
      • 启动设置
      • 创建用户
      • 授权
      • 远程访问配置
    • redis 配置
    • MongoDB配置
    • Golang环境变量配置
      • 官网
      • 手动安装
      • 配置环境变量
      • 激活配置
    • 将 DEB 软件包转换成 Arch Linux 软件包
      • 安装 debtap
      • 创建/更新 pkgfile 和 debtap 数据库
      • 手动输入安装信息
      • 略过除了编辑元数据之外的所有问题
      • 略过所有的问题(不推荐)
      • 安装
    • WPS
    • Sublime 3 Text
    • 更新 locate
    • 扩展:
      • 官网
      • 扩展
      • 推荐扩展
    • 分组案例
    • 更换登录背景
    • 图标到桌面:
    • 浏览器插件:
    • 主题配置
    • yay 编译路径
    • 刷新字体缓存
    • 代码色彩
    • 代码雨
    • 快捷键启动neofetch或sreenfetch
    • 谷歌浏览器:
    • 代理转发终端命令proxychains-ng
    • 设置默认桌面
      • 在终端使用以下命令查看默认的文件管理器
      • 恢复Gnome默认的文件管理器Nautilus
      • 将Windows下的^M转为\r
      • nodejs 部署

Manjaro 自动化部署

工具介绍

  1. 工具结构
/run/.../Linux/manjaro >>> tree manjaro                                        
manjaro
├── docs
│   ├── kde 优化.md
│   ├── manajro 20 部署.md
│   ├── manjaro.txt
│   └── virtualenv虚拟环境搭建.txt
├── manjaro_install.py
├── src
│   ├── home_conf
│   │   ├── golang
│   │   ├── java
│   │   ├── pip.conf
│   │   ├── qt5
│   │   └── virtualenvwrapper
│   ├── icons
│   │   ├── jetbrains-clion.desktop
│   │   ├── jetbrains-goland.desktop
│   │   └── jetbrains-pycharm.desktop
│   ├── install
│   │   ├── debtap
│   │   ├── oh-my-zsh-install_modify.sh
│   │   └── oh-my-zsh-install_raw.sh
│   ├── packages
│   ├── source_conf
│   │   ├── mirrorlist
│   │   ├── pacman.conf
│   │   ├── yaourtrc
│   │   └── yay
│   └── temp
└── test.py8 directories, 22 files
  1. 运行脚本
./manjaro_install.py
or
python3 manjaro_install.py

修改系统语言

  • 设置-区域与语言-语言
  • 在此位置点击更换语言
  • 选择完后,点击重启,然后会注销,再次进入主体语言会修改
  • 此时选择是否更新Home目录下的目录名称
  • 如果当前目录下有文件存在,会重新生成一个目录

更改源

国内源

sudo nano /etc/pacman.d/mirrorlist## Country : China
Server = https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch## Country : China
Server = https://mirrors.sjtug.sjtu.edu.cn/manjaro/stable/$repo/$arch## Mirror : aliyun
#Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch

中文社区仓库源

sudo nano /etc/pacman.conf[archlinuxcn]
# The Chinese Arch Linux communities packages.
# SigLevel = Optional TrustedOnly
SigLevel = Optional TrustAll
Server = https://mirrors.cloud.tencent.com/archlinuxcn/$arch# 清华大学
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch# 腾讯云 (ipv4, https)
Server = https://mirrors.cloud.tencent.com/archlinuxcn/$arch

更新

sudo pacman -Syyuu

添加AUR源

yay 用户

##### 命令修改 aururl
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
yay 配置文件路径
nano ~/.config/yay/config.json
yay 查看配置
yay -P -g

yaourt 用户(废弃)

sudo nano /etc/yaourtrcAURURL="https://aur.tuna.tsinghua.edu.cn"

再次更新

sudo pacman -Syyuu

安装Qt

1.安装Qt Creater
sudo pacman -S qtcreator qt5-base qt5-tools
2.安装说明文档
sudo pacman -S qt5-doc
3.安装例子
sudo pacman -S qt5-examples
4.界面显示中文
sudo pacman -S qt5-translations

搜狗拼音(需要重启或注销)

安装

sudo pacman -S fcitx-im    #默认全部安装
sudo pacman -S fcitx-configtool
sudo pacman -S fcitx-sogoupinyin

配置:

vim /etc/environment
# vim ~/.xprofileexport GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

生效

source ~/.xprofile
source /etc/environment

报错

  • sogou-qimpanel: error while loading shared libraries: libfcitx-qt.so.0: cannot open shared object file: No such file or directory
# 安装 fcitx-qt4
yay  -S   aur/fcitx-qt4
  • 无法找到目标文件分割所需的 strip 二进制文件。

  • Unable to load library icui18n “Cannot load library icui18n: (icui18n: 无法打开共享对象文件: 没有那个文件或目录)”

    强制重启fcitx
    
sudo pacman -S core/binutils

snapd 使用

安装(一般直接在自带软件开启即可)

sudo pacman -S snapd

启动服务

sudo systemctl start snapd

开机自启

sudo systemctl enable snapd

使用

  • 安装软件
    sudo snap install hello-world
  • 查看列表
    snap list
  • 删除软件
    sudo snap remove hello-world

报错

  • error: cannot list snaps: cannot communicate with server: timeout exceeded while waiting for response
    sudo systemctl restart snapd

双系统时间不一致

sudo timedatectl set-local-rtc 1

终端打开文件:

# xdg-open(自带)
sudo ln -s /usr/bin/xdg-open /usr/bin/open

oh-my-zsh(自带)

下载安装

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh
chmod +x install.sh
./install.sh
# 或
sh -c "$(wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O -)"# 或
wget -O oh-my-zsh.zip https://github.com/robbyrussell/oh-my-zsh/archive/master.zip
unzip oh-my-zsh.zip
sh ./ohmyzsh-master/tools/install.sh

使用zsh替换bash(需要注销)

chsh -s /bin/zsh

查看当前shell

echo $SHELL

还原bash(需要重启)

chsh -s /bin/bash

zsh 主题风格配置

新增配置

nano .zshrc#命令别名 {{{
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
alias ls='ls -F --color=auto'
alias ll='ls -l --color=auto'
alias grep='grep --color=auto'
alias la='ls -a'alias pacman='pacman --color=auto'
alias yay='yay --color=auto'
alias yaourt='yaourt --color=auto'
#}}}#color{{{
autoload colors
colorsfor color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
eval _$color='%{$terminfo[bold]$fg[${(L)color}]%}'
eval $color='%{$fg[${(L)color}]%}'
(( count = $count + 1 ))
done
FINISH="%{$terminfo[sgr0]%}"
#}}}# 补全{{{
#彩色补全菜单
eval $(dircolors -b)
export ZLSCOLORS="${LS_COLORS}"
zmodload zsh/complist
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'##行编辑高亮模式 {{{
# Ctrl+@ 设置标记,标记和光标点之间为 region
zle_highlight=(region:bg=magenta #选中区域
special:bold      #特殊字符
isearch:underline)#搜索时使用的关键字
#}}}#漂亮又实用的命令高亮界面
setopt extended_glob
TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'do' 'time' 'strace')recolor-cmd() {
region_highlight=()
colorize=true
start_pos=0
for arg in ${(z)BUFFER}; do
((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]## #}}))
((end_pos=$start_pos+${#arg}))
if $colorize; then
colorize=false
res=$(LC_ALL=C builtin type $arg 2>/dev/null)
case $res in
*'reserved word'*)   style="fg=magenta,bold";;
*'alias for'*)       style="fg=cyan,bold";;
*'shell builtin'*)   style="fg=yellow,bold";;
*'shell function'*)  style='fg=green,bold';;
*"$arg is"*)
[[ $arg = 'sudo' ]] && style="fg=red,bold" || style="fg=blue,bold";;
*)                   style='none,bold';;
esac
region_highlight+=("$start_pos $end_pos $style")
fi
[[ ${${TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]}:+yes} = 'yes' ]] && colorize=true
start_pos=$end_pos
done
}
check-cmd-self-insert() { zle .self-insert && recolor-cmd }
check-cmd-backward-delete-char() { zle .backward-delete-char && recolor-cmd }zle -N self-insert check-cmd-self-insert
zle -N backward-delete-char check-cmd-backward-delete-char

激活配置

source .zshrc

vim 主题风格配置

简介

vim 的默认配置很简洁,但是缺少了很多重要的功能。如 vim 默认不支持使用退格键(Backspace)删除字符、不支持系统剪贴板、不支持鼠标等。但我们可以通过一定的配置去开启 vim 的这些内置功能。你可以参照配置后面的注释选择是否添加该项配置到你的 .vimrc 文件中。

添加配置文件

nano .vimrc" [Common Configration] 公共配置 " [ui beautification] 界面美化
syntax enable  " 开启代码高亮 " set nu    " 开启行号 set ruler " 开启标尺
" set cursorline " 开启高亮光标所在行
set hlsearch " 开启搜索结果高亮显示 set incsearch " 开启搜索逐字符高亮
" [improve performance] 提示性能 set viminfo= " 关闭 viminfo (用于加快 vim 启动速度)
" [polyfill] 功能填补 set clipboard=unnamedplus " 开启系统剪贴板支持(需要手动编译最新版 vim 使其 +clipboard)
set backspace=indent,eol,start " 开启 Backspace 键支持(否则 Backspace 无法删除字符) " [mouse support] 鼠标支持
set mouse=a " 开启鼠标支持 set mouse=v " vim文件间复制粘贴完美方案
set selection=inclusive " 指定在选择文本时光标所在位置也属于被选中的范围 set selectmode=mouse,key " 使鼠标和键盘都可以控制光标选择文本
" [tab] tab键 set ts=4 " 指定制表符(tab)等于的空格数
set softtabstop=4 " 开启软制表(如果这4个空格是用tab键打出来的删除会一起删除) set shiftwidth=4 " 指定自动缩进时缩进4个空格
" [indent] 缩进 set smartindent " 开启智能缩进
set autoindent " 开启自动缩进 set cindent " 开启C缩进(对C、C++语言文件有效)
" [other] 其它配置 set backupcopy=yes " 开启备份时行为为覆盖
set cmdheight=1 " 设置命令行的高度为1

激活配置

source .vimrc

python 高速源配置:

mkdir ~/.pip && nano ~/.pip/pip.conf[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple/ 
[install]
trusted-host = https://pypi.mirrors.ustc.edu.cn[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

在线正则表达式测试

https://c.runoob.com/front-end/854
http://tool.chinaz.com/regex/?qq-pf-to=pcqq.group

python3虚拟环境

安装虚拟环境

pip3 install virtualenvwrapper

配置环境变量

vim ~/.zshrc# >>> virtualenvwrapper initialize >>>
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source $HOME/.local/bin/virtualenvwrapper.sh
# source /usr/bin/virtualenvwrapper.sh
# export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
# <<< virtualenvwrapper initialize <<<

简单使用

# 创建虚拟环境
mkvirtualenv py38# 创建虚拟环境,指定版本
mkvirtualenv -p /bin/python3.8.2 py38
mkvirtualenv  --no-site-packages -p /bin/python3.8.2 py38# 查看环境列表
workon# 进入环境
workon py38# 退出环境
deactivate

mariadb 配置

初始化MariaDb数据库(手动)

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

启动MariaDb

sudo systemctl start mysqld

初始化MariaDb数据库(自动)

sudo mysql_secure_installation

启动设置

# 启动MariaDb
sudo systemctl start mysqld# 设置mariaDb开机自启
sudo systemctl enable mysqld # 为root用户添加密码
# sudo mysql_secure_installation 初始化后这里就不用了
sudo mysqladmin -u root password "root" # 输入设置的的密码,登录数据库
sudo mysql -uroot -p 

创建用户

# 切换数据库
MariaDB> use mysql;# 针对ip
MariaDB> CREATE USER 'one'@'192.168.3.10' IDENTIFIED BY 'pass';# 全部
MariaDB> CREATE USER 'one'@'%' IDENTIFIED BY 'pass';# 更新密码
MariaDB> update user set authentication_string=password("pass"),plugin='mysql_native_password' where user='one';

授权

https://wiki.archlinux.org/index.php/MariaDB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E6%B7%BB%E5%8A%A0%E6%96%B0%E7%94%A8%E6%88%B7# 切换数据库
MariaDB> use mysql;# 查看用户
MariaDB> select User, host,plugin from user;# 给用户最大权限
# 第一个位置,为数据库, 第二个位置,为表,所以 *.*,表示可以访问任意数据的任意表
# 'root'@'%', root表示远端登录使用的用户名,%表示允许任意ip登录,可将指定ip替换掉%, root与%可以自定义
# IDENTIFIED BY 'root' 这个root 是登录时的使用的密码,(方便记忆就用了 pass,生产环境一定要替换掉)
MariaDB> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pass';# 给用户部分权限(test 数据库)
# MariaDB> GRANT ALL PRIVILEGES ON *.* TO 'one'@'%' IDENTIFIED BY 'pass' WITH GRANT OPTION;# 刷新权限表
MariaDB> FLUSH PRIVILEGES;# 查看用户
MariaDB> select User, host,plugin from user;# 退出
MariaDB> quit

远程访问配置

# 修改配置文件
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf 
注释:  bind-address# 重启数据库
sudo systemctl restart mysql

redis 配置

  • 主机ip:bind 0.0.0.0

  • 端口号:port 6379

  • 服务密码(默认未开启): requirepass

  • 启动redis

    • sudo systemctl start redis
  • 设置redis开机自启

    • sudo systemctl enable redis
  • 验证:
    ping:测试服务器连接情况
    第一次需要认证,需要密码

    • redis-cli
    • auth ‘pass1234’
    • set name rain

MongoDB配置

  • 启动redis
    • sudo systemctl start mongodb
  • 设置redis开机自启
    • sudo systemctl enable mongodb
  • 使用
    • mongo

Golang环境变量配置

官网

https://golang.google.cn

手动安装

wget https://golang.google.cn/doc/install?download=go1.14.linux-amd64.tar.gz
sudo tar -C /opt -xzf go1.14.linux-amd64.tar.gz

配置环境变量

vim ~/.zshrc# >>> golang initialize >>>
# GOROOT: GO的安装路径
export GOROOT=/opt/go
# GOPATH: GO的工作路径,此处为自行创建的GoEnv目录,GoEnv下的src、pkg、bin也需自行创建
export GOPATH=$HOME/.go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# <<< golang initialize <<<

激活配置

source ~/.zshrc

将 DEB 软件包转换成 Arch Linux 软件包

安装 debtap

yaourt -S debtap

创建/更新 pkgfile 和 debtap 数据库

在安装 Debtap 和所有上述依赖关系之后,运行以下命令来创建/更新 pkgfile 和 debtap 数据库。

sudo debtap -u

手动输入安装信息

你需要输入包的维护者和许可证,输入他们,然后按下回车键就可以开始转换了

debtap xxx.deb

略过除了编辑元数据之外的所有问题

如果在包转化的过程中,你不想回答任何问题,使用 -q 略过除了编辑元数据之外的所有问题。

debtap -q xxx.deb

略过所有的问题(不推荐)

debtap -Q xxx.deb

安装

sudo pacman -U <package-name>

WPS

sudo pacman -S wps-office ttf-wps-fonts wps-office-mui-zh-cn# 英文设置中文点击右上角A图标标志,然后在窗口中选择中文;一般安装中文包后自动设置为中文

Sublime 3 Text

ZYNGA INC.
50 User License
EA7E-811825
927BA117 84C9300F 4A0CCBC4 34A56B44
985E4562 59F2B63B CCCFF92F 0E646B83
0FD6487D 1507AE29 9CC4F9F5 0A6F32E3
0343D868 C18E2CD5 27641A71 25475648
309705B3 E468DDC4 1B766A18 7952D28C
E627DDBA 960A2153 69A2D98A C87C0607
45DC6049 8C04EC29 D18DFA40 442C680B
1342224D 44D90641 33A3B9F2 46AADB8F

更新 locate

sudo pacman -S mlocate
# 当删除或添加文件后,需要更新locate,命令如下:
sudo updatedb

扩展:

注意扩展已单独提取出来了,gnome-tweaks 中不在提供。

官网

https://extensions.gnome.org

扩展

Window Is Ready - Notification Remover 去除烦人的window is ready提醒
Arch Linux Updates Indicator archlinux软件更新检测插件,需要配合pacman-contrib使用
Caffeine 防止自动挂起
Extension Update Notifier gnome插件更新提示
GnomeStatsPro 一个系统监视器
Status Area Horizontal Spacing 让顶栏更紧凑
Dash to Dock 把dash栏变为一个dock
Sound Input & Output Device Chooser 声音设备选择
dynamic top bar  顶栏透明----失效
Transparent Top Bar  顶栏透明
OpenWeather 天气插件
Random Wallpaper 自动切换壁纸-网络
Transparent Top Bar  顶栏透明(会导致顶部栏刷新失败),部分主题有透明效果
Notifications Alert  当通知栏有通知时,通知栏会有闪烁的信息或字体颜色会改变。Night Light Slider 调节gnome夜间模式的亮度情况  --自带
Caffeine 禁用屏幕保护程序并自动挂起 --自带
Bing Wallpaper Changer   自动切换壁纸-网络--系统已自带
Wallpaper Changer 自动切换壁纸-本地--系统已自带Multi Monitors Add-On   多屏扩展--panel替换

推荐扩展

Clipboard Indicator 一个剪贴板
Coverflow Alt-Tab 更好的窗口切换
Proxy Switcher 代理插件
Suspend Button 添加一个休眠按钮
Refresh Wifi Connections wifi刷新TopIcons Plus 把托盘图标放到顶栏
Simple net speed 网速监测
system-monitor   系统监视器
Blyr 模糊效果应用

分组案例

001系统管理
002办公学习
003社交沟通
004网络应用
005影音娱乐
006图形图像
007编程开发
008Qt套件
009游戏娱乐
010其他应用
011虚拟化

更换登录背景

sudo archibold login-background "/usr/share/backgrounds/manjaro-gnome/islandiya-vestrahorn-6864.jpg"

图标到桌面:

# 注意权限问题,否则allow launching 效果出不来
sudo setcap -r /usr/bin/gnome-shell

浏览器插件:

Proxy SwitchyOmega  代理插件
侧边翻译  网页翻译
谷歌翻译   选定右键翻译

主题配置

# 主题官网
https://www.gnome-look.org鼠标,图标主题解压放置:
~/.icons或/usr/share/icons窗口主题放置:
~/.themes或/usr/share/themegnome shell主题放置: 
/usr/share/gnome-shell/theme 

yay 编译路径

ls $HOME/.cache/yay

刷新字体缓存

fc-cache -fv

代码色彩

ls | lolcat

代码雨

cmatrix -b -C blue

快捷键启动neofetch或sreenfetch

gnome-terminal -x zsh  -c  'neofetch;exec zsh;'gnome-terminal -x bash  -c  'sreenfetch;exec bash;'

谷歌浏览器:

https://www.google.cn/chrome

代理转发终端命令proxychains-ng

proxychains4 curl www.baidu.com

设置默认桌面

在终端使用以下命令查看默认的文件管理器

xdg-mime query default inode/directory

恢复Gnome默认的文件管理器Nautilus

xdg-mime default org.gnome.Nautilus.desktop inode/directory

将Windows下的^M转为\r

使用nodepad++ -> 文档格式转换 -> 转为 Unix(LF)

nodejs 部署

sudo pacman -S nodejs npm
# 设置淘宝镜像源
npm config set registry https://registry.npm.taobao.orgnode --version
npm --version