英特尔 Clear Linux 安装和简单使用体验

介绍

Clear Linux 是英特尔发布的一个滚动更新的,针对英特尔架构优化的开源 Linux 发行版操作系统。官方发布了三种形态,带图形界面的桌面版,不带图形界面的服务器版和 Docker 镜像。可以安装在常规的笔记本,台式机,云主机以及在现有的系统上以 Docker 容器的形式安装。

特点

英特尔架构优化

英特尔出品自然为自家平台做了很好优化,以便达到最优性能;这包含这么几个意思:

  1. 全栈深度优化,包括内核,库和软件等等所有而并不是只对部分软件包做了优化;
  2. 针对可用的 CPU 特性对库进行了优化所以在运行时可以根据 CPU 特性自动选择优化过的内容以达到最优性能;
  3. 所有的优化内容都是开源的;

滚动更新

没有什么其他发行版那样区分稳定版滚动版,就是滚动;官方说他们的目标是一周9更,各种补丁和包更新等等,24小时漏洞修复;

依赖问题

传统的发行版依赖关系是在安装的时候帮你一并检测并安装但 Clear Linux 是在服务端 build 软件的时候就帮你解决了依赖问题,类似于其他的包组(package group)的概念又略有不同,传统的包组是水平的,而 Clear Linux 的包(bundle)是整个软件栈垂直的集成,这种集成范围从大的框架(framework)到小的最终的用户使用的二进制文件都覆盖;

无状态

这包含这么几个意思:

  1. 系统在 /usr/share/defaults/ 目录提供具有功能性和安全性的默认配置,所以开箱即用;
  2. 但是这种配置又是可以被 /etc 和 /home 里的配置覆盖和修改的;
  3. 删除 /etc 和 /usr 就相当于来了个“恢复出厂设置”;

安装

安装途径

官方提供了几种安装方式,你想到的一般方式都是支持的,包括:Live Desktop / Live Server ,移动介质例如优盘安装,网络安装以及云服务器安装;

系统需求

一般的硬件环境甚至虚拟的硬件环境都是支持的,它本质上还是个 Linux 发行版而已而 Linux 几乎可以安装在所有的环境上。默认最低要1核CPU,1GB内存,4GB硬盘(桌面版需要20GB硬盘)即可。

安装方式

桌面版

和你知道的套路一样,下载镜像,刻盘或者做优盘启动盘然后安装即可,官方图文看这里

服务器版

和你知道的套路一样,下载镜像,刻盘或者做优盘启动盘然后安装即可,官方图文看这里

虚拟机安装

官方提供了各种版本各种环境的虚拟机安装,看这里

云端部署

如果你只想体验体验的话,我建议云端部署,体验完毕删除也不费事比在本机物理机安装虚拟机省事不少。但是你想看图形界面的话还是要安装虚拟机or物理机安装的,但是也没啥可看的,虽然很漂亮但是它默认还是 gnome 环境和其他的发行版差不多。

Google Cloud

如果你还在300刀免费内的话可以用这种方式,思路就是上传镜像用自定义镜像启动实例,看官方图文说明的详细例子在这里

Azure

看起来十分麻烦的样子,官方例子在这里

Amazon AWS

这里说的是 AWS EC2!!!不是 lightsail!!!不推荐体验用途,即便是你的免费套餐内,因为虽然你的套餐是免费的但是它这个镜像可不是免费的,官方例子看这里

青云

青云好像是目前(2020年3月)唯一本来就提供 Clear Linux 镜像的云厂商而且还是国内厂商,如果你是他们的用户直接建个VM即可;

DO

DO 是我目前(2020年3月)最推荐的体验 Clear Linux 的方式,理由不用多说大多数人都有账号而且安装过程没有坑使用方便完事删除走人价格低廉;官方图文看这里,过程也很简单,直接上传这个官方帮你搞好的镜像https://cdn.download.clearlinux.org/releases/31870/clear/clear-31870-digitalocean.img.gz)(不用担心这个镜像没有更新太老,因为滚动发行版的东西你只要一次更新即可到最新版).

