zswap的enabled默认是只读权限?什么情况?

最大的社区版本,Ubuntu的发源地
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled默认是只读权限?什么情况?

#16

帖子 科学之子 » 2016-04-30 20:27

poloshiao 写了:
root@debian:/etc/init.d# echo 1 > /sys/module/zswap/parameters/enabled
-bash: /sys/module/zswap/parameters/enabled: Permission denied
https://wiki.archlinux.org/index.php/Zs ... ling_zswap
You can enable zswap at runtime by executing the following command as root:
echo 1 > /sys/module/zswap/parameters/enabled

在許多 Linux 或 Unix-Like 作業系統
列出來的指令 通常告訴你 as root (指 root 權限)
但是沒有說 必須是使用 root 身份 (uid=0)

ubuntu 則比較明確 在幾乎大部分的文章 如果需要 as root 都會在指令前面加 sudo 因為 Ubuntu 預設 關閉 root 登入
然而sudo对重定向处理有些麻烦
所以涉及到重定向之类的复杂操作,我都是sudo -i,以确保执行结果和root一样.
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#17

帖子 vickycq » 2016-04-30 20:44

科学之子 写了: https://lkml.org/lkml/2013/7/22/515
这个结果貌似说明jessie默认内核很可能具有这个功能,因为这个补丁其实很早就出来了
如果看后续的回复,会发现大家都对这个补丁持否定态度。说明可能未被接纳。

看此链接中的补丁,mm/zswap.c 中添加了

代码: 全选

module_param_named(enabled, zswap_enabled, bool, 0644);
下载 Debian 内核源码 linux-source-3.16_3.16.7-ckt25-1_all.deb 进行比对
Debian 内核中的代码为

代码: 全选

module_param_named(enabled, zswap_enabled, bool, 0444);
猜测 权限为 444 (-r--r--r--) 不可写。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#18

帖子 vickycq » 2016-04-30 21:00

科学之子 写了: 您搜索的关键词是什么呢?我根据您的提示搜索"zswap runtime"没有找到您的结果,
因为看楼上提到 modprobe,搜索 'zswap enable modprobe' 就有上面的结果。

不知 zswap 与哪些模块有关呢?Debian 默认为 CONFIG_ZSWAP=y
但在 /lib/modules/`uname -r`/modules.builtin 中也找不到任何 zswap 相关信息
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled默认是只读权限?什么情况?

#19

帖子 科学之子 » 2016-04-30 21:17

vickycq 写了:
科学之子 写了: 您搜索的关键词是什么呢?我根据您的提示搜索"zswap runtime"没有找到您的结果,
因为看楼上提到 modprobe,搜索 'zswap enable modprobe' 就有上面的结果。

不知 zswap 与哪些模块有关呢?Debian 默认为 CONFIG_ZSWAP=y
但在 /lib/modules/`uname -r`/modules.builtin 中也找不到任何 zswap 相关信息
我猜测zswap是与内存管理机制紧密结合在一起,因此不是一个像zram一样单独模块?
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled默认是只读权限?什么情况?

#20

帖子 科学之子 » 2016-04-30 21:57

vickycq 写了:
科学之子 写了: https://lkml.org/lkml/2013/7/22/515
这个结果貌似说明jessie默认内核很可能具有这个功能,因为这个补丁其实很早就出来了
如果看后续的回复,会发现大家都对这个补丁持否定态度。说明可能未被接纳。

看此链接中的补丁,mm/zswap.c 中添加了

代码: 全选

module_param_named(enabled, zswap_enabled, bool, 0644);
下载 Debian 内核源码 linux-source-3.16_3.16.7-ckt25-1_all.deb 进行比对
Debian 内核中的代码为

代码: 全选

module_param_named(enabled, zswap_enabled, bool, 0444);
猜测 权限为 444 (-r--r--r--) 不可写。
"后续回复"是在哪里?貌似那个页面没有?
又找到了:
https://lkml.org/lkml/2013/7/23/137
只相差一天?
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#21

帖子 vickycq » 2016-04-30 22:05

科学之子 写了: "后续回复"是在哪里?貌似那个页面没有?
又找到了:
https://lkml.org/lkml/2013/7/23/137
只相差一天?
左侧 "Messages in this thread",有两个回复,分别来自 Bob Liu 和 Dave Hansen
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

Re: zswap的enabled默认是只读权限?什么情况?

#22

帖子 rosynirvana » 2016-04-30 22:26

用3.16的内核要看3.16的文档
http://lxr.free-electrons.com/source/Do ... txt?v=3.16

To enabled zswap, the "enabled" attribute must be set to 1 at boot time. e.g.
zswap.enabled=1
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#23

帖子 vickycq » 2016-04-30 22:47

rosynirvana 写了:用3.16的内核要看3.16的文档
http://lxr.free-electrons.com/source/Do ... txt?v=3.16
To enabled zswap, the "enabled" attribute must be set to 1 at boot time. e.g.
zswap.enabled=1
看来不是 Debian 干的
下载 http://ftp.sjtu.edu.cn/sites/ftp.kernel ... .16.tar.xz
linux-3.16/mm/zswap.c

