PPAリポジトリ

PPA = Personal Package Archives の略称

UbuntuとPPAとLaunchpad

PPAリポジトリremove-apt-repository コマンドで削除できる

https://www.codecode.xyz/remove_ppa/

ScoopでAdobe Acrobat Readerを入れる

手順を調べるのに、少し時間がかかったのでメモ。

概要

以下のscoop bucketを追加することで、Adobe Acrobat Readerのinstallが可能になる。

手順

管理者権限でPowerShellを起動し、前述のbucketのgit repoのREADMEの案内に従い、以下を実行

scoop install 7zip git sudo dark innounp lessmsi aria2 --global --no-cache
scoop config SCOOP_REPO 'https://github.com/Ash258/Scoop-Core'
scoop bucket add Scoop-Apps 'https://github.com/ACooper81/scoop-apps'
scoop update
scoop install AdobeAcrobatReader-Install

2024.02.25. 追記

scoop install 7zip git sudo dark innounp lessmsi aria2 --global --no-cache を実行すると、各種パッケージがglobalにinstallされます。つまり、別のWindowsアカウントに対しても影響を与えるinstallとなります。その影響下、この操作をしたのちに同一PCの別のWindowsローカルアカウントでログインをし、POwershellを非管理者権限で実行したところ、以下の Global install, Install failed となりました。管理者権限を使えば、global installに成功することも確認しましたが、この方法ですと非管理者権限で実行可能なScoopの良さが損なわれてします気がします。そこで、以下のインストールについては非globalインストールでやりなおそうと思います。

scoop list
Installed apps:

Name         Version       Source Updated             Info
----             -------           ------ -------                 ----
7zip                              2024-02-23 18:59:09 Global install, Install failed
aria2                             2024-02-23 18:59:10 Global install, Install failed
dark                              2024-02-23 18:59:11 Global install, Install failed
git                               2024-02-23 18:59:21 Global install, Install failed
innounp                           2024-02-23 18:59:28 Global install, Install failed
lessmsi                           2024-02-23 18:59:29 Global install, Install failed
sudo                              2024-02-23 18:59:30 Global install, Install failed

Windows11初期構築の備忘メモ:Scoopを使ったパッケージ管理を試す

新PCの初期構築に際し、Scoopを使ってみたので備忘メモ。

Scoopとは何か

SccopはWindows向けのCLI操作が可能なパッケージマネージャーです。*1macでいうところのHomebrewの位置づけですね。類似の製品にChocolatelyがあります。

https://scoop.sh/

scoopの基本的なコマンド

scoop --help の結果より使用頻度の高そうなものを以下にピックアップします。

更新系コマンド

  • install -> Install specific application
  • bucket -> Manage local scoop buckets.
  • update -> Update installed application(s), or scoop itself.
    • scoop update では、bucketのみが更新されるようです。Appを更新したい場合は scoop update firefox のように、引数に明示的にApp名を渡すことで更新がされます。また、installした各Appにavailableな更新があるかどうかは scoop status で確認できるようでした。

参照系コマンド

  • list -> List installed applications.
  • checkup -> Check system for pontential problems.
  • status -> Show status and check for available updates for all installed applications.
  • search -> Search for applications, which are available for installation.

工場出荷状態のWindows11にScoopを入れて、最低限必要なパッケージを導入する

以下、作業メモになります。

Sccopの導入

Powershellより、以下手順を実施。

# install
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
> irm get.scoop.sh | iex

# 動作確認
> scoop --version

aria2のインストール

ダウンロードの高速化のために aria2 を入れます。詳細は以下を参照ください。

qiita.com

extras バケットの追加

scoopはデフォルト状態だと、install可能な製品が限定的です。そこで、パッケージを追加して導入可能な製品を拡張します。このパッケージのことをscoopでは bucket と呼称するようです。 extras という名称の bucket があれば一通りのツールは導入できそうでしたので、ここでは extras のみを追加します。パッケージの追加に際しては、gitが必要な様子でしたので、gitをinstall → extras bucketを追加の順に進めます。

scoop install git
scoop bucket add extras

必要なツールをあれこれinstall

これで、extras bucketが使えるようになりましたので、必要なツールを順番に入れていきます。

scoop install firefox
scoop install googlechrome

※以下については、Scoop経由で導入したところ、Windowsのタスクバー上にアイコンが表示されないことを確認したため、手動で入れなおしました。

scoop install slack
scoop install notion

sakuraエディタのinstall

sakuraエディタについては、別の bucket が必要になります。

scoop bucket add iyokan-jp https://github.com/tetradice/scoop-iyokan-jp
scoop install sakura-editor

終わりに

初めて触ったツールですが、割と好感触でした。暫く試用してみようと思います。

*1:公式ページを見ますと、"A command-line installer for Windows" とありますのでこの説明は正しくないかもしれません。

