Re: How to create one rpm package which only contains specified directory?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



He Yunlong-B20256 wrote:
Hi, Experts,
I have one directory like this (about 300M, over 50000 files): /opt/xxx/usr/local/gcc-4.3-binutils-2.18 I want to create one rpm package for it, when installing the rpm
package, it should extract the files and put it to the same location
(/opt/xxx/usr/local/gcc-4.3-binutils-2.18)
finally I got the package, but when installing the rpm, it hangs
with only printing out "preparing...", then I have to kill it manually
[sstims@harry_rh52 ~]$ sudo rpm -Uvh --nodeps --nofiles
--noscript --nomd5 cs-xxx.rpm
        Preparing...                Killed

    with help of strace, it hangs with mmap2 system call
#sudo strace rpm -ivh cs-xxx.rpm ...
        mremap(0x545a6000, 1616502784, 1616506880, MREMAP_MAYMOVE) =
0x545a6000
        pread64(6,
"\0\0\0\0\1\0\0\0\363\1\0\0\0\0\0\0\0\0\0\0\214\0a\7\0\2\367\17\356\17\3
46\17"..., 4096, 2043904) = 4096
        mmap2(NULL, 1077669888, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x141e7000
        Killed

    I restart the machine and run "sudo rpm --rebuilddb", but still
failed.
If I package it with fewer files, it can be installed, but still
very slow.  The most strange issue is that it need much memory when
installing the rpm package, about 800M is used, but finally hang.
Can you help to have a look on this issue? I build the rpm package with rpm 4.0.4, and install the
package with rpm 4.4.2
                I failed to create the rpm package with rpm 4.4.2,
segment fault occured.

This is a known problem of rpm < 4.7. Huge amount of files - especially with the same basename (which shouldn't be the case here if I understood you right) - lead to intermediate data and rpmdb requests of #files square size. This can easily lead to memory usage beyond the 2GB address space or the memory of even a good equipped 64bit machine. Unfortunately removing the package takes even about double the memory... Runtime usage also gets out of hand as you are experiencing.

Your only chance is trying a more recent rpm version which has this problem fixed.

Florian
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux