ラベル Arch Linux の投稿を表示しています。 すべての投稿を表示
ラベル Arch Linux の投稿を表示しています。 すべての投稿を表示

2023年9月16日土曜日

Arch Linux に MS 公式バイナリバージョンの VSCode をインストールする

前提

  • OS: Arch Linux
  • VSCode: 1.81.1-1

手順

以下の通り。

# AUR リポジトリからソースコードをクローン
git clone https://aur.archlinux.org/visual-studio-code-bin.git
cd visual-studio-code-bin
# Arch 用パッケージ作成
makepkg -s
# パッケージインストール
sudo pacman -U ./visual-studio-code-bin-1.81.1-1-x86_64.pkg.tar.zst

以上。

2023年5月4日木曜日

Arch Linux に mlterm をインストールする

前提

  • base-devel パッケージインストール済みであればこれで行けるはず…

AUR リポジトリのクローン

git clone https://aur.archlinux.org/mlterm.git
cd mlterm

パッケージのビルド

makepkg -s
  • -s: ビルド依存関係をインストール

ビルドしたパッケージのインストール

sudo pacman -U ./mlterm-3.9.2-1-x86_64.pkg.tar.zst

参考資料

2022年6月10日金曜日

Tailscale を使ってみる

前提

  • OS1: Windows 11 Pro 21H2 ビルド 22000.675
  • OS2: Arch Linux 2022/6/8

Tailscale へのサインアップから、ひとつめのデバイス登録まで

Windows 11 Pro に Tailscale をインストールし、デバイスの登録を行う。

  1. Web ブラウザ https://login.tailscale.com/start へアクセス
    • 今回は GitHub で Sign up した
  2. Select Network 画面が表示されるので、使用するネットワークを選択
    • Single-user Tailnetmikoto2000 を選択
  3. Welcome! Let’s add your first device. 画面が表示されるので、 Windows のボタンを押下 -> Download Tailscale for Windows ボタン押下
  4. Download Tailscale 画面が表示されるので、 Download Tailscale for Windows ボタン押下でインストーラーをダウンロード
  5. tailscale-ipn-setup-1.26.0.exe を実行
    • デフォルトのまま Install ボタン押下 -> Close ボタン押下
  6. タスクトレイ内の Tailscale アイコン右クリック -> Log in...

これで、 Tailscale のネットワークに最初のデバイスが追加される。

DNS 設定

Tailscale ネットワークにぶら下がったデバイス間のアクセスがやりやすいように、 MagicDNS を使って名前解決するように設定する。

  1. Tailscale のログイン後画面 -> 左上のトップページへのリンクを選択 -> DNS
  2. DNS 画面になるので、必要な設定を行う
    1. Nameserver セクションの Add nameserver を選択 -> Cloudflare Public DNS を選択
      • MagicDNS で引っかからなかったホスト名を解決するために使う DNS, 必要に応じて IP を設定する
    2. MagicDNS セクションの Enable MagicDNS ボタンを押下

OK.

ふたつめのデバイス登録

Arch Linux を登録する。

  1. Web ブラウザ https://login.tailscale.com/start へアクセス
    • 今回は GitHub で Sign up した
  2. Select Network 画面が表示されるので、使用するネットワークを選択
    • Single-user Tailnetmikoto2000 を選択
  3. Machines 画面が表示されるので、 Download リンクを選択
  4. Download Tailscale 画面になるので、 Manually install on のプルダウンから Arch Linux を選択
    • 以下、表示された説明の通りコマンドを実行
      1. パッケージインストール
        • sudo pacman -S tailscale
      2. 自動起動設定、 --now で同時に起動も行う
        • sudo systemctl enable --now tailscaled
      3. Tailscale にデバイスを接続(登録)
        • sudo tailscale up
        • 表示される URL に Web ブラウザでアクセスし、ログイン

これで、 Tailscale のネットワークに Arch Linux がぶら下がる。

動作確認

ふたつめのデバイスからひとつめのデバイスに SSH 接続してみる。

ssh mikoto@mydesktoppc

ひとつめのデバイスに設定した接続情報でログインできる。

参考資料

2022年5月25日水曜日

Arch Linux への Docker インストールメモ

Docker をインストールして、一般ユーザーが sudo なしで実行できる環境を作る。

※ Docker Rootless ではない

インストール

sudo pacman -S docker

一般ユーザーを docker グループへ追加

sudo usermod -a -G docker mikoto

ログインし直すと、ユーザーの追加が反映される。

Docker デーモン起動

sudo systemctl start docker

必要に応じて自動起動設定をしましょう、今回はやらなかった。

sudo systemctl enable docker

