2017年3月

正如上面的问题所述,我们将要了解:

Linux 是什么?

简单来说, Linux 是一个类 Unix 的开源操作系统。

就像 Windows 或者 Mac OS 一样。

1991 年 10 月 5 日, Linus Torvalds 首次发布 Linux 内核。 Linux 内核是 Linux 系统的一个非常重要的组成部分。目前, Linux 主要用于多种服务器和超级计算机等。它也被用于手机操作系统,比如 Android 操作系统是基于 Linux 内核的。

在早期,Linux 作为一个免费的操作系统被用于基于 Intel ×86 的个人电脑上。因为 Linux 是一个开源操作系统,所以它的源代码可以被修改或使用,也可以在有 GPL(通用公共许可证)这样许可证下被任何人发布。简而言之,如果具备一定知识,知道自己在干什么,那么任何人都可以从 Linux 那儿获得自己的操作系统。正因此,才有了许多 Linux 发行版。

那么, Linux 发行版是什么?

它是基于 Linux 内核的一个操作系统。它带有用户可以使用的软件集合。更多的,它还包含系统管理包。目前有许多 Linux 发行版。因为我们不能数清目前所有的 Linux 发行版,所以我们来看一下一些有名的版本: Ubuntu、Fedora、Opensuse、Red hat Linux 和 Debian 等是几个非常受欢迎的 Linux 发行版。

Ubuntu, 一个非常受欢迎的 Linux 发行版和第三受欢迎的操作系统

Linux 发行版是一个已经准备好可以在个人电脑上安装的完整包。一旦用户在桌面或者服务器上安装了 Linux 发行版,就可以使用各种现成的软件和应用程序。现在,很多 Linux 发行版都具有很好的图形用户界面(GUI),这使得它们成为 Windows 系统或 Mac 系统的一个很好的替代品。

目前, Linux 发行版在性能、界面、可访问性以及最重要的 - 用户友好性等方面都有了很大的提高。一些发行版比如 Ubuntu 和 Linux mint 等,随着用户数量的一天天增加,赢得了很好的市场地位。 Ubuntu 是紧随 Windows 和 Mac 第三受欢迎的操作系统。

对以上做个总结,那就是 Linux 是一个非常强大的操作系统(是的,它很强大)。日复一日,它将获得更多的用户影响力和声誉。所以,如果你还没有在你的电脑上尝试过使用任何 Linux 系统,那么我建议你尝试一下。我们敢保证, Linux 一定不会让你失望的。


via: http://www.techphylum.com/2014/05/what-is-linux-brief-description.html?m=1

作者:sumit rohankar 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

每过段时间,就有新的设备和技术出来,因此如果我们想要充分利用它,保持最新的 Linux 内核就显得很重要。此外,更新系统内核将使我们能够利用新的内核优化,并且它还可以帮助我们避免在早期版本中发现的漏洞。

建议阅读: 如何升级 CentOS 7内核

准备好了在 Ubuntu 16.04 或其上下游衍生版本(如 Debian 和 Linux Mint)中更新你的内核了么?如果准备好了,请你继续阅读!

第一步:检查安装的内核版本

要发现当前系统安装的版本,我们可以:

$ uname -sr

下面的截图显示了在 Ubuntu 16.04 server 中上面命令的输出:

Check Kernel Version in Ubuntu

在 Ubuntu 中检查内核版本

第二步:在 Ubuntu 16.04 中升级内核

要升级 Ubuntu 16.04 的内核,打开 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 并选择列表中需要的版本(发布此文时最新内核是 4.10.1)。

接下来,根据你的系统架构下载 .deb 文件:

对于 64 位系统:

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.1/linux-headers-4.10.1-041001_4.10.1-041001.201702260735_all.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.1/linux-headers-4.10.1-041001-generic_4.10.1-041001.201702260735_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.1/linux-image-4.10.1-041001-generic_4.10.1-041001.201702260735_amd64.deb