代码: 全选

module_param_named(enabled, zswap_enabled, bool, 0444);
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
kashu
帖子: 451
注册时间: 2014-02-07 17:31
系统: Xubuntu 14.04.5 64位

Re: zswap的enabled默认是只读权限?什么情况?

#24

帖子 kashu » 2016-05-01 6:14

对比一下这两个文档,内容不一样
左:https://www.kernel.org/doc/Documentation/vm/zswap.txt
右:http://lxr.free-electrons.com/source/Do ... txt?v=3.16

图片


从文档上来看,4.2之后都有了:echo 1 > /sys/modules/zswap/parameters/enabled
http://lxr.free-electrons.com/source/Do ... .txt?v=4.2


再拿https://www.kernel.org/doc/Documentation/vm/zswap.txthttp://lxr.free-electrons.com/source/Do ... /zswap.txt对比
内容完全一致。

https://www.kernel.org/doc/Documentation/vm/zswap.txt应该对应的比较新的内核版本,内容应该是没错的。
拿但这个新文档来对照现在正在用的老内核,就发现不对了。


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ ... DuDYX8L6Qg
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#25

帖子 vickycq » 2016-05-01 9:14

科学之子 写了: 然而sudo对重定向处理有些麻烦
所以涉及到重定向之类的复杂操作,我都是sudo -i,以确保执行结果和root一样.
一般用 管道 + tee

代码: 全选

echo 'blacklist sp5100_tco' | sudo tee -a /etc/modprobe.d/blacklists.conf
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: zswap的enabled默认是只读权限?什么情况?

#26

帖子 科学之子 » 2016-05-01 10:53

vickycq 写了:
科学之子 写了: 然而sudo对重定向处理有些麻烦
所以涉及到重定向之类的复杂操作,我都是sudo -i,以确保执行结果和root一样.
一般用 管道 + tee

代码: 全选

echo 'blacklist sp5100_tco' | sudo tee -a /etc/modprobe.d/blacklists.conf
如果写shell脚本我可能会考虑这样的代码
但是手动敲命令,这样还是不如sudo -i简单,至少我是这么觉得.
有不同看法欢迎交流.
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#27

帖子 vickycq » 2016-05-01 11:12

科学之子 写了: 如果写shell脚本我可能会考虑这样的代码
但是手动敲命令,这样还是不如sudo -i简单,至少我是这么觉得.
主要是方便他人直接复制粘贴到终端中运行。
例如有人发帖问 “为何我的 APU 机器升级到 Linux 4.5 无法开机?”
直接回复一行 echo 'blacklist sp5100_tco' | sudo tee -a /etc/modprobe.d/blacklists.conf
以减轻对方的操作负担。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
kashu
帖子: 451
注册时间: 2014-02-07 17:31
系统: Xubuntu 14.04.5 64位

Re: zswap的enabled默认是只读权限?什么情况?

#28

帖子 kashu » 2016-05-01 11:21

我不太清楚@科学之子 是不是指这个:

sudo -i echo 'blacklist sp5100_tco' >> /etc/modprobe.d/blacklist.conf
比(VS)
echo 'blacklist sp5100_tco' | sudo tee -a /etc/modprobe.d/blacklist.conf

敲起来会更舒服一点?


但,敲起来好像不太顺利:
kashu:/tmp$ sudo -i echo "123 abc" >> /etc/modprobe.d/blacklist.conf
bash: /etc/modprobe.d/blacklist.conf: Permission denied



但我有时也会这样敲:
sudo sh -c "echo 123 abc >> /etc/modprobe.d/blacklist.conf"
同样,我也喜欢这样敲,看心情
echo '123 abc' | sudo tee -a /etc/modprobe.d/blacklist.conf
上次由 kashu 在 2016-05-01 11:23,总共编辑 1 次。


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ ... DuDYX8L6Qg
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: zswap的enabled默认是只读权限?什么情况?

#29

帖子 vickycq » 2016-05-01 11:23

kashu 写了:我不太清楚@科学之子 是不是指这个:
sudo -i echo 'blacklist sp5100_tco' >> /etc/modprobe.d/blacklist.conf
但,敲起来好像不太顺利:
kashu:/tmp$ sudo -i echo "123 abc" >> /etc/modprobe.d/blacklist.conf
bash: /etc/modprobe.d/blacklist.conf: Permission denied
他指的是

代码: 全选

$ sudo -i
[sudo] Password for alex:
# echo 'blacklist sp5100_tco' >> /etc/modprobe.d/blacklist.conf
# 
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
kashu
帖子: 451
注册时间: 2014-02-07 17:31
系统: Xubuntu 14.04.5 64位

Re: zswap的enabled默认是只读权限?什么情况?

#30

帖子 kashu » 2016-05-01 11:26

哦,是这样 :Haha

我开头是这样敲的,能直接敲
kashu:/tmp$ sudo -i head -n1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

所以,后面那条 echo 语句也这样试着去敲了
原来是直接sudo -i


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ ... DuDYX8L6Qg
回复