自動起動しないと、どのみち sudo systemctl start dockersudo が必要なのであんまり嬉しくならなさそうだなぁ…

動作確認

[mikoto@letsarch ~]$ docker run -it --rm hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

参考資料

Arch Linux に Tauri 開発環境を構築する

前提

  • OS: Arch Linux
    • GUI 最小構成でセットアップした直後
  • Node.js: 18.2.0
  • Rust: rustc 1.61.0 (fe5b13d68 2022-05-18)

前提パッケージのインストール

sudo pacman -S base-devel webkit2gtk
  • base-devel: Rust プログラムのビルドに必要
  • webkit2gtk: Tauri プログラムのビルドに必要

Node.js のインストール

curl -LO https://nodejs.org/dist/v18.2.0/node-v18.2.0-linux-x64.tar.xz
sudo tar xfv node-v18.2.0-linux-x64.tar.xz -C /opt/
export PATH=$PATH:/opt/node-v18.2.0-linux-x64/bin
echo 'export PATH=$PATH:/opt/node-v18.2.0-linux-x64/bin' >> ~/.bashrc

Rust のインストール

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
echo 'source $HOME/.cargo/env' >> ~/.bashrc
source $HOME/.cargo/env

scab-player の開発開始

mkdir ~/project
cd ~/project
git clone git@github.com:mikoto2000/scab-player
cd scab-player
npm install
npm run tauri dev

以上。

参考資料

2022年5月24日火曜日

Arch Linux のデスクトップ環境作業メモ

前回 の続きから、以下を実施。

  • 基本的なツール群インストール
  • awesome 導入
  • 日本語入力環境構築

基本設定

vim のインストール

エディタ兼ターミナルとして gvim をインストール。

pacman -S gvim

フォントインストール

pacman -S otf-ipafont

もろもろインストール

pacman -S sudo firefox imagemagick git alsa-utils cbatticon
  • sudo: 必須のやつ
  • firefox: Web ブラウザ
  • imagemagick: magick import -window root screenshot.png でスクリーンショットがとれる
  • alsa-utils: alsamixer 音量調整
  • cbatticon: バッテリー残量表示

awesome 導入

pacman -S awesome lxdm
systemctl enable lxdm
reboot

GUI のキーボードレイアウト設定

日本語レイアウトにして、 Ctrl と Caps を交換。

localectl --no-convert set-x11-keymap jp pc106 "" ctrl:swapcaps

日本語入力

パッケージインストール

pacman -S fcitx5-mozc fcitx5-im

日本語入力設定

/etc/environment に IM の情報を追加。

cat << EOF >> /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
EOF

一般ユーザー作成

useradd -m mikoto
passwd mikoto

一般ユーザーを sudoers に追加

vim /etc/sudoers

mikoto ALL=(ALL:ALL) ALL を追加。

一般ユーザー設定

su - mikoto して作業続行。

awesome 設定

設定ファイルコピー

mkdir -p ~/.config/awesome
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/

設定ファイル更新

~/.config/awesome/rc.lua を更新

--- /etc/xdg/awesome/rc.lua     2021-09-15 04:42:54.000000000 +0900
+++ /home/mikoto/.config/awesome/rc.lua 2022-05-22 11:50:16.703969952 +0900
@@ -48,9 +48,9 @@
 beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")

 -- This is used later as the default terminal and editor to run.
-terminal = "xterm"
-editor = os.getenv("EDITOR") or "nano"
-editor_cmd = terminal .. " -e " .. editor
+terminal = "gvim -c terminal"
+editor = os.getenv("EDITOR") or "gvim"
+editor_cmd = editor

 -- Default modkey.
 -- Usually, Mod4 is the key with a logo between Control and Alt.