这是 32 位系统:

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.1/linux-headers-4.10.1-041001_4.10.1-041001.201702260735_all.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.1/linux-headers-4.10.1-041001-generic_4.10.1-041001.201702260735_i386.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.1/linux-image-4.10.1-041001-generic_4.10.1-041001.201702260735_i386.deb

下载完成这些所有内核文件后,如下安装:

$ sudo dpkg -i *.deb

安装完成后,重启并验证新的内核已经被使用了:

$ uname -sr

就是这样。你下载就可以使用比 Ubuntu 16.04 默认安装的内核的更新版本了。

总结

本文我们展示了如何在 Ubuntu 系统上轻松升级Linux内核。这里还有另一个流程,但我们在这里没有展示,因为它需要从源代码编译内核,这不推荐在生产 Linux 系统上使用。

如果你仍然有兴趣编译内核作为一个学习经验,你可以在 Kernel Newbies 网站中得到指导该如何做。

一如既往,如果你对本文有任何问题或意见,请随时使用下面的评论栏。


作者简介:

Gabriel Cánepa - 一位来自阿根廷圣路易斯梅塞德斯镇 (Villa Mercedes, San Luis, Argentina) 的 GNU/Linux 系统管理员,Web 开发者。就职于一家世界领先级的消费品公司,乐于在每天的工作中能使用 FOSS 工具来提高生产力。


via: http://www.tecmint.com/upgrade-kernel-in-ubuntu/

作者:Gabriel Cánepa 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

MariaDB 是深受欢迎的数据库管理服务器软件 MySQL 的一个自由开源的分支。它由 MySQL 的原开发者在 GPLv2(通用公共许可证 2 版)下开发,并保持开源。

它被设计来实现 MySQL 的高兼容性。对于初学者,可以阅读 MariaDB vs MySQL 来了解关于它们的特性的更多信息。更重要的是,它被一些大公司/组织使用,比如 Wikipedia、WordPress.com 和 Google plus ,除此之外还有更多的。

在这篇文章中,我将向你们展示如何在 Debian 和 Ubuntu 发行版中安装 MariaDB 10.1 稳定版。

在 Debian 和 Ubuntu 上安装 MariaDB

1、在安装之前 MariaDB 之前,你需要通过下面的命令导入仓库密匙并获取 MariaDB 仓库

在 Debian Unstable (Sid) 上

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
$ sudo add-apt-repository 'deb [arch=amd64,i386] http://www.ftp.saix.net/DB/mariadb/repo/10.1/debian sid main'

在 Debian 9 (Stretch) 上

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
$ sudo add-apt-repository 'deb [arch=amd64] http://www.ftp.saix.net/DB/mariadb/repo/10.1/debian stretch main'

在 Debian 8 (Jessie) 上

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://www.ftp.saix.net/DB/mariadb/repo/10.1/debian  jessie main'

在 Debian 7 (Wheezy) 上

$ sudo apt-get install python-software-properties
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb [arch=amd64,i386] http://www.ftp.saix.net/DB/mariadb/repo/10.1/debian wheezy main'

在 Ubuntu 16.10 (Yakkety Yak) 上

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
$ sudo add-apt-repository 'deb [arch=amd64,i386] http://www.ftp.saix.net/DB/mariadb/repo/10.1/ubuntu yakkety main'

在 Ubuntu 16.04 (Xenial Xerus) 上

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
$ sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://www.ftp.saix.net/DB/mariadb/repo/10.1/ubuntu xenial main'

在 Ubuntu 14.04 (Trusty) 上

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://www.ftp.saix.net/DB/mariadb/repo/10.1/ubuntu trusty main'

2、 然后,更新系统安装包列表,并像下面这样安装 MariaDB 服务器:

$ sudo apt-get update
$ sudo apt-get install mariadb-server

安装过程中,将会请求你配置 MariaDB 服务器;在下面的页面中设置一个安全的 root 用户密码:

Set New Root Password for MariaDB

为 MariaDB 设置新的 Root 密码

