文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux chromium通过yum安装解决不能使用问题

Linux chromium通过yum安装解决不能使用问题

时间:2010-10-11  来源:mydear

给大家推荐一款很不错的Linux chromium系统很有学习价值,这里我主要讲解Linux chromium系统的应用,包括介绍Linux chromium知识等方面。自打装好Fedora 12之后就发现Linux chromium不能用rpm安装了,安装时总是缺这少那,很是费劲,于是按照网上的方法,在/etc/yum.repos.d/下创建一个 chromium.repo,内容如下:

  1. view plaincopy to clipboardprint?
  2. [chromium]
  3. name=Chromium Test Packages
  4. baseurl=http://spot.fedorapeople.org/chromium/F$releasever/
  5. enabled=0
  6. gpgcheck=0
  7. [chromium]
  8. name=Chromium Test Packages
  9. baseurl=http://spot.fedorapeople.org/chromium/F$releasever/
  10. enabled=0
  11. gpgcheck=0

然后通过yum安装就可以了。

今天在Fedora People看到有新的Linux chromium安装包出现,于是打算升级Linux chromium。下载了所有的rpm包(忘记了最初是通过yum安装的)。安装时Linux chromium, chromium-libs都能通过rpm -Uvh正常安装,可是升级v8时还是出了问题。想起以前的教训,打算先把v8完全卸载再安装,可是缺无法卸载,无论是通过rpm -e还是yum remove都不行。

这时想到了用yum upodate v8-*,结果却出现了“Package v8-devel-2.0.3-1.20091209svn3443.fc12.i686.rpm is not signed”的错误。在网上找到一个办法,就是编辑 /etc/yum.conf ,把gpgcheck=1 改为 gpgcheck=0。不过这样做有潜在的风险,因此在安装完v8之后就立刻把gpgcheck重新设为1.

