CentOS7でDropboxをまだ粘る


(dropbox 85.4.155対応版 まとめメモ。)

引用元、参考元

https://blog.haijiso.com/post/182703584881/dropbox%E3%82%92centos-7%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%992019%E5%B9%B42%E6%9C%88%E6%99%82%E7%82%B9%E3%81%AE%E6%83%85%E5%A0%B1

https://qiita.com/la_float/items/a846a391874b452047ca

の記事に加えて以下の手順でまだまだ使えそう。
動作は保証対象外。

もともとの環境が整ってる人用 (81.4.195まで使えてた人)

追加で必要なもの。


libatomic
python3-pygpgme

上記をyumか何かでインストールしないと


$ dropbox update
Note: python3-gpg (python3-gpgme for Ubuntu 16.10 and lower) is not installed
そのあとフリーズ

という感じで怒られる。

インストール後は


$ cd ~/.dropbox-dist/dropbox-lnx.x86_64-85.4.155
$ ln -s /usr/lib64/libatomic.so.1 #←これが追加必要
$ dropbox start

で行けるはず。

一からの手順 (glibc 2.25の場合)

まず、nautilus-dropbox-2019.02.14-1.fc21.x86_64をインストール。
ただし、その前に、python3, python3-gobject を入れておく必要あり。
なお、yum の python3 (python36) だと依存関係でエラーが出るので、追加で空の python3, python3-gobject を入れておく。
SPECファイルサンプル (gobjectの例。テキトーでOK)


Name:           python3-gobject
Summary:        This is a dummy package just for resolving dependency problems.
Version:        3.22.0
Release:        dummy.0
Group:          Development/Languages
License:        public domain
Packager:       hogehoge hoge@fugafuga
Source0:        %{name}-%{version}.tar.gz
Source1:        README
BuildRoot:      %{tmppath}/%{name}-%{version}-%{release}-root-%(%{_id_u} -n)

%description
This is a dummy package just for resolving dependency problems.

%prep
%setup

%build

%install

%clean
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}

%files
%defattr(-,root,root)
%doc $RPM_SOURCE_DIR/README

上記完了後、一度、dropbox updateで怒られておく(というか、dropboxの最新版をダウンロードしておく)必要あり。

怒られ方


$ dropbox update
の後に
(略)
, "ImportError: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/hogehoge/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/libdropbox_apex.so)\n"] (error 3)

という感じ。

glibcインストール

まず、rootで


 # yum install centos-release-scl
 # yum install centos-release-scl patchelf
 # yum-config-manager –enable rhel-server-rhscl-7-rpms
 # yum install devtoolset-7

一般ユーザで

$ scl enable devtoolset-7 bash
$ tar zvxf glibc-2.25.tar.gz
$ cd glibc-2.25
$ mkdir build
$ cd build
$ ../configure –prefix=/opt/glibc-2.25
$ make
 # make install

dropbox関係設定

dropboxを使うアカウントで


$ patchelf --set-interpreter /opt/glibc-2.25/lib/ld-2.25.so  ~/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/dropbox
$ patchelf --set-rpath /opt/glibc-2.25/lib ~/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/dropbox
$ cd dropbox-lnx.x86_64-85.4.155
$ ln -s /lib64/libgcc_s.so.1
$ ln -s /usr/lib64/libstdc++.so.6
$ ln -s /lib64/libz.so.1
$ ln -s /lib64/libgthread-2.0.so.0
$ ln -s /lib64/libglib-2.0.so.0
$ ln -s /usr/lib64/libatomic.so.1 #←今回の追記

最後に.bash_profile に


export LD_LIBRARY_PATH=/home/shared/.dropbox-dist/dropbox-lnx.x86_64-85.4.155

を追記してログアウト、再ログイン

$ dropbox start

で終わり。

そもそも CentOS7 で粘るかどうか。