Manjaro(i3)のインストール+構築メモ

もくじ

ISOファイルのインストール

下記URLからインストール、ほかのデスクトップ環境も柔軟に用意されている。

Manjaro - Downloads

現在の最新のManjaroi3のバージョン18.1.0はインストール環境において日本語だと、文字化けを起こすのでManjaroi318.0.4をインストールします。

Downloading File /z_release_archive/i3/18.0.4 - Manjarolinux Community - OSDN

流れとしては、仮想マシンでテストしたのちに実機に構築する流れでいきます。

Viratualbox

最小構成は、1GHzのCPU・メモリが1GB・容量は30GBとなっているそうです。(オリジナルのソースから調べたわけではないので違う可能性あり)
自分はメモリ:5120M ストレージ:50GBとする。

VMware

メモリとストレージはVbox同様

X230

もともとArchとして使用していたけれど、開発に安定しないArchを使うのはどうかなと思ったのでManjaroに変更する

文字化け対策

18.1,0の場合
今回のバージョンでは日本語フォントが導入されていないのか文字化けするので英語で設定をしていく。
文字化けを回避する至極簡単な方法があった!

フォントを入れる

ミラーサーバーの最適化

sudo pacman-mirrors --fasttrack

アップデート

sudo pacman -Syu

フォントのインストール

sudo pacman -Sy adobe-source-han-sans-jp-fonts

・ただこれがやっていいことなのかわかんない(^q^)

実機でやったところまで

・インストール
・右上の文字化け対策(ユーザーのみ)
・フォントのインストール
・homeディレクトリの英語化
pacmanのミラーサーバー変更
・圧縮をマルチコアに
・日本語の設定
・unzipのインストール
・timeshiftの設置
・terminatorに移行

インストール

仮想環境でのインストール

起動

f:id:No000:20191005180914p:plain ロケール、言語、キーボードを日本に設定
ドライバーはデスクトップの仮想環境でNVIDAのビデオカードなので、nonfreeにする(その方がよいらしい)
こちらのFreeとNonFreeの意味は、オープンソースのドライバを使用するか、プロプライエタリなドライバを使用するかの選択となる。
また、ドライバーに関してはMHWDというManjaroオリジナルのツールを利用することにより、簡単に確認とダウンロードを行うことができる。以下を参照のこと。

wiki.manjaro.org

GUIで行いたい場合は、以下のツールがある。

wiki.manjaro.org

インストールツール

言語の選択

f:id:No000:20191005190805p:plain

ロケールの選択

f:id:No000:20191005190941p:plain Tokyoにする

キーボードの設定

f:id:No000:20191005191430p:plain デフォルト

パーティション

特にリカバリーする必要性がなければ、消去
パーティションを切る目的としては
・/swap : ハイバネートを行う際に必要。大きさはメモリの内容を入れるので、メモリと同程度
・/home : システムをごっそり入れ替える際の保険
それ以外は目的を知らないので、良ければ教えていただければ幸いです。

ユーザー設定

指示通りに設定
そして再起動で終了

インストール後

pacmanのミラーサーバーの変更

ワンコマンドで行けるらしいので
modキー+Enterでターミナルを起動し

sudo pacman-mirrors --fasttrack

と入力する(なかなか時間がかかる)

圧縮をマルチコア対応にする

/etc/makepkg.confを編集

sudo vim /etc/makepkg.conf

/COMPRESSXZで検索し

COMPRESSXZ=(xz -c -z -)

COMPRESSXZ=(xz -c -z - --threads=0)

もしくは

COMPRESSXZ=(xz -T 0 -c -z -)

に編集

アップデートとリポジトリの同期

sudo pacman -Syu

もしくは

yay

最新のイメージではないので時間がかかる
基本はyesで
この時点でAURヘルパーのyayはデフォルトでインストールされているので使用できる。

GUIでインストールしたい方は右下から

homeディレクトリのディレクトリを英語化

