标签 ubuntu 下的文章
Multipass Ubuntu 虚拟机管理器
一. Multipass 是什么?
Multipass 是一个轻量级 Linux 虚拟机命令行管理工具,支持 Linux、Windows 与 macOS。
二. 为什么要用 Multipass
- 能够以最小的成本和资源在本地快速搭建具备完整 Ubuntu 功能小型虚拟机集群(如测试 K8s各类特性、数据库小集群等)
- 可以方便快速的做各类 Linux 试验,而不用担心把系统搞坏,重建一个新系统只要几分钟
- 实例通过命令行管理,对开发非常友好,每个实例IP固定
三. 如何安装
四. 功能介绍
可在 Multipass 官网 查看详细使用文档。
$ multipass help
用法: multipass [options] <command>
创建, 控制和连接 Ubuntu 实例。
multipass 命令行工具, 用于管理 ubuntu 实例。
参数:
-h, --help 查看本帮助内容
-v, --verbose 增加日志显示的详细程度。 通过在短参数中增加 'v' 来获取更多日志信息
最多支持4个等级,如: -vvvv。
可用的命令:
delete 删除实例
exec 在实例中执行命令
find 查找并列出可用于创建实例的镜像
get 获取某个配置项
help 查看帮助
info 查看实例信息
launch 创建并启动实例
list 列出所有实例
mount 挂载文件夹到实例
purge 清除已删除的实例
recover 恢复已删除的实例
restart 重启实例
set 设置某个配置项
shell 通过 shell 连接实例
start 启动实例
stop 停止实例
suspend 挂起实例
transfer 在本机和实例之间传输文件
umount 移除实例中挂载的文件夹
version 查看版本号
五. 常见问题(以 MacOS 为例)
问题一:最开始设置的内存或 CPU 数量小了,想扩容,怎么办?
multipass 通过 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json
中的配置来管理实例,可直接在这个配置文件中修改:
mem_size
来增加或减少内存 num_cores
来增加或减少CPU核心数
修改之前需要先停止 multipass 的进程,原因是 multipass 会在被关闭的时候将各个实例的状态写入到配置文件,所以在没有关闭 multipass 进程的时候修改配置文件,会被覆盖。
# 停止 multipassd 进程
sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist
# 编辑 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 文件
# 需要 root 权限
# 重新启动 multipassd 进程
sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist
问题二:电脑意外关机,无法启动实例,怎么办?
实例的启动关闭状态也维护在 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json
文件中的 state
字段,当电脑意外关机,state
字段不会被正确的维护,导致无法启动或关闭实例,这时候,可以先停止 multipassd 进程,然后手动到配置文件中修改 state
为 0,即关机状态,保存配置文件,并启动 multipassd 实例即可,这时候就可以正常启动各个实例了。
问题三:能安装 Cent OS 实例么?
暂时不能,该工具为 Ubuntu 背后的公司 Canonical 开发,目前仅支持 Ubuntu 系统。
问题四:如果在实例之间传递文件?
最简单的方式是通过挂载相同的文件夹到不同的实例中来共享文件。
参考
How to easily remove old kernels in Ubuntu 20.04 LTS?
remove_old_kernels.sh
#!/bin/bash
# Run this script without any param for a dry run
# Run the script with root and with exec param for removing old kernels after checking
# the list printed in the dry run
uname -a
IN_USE=$(uname -a | awk '{ print $3 }')
echo "Your in use kernel is $IN_USE"
OLD_KERNELS=$(
dpkg --list |
grep -v "$IN_USE" |
grep -Ei 'linux-image|linux-headers|linux-modules' |
awk '{ print $2 }'
)
echo "Old Kernels to be removed:"
echo "$OLD_KERNELS"
if [ "$1" == "exec" ]; then
for PACKAGE in $OLD_KERNELS; do
yes | apt purge "$PACKAGE"
done
fi
Run it like this for a dry run:
remove_old_kernels.sh
If all looks good, run it again like this:
sudo remove_old_kernels.sh exec
Ubuntu 输入法配置
中文输入法
由于搜狗输入法目前还不支持Ubuntu20.04,加之其对高分屏支持不太友好,因此不再折腾选择了 ibus-libpinyin。
安装
sudo apt install ibus-libpinyin
sudo apt install ibus-clutter
接着在应用程序中找到「Language Support」(语言支持),更改「Keyboard input method system」(键盘输入法系统)为「IBUS」。重启系统,然后在Settings>Region & Language>Input Sources(设置>区域与语言>输入源)中新增「Chinese(Intelligent Pinyin)」(中文(智能拼音))就可以使用中文输入法了。
都说 Linux 稳定,为什么普遍 Ubuntu 会崩呢?
软件的稳定性其实往往来源于:足够多的使用者与足够多的反馈跟改进。
Linux系统,在服务器端的大多数常用软件都有足够多的使用者,所以就足够稳定,由于它在服务器端市场占有率远高于微软,所以服务器端就是比微软稳定,很正常的事。
在桌面端,市场占用率远低于微软,不稳定也是自然的。
为什么Linux下命令行程序往往又好用又稳定?是因为用户喜欢装逼吗?不是,因为命令行程序是服务器端跟桌面端通用的,而服务器端程序经过了足够多用户的使用,经过了足够的反馈开发迭代,所以稳定。而图形界面只有桌面用户用,桌面占有率那么低,这些程序往往缺乏足够的测试人力也缺乏足够的开发维护人力,所以并不会非常稳定。
那么,你要想体验Linux稳定,怎么办?答案就是只使用市场占有率高,用户量大,因而获得了充分测试的软件,这就稳定了。比方说只使用服务器端。或者桌面端只使用最常用的那些,例如终端仿真器,浏览器,输入法,gcc编译器之类,肯定是稳定的。
你看我就用浏览器,输入法,xterm,screen,编程ide,vim,以及一堆命令行的东西,稳定得很啊,六个月才重启一次电脑,重启的那一次还是因为ubuntu升级。
操作系统该如何选择
windows就像租个精装修的房子,不允许自己重新装修,只能做些小的装饰;可以从商店买家具,可以在家里雇保姆和保镖,但有时候他们会“监守自盗”,三位数,百毒,几大家子一拥而上,让你的房子变得拥挤;在辞退他们的时侯,他们还会死皮赖脸的耍赖。
ubuntu这些发行版好像直接买个房子,自己可以随意装修;建筑工人能随时听从你的指令,把房子装修成想要的样子。
arch好像自己买个地基(内核),找建材提供商(pacman)拿些材料(预编译好的二进制包),在建筑工人的帮助下盖自己独一无二的房子;
gentoo好像自己打个地基,在房子不会塌的情况下想怎么打就怎么打,买些黏土(源代码)自己烧砖,烧砖的配方(USE)官方给提供,用特质的砖块,在建筑工人(portage)帮助下盖更为牢固,砖块契合严密,且有自己特色的房子;
lfs?买本《如何盖房子》,自己去各个山头挖土烧砖,先堆起来个新砖窑(临时系统),然后在砖窑再烧一遍砖用来盖房子,图纸要按照书上的理论自己画,整个过程中没有建筑工人帮忙,要了血命了。
作者:JerryDing
链接:https://www.zhihu.com/question/267941005/answer/564103434
来源:知乎
Ubuntu 18.04 网易云音乐无法打开最简单解决办法
更新
官网下载现在是1.2.1版本,修复 UBUNTU 18.04 不能启动问题,大家赶紧更新吧!!
将当前用户加入 sudoer
sudo visudo -f /etc/sudoers.d/username
username 要替换为你系统用户名
并输入:
username ALL=(ALL:ALL) NOPASSWD:ALL
如果不习惯使用nano编辑器可以 更换为vim
使用 sudo 运行网易云音乐
编辑启动文件:
sudo gedit /usr/share/applications/netease-cloud-music.desktop
在第11行前加上 sudo
Exec=sudo netease-cloud-music %U
大功告成!点击图标即可启动!
系统版本:Ubuntu 18.04.1
软件版本:netease-cloud-music 1.1.0
如何修改 Sudoers 文件
切勿使用普通文本编辑器编辑此文件!始终使用 visudo 命令!
由于 /etc/sudoers
文件中的语法不正确会导致系统无法获得提升的权限,因此使用 visudo 命令编辑文件非常重要。
visudo 命令会打开一个文本编辑器,并在保存时验证文件的语法。这可以防止 sudo 操作的配置错误,这是获取 root 权限的唯一方法。
我已经从 Ubuntu 16.04 复制并粘贴了该文件,并删除了注释。CentOS /etc/sudoers 文件有更多行,其中一些我们将不在本指南中讨论。
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
我们来看看这些行的作用。
默认行
第一行 Defaults env_reset 重置终端环境以删除任何用户变量。这是一种安全措施,用于清除sudo会话中可能有害的环境变量。
第二行 Defaults mail_badpass 告诉系统将错误 sudo 密码尝试的通知邮寄给配置的 mailto 用户。默认情况下,这是 root 帐户。
第三行以 Defaults secure_path = ... 开头,指定PATH将用于操作的(文件系统中操作系统将查找应用程序的位置)sudo。这可以防止使用可能有害的用户路径。
用户权限行
第四行决定了 root 用户的 sudo 权限,与前面的行不同。我们来看看不同字段的含义:
root ALL=(ALL:ALL) ALL
第一个字段指示规则将应用于 root 的用户名。
demo ALL=(ALL:ALL) ALL
第一个 ALL 表示此规则适用于所有主机。
demo ALL=(ALL:ALL) ALL
此 ALL 表示root用户可以作为所有用户运行命令。
demo ALL=(ALL:ALL) ALL
此 ALL 表示root用户可以作为所有组运行命令。
demo ALL=(ALL:ALL) ALL
最后一个 ALL 表示这些规则适用于所有命令。
这意味着我们的root用户可以使用任何命令运行sudo,只要他们提供密码即可。
组权限行
接下来的两行与用户权限行类似,但它们指定sudo了组的规则。
以“%”开头的名称表示组名。
在这里,我们看到“admin”组可以像任何主机上的任何用户一样执行任何命令。同样,该 sudo 组可以具有相同的权限,但也可以作为任何组执行。
包含 /etc/sudoers.d 行
乍一看,最后一行看起来像是注释:
#includedir /etc/sudoers.d
它虽然以 # 开头,但是这是起作用的。该行实际上表明 /etc/sudoers.d 目录中的文件也将被应用。
与 /etc/sudoers
文件本身一样,您应始终使用 visudo 来编辑 /etc/sudoers.d
目录中的文件。编辑这些文件的语法是:
$ sudo visudo -f /etc/sudoers.d/file_to_edit
本文翻译自: 原文链接
Setting vim as default editor
Ubuntu:
sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 10 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Non-interactive solution for setting vim as default editor:
sudo update-alternatives --set editor /usr/bin/vim.basic
CentOS:
On CentOS, you can change this value by adding the following line to your ~/.bashrc:
$ export EDITOR=`which name_of_editor`
Source the file to implement the changes:
$ source ~/.bashrc
sudo update-alternatives --set editor /usr/bin/vim.basic
Remove ubuntu old kernels
Manually remove
First, reboot your System to be sure it is using the latest kernel. Then open terminal and check your current kernel:
uname -r
DO NOT REMOVE THIS KERNEL!
Next, type the command below to view/list all installed kernels on your system.
dpkg --list | grep linux-image
Find all the kernels that lower than your current kernel. When you know which kernel to remove, continue below to remove it. Run the commands below to remove the kernel you selected.
sudo apt-get purge linux-image-x.x.x-x-generic
Finally, run the commands below to update grub2
sudo update-grub2
Reboot your system.
All-in-one command
All-in-one version to remove images and headers (combines the two versions above):
echo $(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p') $(dpkg --list | grep linux-headers | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p') | xargs sudo apt-get -y purge
Question: How do I remove old kernel versions to clean up the boot menu?