注意:

  1. 当前不支持IPv6,应该是 DO 当前对自定义镜像不支持;
  2. 不要选择“Monitoring”否则会失败
  3. 当前由于源比较少,所以建议选择美区,其他区下载更新会很慢很慢;

安装后 SSH 链接即可,用户名是 “clear”

看一把 os-release

[email protected]~ $ cat /etc/os-release 
NAME="Clear Linux OS"
VERSION=1
ID=clear-linux-os
ID_LIKE=clear-linux-os
VERSION_ID=31870
PRETTY_NAME="Clear Linux OS"
ANSI_COLOR="1;35"
HOME_URL="https://clearlinux.org"
SUPPORT_URL="https://clearlinux.org"
BUG_REPORT_URL="mailto:[email protected]"
PRIVACY_POLICY_URL="http://www.intel.com/privacy"

看一把 free

[email protected]~ $ free -h
              total        used        free      shared  buff/cache   available
Mem:          983Mi        50Mi       857Mi       0.0Ki        76Mi       825Mi
Swap:            0B          0B          0B

看一把硬盘

[email protected]~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        25G  424M   24G   2% /
devtmpfs        490M     0  490M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  528K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
tmpfs           492M     0  492M   0% /tmp
tmpfs            99M     0   99M   0% /run/user/1000

包管理和更新

Clear Linux 使用 swupd 来进行包管理和更新操作,可以理解为之前的 apt dnf 这里东西,官方文档看这里

官方 man 手册:

man swupd

官方 GitHub 在线手册网页版:

[GitHub][17]

查看自动更新是否打开:

sudo swupd autoupdate

自动更新默认是关闭的,打开/关闭自动更新:

sudo swupd autoupdate --enable
sudo swupd autoupdate --disable

检查系统更新:

sudo swupd check-update

更新系统:(更新或者安装会重启正在运行的项)

sudo swupd update

安装一个软件,我们举个例子假设要安装 mosh 这个软件:

搜索软件包:

[email protected]~ $ sudo swupd search mosh
Component mosh has version 1.3.2

Bundle with the best search result:
     sysadmin-basic                     - Run common utilities, useful for managing a system.  (107MB) 

This bundle can be installed with:

  swupd bundle-add  sysadmin-basic

安装搜索到的软件包:(更新或者安装会重启正在运行的项)

sudo swupd bundle-add  sysadmin-basic #正确
sudo swupd bundle-add  mosh #错误

经过发现 vim 这个包也是常用的,因为默认没有安装所以也建议一起装上。

删除软件包:(删除软件包不会删除依赖)

sudo swupd bundle-remove axel

总结

  • 自动更新可以降低维护带来的时间成本;
  • 不同于传统发新版的包管理方式可以大大降低各种包版本之间的撕逼问题降低维护成本;
  • 别人都三个字母了这写老长老长的感觉有点费劲啊?
  • 性能据说挺好的,看起来反正资源占用确实是比主流发新版低一些;
  • 更多资源参考官方文档官方 GitHub

Debian 无法修改 /etc/hosts 文件

本文描述的情况使用的操作系统如下所示,可能不适用于正在阅读本文的时候已经更新的版本或不同的主机商的不同配置:

#cat /proc/version 
Linux version 4.9.0-9-amd64 ([email protected]) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.168-1+deb9u5 (2019-08-11)

#lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.9 (stretch)
Release:        9.9
Codename:       stretch

当执行 sudo 的时候若收到如下提示:

sudo: unable to resolve host xxxxxx

则需要修改 /etc/hosts 文件 文件,把 xxxxxx 解析为 127.0.0.1 即可,即:

127.0.0.1    localhost xxxxxx

某些主机商(比如 Amazon AWS/Lightsail)的虚拟机(VM)上使用的 Debian 系统由于初始配置问题,不能修改 hosts 文件,会被告知如下信息:

#cat /etc/hosts

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
#
127.0.1.1 ip-172-26-40-252.eu-west-1.compute.internal ip-172-26-40-252
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

但是查找上述文件(/etc/cloud/templates/hosts.tmpl 和 /etc/cloud/cloud.cfg 以及 /etc/init.d/cloud-config)的时候并没有 manage_etc_hosts 这个选项。

只要编辑 /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg 并在其中加入 manage_etc_hosts: false 即可,如下:

