Manjaro系统和软件安装记录
文档:
系统维护(官方给出的一些建议和保持系统最优的最佳实践)
从www.distrowatch.com可以查看Linux发行版排行榜,可以看到manjaro排名靠前,排名第一的MX Linux据说是刷榜上去的。
manjaro受欢迎的原因主要有以下几点:
- 滚动更新可以使软件保持最新;
- AUR软件仓库有着世界上最齐全的Linux软件;
- 丰富的wiki和活跃的社区让所有问题都可以快速得到满意的答案。
一、安装manjaro
下面是我安装后的系统界面,先展示一下。
下面记录下安装步骤,常用软件的安装,和一些优化,配置,问题解决等。
1.下载镜像,制作启动盘
从manjaro官网下载镜像。官方提供了xfce,gnome,kde ,architect桌面版本,同时社区也提供了其它一些桌面版本,值得一提的是还有deepin桌面版本。不过官方貌似打算放弃deepin版本的维护了,官网不再直接提供deepin版本的下载链接,但可以直接从这里下载镜像文件:manjaro-deepin下载地址 (2020年3月2日更新:官方已彻底删除了manjaro-dde,建议直接下载manjaro-xfce,并自己替换dde桌面环境,后文有操作步骤)
实际上不同桌面版本安装方法都一样,我选择安装的是deepin桌面版本。下载好镜像后,使用rufus制作成U盘启动盘。这里有个需要注意的地方:
①写入镜像时要选择dd模式,否则系统可能无法引导。
②而rufus只有v3.5及之前版本才能选择dd模式
2.安装manjaro
使用U盘启动,启动时有个driver选项,默认为free,表示开源驱动,no free表示闭源驱动。
之后就是安装,安装过程没啥太大难度,只是分区时要小心操作,以防误操作导致格盘造成数据丢失,略过!
二、基本配置
1.配置pacman软件源
#选择官方源
sudo pacman-mirrors -i -c China -m rank
sudo pacman -Syy #配置archlinux源
sudo vim /etc/pacman.conf
加入以下内容
[archlinuxcn]
# SigLevel = Optional TrustedOnly
SigLevel = Never
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch [arch4edu]
SigLevel = Never
Server = https://mirrors.tuna.tsinghua.edu.cn/arch4edu/$arch
sudo pacman -Sy archlinuxcn-keyring
sudo pacman -Syy
2.安装aur和snap软件管理工具
安装aur软件管理工具
①yaourt
默认已经安装了yaourt,只需要配置源加速就行了。打开 /etc/yaourtrc,去掉 # AURURL 的注释,改为清华aur源。
sudo vim /etc/yaourtrc
AURURL="https://aur.tuna.tsinghua.edu.cn"
②yay
由于Yaourt已经不再维护,可以选择使用Yay来代替Yaout。
sudo pacman -S yay
Yay默认使用法国的aur.archlinux.org作为AUR源,改为国内清华大学提供的镜像。
#生成的配置文件位于 ~/.config/yay/config.json
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
安装snap软件管理工具
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
#可选
sudo snap install snap-store 之后需要注销或重启 #测试是否安装成功
sudo snap install hello-world
3.删除不用的软件
sudo pacman -R libreoffice-refresh
sudo pacman -R xfburn
sudo pacman -R orage
4.解决双系统时间不同步问题
timedatectl set-local-rtc true
5.解决无ll命令的问题
ll实际上并不是一个命令,而是ls -l的别名,因为用的比较多,所以有些linux系统会默认进行配置,manjaro默认是没有的。
vim ~/.bashrc,添加以下内容
alias ll='ls -alF'
#这里可以配置其它的命令
alias vi='vim'
之后,source ~/.bashrc
三、安装软件
1.安装常用软件
sudo pacman -S vim (vim 配置入门)
sudo pacman -S google-chrome
sudo pacman -S firefox
sudo pacman -S firefox-i18n-zh-cn #wps
sudo pacman -S wps-office
sudo pacman -S ttf-wps-fonts
#wps新
直接在应用商店搜索wps,安装wps-office-cn和wps-office-mui-zh-cn
sudo pacman -S goldendict
sudo pacman -S foxitreader sudo pacman -S netease-cloud-music sudo pacman -S shadowsock(s)-qt5 (去掉括号,敏感词)
#截图
sudo pacman -S flameshot (可以配置一个系统快捷键,比如F1,命令为flameshot gui) #备份还原
sudo pacman -S timeshift
QQ/企业QQ/tim/微信
可以直接在软件中心下载安装,建议安装有archlinuxcn标识的,可以有托盘,bug少。而不推荐有AUR标识的,这是编译安装的,bug多。
yaourt -S deepin.com.qq.im
#企业QQ
sudo pacman -S deepin-qq-eim (安装在/系统盘)
#tim
sudo pacman -S deepin-wine-tim (托盘不可用)
yaourt -S deepin.com.qq.office (托盘可用)
yay -S deepin-wine-tim (会下载deepin.com.qq.office的deb包和exe格式的tim,进行打包) #微信
yaourt -S deepin.com.wechat #配置分辨率等
env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" winecfg
env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" winecfg
搜狗输入法(折腾ing)
sudo pacman -S fcitx
sudo pacman -S fcitx-im
sudo pacman -S fcitx-configtool
sudo pacman -S fcitx-sogoupinyin vim ~/.xprofile
加入以下内容
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
然后source一下
source ~/.xprofile
然后重启,使用输入法配置工具将搜狗输入法加进来。
右上角突然弹出来提示 “搜狗输入法异常!请删除.config/SogouPY 并重启”。执行sogou-qimpanel,显示 ”sogou-qimpanel: error while loading shared libraries: libfcitx-qt.so.0: cannot open shared object file: No such file or directory “ 提示,查了资料说缺少fcitx-qt4,那就安装吧。
sudo pacman -S fcitx-qt4
提示 ” fcitx-lilydjwg-git 与 fcitx有冲突。删除 fcitx 吗?”,一直输入y,继续安装,以fcitx-lilydjwg-git为准,装完以后就好了。
(1)不显示候选框的问题
杀进程,然后重启
killall fcitx
killall sogou-qinpanel
fcitx
(2)候选框显示有问题
可能是缺少了字体,可以参考:manjaro中文字体配置。不过我只安装了字体,并未进行配置。
sudo pacman -S ttf-roboto noto-fonts ttf-dejavu
# 文泉驿
sudo pacman -S wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei
# 思源字体
sudo pacman -S noto-fonts-cjk adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts
(3)安装sunpinyin输入法
可以尝试一下
sudo pacman -S fcitx-sunpinyin
2.系统相关
lm-sensors:检测系统温度
Fancontrol:
Xsensors:
电池管理:
sudo pacman -Syyu tlp tlp-rdw smartmontools
3.编程软件
#jdk用命令安装不上 sudo pacman -S maven
sudo pacman -S git
sudo pacman -S redis
sudo pacman -S docker #在应用商店直接搜索安装,还安装一个intellij-idea-ultimate-edition
sudo pacman -S intellij-idea-ultimate-edition
sudo pacman -S mysql-workbench
sudo pacman -S filezilla
sudo pacman -S visual-studio-code-bin #rabbitmq
sudo pacman -S rabbitmq rabbitmqadmin
sudo rabbitmq-plugins enable rabbitmq_management
sudo rabbitmq-server #离线文档
sudo pacman -S zeal
#抓包
yay -S wireshark
使用docker安装的软件:
#mysql容器
sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7. #查看ip
sudo docker inspect mysql #使用客户端连接(ip为上一步的ip)
sudo docker run -it --rm mysql mysql -h172.17.0. -uroot -p
virtualbox:图形界面安装,选择与当前内核对应的版本安装。安装之后执行sudo /sbin/rcvboxdrv 重新加载内核模块。
redis-desktop-manager:使用snapd来安装redis-desktop-manager (github地址)
四、恢复/更换桌面环境
安装深度桌面
某次使用manjaro自带的安装管理图形界面卸载软件时,居然大面积删除了软件及库文件。连pacman,浏览器,深度终端都被删了,还好后来系统自动恢复安装了pacman。因为软件的配置文件都在,所以只需多敲几个pacman命令下载好软件就可以直接用了。按照官网教程:Install Desktop Environments来操作。
#安装基本的深度环境
sudo pacman -S deepin
#安装深度软件(可选)
sudo pacman -S deepin-extra
#安装DDE(可选,已不建议。这是manjaro官方提供的对dde的支持,现官方已不再支持dde)
sudo pacman -S deepin-manjaro =======================================
安装上面的deepin-extra可能已经含有下面的软件,不确定!如果没有,就单独安装。
#安装深度系统监视器
sudo pacman -S deepin-system-monitor
#安装pamac(manjaro自带的pacman的GUI),当然也可以使用其它的,如Octopi
sudo pacman -S pamac
基本上就恢复的差不多了,如果还有系统自带的软件没有安装,可以去深度官网获取软件名称后使用pacman安装。pamac的使用可以参考官方wiki:Pamac
五、系统维护(官方文档)
官方文档:System Maintenance
下面是官方给出的一些保持manjaro系统最优化的建议和最佳实践。我简单的进行了翻译。
1.home缓存
通常来说,删除home目录下的.cache缓存是很安全的,但建议检查内容并有选择性的进行删除。
#按大小进行排序
du -sh ~/.cache/* | sort -h #自动删除(purge)100天未访问的内容
find ~/.cache/ -type f -atime +100 -delete
2.systemd日志和/var/logs系统日志
systemd日志:
#查看日志占用空间大小
journalctl --disk-usage #限制日志大小和存留时间
journalctl --vacuum-size=50M
journalctl --vacuum-time=2weeks #限制journal日志的大小,编辑/etc/systemd/journald.conf文件
SystemMaxUse=50M
/var/logs系统日志:
systemd日志是新的日志使用方式,但仍有一些软件会使用旧的/var/log目录来记录日志,这部分维护建议可以参考:Managing /var/log/* files
3.包和更新
①坚持系统更新
由于manjaro的发布是滚动更新的,所以保持系统的全量更新是非常有必要的,manjaro提供下面几种方式来保持更新:
- 使用pacman或octopi等GUI工具
- 使用pamac或pacman等命令行工具
(简而言之:如果可以的话,鼓励你做一个manjaro更新强迫症患者,每天更新,时不时的更新一下,这是manjaro的滚动更新策略所推崇的)
②避免部分更新
简而言之,保持全量更新。下面有一些规则需要我们尽量遵守:
- 安装软件前,总是保证系统是最新的
- 不要降级包,这会导致系统部分更细
- 避免使用pacman -Sy和pacman -Syy。取而代之的是使用pacman -Syu和pacman -Syyu
- 不要添加忽略包更新(pamac和pacman可以设置忽略某个包的更新,但不建议)
- 如果想检查系统是否有更新可用,可以使用checkupdates命令。它提供了一种安全的方式来检查系统升级和包安装,仅检查而不会执行更新操作。
- 当切换分支和切换镜像时,总是使用pamac update --force-refresh或pacman -Syyu来保证使用的是新的镜像的数据库。
③移除孤立的包/依赖
随着时间的推移,由于软件包的添加,构建和删除,具有不必要的依赖关系(也称为孤立包)的情况并不少见。 尽管孤立包无害,但由于它们不断更新会占用磁盘空间并消耗网络带宽。 幸运的是,有两种简单的方法可以查看和删除孤立包。
#检查孤立包
pamac list -o
#移除孤立包
pamac remove -o #####################################
#检查孤立包
pacman -Qdt
#移除孤立包
sudo pacman -Rs $(pacman -Qdtq)
④包缓存
默认情况下,pamac和pacman都保留系统已下载软件包的缓存。 如果需要复制或降级软件包,这将很有帮助。但长此以往,会占用大量磁盘空间
#清除所有缓存(小心)
pamac clean
#清除缓存,保留最新的3个版本(推荐)
pamac clean --keep ====================================
#清除不再使用的缓存
sudo pacman -Sc
#清除所有缓存(小心)
sudo pacman -Scc
#清除缓存,保留最新的3个版本(推荐)
paccache -rvk3
⑤.pacnew and .pacsave文件
可以在软件包升级过程中创建一个.pacnew文件,以避免覆盖已存在的文件。可以在软件包删除过程中或重新安装已删除包的过程中创建.pacsave文件。这些文件需要用户手动创建,并且最佳实践是定期处理它们。 程序pacdiff可以帮助管理该过程。 例如,这是/ etc / default / grub grub文件更改后的样子:
sudo DIFFPROG=diff pacdiff
==> pacnew file found for /etc/default/grub
:: (V)iew, (S)kip, (R)emove pacnew, (O)verwrite with pacnew, (Q)uit: [v/s/r/o/q]
不幸的是,如何处理这些文件还没有很完善的路线图。 如果保留原始配置文件,并且语法已更改,则该程序可能会停止运行或无法使用现有配置。 如果删除原始文件并使用新文件而不进行任何更改,则所有配置设置都将被覆盖。 有时,您需要合并新文件和旧文件中的片段,以使所有内容正常工作。 在这些情况下,最好手动来合并。
4.时间和日期
保持系统时间准确似乎并不重要,但是如果时间不同步,某些与网络相关的服务可能会出现故障
最简单的方式是在GUI工具Manjaro Settings Manager中勾选set time and date automatically选项,来保持时间同步。也可以使用下面的命令
timedatectl set-ntp true
六、其他记录
1.manjaro备份系统
①dd备份分区:dd if=/dev/sda of=/dev/sdb
③tar打包备份
备份相关话题可参考:如何整体备份 manjaro 系统呢
3.manjaro系统升级后所有基于QT的应用字体都变成了方块解决方法
最后解决方案 (warning: ugly hack) 是安装了 Noto Sans CJK SC 然后在设置里切换到这个字体,重启,就好了
4.帮助中心KhelpCenter里面有自带的应用程序列表。
工具:
KFind
Klipper剪切板
互联网:
书签编辑器
KNetAttach
Konversation
设置:
菜单编辑器
系统设置KDE系统设置:System Settings
系统:
系统卫视:manjaro-settings-manager 0.5.6-7
会连同卸载manjaro-settings-manager
manjaro-settings-manager-kcm
manjaro-settings-manager-knotifier
信息中心:
KSystemLog:
Manjaro系统和软件安装记录的更多相关文章
- CentOS系统更换软件安装源aliyun的
CentOS系统更换软件安装源第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS ...
- 修改Windows7系统默认软件安装目录
Windows7系统默认软件安装目录都在C盘Program Files文件夹有时候我们需要把软件安装到其他地方,如果每次安装的时候都要重新选择一次十分麻烦,下面Windows7之家教你修改软件默认安装 ...
- Ubuntu系统下面软件安装更新命令
在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别 pip用来安装来自PyPI( ...
- 分布式监控系统Zabbix--完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- CentOS系统查看软件安装路径
Linux系统一般都是命令行界面,对于安装的软件也是通过命令安装的.对于软件包更新和卸载等有时候需要查看检查是否有改软件,软件安装存储的路径对于修改配置文件等是必要的.那么怎么查看软件安装路径呢?小编 ...
- MyEclipse 2014专业版的破解--Windows系统的软件安装
一.破解前的准备 MyEclipse2014破解包: 您可以到计算机相关专业所用软件---百度云链接下载中找到链接地址进行下载. 二.破解步骤 1.打开破解文件资源包 2.执行run.bat 3.输入 ...
- 分布式监控系统Zabbix--完整安装记录-批量添加主机和自动发现端口
一.Zabbix-3.0.3批量添加主机的配置如下: 0)被监控机上要安装zabbix_agent,并配置好zabbix_agentd.conf (如下172.29.8.50是zabbix_serve ...
- CentOS7系统更换软件安装源
1.备份你的原镜像文件,以免出错后可以恢复. cp /etc/yum.repos.d/CentOS-Base.repo{,.backup} # 或者 mv /etc/yum.repos.d/CentO ...
- centos 系统程序包安装记录
-添加sudoer su - vi /etc/sudoers 在root ALL=(ALL) ALL 下添加: pete ALL=(ALL) ALL -安装拼音: sudo yum install & ...
随机推荐
- Python的datetime与Decimal数据进行json序列化的简单说明
我们在Python的json.JSONEncoder类中可以查看Python数据序列化为JSON格式的数据时数据类型的对应关系: class JSONEncoder(object): "&q ...
- C++ STL 关于双向链表list的splice函数
转载自https://blog.csdn.net/qjh5606/article/details/85881680 list::splice实现list拼接的功能.将源list的内容部分或全部元素删除 ...
- Windows环境下Mysql 5.7读写分离简单记录
一.目的 本文记录了在Windows环境中,mysql数据库读写分离配置过程. 二.准备: Master机器:Windows 10 虚拟机,IP:192.168.3.32 Slave机器:Window ...
- prism Callback应用
Mock<IEventAggregator> mockEventAggregator; Mock<MyEvent> mockEvent; mockEventAggregator ...
- Python基本语法_文件操作_读写函数详解
目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...
- diff()函数
1 diff()是将原来的数据减去移动后的数据. 在numpy和pandas中都能调用. pandas的调用方法: import pandas as pd df = pd.DataFrame( {'a ...
- Mybatis-学习笔记(4)1对1、1对多、多对多
1.1对1 有2种方式对内嵌Bean设值: 1>关联查询就一条语句.使用association关键字,直接将嵌套对象的映射表的字段赋值内嵌对象. <association property ...
- P3951小凯的疑惑
这是2017年提高组的第一题,是一个小学奥数题?听说很多大佬爆零了,我AC了,,, 这个题首先给出两个素数,问取任意个这两个素数之和不可以达到的最大的数是多少?拿到这个题首先很蒙,于是试了试样例,并没 ...
- 【洛谷 P1879】【[USACO06NOV]玉米田Corn Fields】
题目: 链接 思路: Q:如何想到是状压DP? A:那是因为(我看了标签)\(1 ≤ M ≤ 12; 1 ≤ N ≤ 12\),\(2 ^ {12}\) 不过才...(Win7计算器使用中)\(409 ...
- 不能将X*类型的值分配到X*类型的实体问题的解决方法
今天在学习链表的过程中遇到了这个问题,我用如下方法定义了一个结构体,然后这个函数想要在链表头插入一个节点.但是在函数的最后一行却出现了报错:不能将MyLinkedList * 类型的值分配到MyLin ...