另外一个奇怪的问题是,打开Linux chromium时,浏览器打不开,而且SELinux总是报错:

  1. view plaincopy to clipboardprint?
  2. Summary:
  3. SELinux is preventing /usr/lib/chromium-browser/chromium-browser from loading
  4. /usr/lib/chromium-browser/libmedia.so which requires text relocation.
  5. Detailed Description:
  6. The chromium-browse application attempted to load
  7. /usr/lib/chromium-browser/libmedia.so which requires text relocation. This is a
  8. potential security problem. Most libraries do not need this permission.
  9. Libraries are sometimes coded incorrectly and request this permission. The
  10. SELinux Memory Protection Tests
  11. (http://people.redhat.com/drepper/selinux-mem.html) web page explains how to
  12. remove this requirement. You can configure SELinux temporarily to allow
  13. /usr/lib/chromium-browser/libmedia.so to use relocation as a workaround, until
  14. the library is fixed. Please file a bug report.
  15. Allowing Access:
  16. If you trust /usr/lib/chromium-browser/libmedia.so to run correctly, you can
  17. change the file context to textrel_shlib_t. "chcon -t textrel_shlib_t
  18. '/usr/lib/chromium-browser/libmedia.so'" You must also change the default file
  19. context files on the system in order to preserve them even on a full relabel.
  20. "semanage fcontext -a -t textrel_shlib_t
  21. '/usr/lib/chromium-browser/libmedia.so'"
  22. Fix Command:
  23. chcon -t textrel_shlib_t '/usr/lib/chromium-browser/libmedia.so'
  24. Additional Information:
  25. Source Context unconfined_u:unconfined_r:unconfined_execmem_t:s0-
  26. s0:c0.c1023
  27. Target Context system_u:object_r:lib_t:s0
  28. Target Objects /usr/lib/chromium-browser/libmedia.so [ file ]
  29. Source chromium-browse
  30. Source Path /usr/lib/chromium-browser/chromium-browser
  31. Port <Unknown>
  32. Host bonn.yang
  33. Source RPM Packages chromium-4.0.273.0-0.1.20091216svn34775.fc12
  34. Target RPM Packages chromium-libs-4.0.273.0-0.1.20091216svn34775.fc12
  35. Policy RPM selinux-policy-3.6.32-56.fc12
  36. Selinux Enabled True
  37. Policy Type targeted
  38. Enforcing Mode Enforcing
  39. Plugin Name allow_execmod
  40. Host Name bonn.yang
  41. Platform Linux bonn.yang 2.6.31.6-166.fc12.i686.PAE #1 SMP
  42. Wed Dec 9 11:00:30 EST 2009 i686 i686
  43. Alert Count 11
  44. First Seen Wed 23 Dec 2009 09:38:16 PM CST
  45. Last Seen Wed 23 Dec 2009 10:28:36 PM CST
  46. Local ID b1f55f28-145d-48dd-9d71-6fb7fe6a57c8
  47. Line Numbers
  48. Raw Audit Messages
  49. node=bonn.yang type=AVC msg=audit(1261578516.240:27332): avc: denied { execmod } for pid=2946 comm="chromium-browse" path="/usr/lib/chromium-browser/libmedia.so" dev=sda2 ino=277322 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
  50. node=bonn.yang type=SYSCALL msg=audit(1261578516.240:27332): arch=40000003 syscall=125 success=no exit=-13 a0=8ff8000 a1=63000 a2=5 a3=bf899bf0 items=0 ppid=1 pid=2946 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=1 comm="chromium-browse" exe="/usr/lib/chromium-browser/chromium-browser" subj=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 key=(null)
  51. Summary:
  52. SELinux is preventing /usr/lib/chromium-browser/chromium-browser from loading
  53. /usr/lib/chromium-browser/libmedia.so which requires text relocation.
  54. Detailed Description:
  55. The chromium-browse application attempted to load
  56. /usr/lib/chromium-browser/libmedia.so which requires text relocation. This is a
  57. potential security problem. Most libraries do not need this permission.
  58. Libraries are sometimes coded incorrectly and request this permission. The
  59. SELinux Memory Protection Tests
  60. (http://people.redhat.com/drepper/selinux-mem.html) web page explains how to
  61. remove this requirement. You can configure SELinux temporarily to allow
  62. /usr/lib/chromium-browser/libmedia.so to use relocation as a workaround, until
  63. the library is fixed. Please file a bug report.
  64. Allowing Access:
  65. If you trust /usr/lib/chromium-browser/libmedia.so to run correctly, you can
  66. change the file context to textrel_shlib_t. "chcon -t textrel_shlib_t
  67. '/usr/lib/chromium-browser/libmedia.so'" You must also change the default file
  68. context files on the system in order to preserve them even on a full relabel.
  69. "semanage fcontext -a -t textrel_shlib_t
  70. '/usr/lib/chromium-browser/libmedia.so'"
  71. Fix Command:
  72. chcon -t textrel_shlib_t '/usr/lib/chromium-browser/libmedia.so'
  73. Additional Information:
  74. Source Context unconfined_u:unconfined_r:unconfined_execmem_t:s0-
  75. s0:c0.c1023
  76. Target Context system_u:object_r:lib_t:s0
  77. Target Objects /usr/lib/chromium-browser/libmedia.so [ file ]
  78. Source chromium-browse
  79. Source Path /usr/lib/chromium-browser/chromium-browser
  80. Port <Unknown>
  81. Host bonn.yang
  82. Source RPM Packages chromium-4.0.273.0-0.1.20091216svn34775.fc12
  83. Target RPM Packages chromium-libs-4.0.273.0-0.1.20091216svn34775.fc12
  84. Policy RPM selinux-policy-3.6.32-56.fc12
  85. Selinux Enabled True
  86. Policy Type targeted
  87. Enforcing Mode Enforcing
  88. Plugin Name allow_execmod
  89. Host Name bonn.yang
  90. Platform Linux bonn.yang 2.6.31.6-166.fc12.i686.PAE #1 SMP
  91. Wed Dec 9 11:00:30 EST 2009 i686 i686
  92. Alert Count 11
  93. First Seen Wed 23 Dec 2009 09:38:16 PM CST
  94. Last Seen Wed 23 Dec 2009 10:28:36 PM CST
  95. Local ID b1f55f28-145d-48dd-9d71-6fb7fe6a57c8
  96. Line Numbers
  97. Raw Audit Messages
  98. node=bonn.yang type=AVC msg=audit(1261578516.240:27332): avc: denied { execmod } for pid=2946 comm="chromium-browse" path="/usr/lib/chromium-browser/libmedia.so" dev=sda2 ino=277322 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
  99. node=bonn.yang type=SYSCALL msg=audit(1261578516.240:27332): arch=40000003 syscall=125 success=no exit=-13 a0=8ff8000 a1=63000 a2=5 a3=bf899bf0 items=0 ppid=1 pid=2946 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=1 comm="chromium-browse" exe="/usr/lib/chromium-browser/chromium-browser" subj=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 key=(null)

试了半天也没能在SELinux中设好libmedia.so的permission(有人说只要把libmedia.so的permission 设为permissive就可以)。后来在一个法语的网页上(http://tuxmaya.wordpress.com/2009/12/21 /nuevos-paquetes-de-chormium-en-fedora/ )发现了这样一条命令来取消 SELinux 对 /usr/lib/chromium-browser/下的所有.so文件的permission 的检查。

  1. view plaincopy to clipboardprint?
  2. chcon -t texrel_shlib_t /usr/lib*/chromium-browser/*.so
  3. chcon -t texrel_shlib_t /usr/lib*/chromium-browser/*.so

另外,该网页(http://forums.fedoraforum.org/showthread.php?t=237029 )上也提到了这种方法。

设置之后,Linux chromium就可以正常工作了。这篇博文就是用Linux chromium来写的。

PS:

写完博文后在SELinux的错误信息中发现了fix的方法:

  1. view plaincopy to clipboardprint?
  2. hcon -t textrel_shlib_t '/usr/lib/chromium-browser/libmedia.so'
  3. hcon -t textrel_shlib_t '/usr/lib/chromium-browser/libmedia.so'
  1. view plaincopy to clipboardprint?
  2. semanage fcontext -a -t textrel_shlib_t
  3. '/usr/lib/chromium-browser/libmedia.so'
  4. semanage fcontext -a -t textrel_shlib_t
  5. '/usr/lib/chromium-browser/libmedia.so'

实在是太粗心了,当时竟然没有仔细看…… 谨记这一教训!


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载