#sudo vim /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg 

apt_preserve_sources_list: true
manage_etc_hosts: false
system_info:
  default_user:
    name: admin
    sudo: ALL=(ALL) NOPASSWD:ALL
    shell: /bin/bash
    lock_passwd: True
    gecos: Debian
    groups: [adm, audio, cdrom, dialout, dip, floppy, netdev, plugdev, sudo, video]
    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
    shell: /bin/bash

重启,即可修改 /etc/hosts 文件。

推荐 IBM Plex 字体

介绍


IBM 去年 2017年11月 推出了一套叫做 Plex 的字体!
为啥呢?有两个目标:1.自己用 2.给你用

这套字体历时两年,是一套开源并且可以免费下载和使用的英文字体。当前提供 Sans, Serif, Mono 和 Sans Condensed 形式并且满足在所有环境下使用。

下载


主页:https://github.com/IBM/plex

下载:https://github.com/IBM/plex/releases

使用


网页使用指导:https://github.com/IBM/plex#web-usage

Windows 安装:

注意下载页面提示:【TrueType.zip is recommended for MacOS and Windows.】

下载然后解压,把所有文件夹内的 .ttf 复制到 C:WindowsFonts 文件夹内即可,然后就可以在任何你想使用并且可以设置字体的软件内使用了。

小提示:可以在解压后的文件夹内搜索 “*.ttf” 然后全选复制,避免了一个一个文件夹去打开多次复制的繁琐。

Linux 安装:

Linux 中的字体可分为两大类:

轮廓或矢量字体

包含作为字形组成相关绘图指导的数学描述。因此,每个字形都可以缩放为任意大小而无损质量。在可以使用此类字体(或字形)之前,需要将数学描述转换为光栅(网格)。此过程称为字体光栅化。字体微调(嵌入在字体中)可改进和优化特定大小的渲染效果。光栅化和微调通过 FreeType 库实现。

Linux 下的常用格式为 PostScript Type 1 和 Type 2、TrueType 及 OpenType。

位图或光栅字体

包含一个为特定字号设计的像素阵列。位图字体渲染速度极快,而且非常简单。然而,与矢量字体相比,位图字体无法在不损质量的情况下进行缩放。因此,这些字体通常以不同的大小发布。现在,Linux 控制台中仍然使用位图字体,有时终端中也会使用这些字体。

在 Linux 下,便携式编译格式 (PCF) 或字形位图分布格式 (BDF) 是最常用的格式。

这些字体的外观主要会受两个方面的影响:

  1. 选择合适的字体系列,

  2. 采用某种算法渲染字体,达到接收者眼睛最舒服的效果。

最后一点只与矢量字体相关。虽然上面两点都需要根据个人情况而定,但仍有一些默认值需要创建。

Linux 字体渲染系统由具有不同关系的几个库组成。基本字体渲染库是 FreeType (http://www.freetype.org/) ,它会将支持的格式的字体字形转换为优化的位图字形。渲染过程由算法及其参数(可能受专利问题影响)控制。

使用 FreeType 的每个程序或库都应该参考 Fontconfig (http://www.fontconfig.org/) 库。
此库会从用户及系统那里收集字体配置。用户修改其 Fontconfig 设置后,此更改将导致发生 Fontconfig 感知的应用。

Arabic、Han 或 Phags-Pa 等脚本所需的更复杂的 OpenType 成型以及其他更高级别的文本处理依赖于 Harfbuzz (http://www.harfbuzz.org/) 或 Pango (http://www.pango.org/) (这只是一部分示例)。

Linux 系统有这么几个地方存放字体:

# 系统目录 适用于每个系统用户
/usr/share/fonts
/usr/local/share/fonts

# 用户目录 适用于当前用户
~/.config/fonts
~/.fonts

详细目录区别请参考:Filesystem Hierarchy Standard (文件系统层次标准,FHS)标准

下载字体文件:

wget https://github.com/IBM/plex/releases/download/v1.0.2/TrueType.zip

解压字体文件包:

unzip TrueType.zip

复制字体到字体文件夹:

sudo cp -R TrueType /usr/share/fonts/

刷新字体缓存:

sudo fc-cache -fv

Done.