@@ -61,19 +61,19 @@

 -- Table of layouts to cover with awful.layout.inc, order matters.
 awful.layout.layouts = {
-    awful.layout.suit.floating,
-    awful.layout.suit.tile,
-    awful.layout.suit.tile.left,
-    awful.layout.suit.tile.bottom,
-    awful.layout.suit.tile.top,
-    awful.layout.suit.fair,
-    awful.layout.suit.fair.horizontal,
+    -- awful.layout.suit.floating,
+    -- awful.layout.suit.tile,
+    -- awful.layout.suit.tile.left,
+    -- awful.layout.suit.tile.bottom,
+    -- awful.layout.suit.tile.top,
+    -- awful.layout.suit.fair,
+    -- awful.layout.suit.fair.horizontal,
     awful.layout.suit.spiral,
-    awful.layout.suit.spiral.dwindle,
-    awful.layout.suit.max,
-    awful.layout.suit.max.fullscreen,
-    awful.layout.suit.magnifier,
-    awful.layout.suit.corner.nw,
+    --awful.layout.suit.spiral.dwindle,
+    --awful.layout.suit.max,
+    --awful.layout.suit.max.fullscreen,
+    --awful.layout.suit.magnifier,
+    --awful.layout.suit.corner.nw,
     -- awful.layout.suit.corner.ne,
     -- awful.layout.suit.corner.sw,
     -- awful.layout.suit.corner.se,
@@ -169,7 +169,7 @@
     set_wallpaper(s)

     -- Each screen has its own tag table.
-    awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
+    awful.tag({ "1", "2" }, s, awful.layout.layouts[1])

     -- Create a promptbox for each screen
     s.mypromptbox = awful.widget.prompt()
@@ -326,7 +326,9 @@
               {description = "lua execute prompt", group = "awesome"}),
     -- Menubar
     awful.key({ modkey }, "p", function() menubar.show() end,
-              {description = "show the menubar", group = "launcher"})
+              {description = "show the menubar", group = "launcher"}),
+
+    awful.key({ }, "Print", function () awful.util.spawn_with_shell("magick import -window root ~/screenshot.png") end)
 )

 clientkeys = gears.table.join(
@@ -561,4 +563,4 @@

 client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
 client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
--- }}}
\ ファイル末尾に改行がありません
+-- }}}

fcitx5 設定

コンフィグ

fcitx5-configtool で設定ダイアログを開き、所望の設定を行う。

fcitx5 &
fcitx5-configtool

自動起動

~/.xprofile で起動コマンドを叩く。

echo 'fcitx5 &' > ~/.xprofile
echo 'cbatticon &' >> ~/.xprofile

…ここで起動するなら、 /etc/environment の記述もこっちに持ってきた方が良いかも。

vim 設定

cd ~
rm -rf .vim
git clone --recursive https://github.com/mikoto2000/dotvim .vim

エディタ設定

echo 'export EDITOR=vim' >> ~/.bashrc

参考資料

2022年5月21日土曜日

Let’s Note CF-RZ6 に Arch Linux をインストールする

最近使っていなかったノート PC で遊ぶことにした。

今回は最低限のシステムを構築するところまで。

必要なもの

  • インストーラー作成用 OS: Windows 11 Pro
  • インストールする PC: Let’s Note CF-RZ6
  • インストールメディア: USB メモリ 2 GB

インストーラーの準備

インストーラー ISO の取得

Arch Linux JP Project - ダウンロード にアクセス -> jaist.ac.jp -> archlinux-x86_64.iso を選択。

USB インストールメディアの作成

Rufus のダウンロード

Rufus - 起動可能なUSBドライブを簡単に作成できます から Rufus 3.18 をダウンロードする。

USB にインストーラーを焼く

  1. rufus-3.18.exe を実行
  2. 必要事項を入力して スタート ボタン押下
    • ドライブ プロパティ
      • デバイス: インストーラーメディアとして使用する USB メモリを選択
      • ブートの種類: 選択 ボタンを押下し、ダウンロードした archlinux-x86_64.iso を選択
      • パーティション構成: GPT
    • フォーマット オプション
      • ボリューム ラベル: ARCH_202205
      • ファイル システム: FAT32
      • クラスター サイズ: 4096 バイト (規定)
  3. ISOHybrid イメージの検出 ダイアログが開くので、 ISO イメージ モードで書き込む (推奨) を選択
  4. 「USB の内容が消えますよ」という警告ダイアログが表示されるので、 OK を押下
  5. 完了したら、 USB を取り出す

インストール作業

基本的に インストールガイド - ArchWiki の通りにやっていけば OK.

インストーラー起動

  1. インストールメディアを挿して CF-RZ6 の電源を入れる -> UEFI の画面が表示されるまで Del キー連打
  2. 終了 タブ -> デバイスを指定して起動 セクションに表示されるインストールメディアを選択
  3. Arch Linux install medium (x86_64, UEFI) を選択

キーボードレイアウトを日本語配列キーボードに設定

loadkeys jp106

ネットワーク接続

iwctl コマンドで無線 LAN 接続を行う。

iwctl コマンドの実行

iwctl

無線 LAN に接続

自宅の無線 LAN は、SSID を隠しているので、 connect-hidden で接続する。

以下コマンドを実行すると、パスフレーズが聞かれるので、入力する。

station wlan0 connect-hidden <SSID>
  • <SSID>: 自宅の無線 LAN の SSID

iwctl 終了

exit

接続確認

ping コマンドでインターネットに出れるか確認。

ping archlinux.jp

システムクロックの更新

timedatectl set-ntp true

