我已经使用 btrfs 作为 / 文件系统安装了 Ubuntu 11.10(做起来有点麻烦,如果人们感兴趣,我会解释)所以我可以将主文件系统扩展到系统上的第二个驱动器(*) .
安装系统后,我运行btrfs device add /dev/sdb1 /
并添加了新设备并将文件系统扩展到它,一切都很好。但是根据我正在阅读的(错误的)手册,我还必须运行btrfs filesystem balance
,这显然将我的文件系统转换为“raid1”模式,因此所有内容都冗余存储两次 - 每个驱动器上一次,我只能使用总数的 50%容量:
$ btrfs filesystem df /
Data, RAID0: total=78.00GB, used=41.57GB
System, RAID1: total=8.00MB, used=16.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=3.75GB, used=355.06MB
Run Code Online (Sandbox Code Playgroud)
这是一个不错的功能,但我有点想使用“raid0”(剥离)。我试图删除新设备,以便我可以重新添加它,但是当我尝试这样做时,我收到一个错误并且系统日志有这个:
btrfs: unable to go below two devices on raid1
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何将我的文件系统转换回 raid0 以便我可以使用两个磁盘的总空间?
(*) Like 可以用 LVM 来完成,但是使用 btrfs,您可以在同一个“文件系统”上托管多个“分区”,并且空间在您需要的地方动态分配 - 与 LVM 不同。
在 Ubuntu 上使用 GNOME 桌面时,如果我使用 OpenSSH 客户端连接到另一台计算机(从 gnome 终端运行),我会收到一个图形弹出窗口,询问我的私钥的密码短语。之后,我不再需要输入密码,因为它已被 SSH 代理缓存。
在 KDE 下,它不是那样工作的——当我从 konsole 启动 ssh 时,即使 ssh-agent 正在运行,我每次都会收到输入密码短语的文本提示。
如果我从终端运行 ssh-add,那么我可以在终端上输入我的密码短语,它将被 ssh-agent 存储,我不会再收到任何密码短语提示,而如果我运行 ssh-add KRunner 图形命令行(“运行”对话框)然后我得到一个具有相同行为的图形提示。问题是我必须记住每次登录桌面时都运行 ssh-add。
我怎样才能让 ssh 在 KDE 下运行,就像它在 GNOME 上一样——第一次需要密码短语时,弹出一个图形对话框并将密码短语存储在代理中。
我已经安装了 ksshaskpass,但这并没有改变任何东西。
我正在使用标准 devscripts 将我的软件构建到 deb 包中,并且我想使用dch
自动增加非源代码更改(即打包更改和补丁)的版本号,因为它在 Linux 发行版中很常见。
例如:源版本是1.0.0
,我将软件1.0.0-1
打包为(版本 1.0.0 的第一个打包版本)。现在我发现了打包中的一个bug(例如,一个配置文件没有被标记为这样),所以我想发布包版本1.0.0-2
。
起初我以为这dch -i
是非常理想的,但显然它从递增1.0.0-1
到1.0.0-1ubuntu1
:-(。我看着很难进入其他什么我可以使用命令行选项,但所有我能找到的选项使用不同的后缀(如--rebuild
将增加buildX
)。
我每次都要手动编辑版本号吗?
我正在为使用环境变量配置的服务编写新贵工作,其中很多(> 20)。
到目前为止,处理这种情况的方式通常是从使用 Ruby 的 Dotenv gem 加载配置文件的 Ruby 启动器运行它。我想用一个简单的 upstart 文件替换启动器(以减少我需要维护的自定义代码量),但我遇到了如何设置服务所需的所有环境变量的问题。
我最初的看法是:
script
. /etc/default/service-conf
/usr/local/bin/service
end script
Run Code Online (Sandbox Code Playgroud)
但只是获取文件并不会导出变量,而且我不想export
在脚本中添加很多命令,主要是因为它将完全无法维护且无法读取。