再次输入密码并按下回车键来继续安装。

Repeat MariaDB Password

再次输入 MariaDB 密码

当 MariaDB 安装包安装完成以后,启动数据库服务器守护进程,同时启用它,使得在下次开机时它能够像下面这样自动启动:

------------- On SystemD Systems -------------
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
$ sudo systemctl status mariadb
------------- On SysVinit Systems -------------
$ sudo service mysql  start
$ chkconfig --level 35 mysql on
OR
$ update-rc.d mysql defaults
$ sudo service mysql status

Start MariaDB Service

开启 MariaDB 服务

4、 然后,运行 mysql_secure_installation 脚本来保护数据库,在这儿你可以:

  1. 设置 root 密码(如果在上面的配置环节你没有进行设置的话)。
  2. 禁止远程 root 登录
  3. 移除测试数据库
  4. 移除匿名用户
  5. 重载权限配置
$ sudo mysql_secure_installation

Secure MariaDB Installation

保护 MariaDB 安装

5、 一旦数据库服务器受保护以后,可以使用下面的 shell 命令查看已安装版本和登录 MariaDB:

$ mysql -V
$ mysql -u root -p

Check MariaDB Version

查看 MariaDB 版本

开始学习 MySQL/MariaDB, 请阅读:

  1. MySQL / MariaDB 初学者学习指南 — Part 1
  2. MySQL / MariaDB 初学者学习指南 — Part 2
  3. MySQL 基本数据库管理命令 — Part III
  4. 针对数据库管理员的 20 个 MySQL (Mysqladmin) 命令 — Part IV

查看在 Linux 中监控 MySQL/MariaDB 性能的四个有用的命令行工具,同时浏览 15 个有用的 MySQL/MariaDB 性能调整和优化技巧

这就是本文的全部内容了。在这篇文章中,我向你们展示了如何在 Debian 和 Ubuntu 的不同发行版中安装 MariaDB 10.1 稳定版。你可以通过下面的评论框给我们提任何问题或者想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/install-mariadb-in-ubuntu-and-debian/

作者:Aaron Kili 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

介绍

终于要结束了!这个大约一年前开始的这系列文章的最后一篇博文。

  1. LXD 入门
  2. 安装与配置
  3. 你的第一个 LXD 容器
  4. 资源控制
  5. 镜像管理
  6. 远程主机及容器迁移
  7. LXD 中的 Docker
  8. LXD 中的 LXD
  9. 实时迁移
  10. LXD 和 Juju
  11. LXD 和 OpenStack
  12. 调试,及给 LXD 做贡献

如果你从一开始就关注了这个系列,你应该已经使用了 LXD 相当长的时间了,并且非常熟悉它的日常操作和功能。

但如果出现问题怎么办?你可以做什么来自己跟踪问题?如果你不能,你应该记录什么信息,以便上游可以跟踪问题?

如果你想自己解决问题或通过实现你需要的功能来帮助改善LXD怎么办?如何构建,测试和贡献 LXD 代码库?

调试 LXD 并填写 bug 报告

LXD 日志文件

/var/log/lxd/lxd.log

这是 LXD 日志的主文件。为了避免它快速充满你的磁盘,默认只会记录 INFOWARNING 或者 ERROR 级别的日志。你可以在 LXD 守护进程中使用 –debug 改变其行为。

/var/log/lxd/CONTAINER/lxc.conf

每当你启动容器时,此文件将更新为传递给 LXC 的配置。

这里会展示容器将如何配置,包括其所有的设备、绑定挂载等等。

/var/log/lxd/CONTAINER/forkexec.log

这个文件包含 LXC 命令执行失败时产生的错误。这个情况是非常罕见的,因为 LXD 通常会在发生之前处理大多数错误。

/var/log/lxd/CONTAINER/forkstart.log

这个文件包含 LXC 在启动容器时的错误信息。含 LXC 命令执行失败时产生的错误。

CRIU 日志 (对于实时迁移)