sudo pacman -S xdg-user-dirs-gtk
LANG=C xdg-user-dirs-gtk-update

f:id:No000:20191005194943p:plain
再起動を行う

ネットワーク関連

右下にツール(Advanced Network Configuration)があるのと、ctrl+Mod+bで各種システムの設定を行える。

MACアドレスの調べ方(無線LAN

ip addr show

で出る一覧のデバイス名がwから始まるやつ

ProxyManのインストール

github.com

このgithubからgit cloneまたは圧縮ファイルをインストールする。 その後、環境変数を通す

sh /home/hoge/ProxyMan/install

シェルを再起動し、ProxyManのディレクトリで

./install

これでインストールは完了

yayにプロキシを通す

/etc/sudoersをsudoをで開き、以下を追加する

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

読み取り用のファイルだが、w!で上書きできる

日本語の設定

必要なツールのインストール

sudo pacman -S fcitx-im fcitx-configtool fcitx-mozc

~/.xprofileに以下を記述

export LANG="ja_JP.UTF-8"
export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx

~/.i3/configに以下を記述

#Autostart applications
exec --no-startup-id fcitx

再起動を行う

フォントのインストール

sudo pacman -S adobe-source-han-sans-jp-fonts

私はこれにしましたが、お好みで
この後フォントの設定を行います。
Ctrl + Super + b

4 Appeearance

3 Set font

Source Han Sans JP Normal
この際に何か聞かれるが、これはフォントのサイズを聞いているので、デフォルトの10にする。
再起動する

manコマンドの日本語化

すべて変わるわけではないが
いざというときに見るとき英語だと疲れるので…

yay man-pages-ja 20191015-1

結構時間がかかる(注意)
ちなみにELFファイル等のマニュアルもあるし、わかりやすいらしいので読んでみては…?(提案)
参考

JM Project (Japanese)

ウェブブラウザをFirefoxに変更

デフォルトブラウザに変更

i3のショートカットの編集

vim ~/.i3/config
# bindsym $mod+F2 exec palemoon
bindsym $mod+F2 exec firefox

にコメントアウと追加を行う

unzipのインストール

なぜかunzip画デフォルトで入ってないので、追加します。

sudo pacman -S unzip

右上の文字化けの解消

migu 1mをインストールし

Miguフォント : M+とIPAの合成フォント

ユーザのみ適用

migu 1mのフォントファイルすべてを~/.fontsに配置

cp -r migu-1m-20150712 ~/.fonts

システムに適用

cp migu-1m-bold.ttf ,igu-1m-regular.ttf /usr/share/fonts/TTF

もしくはインストールから一発でやる場合

curl http://freebsd.sing.ne.jp/download/font/migu-1m-20150712/migu-1m-regular.ttf --output /usr/share/fonts/TTF/migu-1m-regular.ttf
curl http://freebsd.sing.ne.jp/download/font/migu-1m-20150712/migu-1m-bold.ttf --output /usr/share/fonts/TTF/migu-1m-bold.ttf

conkyに適用

sudo /usr/share/conky/conky_maia

のすべてのBitstream Vera Sansをmigu 1mに入れ替え

:%s/Bitstream Vera Sans/migu 1m/g

参考

https://freebsd.sing.ne.jp/linux/10/03/08/02/12.html

リカバリーポイントの設置

timeshiftを利用

インストール

sudo pacman -S timehshift

参考

TimeMachineのように使用できるLinux向けのスナップショットアプリTimeshiftの使い方

githubの利用

ドットファイルを保存するディレクトリを作成

mkdir ~/dotfile
cd dotfile
git init

各種設定ファイルを_<ファイル名>としdotfile直下に作成
ドットファイルからのハードリンクをつなげる

rmコマンドからのファイルリカバリ

rmコマンドは論理削除(認識できなくなるだけ)なので、まだリカバリーできる可能性があります。
Extundeleteをインストールします。

sudo pacman -S extundelete

アダプタアドレスの確認

何やらnet-toolsは将来的に廃止されるようなので使わないことにします
使用するパッケージはiproute2のipやss等です。

ip addr show

で出てくるリストのlink/etherがMACアドレス

フォーカスをvimライクにする

zshへの移行

fishのようなシンタックスハイライト

sudo pacman -S zsh-syntax-highlighting

bashからzshに移行する際の設定ファイル系の移行が不明なので、邪道というか大丈夫か不安だけどbashrcを利用してzshを起動するようにする

#zshの起動
zsh

ほしいのはzshの対話としての機能だから多少はね?
zshに関して以下未検証
zprofileに設定をコピー

cat ~/.bash_profile >> ~/.zprofile

シェルの変更

chsh -s $(which zsh)

テーマの一覧表示

prompt -p

PDFviewer

現在Foxit ReaderかQpdfviewを検討中

terminatorのインストール

sudo pacman -S terminator

デフォルトをterminatorに変更

# start a terminal
bindsym $mod+Return exec terminal

を以下に変更

# start a terminal
bindsym $mod+Return exec terminator

に変更
・terminatorの透明化は設定→プロファイル→背景(0.60くらい)
・タイトルバーの赤色がヤバイ設定→一般→ターミナルタイトルバー
・スクロールバッファを10000に変更

vimクリップボードを使えるようにする

手っとリばやいgvimを入れるかを検討
gvimに入れ替えることにした。

sudo pacman -S gvim

Conkyのカスタマイズ

このManjaroi3のConkyの設定ファイルの置き場所が分かりずらいのですが

/usr/share/conky/conky_maia

においてあります。また各種テーマもここに配置されており、起動したいテーマを

/usr/bin/start_conky_maia

ここに一括してスクリプトを作成し~/.i3/configにある

exec --no-startup-id start_conky_maia
# exec --no-startup-id start_conky_green  

これで毎回起動時にスタートしているみたいです。
参考

Conky empowered desktop by laserbeam3 on DeviantArt

これはUbuntuのなんですけど、ものすごいかっこいいので再現したい

ConkyでDockerのステータスチェック

Conky

Ncmpcppの導入

マウスカーソルテーマの変更

マウスカーソルの設定は

~/.icons

天気予報

wttrのサービスを利用する

Weather report: Tokyo, Japan

これをaliasとして指定する場合
~/.zshrcに

alias wttr='() { curl -H "Accept-Language: ${LANG%_*}" wttr.in/"${1:-Tokyo}" }'

とする。この際wttrと打つだけだとデフォルトのTokyoの天気が出て、引数に日本語、もしくは、英語の地域を指定すると指定された地域の天気が出る。

カーネルの管理

Manjaroにはカーネル管理ソフト(mhwd-kernel)が最初からインストールされているので、それを利用します。
現在の使用しているカーネルの確認とインストールしているカーネルの確認

mhwd-kernel -li

インストールすることのできるカーネルの確認

mhwd-kernel -l

・rtという表示があるがこれはリアルタイムカーネルである。リアルタイムカーネルはレスポンスが高速なので、ドローンや組み込み機器に使用される。よって、ラップトップPCには、たぶん必要ないと思う

カーネルのインストール(以下はLinuxカーネルver5.3.0の場合)
開発用としてLinuxを使用する場合、不安定になる可能性があるため、バグがない限り変更しない方がよいらしい
この際rmcオプションをつけることにより、現行のカーネルを削除しつつインストールできる

sudo mhwd-kernel -i linux53

その後リブートし、初めのブートローダの画面からAdvanced options for Manjaro Linuxを選択
その後、変更したい対象のカーネルを選択しブートする
・fallback initramfs: 参考

Manjaro Kernels (日本語) - Manjaro Linux

高度な電源管理の導入

参考

ターミナルから爆速で天気予報をみる - Qiita

pstの導入

vimで有名なゴリラさんの作成したpstが何やら話題だったので導入
Goをインストール

sudo pacman -S go

git clonesしてインストーラーを実行

cd pst
go install

使い方はまた別の機会に調べます...

開発環境系

仮想・コンテナ

VirtMnager

Qemuのグラフィカルフロントエンドとなります

関連ツールをインストール
sudo pacman -S virt-manager qemu vde2 ebtables dnsmasq bridge-utils openbsd-netcat

自分の場合すでにdnsmasqがインストールされていたので、再インストールしないように注意。再インストールになると警告された場合除外してください

停止している仮想ディスクの中身をいじることのできるツールをインストール

yay libguestfs

ソースコードからビルドしてるのかめっちゃ時間がかかる

デーモンの起動
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service

これでセットアップは終了

使い方

今後

Docker

せっかくの環境を汚したくないのでDockerの設定をまずは行います。

VScodeのインストール

Vimもいいけどcodeもいいよね!

sudo pacman -S code

Japanese Language Packを拡張機能からインストール
⇓ Shift+Ctrl+pで検索フォームを開き
⇓ configure display languageと検索
⇓ jaに変更し、終了

Python

pipのインストール

sudo pacman -S python-pip

C言語

デフォルトでgccがインストールされています

Nim言語

gccはすでにあるので、Nim関係のツールとコンパイラを導入します。
今回はAURにchoosenimがあるので、それをインストールし、Nimの導入を行います

yay choosenim

packages to installと出たらchoosenimに割り振られた番号を入力
インストール後stable版のインストールを行う

choosenim stable update

ビルドするので結構時間がかかるので、フリーズしたと勘違いしないように注意

vim ~/.zshenv

でzshenvを開き

nimbleの環境変数
export PATH=/home/hoge/.nimble/bin

を追加し

choosenim stable

で最新版の安定版がインストール 参考

choosenimでnim環境構築 - Qiita

セキュリティ関係

正直Webサーバーでもない個人のLinuxに設定を行う必要はあんまりない気がしますが、経験して損はないので導入します。あと、フォーラム調べた感じManjaroのカーネルは公式にはMACには対応してないっぽいですね…カーネルいじれるマンになりたい…

ファイアーウォール

四つほど選択しがあります、自分はめんどくさいのでgufwにしました。

iptables

めちゃんこ難しいらしい…機会があればまとめます

ufw

iptablesよりはマイルドですが、ネットワークセキュリティのことよくわかってないと…

firewalld

CentOSとかで利用されているやつですね、リファレンス等は多いのじゃないでしょうか

gufw

ufwをなるべく簡単にしようと開発されたufwのグラフィカルフロントエンドです。

アンチウイルスソフト

ClamAV

Linuxで有名なアンチウイルスソフトです。
参考資料

ClamAV - Manjaro Linux

ClamAV - ArchWiki

インストール
sudo pacman -S clamav

これでインストールは終了

設定

最新のウイルス定義データベースに更新

sudo freshclam

デーモンを起動する前に更新しておかないと、正しく起動できなくなるので注意

次にデーモンの起動

sudo systemctl enable --now clamav-daemon
sudo systemctl enable --now clamav-freshclam

--nowをつけることによりenableの時にstartも行っています

デーモンのステータスチェック

sudo systemctl status clamav-daemon && sudo systemctl status clamav-freshclam

ウイルス定義データベースのバージョンチェック

freshclam -V
使用方法

Clamtk

ClamAVのグラフィカルフロントエンドなのですが、自分がインストールするとすごく重かったのでClamAVに戻しました

インストール方法
sudo pacman -S clamtk  

メモ

・スクリーンロックがかかったら、そのままパスワードを打ってエンター ・インストールする際に基本はpacmanで、AURの利用とアップデートの時だけAURヘルパーを使用

いじったドットファイル一覧

~/.xprofile
~/.zshrc
~/.zshenv ~/.i3/config