从RPM更新Samba

我的红帽企业版4附带Samba版本3.0.10,它不支持“inheritance所有者”属性,这是实施拒绝删除一次写入多次共享所必需的(例如,search谷歌的一个共享-drop-箱使用桑巴)。

(顺便说一句,如果有人知道另一种方法来做到这一点,而不更新桑巴舞,我全都是耳朵!)

我并不是所有从源头上来的舒适的build筑,经过几个小时的谷歌search(不,我没有订阅红帽,所以我不能只运行up2date命令),我发现了一大堆rpms在http:// ftp .sernet.de / pub / samba / tested / rhel / 4 / i386 / (针对RHEL 4的Samba 3.2.15)…

接下来,我尝试用rpm -U –nodeps命令更新它们,但是我得到了文件冲突错误。 所以我继续使用rpm的–force选项覆盖所有的东西(或者我想的)。 但没有什么好处。 / usr / sbin / smbd -V仍然返回旧版本。

截至目前, rpm -qa | grep桑巴返回,

samba3-client-3.2.15-40.el4 samba-3.0.10-1.4E.2 samba-client-3.0.10-1.4E.2 system-config-samba-1.2.21-1 samba3-3.2.15-40.el4 samba-common-3.0.10-1.4E.2 samba3-winbind-3.2.15-40.el4 

我不能删除旧的,因为

 samba-common >= 3.0.8-0.pre1.3 is needed by (installed) gnome-vfs2-smb-2.8.2-8.2.x86_64 libsmbclient.so.0()(64bit) is needed by (installed) kdebase-3.3.1-5.8.x86_64 libsmbclient.so.0()(64bit) is needed by (installed) gnome-vfs2-smb-2.8.2-8.2.x86_64 

现在,这是一大堆的依赖,我不敢碰:)

任何和所有的指针在这个阶段是受欢迎的。 提前致谢!

我不会害怕从源头上build设:这是有趣的和有益的。 你将遇到的唯一的大问题是你已经有的相同的问题:依赖关系。 为了解决依赖性问题,你需要一个包pipe理器。

Hmmmm。 你可以安装Yum ,这是你在Fedora上得到的东西,而不是up2date …它处理依赖性很好,并且searchYum和RHEL以及Repository提供了很多命中,所以在那里有一个存储库将有为您的系统build立的RPM。

如果是我,我可能会继续升级KDE和Gnome,如果安装新版本的samba非常重要(实际上这是一个谎言),我喜欢命令行,所以我只是继续前进,打破kde和gnome而不回头)。 解决这种依赖问题就是关键。

内置RPM是为了解决依赖性问题。 您find的较新的Samba RPM是针对不同的系统构build的,并针对不同版本的库进行编译。

与其试图强制安装可能无法在系统库中使用的二进制文件,您应该构build自己的RPM并安装它们。 寻找你想要的Samba版本的SRPM,并阅读 一些好的教程 和书籍来了解这个过程。

好处是:

  • 如果你有多台机器使用相同的分配,build立你自己的本地软件包,可以很容易地安装到任何地方;

  • 您可以避免打破其他系统软件包的依赖关系。

这种方法有几个缺点:

  • 它需要安装编译Samba所需的所有* -dev包(以及构buildSRPM所需的所有* -dev包);

  • 它可能需要升级一些依赖,只是为了让它编译(通常是通过相同的过程);

  • 它会向你的系统引入潜在的问题,以软件的forms通过你的发行版的testing过程。

或者,您可以获取Samba的源代码压缩包,安装到/ usr / local,并删除所有Samba RPM,以支持您的编译版本。 但是正如你所指出的那样,许多其他的软件包依赖于Samba,所以这是另外一种蠕虫。 构build你自己的RPM和升级比试图强制RPM保持缺less依赖的软件包要友好得多。

使用Samba从Enterprise Samba构build。 这些都是分布式的构build,而且非常可靠。

好吧,所以我最后(在Satanicpuppy的刺激:)继续前进,离开悬挂的依赖关系悬而未决。 这显然解决了这个问题没有任何副作用,所以我在这里张贴的步骤后代(我不接受任何一个答案,因为所有这些都在某种程度上是正确的)

  1. rpm -qa | grep samba | xargs rpm -e –nodeps
  2. wget ftp://ftp.sernet.de/pub/samba/tested/rhel/4/x86_64/ * .rpm
  3. rm samba3-cifsmount-3.2.15-40.el4.x86_64.rpm
  4. rpm -ivh * .rpm

下拉框按照Windows客户端的预期工作,但Mac似乎并不喜欢它。 在写出实际的文件之前,Mac似乎在SMB服务器上创build了一个代理文件。 由于我一旦创build文件就locking文件(我最初的目的是写一次,拒绝删除删除框),这扼杀了mac客户端,他们创build截断的零字节文件。

无论如何,非常感谢所有努力帮助的人们。 快乐的计算!

我通过安装libsmbclient-3.0.33解决了RHEL 5.4升级问题,在更新之后,我排除了libsmbclient。