如果使用 CRIU 进行容器实时迁移或实时快照,则每次生成 CRIU 转储或恢复转储时都会记录额外的日志文件。

这些日志也可以在 /var/log/lxd/CONTAINER/ 中找到,并且有时间戳,以便你可以找到与你最近的操作所匹配的那些日志。它们包含 CRIU 转储和恢复的所有内容的详细记录,并且比典型的迁移/快照错误消息更容器理解。

LXD 调试消息

如上所述,你可以使用 -debug 选项将守护进程切换为执行调试日志记录。另一种方法是连接到守护进程的事件接口,它将显示所有日志条目,而不管配置的日志级别(即使是远程工作)。

举例说,对于 lxc init ubuntu:16.04 xen 来说,

lxd.log 会是这样:

INFO[02-24|18:14:09] Starting container action=start created=2017-02-24T23:11:45+0000 ephemeral=false name=xen stateful=false used=1970-01-01T00:00:00+0000
INFO[02-24|18:14:10] Started container action=start created=2017-02-24T23:11:45+0000 ephemeral=false name=xen stateful=false used=1970-01-01T00:00:00+0000

lxc monitor –type=logging 会是:

metadata:
  context: {}
  level: dbug
  message: 'New events listener: 9b725741-ffe7-4bfc-8d3e-fe620fc6e00a'
timestamp: 2017-02-24T18:14:01.025989062-05:00
type: logging

metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0
  level: dbug
  message: handling
timestamp: 2017-02-24T18:14:09.341283344-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
  level: dbug
  message: StorageCoreInit
timestamp: 2017-02-24T18:14:09.341536477-05:00
type: logging

metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0/containers/xen
  level: dbug
  message: handling
timestamp: 2017-02-24T18:14:09.347709394-05:00
type: logging

metadata:
  context:
    ip: '@'
    method: PUT
    url: /1.0/containers/xen/state
  level: dbug
  message: handling
timestamp: 2017-02-24T18:14:09.357046302-05:00
type: logging

metadata:
  context: {}
  level: dbug
  message: 'New task operation: 2e2cf904-c4c4-4693-881f-57897d602ad3'
timestamp: 2017-02-24T18:14:09.358387853-05:00
type: logging

metadata:
  context: {}
  level: dbug
  message: 'Started task operation: 2e2cf904-c4c4-4693-881f-57897d602ad3'
timestamp: 2017-02-24T18:14:09.358578599-05:00
type: logging

metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0/operations/2e2cf904-c4c4-4693-881f-57897d602ad3/wait
  level: dbug
  message: handling
timestamp: 2017-02-24T18:14:09.366213106-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
  level: dbug
  message: StoragePoolInit
timestamp: 2017-02-24T18:14:09.369636451-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
  level: dbug
  message: StoragePoolCheck
timestamp: 2017-02-24T18:14:09.369771164-05:00
type: logging

metadata:
  context:
    container: xen
    driver: storage/zfs
  level: dbug
  message: ContainerMount
timestamp: 2017-02-24T18:14:09.424696767-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
    name: xen
  level: dbug
  message: ContainerUmount
timestamp: 2017-02-24T18:14:09.432723719-05:00
type: logging

metadata:
  context:
    container: xen
    driver: storage/zfs
  level: dbug
  message: ContainerMount
timestamp: 2017-02-24T18:14:09.721067917-05:00
type: logging

metadata:
  context:
    action: start
    created: 2017-02-24 23:11:45 +0000 UTC
    ephemeral: "false"
    name: xen
    stateful: "false"
    used: 1970-01-01 00:00:00 +0000 UTC
  level: info
  message: Starting container
timestamp: 2017-02-24T18:14:09.749808518-05:00
type: logging

metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0
  level: dbug
  message: handling
timestamp: 2017-02-24T18:14:09.792551375-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
  level: dbug
  message: StorageCoreInit
timestamp: 2017-02-24T18:14:09.792961032-05:00
type: logging

