标签 ubuntu 下的文章

软件的稳定性其实往往来源于:足够多的使用者与足够多的反馈跟改进。

Linux系统,在服务器端的大多数常用软件都有足够多的使用者,所以就足够稳定,由于它在服务器端市场占有率远高于微软,所以服务器端就是比微软稳定,很正常的事。

在桌面端,市场占用率远低于微软,不稳定也是自然的。

为什么Linux下命令行程序往往又好用又稳定?是因为用户喜欢装逼吗?不是,因为命令行程序是服务器端跟桌面端通用的,而服务器端程序经过了足够多用户的使用,经过了足够的反馈开发迭代,所以稳定。而图形界面只有桌面用户用,桌面占有率那么低,这些程序往往缺乏足够的测试人力也缺乏足够的开发维护人力,所以并不会非常稳定。

那么,你要想体验Linux稳定,怎么办?答案就是只使用市场占有率高,用户量大,因而获得了充分测试的软件,这就稳定了。比方说只使用服务器端。或者桌面端只使用最常用的那些,例如终端仿真器,浏览器,输入法,gcc编译器之类,肯定是稳定的。

你看我就用浏览器,输入法,xterm,screen,编程ide,vim,以及一堆命令行的东西,稳定得很啊,六个月才重启一次电脑,重启的那一次还是因为ubuntu升级。

windows就像租个精装修的房子,不允许自己重新装修,只能做些小的装饰;可以从商店买家具,可以在家里雇保姆和保镖,但有时候他们会“监守自盗”,三位数,百毒,几大家子一拥而上,让你的房子变得拥挤;在辞退他们的时侯,他们还会死皮赖脸的耍赖。

ubuntu这些发行版好像直接买个房子,自己可以随意装修;建筑工人能随时听从你的指令,把房子装修成想要的样子。

arch好像自己买个地基(内核),找建材提供商(pacman)拿些材料(预编译好的二进制包),在建筑工人的帮助下盖自己独一无二的房子;

gentoo好像自己打个地基,在房子不会塌的情况下想怎么打就怎么打,买些黏土(源代码)自己烧砖,烧砖的配方(USE)官方给提供,用特质的砖块,在建筑工人(portage)帮助下盖更为牢固,砖块契合严密,且有自己特色的房子;

lfs?买本《如何盖房子》,自己去各个山头挖土烧砖,先堆起来个新砖窑(临时系统),然后在砖窑再烧一遍砖用来盖房子,图纸要按照书上的理论自己画,整个过程中没有建筑工人帮忙,要了血命了。

v2-e8043a65d3450a009b3d9a06ca6b06f1_hd.jpg

作者:JerryDing
链接:https://www.zhihu.com/question/267941005/answer/564103434
来源:知乎

将当前用户加入 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

切勿使用普通文本编辑器编辑此文件!始终使用 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

本文翻译自: 原文链接

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

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?

删除旧版本的 Snap 包

查看已经安装的包

snap list --all

Name               Version    Rev   Tracking  Publisher   Notes
mailspring         1.2.2      216   stable    foundry376  -
mailspring         1.2.1      209   stable    foundry376  disabled
slack              3.2.1      7     stable    slack       classic
slack              3.1.1      6     stable    slack       disabled,classic

删除旧版本

旧版本的包在 Notes 一栏中会显示为 disabled

sudo snap remove slack --revision 6

其中 --revision 后面跟版本号(Rev)

Removing old snaps on Ubuntu: https://kazakov.lt/notes/removing-old-snaps-on-ubuntu

The aim: to make checking system resource usage a little more accessible, ideally with historical data thrown into the mix for some added context.

Two years on and the fruits of that redesigned effort are finally available to sample, albeit through a new app called (aptly enough) GNOME Usage.

gnome-usage.jpg

A new version of Usage is set to be released alongside GNOME 3.28 in March, and, accordingly, will be available to install in Ubuntu 18.04 LTS.

But how’s the app looking?

Well, don’t get too excited. Despite being in development for a while the app doesn’t quite deliver on the lure of the early mock-ups. For instance, it doesn’t provide historical data (yet) or offer any stats on power usage.

Effectively Usage 3.28 only tells you what your computer is doing right now — a job the regular System Monitor app and CLI apps like top can do too.

That said, it’s nice enough. Even at this early stage it’s clear to see that Usage is well placed as user friendly alternative to GNOME System Monitor. Through the use of colorful graphs you can quickly see how system resources like RAM, CPU and network are being used.

GNOME Usage wants to relay all of the information the GNOME System Monitor tool does, but in a more modern and easier to parse manner, with less emphasis on interfering with processes, and more on inferring what they’re up to.

This first version is able to relay the following information:

  • Processor Usage
  • Memory usage
  • Network usage
  • Storage usage

It also lets you:

  • Filter processes by name
  • Browse & visualise storage

GNOME developers will hate me for saying it but Usage sort of reminds me of a mobile system resource app in that it’s designed to relay system information in a manner that’s instantly digestible. CLI tools like top and other process monitoring tools aren’t indecipherable, but understanding what they show requires a couple of minutes of orientation.

Usage is promising and I look forward to seeing it mature.

(Of course, nothing competes with the sheer system monitor bling of Deepin System Monitor!)
Reiteratium Disclamerium

Now, lest anyone misunderstand: Usage is not replacing System Monitor. Development on System Monitor is continuing (indeed, there are nice improvements coming in GNOME 3.28). They are two apps that do similar things, but in different ways, aimed at different users.

Got it? Get it? Good.
Install GNOME Usage on Ubuntu

If you’re running the Ubuntu 18.04 daily builds then you can try Usage out for yourself by installing it from Ubuntu Software.

https://www.omgubuntu.co.uk/2018/02/gnome-usage-in-ubuntu-18-04