Ubuntu系统

展开

当前位置:首页>服务器系统>Ubuntu系统

使用LXD容器运行Ubuntu Core

作者:系统库人气:
Ubuntu Core 是什么?
Ubuntu Core 是完全基于 snap 包构建,并且完全事务化的 Ubuntu 版本。
该系统大部分是只读的,所有已安装的应用全部来自 snap 包,完全使用事务化更新。这意味着不管在系统更新还是安装软件的时候遇到问题,整个系统都可以回退到之前的状态并且记录这个错误。
最新版是在 2016 年 11 月发布的 Ubuntu Core 16。
注意,Ubuntu Core 限制只能够安装 snap 包(而非 “传统” 软件包),并且有相当数量的 snap 包在当前环境下不能正常运行,或者需要人工干预(创建用户和用户组等)才能正常运行。随着新版的 snapd 和 “core” snap 包发布,Ubuntu Core 每周都会得到改进。
 
环境需求
就 LXD 而言,Ubuntu Core 仅仅相当于另一个 Linux 发行版。也就是说,snapd 需要挂载无特权的 FUSE 和 AppArmor 命名空间以及软件栈,像下面这样:
1.一个新版的使用 Ubuntu 官方内核的系统
2.一个新版的 LXD
 
创建一个 Ubuntu Core 容器
当前 Ubuntu Core 镜像发布在社区的镜像服务器。你可以像这样启动一个新的容器:
stgraber@dakara:~$ lxc launch images:ubuntu-core/16 ubuntu-core
Creating ubuntu-core
Starting ubuntu-core
这个容器启动需要一点点时间,它会先执行第一阶段的加载程序,加载程序会确定使用哪一个镜像(镜像是只读的),并且在系统上设置一个可读层,你不要在这一阶段中断容器执行,这个时候什么都没有,所以执行 lxc exec 将会出错。
几秒钟之后,执行 lxc list 将会展示容器的 IP 地址,这表明已经启动了 Ubuntu Core:
stgraber@dakara:~$ lxc list
使用LXD容器运行Ubuntu Core
之后你就可以像使用其他的交互一样和这个容器进行交互:
stgraber@dakara:~$ lxc exec ubuntu-core bash
root@ubuntu-core:~# snap list
使用LXD容器运行Ubuntu Core
 
更新容器
如果你一直关注着 Ubuntu Core 的开发,你应该知道上面的版本已经很老了。这是因为被用作 Ubuntu LXD 镜像的代码每隔几个月才会更新。Ubuntu Core 系统在重启时会检查更新并进行自动更新(更新失败会回退)。
如果你想现在强制更新,你可以这样做:
stgraber@dakara:~$ lxc exec ubuntu-core bash
root@ubuntu-core:~# snap refresh
pc-kernel (stable) 4.4.0-53-1 from 'canonical' upgraded
core (stable) 16.04.1 from 'canonical' upgraded
root@ubuntu-core:~# snap version
snap 2.17
snapd 2.17
series 16
root@ubuntu-core:~#
然后重启一下 Ubuntu Core 系统,然后看看 snapd 的版本。
root@ubuntu-core:~# reboot
root@ubuntu-core:~# 
stgraber@dakara:~$ lxc exec ubuntu-core bash
root@ubuntu-core:~# snap version
snap 2.21
snapd 2.21
series 16
root@ubuntu-core:~#
你也可以像下面这样查看所有 snapd 的历史记录:
stgraber@dakara:~$ lxc exec ubuntu-core snap changes
使用LXD容器运行Ubuntu Core
 