パーティション設定

既存パーティションを全部削除して、 Arch Linux 用に efi, swap, linux filesystem のパーティションを作成。

fdisk の起動

fdisk /dev/sda

既存パーティション削除

すべてのパーティションがなくなるまで d コマンドで削除していく。

Command (m for help): d
Partition number (1-5, default 5): 1

GPT パーティションテーブル作成

Command (m for help): g

UEFI パーティション作成

パーティション作成

Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-1000215182, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1000215182, default 1000215182): +300M

パーティションタイプの指定

Command (m for help): t
Partition type or alias (type L to list all): 1

swap パーティション作成

パーティション作成

Command (m for help): n
Partition number (1-128, default 2):
First sector (616448-1000215182, default 616448):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (616448-1000215182, default 1000215182): +512M

パーティションタイプの指定

Command (m for help): t
Partition number (1,2, default 2):
Partition type or alias (type L to list all): 19

Linux filesystem パーティション作成

パーティション作成

Command (m for help): n
Partition number (3-128, default 3):
First sector (1665024-1000215182, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1665024-1000215182, default 1000215182):

fdisk 終了

Command (m for help): w

パーティションのフォーマット

efi

mkfs.fat -F 32 /dev/sda1

swap

mkswap /dev/sda2

linux filesystem

mkfs.ext4 /dev/sda3

ファイルシステムのマウント

Arch Linux のファイルを配置するため、作成・初期化したパーティションをマウントする。

mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot
swapon /dev/sda2

Arch Linux ファイルの配置

最小限のファイルを、マウントしたパーティションに配置する。

pacstrap /mnt base linux linux-firmware

システム設定

fstab の生成

genfstab -U /mnt >> /mnt/etc/fstab

chroot

arch-chroot /mnt

タイムゾーン設定

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc

ローカリゼーション設定

ロケール生成

sed -i -e 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
sed -i -e 's/#ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen

LANG 環境変数

echo 'LANG=ja_JP.UTF-8' > /etc/locale.conf

キーマップ

echo 'KEYMAP=jp106' > /etc/vconsole.conf

ネットワーク設定

ホスト名

echo 'letsarch' > /etc/hostname

ネットワークマネージャーインストール

pacman -S networkmanager
systemctl enable NetworkManager.service

Root パスワード設定

passwd

ブートローダーインストール

GRUB をインストールする。

pacman -S grub efibootmgr intel-ucode
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB_UEFI
grub-mkconfig -o /boot/grub/grub.cfg

再起動

これでミニマムなシステムのインストールが完了したので、 chroot 環境から抜けて再起動する。

exit
reboot

再起動後のネットワーク設定

wifi 設定

nmcli dev wifi connect <SSID> password <PASSWORD> hidden yes
  • <SSID>: 自宅無線 LAN の SSID
  • <PASSWORD>: 自宅無線 LAN のパスワード

モバイル設定

LinksMate の SIM を入れているので、その設定を行う。

pacman -S usbutils usb_modeswitch modemmanager
systemctl enable ModemManager.service
systemctl start ModemManager.service
nmcli con add con-name "LinksMate" type gsm ifname "*" apn linksmate.jp user user password mate

再起動後、 nmtuinmcli con up nmcli con down でアクティベート・ディアクティベートできるようになる。

今回はここまで。

参考資料

2022年4月21日木曜日

arm64 版 Arch Linux の Docker イメージを作成する

前提

  • OS: Windows 11 Pro 21H2 ビルド 22000.613
  • Docker Desktop: version 4.7.0 (77141)
  • Docker の Buildx ビルダーインスタンス作成・使用設定済み

aarh64 版 Arch Linux の rootfs をダウンロード

Generic AArch64 Installation | Arch Linux ARM から ArchLinuxARM-aarch64-latest.tar.gz をダウンロードする。

rootfs から Docker イメージを作成

ダウンロードした tar.gz を、 docker import コマンドでインポートする。

docker import --platform linux/arm64 .\ArchLinuxARM-aarch64-latest.tar.gz mikoto2000/archlinux-arm:latest

pacman 初期化とシステムアップデート

docker run --name archlinux mikoto2000/archlinux-arm:latest bash -c "pacman-key --init && pacman-key --populate archlinuxarm && pacman -Syu --noconfirm"

デフォルトコマンド(CMD)設定

docker commit --change='CMD "bash"' archlinux mikoto2000/archlinux-arm:latest

動作確認

docker run -it --rm --name newarch mikoto2000/archlinux-arm:latest

CMDbash に設定したので、これで bash が立ち上がるはず。

あとは pacman -S vim とかやってパッケージのダウンロードができる。

以上。

参考資料