Details
Description
Looking at the contents of our install (/opt/couchbase) I see various files which are not needed by the product at runtime, but are packaged up and installed by the RPM. These are unnecessary and waste space both on disk and in our download. I estimate there are about 100MB of files - or 25% of the total installed space - which are unnecessary.
An initial list of these files are (this may not be exhaustive):
- static libraries (.a files) which are only used at compile-time; not runtime:
$ sudo find /opt/couchbase -name *.a | xargs du -csh
192K /opt/couchbase/lib/erlang/usr/lib/liberts_r.a
2.6M /opt/couchbase/lib/erlang/usr/lib/liberl_interface.a
13M /opt/couchbase/lib/erlang/usr/lib/libei_st.a
2.6M /opt/couchbase/lib/erlang/usr/lib/liberl_interface_st.a
192K /opt/couchbase/lib/erlang/usr/lib/liberts.a
3.5M /opt/couchbase/lib/erlang/usr/lib/libic.a
13M /opt/couchbase/lib/erlang/usr/lib/libei.a
3.5M /opt/couchbase/lib/erlang/lib/ic-4.3.4/priv/lib/libic.a
2.6M /opt/couchbase/lib/erlang/lib/erl_interface-3.7.15/lib/liberl_interface.a
13M /opt/couchbase/lib/erlang/lib/erl_interface-3.7.15/lib/libei_st.a
2.6M /opt/couchbase/lib/erlang/lib/erl_interface-3.7.15/lib/liberl_interface_st.a
13M /opt/couchbase/lib/erlang/lib/erl_interface-3.7.15/lib/libei.a
192K /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/lib/liberts_r.a
2.0M /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/lib/internal/libethread.a
616K /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/lib/internal/liberts_internal.a
620K /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/lib/internal/liberts_internal_r.a
192K /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/lib/liberts.a
72M total
- Erlang source files - AFIAK we don't rebuild anything once installed so these should also be unnecessary (maybe confirm with ns_server)?
$ sudo find /opt/couchbase -name *.erl | xargs du -csh
28K /opt/couchbase/lib/erlang/lib/ic-4.3.4/src/ic_union_java.erl
16K /opt/couchbase/lib/erlang/lib/ic-4.3.4/src/ic_codegen.erl
12K /opt/couchbase/lib/erlang/lib/ic-4.3.4/src/ic_plainbe.erl
<cut for brevity>
4.0K /opt/couchbase/lib/erlang/lib/diameter-1.5/examples/code/peer.erl
29M total
- C header files:
$ du -sh /opt/couchbase/include/
5.6M /opt/couchbase/include/