デスクトップPCを新しく購入しました

2019年より使用のLG GRAMが調子が不調気味になり始めたため、新しくHPのデスクトップPCを購入しました。

画像の出展

構成・スペック

構成・スペックは以下となります。

HP 285 Pro G8 Microtower

  • Windows11 Professional
  • AMD Ryzen 5 PRO 5650G with Radeon Graphics 3.89Ghz
  • 16.0GB Memory
  • 512 GB SSD

ノートではなくデスクトップを選んだ理由

いつでも触れる環境が欲しい

自宅でPCを作業をする時間が長くなり、 常時起動状態を保ち、いつでも使いたくなった時に1分以内に触れるPC環境が欲しい と思ったため、ノートPCではなくデスクトップPCを購入しました。

実際に導入後は、自宅でPCに触る機会が増えたため、狙いとしては今のところ成功だと感じています。

机の上を広く使いたい

KVMスイッチャーを使うことで、リモートワークで使用の会社貸与のPCとマウス/キーボード/モニタを共有できるため、 机の上を広く使える 点も魅力でした。ノートPCですと、机の上に乗せる運用になり机が狭くなりがちですので、机の下におけるデスクトップPCのほうが省スペース性が高いと考えました。

メモリとディスクの増設は将来的に検討予定

Disk、Memoryについては拡張が可能な様子ですので、実際に使ってみて不足があれば増設も検討しようと思います。

WSL2起動時に .bashrc が読み込まれない

環境

現象

WSL2起動時に .bashrc が自動で読み込まれない。

対処法

.bash_profile に以下を追記する。

if [[ -f ~/.bashrc ]] ; then
    . ~/.bashrc
fi

因果関係の理解と設計時の思考の永続化

因果関係の理解まで至りたい

  • OSやM/Wというのは、「極端に間違ったことをしなければ、手を入れなくても一定の機能要件を満たす(動いちゃう)」という性質がある。もっと雑にいうと、「根拠はわからないがパラメーターの変更をランダムに試行錯誤したら、ほしい結果(振る舞い)が得られた!」ということがしばしば起きる。(障害対応にも言える話だけど)

  • このため、内部構造とかシステムの設計思想とかを考えずに適当に動かして、「動いたからこれでいい」「このシステムはこういうものなんだ」みたいに自分は考えてしまいがちだ。(なんかわかんないけど、パラメーター変えたら直ったのでよし!的な)

  • そういうときに「欲しい結果が得られたから対応をクローズします」ではなく、「やったこと(action)と得られたこと(システムの振る舞い)に因果関係って本当にあるんだっけ? どういうメカニズムでこの結果が得られたのか、もう少し考えてみようか?」と粘って理解しようとする、考えることが大事に思う

根拠を書くことで想定している因果関係を表明する

  • 設計において方式や設定値を決める時はこの因果関係を逆順に考える。つまり、結果→原因、ではなく、こういう手段(原因)を採用することで、こういう目的(結果)を得ようとみたいなことを考える

  • そのときに「何を考えてこうしたのか?」というのをできるだけ残したほうがベターだ。そうしないと、後で引きついた人がその(設計時に設計者が考えたこと)のよしあし」を評価できないから。科学で言うと、反証不可能な仮説が誕生してしまう。

  • 「結果」という観点で見た設計の品質は「要件を満たしているのか?」であるが、「プロセス」で見たときの設計品質=「設計者の思考や構想の組み立てのプロセス、出来上がったものの整合性・一貫性(coherentであるか?)」である。設計の瑕疵により障害発生したときに前者が槍玉にあがりやすい(なんでこんなつくりになってるんだ!)が、本質的には後者(設計時にこれって想定できていたんでしたっけ?)の方が大事に思う。

  • 最近の考え方で言うと、ADR的な話なのかもしれない。

Ubuntuでcatとlsをbat(1)とexa(1)に置き換える

2024.01.06.追記
bat(1) ですがコマンド名が bat -> batcat に変わった様子でしたので、 .bashrc の内容を微修正しました。

Note that on these distros, you must use the “batcat” command to use the bat command due to a conflict with an existing package called bacula-console-qt.


以前から気になっていた、cat互換のCLIツール bat(1) と同じくls互換のツール exa(1) を開発機@Ubuntuに導入してみました。いずれも、既存のツールと同じような使い勝手で、より見やすい形にコマンドの実行結果を出力してくれるツールとのことです。

.bashrc は以下のようにしています。この設定で暫く様子を見ようと思います。

# cat を置き換え : コピペの時に邪魔にならないよう、行番号の表示は抑止する
alias cat='batcat --style=plain'

# ls を置き換え
alias l='exa'
# exaはデフォルトではgroupをomitするので、 -g を与えて出力させる
alias ll='exa -lg'
alias la='exa -la'