metadata:
  context:
    ip: '@'
    method: GET
    url: /internal/containers/23/onstart
  level: dbug
  message: handling
timestamp: 2017-02-24T18:14:09.800803501-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
  level: dbug
  message: StoragePoolInit
timestamp: 2017-02-24T18:14:09.803190248-05:00
type: logging

metadata:
  context:
    driver: storage/zfs
  level: dbug
  message: StoragePoolCheck
timestamp: 2017-02-24T18:14:09.803251188-05:00
type: logging

metadata:
  context:
    container: xen
    driver: storage/zfs
  level: dbug
  message: ContainerMount
timestamp: 2017-02-24T18:14:09.803306055-05:00
type: logging

metadata:
  context: {}
  level: dbug
  message: 'Scheduler: container xen started: re-balancing'
timestamp: 2017-02-24T18:14:09.965080432-05:00
type: logging

metadata:
  context:
    action: start
    created: 2017-02-24 23:11:45 +0000 UTC
    ephemeral: "false"
    name: xen
    stateful: "false"
    used: 1970-01-01 00:00:00 +0000 UTC
  level: info
  message: Started container
timestamp: 2017-02-24T18:14:10.162965059-05:00
type: logging

metadata:
  context: {}
  level: dbug
  message: 'Success for task operation: 2e2cf904-c4c4-4693-881f-57897d602ad3'
timestamp: 2017-02-24T18:14:10.163072893-05:00
type: logging

lxc monitor 的格式有点不同于每个条目都缩合成一行的日志文件,但更重要的是,你可以看到所有 level:dbug 条目。

如何报告 bug

LXD 的 bug

最好报告 bug 的地方是 https://github.com/lxc/lxd/issues。确保完整填写了 bug 报告模板中的内容,这些信息可以节省我们我们时间来复现环境。

Ubuntu 的 bug

如果你发现 Ubuntu 包本身有问题,无法安装、升级或删除。或者遇到 LXD init 脚本的问题。报告此类错误的最好是在 Launchpad 上。

在 Ubuntu 系统上,你可以使用:ubuntu-bug lxd ,它将自动包括一些日志文件和包信息供我们查看。

CRIU 的 bug

与 CRIU 相关的 Bug,你可以通过 CRIU 的错误输出发现,你应该在 Launchpad 上报告这些:ubuntu-bug criu

请注意,通过 LXD 使用 CRIU 属于测试版功能,除非你愿意通过 Canonical 的支持合同付费支持,要么可能需要一段时间才能查看你的错误报告。

贡献给 LXD

LXD 用 Go 写成并托管在 Github。我们欢迎任外部的贡献。为 LXD 贡献不需要 CLA 或类似的法律协议签署,只是通常的开发者所有权证书(Signed-off-by: 行)。

在我们的问题追踪器工具中,我们列有许多潜在的功能需求,新的贡献者可以以此作为良好的起点。通常最好在开始处理代码先发出 issue,这样每个人都知道你正在做这项工作,以便我们可以提供一些早期反馈。

从源码源码构建 LXD

这里有上游的维护说明:https://github.com/lxc/lxd#building-from-source

你需要在 Github 上 fork 上游仓库,然后将你的更改推送到你的分支。我们建议每天 rebase 上游的 LXD,因为我们倾向于定期合并更改。

运行测试套件

LXD 维护了两套测试集,单元测试和集成测试。你可以用下面的命令测试所有:

sudo -E make check

要只运行单元测试,使用:

sudo -E go test ./...

要运行集成测试,使用:

cd test
sudo -E ./main.sh