安装 Snap 软件包
以一个最简单的例子开始,经典的 Hello World:
stgraber@dakara:~$ lxc exec ubuntu-core bash
root@ubuntu-core:~# snap install hello-world
hello-world 6.3 from 'canonical' installed
root@ubuntu-core:~# hello-world
Hello World!
接下来让我们看一些更有用的:
stgraber@dakara:~$ lxc exec ubuntu-core bash
root@ubuntu-core:~# snap install nextcloud
nextcloud 11.0.1snap2 from 'nextcloud' installed
之后通过 HTTP 访问你的容器就可以看到刚才部署的 Nextcloud 实例。
如果你想直接通过 git 测试最新版 LXD,你可以这样做:
stgraber@dakara:~$ lxc config set ubuntu-core security.nesting true
stgraber@dakara:~$ lxc exec ubuntu-core bash
root@ubuntu-core:~# snap install lxd --edge
lxd (edge) git-c6006fb from 'canonical' installed
root@ubuntu-core:~# lxd init
Name of the storage backend to use (dir or zfs) [default=dir]: 
We detected that you are running inside an unprivileged container.
This means that unless you manually configured your host otherwise,
you will not have enough uid and gid to allocate to your containers.
LXD can re-use your container's own allocation to avoid the problem.
Doing so makes your nested containers slightly less safe as they could
in theory attack their parent container and gain more privileges than
they otherwise would.
Would you like to have your containers share their parent's allocation (yes/no) [default=yes]? 
Would you like LXD to be available over the network (yes/no) [default=no]? 
Would you like stale cached images to be updated automatically (yes/no) [default=yes]? 
Would you like to create a new network bridge (yes/no) [default=yes]? 
What should the new bridge be called [default=lxdbr0]? 
What IPv4 address should be used (CIDR subnet notation, “auto” or “none”) [default=auto]? 
What IPv6 address should be used (CIDR subnet notation, “auto” or “none”) [default=auto]? 
LXD has been successfully configured.
已经设置过的容器不能回退版本,但是可以在 Ubuntu Core 16 中运行另一个 Ubuntu Core 16 容器:
root@ubuntu-core:~# lxc launch images:ubuntu-core/16 nested-core
Creating nested-core
Starting nested-core 
root@ubuntu-core:~# lxc list
使用LXD容器运行Ubuntu Core
 
写在最后
如果你只是想试用一下 Ubuntu Core,这是一个不错的方法。对于 snap 包开发者来说,这也是一个不错的工具来测试你的 snap 包能否在不同的环境下正常运行。
如果你希望你的系统总是最新的,并且整体可复制,Ubuntu Core 是一个很不错的方案,不过这也会带来一些相应的限制,所以可能不太适合你。
最后是一个警告,对于测试来说,这些镜像是足够的,但是当前并没有被正式的支持。在不久的将来,官方的 Ubuntu server 可以完整的支持 Ubuntu Core LXD 镜像。
 
附录
LXD 主站:https://linuxcontainers.org/lxd
Github:https://github.com/lxc/lxd
邮件列表:https://lists.linuxcontainers.org
IRC:#lxcontainers on irc.freenode.net
在线试用:https://linuxcontainers.org/lxd/try-it

VLC Web Plugin如何在ubantu linux系统上安装使用

1、VLC对linux系统的支持
首先我们可以在VLC官网上看到如下截图的信息:
使用LXD容器运行Ubuntu Core
可以看的出来,VLC本身是支持很多衍生版本的linux系统的。截图来源页面地址:
http://www.videolan.org/vlc/#download
因为本次测试采用的是ubantu系统进行测试的,所以我们点击进去VLC for Ubantu可以看到下图界面:
使用LXD容器运行Ubuntu Core
图片链接地址:http://www.videolan.org/vlc/download-ubuntu.html
可以看的出来,VLC支持的Ubantu的版本有限,但是实际测试高版本的Ubantu也是可以支持的,并不影响使用,上面这张图主要是说明,VLC web plugin 也是要单独安装的,安装命令如上图所示。
 
2、选择测试的linux系统
本次测试测试了俩个版本的64位的linux系统,分别是ubuntu-16.04.3-desktop-amd64.iso以及ubuntukylin-17.10-enhanced-amd64.iso,链接分别是
http://101.106.238.58/files/30270000020D01FB/101.96.10.63/releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso
http://nudt.dl.360tpcdn.com/data/ubuntukylin-17.10-enhanced-amd64.iso
 
