#author("2025-07-24T15:37:44+00:00;2024-07-26T15:01:46+00:00","default:sysosa","sysosa") #author("2025-12-11T16:04:18+00:00","default:sysosa","sysosa") ubuntu20.04 LTS &size(10){パッケージ管理[[ubuntu/apt]]}; &size(10){[[ubuntu/18.04]],[[ubuntu/16.04]]}; [[ubuntu/netplan]] ***nvidiaドライバーインストール [#o0cd23ff] ubuntuの場合はnvidia提供のドライバーをダウンロードしてインストールでもいいし、os提供のドライバーでも行けるみたい 参照[[NVIDIA/ubuntu]] ***開発環境 [#wce2446c] #code(nonumber){{ apt install build-essential mpi-default-dev git apt install libfftw3-dev libtiff-dev }} ***nfsマウント [#ye8320f7] #code(nonumber){{ apt install nfs-common or apt install nfs-kernel-server }} ***singularityのインストール [#g44b4793] 20.04向けのパッケージはないみたい. っでコンパイルして作るしかない模様. だが「alien」を使えばrpmで代用できるそうな #code(nonumber){{ root@ubuntu:~# grep PRETTY_NAME /etc/os-release PRETTY_NAME="Ubuntu 20.04.5 LTS" root@ubuntu:~# apt install alien root@ubuntu:~# wget https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/s/singularity-3.8.7-1.el8.x86_64.rpm root@ubuntu:~# alien -d singularity-3.8.7-1.el8.x86_64.rpm root@ubuntu:~# ls -l singularity* -rw-r--r-- 1 root root 38062292 3月 18 2022 singularity-3.8.7-1.el8.x86_64.rpm -rw-r--r-- 1 root root 27263652 11月 29 13:16 singularity_3.8.7-2_amd64.deb root@ubuntu:~# root@ubuntu:~# apt install ./singularity_3.8.7-2_amd64.deb root@ubuntu:~# echo "user.max_user_namespaces=10000" >> /etc/sysctl.conf root@ubuntu:~# sysctl -p root@ubuntu:~# singularity config fakeroot --add illya }} ***OSインストール [#d21757a0] 物理マシンに対して行ってます 対称にはnvidiaカード(GeForce GT 710)が搭載されている. CPU由来とこのカード由来の2つのモニター出力が選べるが、 ここではBIOS操作にてpci-e由来の「GeForce GT 710」をプライマリーにしてモニターを接続している. &size(10){CPU系統のオンボードVGAにはモニターは繋げていない}; 取得した「ubuntu-20.04.2-desktop-amd64.iso」を8GB USBメモリーに焼く &size(10){Win32DiskImager-0.9.5を使用}; USBメモリーを装着させ電源ボタンを押下. 直後にbootデバイス指定のためにF11を押下して、USBメモリーからのbootとする. BIOSのboot選択画面に、UEFIかBIOSかを問われる &size(10){&color(white,blue){留意}; BIOS経由、UEFI経由ともどちらを選んでもOSインストール設定画面になるが、作業完了後に再起動するとBIOS経由では grub 画面が表示される}; ここではUEFI経由でインストールを行う. GNU GRUB画面で「Ubuntu(safe graphics)」を選ぶ. &size(10){「nomodeset」が有効になる}; &size(10){「Ubuntu」を選ぶとその後の操作で画面が上下で縮小され歪んだ画面で操作することになる. どうもrefreshレートが高く定義されているようでOSインストール完了後このレートを60Hzに変更すれば解消されるみたい}; -既設のストレージがLVMで構成されていると弄れない.. &size(10){単にスライスされていれば手動で新たな領域を作り出すことは可能}; -ネットワークの設定が出来ない &size(10){DHCPがあればOSインストール時のupdateが可能. 無ければないでOSインストールは可能. 再起動後に手動でip設定を行えばいいだけ}; -system領域をLVMでお任せ作成するとswapは2GBになる &size(10){メモリー搭載量次第かもしれない}; サードパティのプログラムをOSインストール時に組み込ませると、GNU GRUB画面で「Ubuntu」を選び歪んだ画面の中でも再起動後には正しい画面になった. -nvidia.koはインストールされるが cuda ライブラリ関係はインストールされない模様 -ドライバーは 460.32.03 がインストールされる &size(10){OSインストール中のupdateが有効なら 460.39 にupgradeされる. cuda 11.2向けドライバ}; #code(nonumber){{ root@e:~# cat /proc/driver/nvidia/version NVRM version: NVIDIA UNIX x86_64 Kernel Module 460.32.03 Sun Dec 27 19:00:34 UTC 2020 GCC version: root@e:~# }} ***cudaインストール [#hc78d9b7] nvidia cudaのサイトでは 下記バージョンを utuntu20.04 対応品としている. -CUDA Toolkit 11.2 Update 2 -CUDA Toolkit 11.1 Update 1 -CUDA Toolkit 11.0 Update 1 一方でubuntuでは自身のリポジトリから提供するcudaライブラリもある. 下記コマンドで入れられる. #code(nonumber){{ root@e:~# apt install nvidia-cuda-toolkit }} ただ現状インストールされる&color(orangered){cudaライブラリ};は10.1みたい. &color(magenta){cudaドライバ};は11.2とかで使える最新なのですが、&color(orangered){cudaライブラリ};は古い. なので本家のnvidiaから提供されているcudaライブラリを利用します. こちらなら &color(magenta){cudaドライバ};、&color(orangered){ライブラリ}; 共に 11.2 になる. #code(nonumber){{ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda-repo-ubuntu2004-11-2-local_11.2.2-460.32.03-1_amd64.deb dpkg -i cuda-repo-ubuntu2004-11-2-local_11.2.2-460.32.03-1_amd64.deb apt-key add /var/cuda-repo-ubuntu2004-11-2-local/7fa2af80.pub apt-get update apt-get -y install cuda }} cuda-11.7なら #code(nonumber){{ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2004-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda }} この際のフォルダ構成は下記になります #code(nonumber){{ root@e:~# ls -ld /usr/local/cuda* lrwxrwxrwx 1 root root 22 4月 6 13:24 /usr/local/cuda -> /etc/alternatives/cuda lrwxrwxrwx 1 root root 25 4月 6 13:24 /usr/local/cuda-11 -> /etc/alternatives/cuda-11 drwxr-xr-x 15 root root 293 4月 6 13:24 /usr/local/cuda-11.2 root@e:~# }} クライオ関係のアプリに於いて最新の11.2があれば大抵は大丈夫だが、Gautomatch,GCTFには10.2の&color(orangered){cudaライブラリ};が必要. ubuntu20.04でサポート外のcuda10.2をインストールするには runfile形式のインストールファイル を使って入れる. その際、インストールする対象物は「CUDA Runtime」だけにします. #code(nonumber){{ wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run chmod +x cuda_10.2.89_440.33.01_linux.run ./cuda_10.2.89_440.33.01_linux.run --override }} &ref(2021y04m06d_132700770.png,nolink); これでインストールを行うと下記のようになる #code(nonumber){{ root@e:~# ls -ld /usr/local/cuda* lrwxrwxrwx 1 root root 22 4月 6 13:24 /usr/local/cuda -> /etc/alternatives/cuda drwxr-xr-x 4 root root 95 4月 6 13:31 /usr/local/cuda-10.2 lrwxrwxrwx 1 root root 25 4月 6 13:24 /usr/local/cuda-11 -> /etc/alternatives/cuda-11 drwxr-xr-x 15 root root 293 4月 6 13:24 /usr/local/cuda-11.2 root@e:~# }} &size(10){もしcudaへのリンクが10.2とかになっていたら「update-alternatives」を使って調整するのだが使い勝手が微妙}; ***cryoアプリ [#n501152c] 「apt install environment-modules」 -relion #code(nonumber){{ apt install cmake git build-essential mpi-default-bin mpi-default-dev libfftw3-dev libtiff-dev libfltk1.3-dev libx11-dev libpng-dev python2 python-tk apt install evince texlive-fonts-extra texlive-fonts-recommended texlive-lang-cjk xdvik-ja mkdir -p /apps/src && cd $_ git clone https://github.com/3dem/relion && cd relion git checkout ver3.1 mkdir b && cd $_ cmake -DCUDA_ARCH=35 -DCMAKE_INSTALL_PREFIX=/apps/relion-3.1.3 .. }} &color(red){*};&size(10){公式にさらに「libfltk1.3-dev」「libx11-dev」「libpng-dev」を追加してます. 「-DCUDA_ARCH=」はGeForceGTX10xxなら61、GeForceRTX20xxなら75、GeForceRTX30xxなら86 }; &size(10){「libpng-dev」は不要かも}; -sidesplitter #code(nonumber){{ cd /apps git clone https://github.com/StructuralBiology-ICLMedicine/SIDESPLITTER cd SIDESPLITTER bash compile.sh chmod +x sidesplitter_wrapper.sh }} -chimeraX #code(nonumber){{ dpkg -i ucsf-chimerax-1.3ubuntu20.04_amd64.deb }} -chimera #code(nonumber){{ chmod +x chimera-1.16-linux_x86_64.bin ./chimera-1.16-linux_x86_64.bin }} -pymol #code(nonumber){{ apt install python3-dev python3-distutils libglew-dev libglm-dev libfreetype-dev libxml2-dev libnetcdf-dev python3-pyqt5.qtopengl git clone https://github.com/schrodinger/pymol-open-source python3 setup.py build python3 setup.py install --prefix=/apps/PyMOL }} -eman2 #code(nonumber){{ bash ./eman2.91_sphire1.4_sparx.linux64.sh }} -imod #code(nonumber){{ bash ./imod_4.11.3_RHEL7-64_CUDA8.0.sh -dir /apps -script /apps }} &color(red){*};&size(10){「/usr/bin/python」を求める. ない場合はpyhton3へのリンクとなるが、ここが留意点かな}; -pyenv/anaconda #code(nonumber){{ git clone https://github.com/yyuu/pyenv.git /apps/pyenv export PYENV_ROOT=/apps/pyenv export PATH=$PYENV_ROOT/bin:$PATH eval "$(pyenv init - --no-rehash)" pyenv install anaconda3-5.3.1 pyenv global anaconda3-5.3.1 export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH conda update conda }} minicondaでconda-forgeで攻めるなら #code(nonumber){{ git clone https://github.com/yyuu/pyenv.git /apps/pyenv export PYENV_ROOT=/apps/pyenv export PATH=$PYENV_ROOT/bin:$PATH pyenv install miniconda3-4.7.12 pyenv global miniconda3-4.7.12 export PATH=$PYENV_ROOT/versions/miniconda3-4.7.12/bin/:$PATH conda config --add channels conda-forge conda config --remove channels defaults conda update conda -y }} -coot ubuntu22.04はそのままでは駄目. [[http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/>+http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/]]にある「libssl1.1_1.1.1f-1ubuntu2.20_amd64.deb」が必要っぽい #code(nonumber){{ dpkg -i /Public/em/libssl1.1_1.1.1f-1ubuntu2.20_amd64.deb cd /apps tar xf /Public/em/coot-0.9.8-binary-Linux-x86_64-ubuntu-20.04.4-python-gtk2.tar.gz }} -phenix ***sshの有効化 [#t6d9eb41] 既定ではsshサーバは入っていない #code(nonumber){{ apt update apt install openssh-server vi /etc/ssh/sshd_config PermitRootLogin yes systemctl restart sshd }} ***rootの有効化 [#cab252f7] #code(nonumber){{ sudo su - root passwd }} ***自動update禁止 [#g61d4ec0] #code(nonumber){{ vi /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Unattended-Upgrade "0"; }} ***autofs [#g12e4a4b] #code(nonumber){{ root@e:~# apt install autofs root@e:~# echo "/- /etc/auto.home" >> /etc/auto.master root@e:~# echo "/home c:/home" >> /etc/auto.home root@e:~# systemctl restart autofs }} ***ldapと連携 [#y9bd7e91] #code(nonumber){{ root@e:~# apt install libnss-ldapd libpam-ldapd ldap-utils nscd ldap-auth-config }} パッケージのインストールと共に「nslcd」が起動する |LDAP server URI:|ldap://192.168.0.81/| |LDAP server search base:|dc=sybyl,dc=local| この次に「libnss-ldapd」の設定が続く |Name services to configure:|passwd,group,shadowを選択| 引き続き「ldap-auth-config」の設定が行われる |LDAP server Uniform Resource Identifier:|ldap://192.168.0.81/| |Distinguished name of the search base:|dc=sybyl,dc=local| |LDAP version to use:|3| |Make local root Database admin:|No| |Does the LDAP database require login?|No| これで完了. pamの設定は「pam-auth-update」で修正可能. 「ldap-auth-config」の再定義は下記コマンドで修正します #code(nonumber){{ root@e:~# dpkg-reconfigure ldap-auth-config }} もしldapへの接続がanonymousでは駄目な場合は下記コマンドで修正します. #code(nonumber){{ root@e:~# dpkg-reconfigure nslcd }} |LDAP server URI:|ldap://192.168.0.81/| |LDAP server search base:|dc=sybyl,dc=local| |LDAP authentication to use:|simple&br;&color(red){*};&size(10){規定はnoneみたい};| |LDAP database user:|cn=Manager,dc=sybyl,dc=local&br;&color(red){*};&size(10){だれでもいい};| |LDAP user password:|[LDAP database user]のパスワード| |Use StartTLS?|No| この定義は「/etc/nslcd.conf」に反映される #code(nonumber){{ root@ubuntu:/etc# grep -v -e '^\s*#' -e '^\s*$' /etc/nslcd.conf uid nslcd gid nslcd uri ldap://192.168.0.81/ base dc=sybyl,dc=local binddn cn=Manager,dc=sybyl,dc=local bindpw xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx tls_cacertfile /etc/ssl/certs/ca-certificates.crt root@ubuntu:/etc# }} &color(red){*};&size(10){生のパスワードが記載される..一応ファイルパーミッション的にはrootしか見れないけど}; &size(10){getent passwdでユーザは見えるがidコマンドではユーザが見えない...っで再起動したら見える...なんで?}; ***ldapと連携(その2) [#ibc9ad10] sssを使う場合 #code(nonumber){{ root@ubuntu:~# apt install sssd sssd-ldap root@ubuntu:~# /etc/sssd/sssd.conf [domain/default] autofs_provider = ldap cache_credentials = True ldap_search_base = dc=sybyl,dc=local id_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldap://192.168.0.81/ ldap_id_use_start_tls = False ldap_tls_cacertdir = /etc/openldap/cacerts ldap_tls_reqcert = never # ldapサーバがanonymousを拒否するなら代理を立てる. ここではadminを立てているが誰でもいい #ldap_default_bind_dn = cn=admin,dc=sybyl,dc=local #ldap_default_authtok = xxxxxxxxxxxxxxxxxxxxxxxx [sssd] services = nss, pam, autofs domains = default [nss] homedir_substring = /home [pam] [sudo] [autofs] [ssh] [pac] [ifp] [secrets] [session_recording] root@ubuntu:~# chmod 600 /etc/sssd/sssd.conf root@ubuntu:~# systemctl restart sssd }} ***nisとの連携 [#fa6736be] ***samba-adとの連携 [#o695c95a] ***Teamviewer [#re4ee2dc] #code(nonumber){{ root@e:~# apt install ./teamviewer_15.16.8_amd64.deb : root@e:~# ps -ef |grep team root 33589 1 0 16:27 ? 00:00:00 /opt/teamviewer/tv_bin/teamviewerd -d root 34141 33011 0 16:27 pts/1 00:00:00 grep --color=auto team root@e:~# }} ***environment-modules [#d27710f4] #code(nonumber){{ root@e:~# apt install environment-modules root@e:~# dpkg -L environment-modules root@e:~# vi /usr/share/modules/init/.modulespath : : /apps/modulefiles root@e:~# }} ***メモ [#b12d7254] リポジトリ一覧 #code(nonumber){{ root@ubuntu:~# grep -v -e '^\s*#' -e '^\s*$' /etc/apt/sources.list deb http://jp.archive.ubuntu.com/ubuntu/ focal main restricted deb http://jp.archive.ubuntu.com/ubuntu/ focal-updates main restricted deb http://jp.archive.ubuntu.com/ubuntu/ focal universe deb http://jp.archive.ubuntu.com/ubuntu/ focal-updates universe deb http://jp.archive.ubuntu.com/ubuntu/ focal multiverse deb http://jp.archive.ubuntu.com/ubuntu/ focal-updates multiverse deb http://jp.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu focal-security main restricted deb http://security.ubuntu.com/ubuntu focal-security universe deb http://security.ubuntu.com/ubuntu focal-security multiverse root@ubuntu:~# }} 初回ログイン時に出てくる案内をやめたい #code(nonumber){{ root@ubuntu:~# apt remove gnome-initial-setup }} あとこれも #code(nonumber){{ apt remove update-notifier }} sshログイン時のメッセージも辞めたい #code(nonumber){{ root@ubuntu:~# chmod -x /etc/update-motd.d/* }} ***自動更新を止める [#o793188d] これかな [[https://qiita.com/latin1/items/a8db4dff2ba5480e3cd7>+https://qiita.com/latin1/items/a8db4dff2ba5480e3cd7]] ***無線 [#n691586e] 「Buffalo WI-U3-866DS」は「RTL8812AU」チップ 「apt install rtl8812au-dkms」か「apt install realtek-rtl88xxau-dkms」 あるいは #code(nonumber){{ git clone https://github.com/gnab/rtl8812au cd rtl8812au make sudo insmod 8812au.ko sudo cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless sudo depmod echo 8812au | sudo tee -a /etc/modules }} ***docker [#yfc25e4b] #code(nonumber){{ apt-get update -y && sudo apt-get upgrade -y apt-get install apt-transport-https curl gnupg-agent ca-certificates software-properties-common -y sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) \ signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io dock apt-get install docker-ce docker-ce-cli containerd.io -y systemctl enable docker && sudo systemctl start docker }} ***nis [#q7244628] [[NIS/ubuntu]]