后者支持相当多的环境变量来测试各种存储后端、禁用网络测试、使用 ramdisk 或只是调整日志输出。其中一些是:

  • LXD_BACKENDbtrfsdirlvmzfs” 之一(默认为 dir
    运行 LXD 存储驱动程序相关的所有测试。
  • LXD_CONCURRENTtruefalse(默认为 false
    这启用一些额外的并发测试。
  • LXD_DEBUGtruefalse(默认为 false
    记录所有 shell 命令,并在调试模式下运行所有​​ LXD 命令。
  • LXD_INSPECTtruefalse(默认为 false
    测试程序会在故障时挂起,以便你可以检查环境。
  • LXD_LOGS:将所有 LXD 日志文件转储到的目录(默认为 “”)
    所有生成的 LXD 守护进程的 logs 目录将被复制到此路径。
  • LXD_OFFLINEtruefalse(默认为 false
    禁用任何依赖于外部网络连接的测试。
  • LXD_TEST_IMAGE: unified 格式的 LXD 镜像的路径(默认为 “”)
    可以使用自定义测试镜像,而不是默认的最小 busybox 镜像。
  • LXD_TMPFStruefalse(默认为 false
    tmpfs 安装中运行整个测试套件,这会使用相当多的内存,但会使测试速度明显更快。
  • LXD_VERBOSEtruefalse(默认为 false
    不太极端的 LXD_DEBUG 版本。shell 命令仍然会记录,但 -debug 不会传递给 LXC 命令,LXD 守护进程只能使用 -verbose 运行。

测试程序将在实际运行之前提醒你任何缺失的依赖项。在相当快的机器上运行该测试可在 10 分钟内完成。

发送你的分支

发送拉取请求(PR)之前,你需要确认:

  • 你已经 rebase 了上游分支
  • 你的所有提交信息都包括 Signed-off-by: First Last <email> 这行
  • 已删除任何你的临时调试代码
  • 你已经将相关的提交 squash 在一起,以保持你的分支容易审查
  • 单元和集成测试全部通过

一切完成后,在 Github 上发起一个拉取请求。我们的 Jenkins 将验证提交是否全部有 signed-off,在 MacOS 和 Windows 上的测试将自动执行,如果看起来不错,我们将触发一个完整的 Jenkins 测试,它将在所有存储后端、32 位和 64 位以及我们关心的所有 Go 版本上测试你的分支。

假设我们有人触发了 Jenkins,这通常需要不到一个小时的时间。

一旦所有测试完成,我们对代码本身感到满意,你的分支将会被合并,你的代码会出现在下一个 LXD 发布中。如果更改适用于 LXD stable-2.0 分支,我们将为你向后移植。

总结

我希望这个系列的博客文章有助于你了解什么是 LXD,以及它可以做什么!

本系列的范围仅限于 LXD(2.0.x),但我们也为那些想要最新功能的用户提供每月功能版本。你可以找到一些其他涵盖了原来的 LXD 2.0系列文章中列出的功能的博客文章。

额外的信息

LXD 的主站在: https://linuxcontainers.org/lxd

LXD 的 GitHub 开发仓库: https://github.com/lxc/lxd

LXD 的邮件列表: https://lists.linuxcontainers.org

LXD 的 IRC 频道:#lxcontainers on irc.freenode.net

在线尝试 LXD: https://linuxcontainers.org/lxd/try-it


作者简介:我是 Stéphane Graber。我是 LXC 和 LXD 项目的领导者,目前在加拿大魁北克蒙特利尔的家所在的 Canonical 有限公司担任 LXD 的技术主管。


via: https://stgraber.org/2017/02/27/lxd-2-0-debugging-and-contributing-to-lxd-1212/

作者:Stéphane Graber 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

来自 LFS( 从零编译 Linux Linux From Scratch ) 和 BLFS (超越 LFS Beyond Linux From Scratch ) 项目的 Bruce Dubbs 宣布 LFS 8.0 和 Beyond LFS 8.0 发布。就像项目名所说,该项目允许有经验的用户从零开始打造自己的 Linux 操作系统。

LFS 8.0 和 Beyond LFS 8.0 都对部分最新 GNU/Linux 和开源组件提供支持,包括 GCC 6.2.0,GNU Binutils 2.27,以及 Glibc (GNU C Library) 2.24。

“LFS 发布版包括更新的 glibc-2.24、binutils-2.27,以及 gcc-6.2.0。共更新了 29 个包,修正了启动脚本,并更新了全书中的文字,” Bruce Dubbs 说。“BLFS 版本包括了在基本的 LFS 7.10 书之外的约 800 个包。”

为什么这次是大版本发布呢?因为在此次 LFS 8.0 和 Beyond LFS 8.0 发布中所包含的最大的改变,是移除了 /lib 符号链接,用 /lib64 代替,并且彻底除去了 /usr/lib64

LFS 8.0 和 Beyond LFS 8.0 发布中另一个有趣的变化是增加了 /usr/bin/ld.gold 可用,目前这还不是默认启用。在 BLFS 8.0 书中有超过 775 个更新,包括一些格式和文字改变。

如果你想要从零开始打造你自己的 GNU/Linux 发行版,现在可以下载 LFS 8.0BLFS 8.0 。建议访问项目的官方网站以获得启动该工作的更多信息。

支持 Python 3 的 systemd 233 发布,同时有 70 多个改进与 Bug 修复

Lennart Poettering 3 月 1 日宣布,基于 Linux 操作系统的采用开源技术的 systemd 233 init 系统已普遍可用。

systemd 233 将很快进入各个发行版。它有很多改进,如果想确切知道更改或添加了哪些东西,可以查看 changelog。也可以关注软件库中你喜欢的发行版本中的 systemd 233,或者现在就下载 tarball

CentOS 7 发布重要安全补丁

3 月 6 日,针对 CentOS 7 系列操作系统的用户,发布了一个重要的 Linux 核心安全补丁,以解决最近发现的 4 个漏洞。

这 4 个漏洞分别是: CVE-2016-8630CVE-2016-8655,CVE-2016-9083CVE-2016-9084

CentOS 7 系列操作系统的所有用户都应尽快更新到新核心版本。该问题还影响到 Red Hat Enterprise Linux Desktop 7,Red Hat Enterprise Linux HPC Node 7,Red Hat Enterprise Linux Server 7,Red Hat Enterprise Linux Server TUS 7.3,以及 Red Hat Enterprise Linux Workstation 7 等系统的用户。

BlackArch Linux 现在提供超过 1700 款渗透测试工具,新版本 ISO 已发布

3 月 1 日,基于 Arch Linux 的 BlackArch Linux 操作系统发布新版 ISO,该系统主要面向渗透测试人员和安全研究者群体。 发布的 BlackArch Linux 2017-03-01 预装了超出 1700 款渗透测试工具,建议访问 BlackArch Linux 的官方站点 以更好的了解 ISO 中包含的工具。

Wine 2.3 发布,并改进了 Mortal Kombat X、Kholat 和 Witcher 3

Wine 开发团队宣布该开源且跨平台应用的新开发版本发布,可以让 Linux 和 Mac 用户安装使用仅为 Microsoft Windows 操作系统开发的应用和游戏。

Wine 2.3 为最新开发版本,这是在今年早些时候发布稳定 Wine 2.0 大版本后的第三个版本。 根据发布说明,Wine 2.3 共解决了 41 个问题。

如果想要编译和安装,可以下载 Wine 2.3 source tarball,不过这只是发布前版本,不适合于日常使用。

Mozilla Firefox 52.0 已在所有支持的 Ubuntu Linux 系统上可用,请更新

3 月 7 日,Mozilla 宣布 Firefox 52.0 web 浏览器发布,随后很快宣布,Firefox 52.0 已登录所有支持的 Ubuntu Linux 操作系统的稳定软件库。包括 Ubuntu 12.04 LTS (Precise Pangolin),Ubuntu 14.04 LTS (Trusty Tahr),Ubuntu 16.04 LTS (Xenial Xerus),以及 Ubuntu 16.10 (Yakkety Yak) 系统。也就是说,你只需升级你的安装来获得新版本。

Canonical 还提供了关于如何升级 Ubuntu Linux 操作系统的详细指导,请参见: https://wiki.ubuntu.com/Security/Upgrades