3、如何安装VLC播放器以及vlc webplugin
安装好linux操作系统以后,我们就可以通过系统中的应用商店或者操作命令进行VLC软件的安装。这里需要注意,不同版本的linux操作系统,安装VLC的流程不尽相同,可以百度一下。这里给出的安装方案,是在线的,并且只在上述俩个版本的操作系统中试验过。在线的就是要求要有有效的网络链接。
安装命令为:
sudo apt-get update
sudo apt-get install vlc
上述俩个命令执行成功以后,VLC就已经成功安装了。但是vlcweb plugin 浏览器插件还没有安装成功,我们还需要执行以下操作命令,来安装vlcweb plugin插件。
sudo apt-get update
sudo apt-get install vlc browser-plugin-vlc
注意:我们试验过centos7版本的linux操作系统,但是没有成功安装VLC,所以不建议使用。
 
4、下载火狐linux版浏览器以及配置激活vlcweb plugin插件
安装好的linux操作系统,一般都会自带firefox浏览器,火狐52版本以上的浏览器不在支持NPAPI 插件,而vlc web plugin是要依赖这个插件的,所以也就不支持vlc web plugin了。如图:
使用LXD容器运行Ubuntu Core
既然高版本的不支持,那么我们就只能用低版本的浏览器了,下面这个链接可以下载N多个版本的firefox浏览器,我测试用的是47以及52俩个版本。
链接:http://ftp.mozilla.org/pub/firefox/releases/
使用者可以到这个网址下下载firefox linux版本,这个linux版本是免安装的,下载完成后放到系统里,直接解压缩就好,然后在解压缩的目录中,firefox-sdk\bin中找到firefox这个名字的文件,双击就可以打开低版本的火狐浏览器,这里需要注意俩件事情,一件是要关闭掉firefox的自动更新功能,不然更新到高版本后又不可以使用了。一件是64位的linux操作系统只能打开firefox64位的离线包,32位的只能打开32位的离线安装包,系统位数要保持一致。
一切都ok以后,我们需要手动激活vlc web plugin插件,具体操作如下:
我们首先点击图标,然后选择附件添加,会看到插件,然后选择总是激活就ok了。

ubuntu下无法启动vivado SDK的解决办法

软件环境:
VMware-workstation-full-12.5.6
ubuntu 17.10
vivado 2016.2
 
在vivado中安装好vivado 之后,新建工程。导出硬件信息。launch SDK 的时候 vivado 一点反应都没有 —— 人家本来就是没反应的。可是等了半天SDK 也不见出来。
后面看log 是这样子的:
使用LXD容器运行Ubuntu Core
 
解决办法:
使用LXD容器运行Ubuntu Core
第一步:更改权限
第二步:修改文件 
在eclipse.ini文件的 
-vmargs
上一行加上:
--launcher.GTK_version
2
记得保存关闭。    
不要问我为什么,我也是linux小白。
这么做就完了吗? 没有,对应的终端出现这种error
使用LXD容器运行Ubuntu Core
不知道是哪个字符串无法识别。这是什么bug,搜不到!反正SDK 启动了。
 

Ubuntu 17.10主要内核更新 修复20个安全漏洞IBM发布开源现代化字体IBM Plex,应该在Ubuntu上最好Ubuntu 18.04 LTS确认Suru为默认图标主题TQ2440在Ubuntu16.04上如何搭建DNW烧写环境Krita 3.3.2发布,修复重要Bug及如何在Ubuntu下安装Ubuntu缩小磁盘分区大小Linux企业发行版基准测试:CentOS和Ubuntu被击败Ubuntu 16.04 ROS-kinetic安装华硕Xtion Pro Live驱动Ubuntu下利用华硕Xtion Pro Live在ROS-kinetic下跑rgbdslam_v2Ubuntu 16.04 LTS运行robo3t报错

加载全部内容

Ubuntu系统排行