# tree を置き換え : 実際に使う時は "-L 2" みたいにdepthを指定して使う
alias tree='exa -T'

参考:

Powerpoint for Microsoft 365 でデザイナーを無効化する方法

環境

手順

(1) ファイルその他オプション の順に選択
(2) 全般PowerPointデザイナー にて以下2か所のチェックを外し、 OK を選択

WSL2/Ubuntu22でls実行時のディレクトリの色を見やすくする

コンテキスト

WSL2 / Ubuntu22のデフォルト設定だと、LS実行時のディレクトリの表示色が以下のようにすごく見にくい

修正方法

(1) 以下のコマンドを実行して現在の色設定をファイルに書き出す

dircolors -p > ~/.dircolors

(2) ~/.dircolors の以下のレコードの 01;34 を任意の色に変える ※自分は、 40;36 (緑)に変更

DIR 01;34 # directory

(3) bashを閉じ、再度起動しなおして、ls -l の実行色が変わったことを確認

背景知識

Ubuntu22の ~/.bashrc には、以下の設定が初期状態で含まれているため、~/.dircolors を作成するとbash起動時に自動で読み込まれる。

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

gitでのユーザー名とPWの初期設定

コマンド

メールアドレスの設定

  • git config --global user.email hoge@example.com

ユーザー名の設定

  • git config --global user.name piyo

備忘

  • 上記コマンドにて設定の値は ~/.gitconfig に書き込まれ、gitにcommit時の Author として使われる
  • Eメールアドレスについては、コミットメールアドレスとして、コミットのAuthorをGItHubのユーザーアカウントと紐づけるのに使われる
    • メールアドレスを非公開にしたい方向けに、コミットメールアドレスを非公開にする機能も用意されている

Slackで2要素認証を有効化する

コンテキスト

有料契約しているSlack Workspaceで以下のようなメールがきたので2要素認証の設定を行う。

We are contacting you to let you know that beginning September 26, 2023owners and admins on Slack paid plans will be required to set up two-factor authentication.

Two-factor authentication (2FA) adds an extra layer of security to your account by requiring an authentication code from your phone whenever you sign in.

Our records indicate that you haven’t set up 2FA for your account on [契約のSlack Space名]. Please take the time to do that now by following the instructions here in our Help Center: https://slack.com/help/articles/204509068.

手順

https://[Slack Space名].slack.com/account/settings#two_factor にアクセスし、 以下スクショ赤枠部分を選択。

Slack SpaceのPWを入力。

今回は、2Factor App( Twilio Authy )を使うのでUse an appを選択

Twilio Authyを操作し、ブラウザに表示にQRコードをスキャン後、Verification Codeをブラウザ側で入力

コード紛失時のバックアップに使う電話番号を入力

スマホにショートメッセージが送られるのでブラウザ側で入力。

最後にバックアップコードが出力されるので、保管しておく。

冒頭のアカウント画面にて、Two Factor Authenticationが Active になったことを確認。

WSL2起動時にdockerを自動起動したい

環境

  • Windows11
  • WSL2
  • Ubuntu22
  • docker-ce

コンテキスト

WSL2上のUbuntu22を起動の際にdockerdを自動起動したい。 しかし、WSL2はsystemctlではなくsysvinitのため、sudo systemctl enable docker 的なことができない。

参考:

解決方法: ~/.bashrc に以下エントリを追加。

if [ $(service docker status | awk '{print $4}') = "not" ]; then
  sudo service docker start > /dev/null
fi

これだけだと、WSL2起動時に毎回PWの入力を求められて面倒なので、 /etc/sudoers にエントリを追加する。

(1) sudo visudo

(2) 以下の個所の値を %sudo ALL=(ALL:ALL) NOPASSWD:ALL に変更する。( NOPASSWD:ALL を追記する)

(3) Ctrl + s で編集内容を保存、 Ctrl + x でnanoエディタを終了。

※sudoersの文法的に不正な編集をすると、このタイミングで以下のメッセージが出力されるので、e を入力してエラー箇所を再度修正する。

>>> /etc/sudoers: syntax error near line xx <<<
What now?

参考:

WSL2でvim実行時のコメントの色を変える

環境

  • Windows11
  • WSL2
  • Ubuntu22

コンテキスト

WSL2で vim(1) を実行の際にデフォルトのカラーテーマでは以下のように色が見にくいので見やすい色に変えたい。

解決策

~/.vimrc を作成し、以下のようにコメント行の色を変えてあげればOK。

$ cat ~/.vimrc
highlight Comment ctermfg=green

次回vim実行時より、以下のようにコメント行のハイライト色が変わる。

上記のみだと、 sudo(1) 実行時にカラーテーマが適用されないので合わせて以下を実行する。

$ sudo ln -s ~/.vimrc /root/.vimrc

参考にさせていただいた記事

/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */