Debian系OSの導入に際してのWindowsとの差異や共通の設定のメモです。

ものによってはLinux共通です。

大体どれも以下のような流れになるので、初めてGNU/Linux Debian に手を出される方のとっかかりになれれば幸い。


【インストール】

①何らかのPCで各ディストリビューションの公式ページからUSBインストールイメージをダウンロードする
 sourceforge等に飛ばされることも結構ありますので、びっくりしないように。

②USBにインストールイメージを焼く

 USB作成はいろいろな手段がありますが
  ・ツールを使う方法
     「.img usb」で検索するとたくさん出てくるかと思います。
     有名なのは「win32diskimager」「」
  ・Linuxマシンやcygwinを使ってddやddresucueで焼きこむ

③USB起動できるようにPCを設定

④USBからインストール。

※複数OSを起動する場合は少し工夫が必要なので、末尾に記載する


【インストール後】

●まず、何をするにも以下お呪(まじな)いのようにやっておく。
 ターミナルを開いてコピペ。

・aptないしapt-getのリポジトリ最新化

sudo apt-get update
sudo apt-get upgrade

※リポジトリ更新すらエラーで止まる場合は、以下の方法で何とかする
 1)ネットで「(ディストリビューション名) (バージョン名) apt リポジトリ」で検索。
   例:debian 11 apt リポジトリ
   >例:https://www.server-world.info/query?os=Debian_11&p=initial_conf&f=5

 2)リポジトリ参照先の設定ファイルを開いて手動で設定(運がよければコメントファイル化されてたりするだけかもしれない)
  nano /etc/apt/source.list

  なお、公式サーバだけでなくコピーしているサーバが世界に複数あることが多いので、
  それらを全部登録などする必要はないのですが、なかなか慣れないと何が必要かなど分かりませんよね。
  なので、慣れるまでは誰かが記載してくれている例をそのまま記載するのがいいと思います。

※sudoができない場合は以下の方法で追加
 「sudoersに登録されておりません。この操作は報告されます」みたいなおっかない文章が出てくる
 1)以下コマンド実施
   su –
   visudo

 2)以下編集して保存。

   hogehoge ALL=(ALL:ALL) ALL

  hogehogeはsudoコマンドを使いたいユーザー名に置き換える

  debianならばnanoが立ち上がると思うので、キーボードの上下左右で編集行に移動しキーボードから入力で記載。
  編集後は終了(ctrl-x) → 保存するかの確認(y)で保存する

 上述参考HPはこちら:
     https://mirrorshades.jp/?p=1087
 visudoの詳しい動作についてはこちら:
     https://eng-entrance.com/linux-command-visudo

※sudoのパスワードなしにする

 上述(2)を以下のようにする

 hoge ALL=(ALL:ALL) NOPASSWD: ALL

 ただ、これをやっていいのは個人向けのPCだけだと思ったほうがいい。

 もう少し細かく指定するにはこちら参照とかこちら参照

●定番ツールのインストール

sudo apt-get install fcitx-mozc fdclone tightvncserver xrdp gddrescue parted gparted netcat cpufrequtils remmina chromium chromium-l10n terminator pcmanfm-qt libc6-dev build-essential i2c-tools git vlc remmina-plugin-rdp remmina-plugin-vnc blueman install wine winetricks net-tools netcat
sudo apt-get install –install-recommends fcitx

●よく使うアプリのデスクトップへの配置

 基本的にdebian系はapt-getで登録したアプリケーションは
  /usr/share/apprications/
 に、起動用のアイコン(?エイリアス?実態がよく分かっていない)が入っております。
 これをデスクトップにコピーすればOKです。

 コピー方法は右クリックから「コピー」「ペースト」だったりドラッグ&ドロップで行けたり。ファイルマネジメントツールとデスクトップ環境の組み合わせによって多少癖がある。

●無線LANネットワークへの接続

 これはデストリビューションごとに無線LANを取り扱うアプリが異なるので、個別に調べるしかない。
 検索エンジンで「<ディストリビューション名> 無線LAN 設定」などで調べれば出てくるかな。

 躓く可能性は主に2か所。
  1)そもそも無線LANアダプタを認識できない
     (比較的新しい無線LANアダプタを使うと陥りやすい。
      また5G帯(11ac)の無線LANアダプターで起こりやすい
  2)接続設定が出来ていない。

 なので、一番確実なのは、まずは有線LAN環境は用意しておくこと。
 二番目に確実なのは比較的古い2.4GHz帯のLANアダプターでつなげる事。

 ケースバイケースすぎるので回答になってなくて申し訳ないですが。。。
 私がつまずいたケースがあればディストリビューションごとの説明で記載します。


【WindowsとLinuxのドライブの管理の違い】

例:PCに2台のSSDと1つのUSBメディアが刺さっている状態で、
  1台目のSSDは領域は2つに分かれていて、1つ目が起動領域(OSインストール先)、2つ目がデータ領域として使う
  2台目のSSDは領域が一つで全体がデータ領域として使う

この場合、Windowsでは一般的に以下のようになりますよね

PC
├1台目のSSD
│ ├C:(起動領域)
│ └D:
├2台目のSSD
│ └E:
└USBメディア
  └F:
これがLinuxでは、以下のように認識されます
├sda (1台目のSSD)
│ ├sda1
│ └sda2
├sdb (2台目のSSD)
│ └sdb1
└sdc(USBメディア)
  └sdc1

sdの部分は、記憶媒体の種類によって変わりますので、あくまで例です。 hdになったりmmcblk*になったり・・・

ここで言いたいことは、WindowsとLinuxではシステムで認識する命名方法が違っているよってこと。そのうえで、


【ファイルシステムから見たドライブ構成】

Windowsの場合、PCの直下に素直にドライブが羅列される

PC(またはマイコンピュータ)
 ├C: (1つめのSSDドライブのWindowsがインストールされた起動可能な領域。)
 │ ├Windows     特殊なフォルダ:システム関係のファイルが入っている
 │ ├Program Files  暗黙の了解として基本的にアプリケーションのインストール先
 │ ├ユーザー     特殊なフォルダ:ユーザー別のデータが入っている
 │
 ├D: (1つめのSSDの起動領域以外の領域。)
 ├E: (2つめのSSDの領域)
 └F: (USBドライブ)

Linuxの場合、ルート以下にドライブは羅列されない。
ルート以下は格納されるファイルの種類によりディレクトリ分けされている。

/(ルート、と読む。実際どの物理記憶媒体をルートにするかはインストール時に決める)
├boot   カーネルは基本設定など起動直後に読み込むようなファイルはここに集まっている
├bin    基本的なコマンド(実行ファイル・バイナリファイル)が入っている
├lib    コマンド(実行ファイル・バイナリファイル)に必要なライブラリ群
├etc    設定ファイル群
├・・・   いろいろあるけど、だいたいシステム関係のフォルダ。
├・・・
├・・・
├dev    特殊なフォルダ:あらゆる入出力デバイスが見えるフォルダ
├mnt    暗黙の了解としてHDDやネットワークフォルダはここにマウントする
│ ├worl1 sda2をマウントした例 ・・・Windowsで言うDドライブ。こんな感じにマウントされる
│ └worl2 sdb1をマウントした例 ・・・Windowsで言うEドライブ。こんな感じにマウントされる
├media   暗黙の了解でリムーバブルメディアはここにマウントする
│ └usb1  sdc1をマウントした例 ・・・Windowsで言うEドライブ。こんな感じにマウントされる
├srv    暗黙の了解としてHTTPやFTPの公開フォルダ
├home   Windowsでいう「ユーザー」フォルダ。
  

言いたいことは、WindowsとLinuxではドライブの扱いが違うということ。

Windowsでは基本的に「PC」「マイコンピュータ」を最上位階層として、起動ドライブが「c:」になり、他は論理ドライブ別に「C:」ドライブと同じ階層にずらずらと並びますが
Linuxは基本的にドライブ毎に区別する概念がない。
Linuxでは、インストール時に決めた「/(ルートフォルダ)」のあるドライブが最上位階層であり、他の記憶媒体はルート下のどこかに「マウント」する、という発想である。

(Windowsでも、意識的にやろうと思えば任意のフォルダーの下にドライブをマウントすることもできるのだが、一般的には特殊)

最初に覚えておくべきディレクトリは「home」「media」くらいかと思います。
「自分の自由にファイルを置いて良い作業場所」と「接続したUSBがどこに取り付くか」くらいは覚えておかないと不便すると思いますので。
「etc」はちょいちょい設定変更でいじりますが、「設定ファイルが入っている」程度の認識でいいと思います。

その他は使っているうちにだんだん必要に応じてという感じです。


【マウントする、とは】

他人より自分が優れていることを無暗に主張したがる生態の事ではない。

記憶媒体をファイルシステム上のどこかに配置し、ユーザーが管理できるようにすることです。

/
├boot
├bin
├lib
├etc
├・・・
├mnt
│ ├work1 (実体はsda2)  ←
│ └work2 (実体はsdb1)  ←
├media
│ └sdc1 (実体はsdc1)  ←
├home

矢印に注目。
Linuxでは(ドライブという管理概念がないので)、ルート以外(インストール時に取り決めたもの以外)の記憶領域については
「mnt」「media」等の各ディレクトリの下に「取り付いている」「寄生している」ような状態にして管理する。。
このように「取り付かせる」「寄生させる」ことを「マウントする」という。

※なお、最近のディストリビューションは、メモリーカードを差すと自動的に 「/media/」または「/media/<ユーザー名>」にマウントしてくれることが多いです。

※一昔前は「/media/」なんてフォルダはなかったんですが、これは時代の変化で、HDDなどのスタティックなもの(通常/mnr/にマウントする)と一時的に接続したUSBなどの記憶媒体とを区別するためにできた「新しい習わし」なのでしょうね。いずれにせよ集団心理の中から生まれてきたものなので、良いとか悪いとかじゃないです。


【複数OSの選択起動】

以下、BIOS+MBRタイプのディスク管理の場合の話です

Debianは、GURB2というブートマネージャーを使っている
これを多段起動する形にする
つまり

●通常:Windowsしかないシステム

/sda (WindowsNT boot ldr)
 └sda1 windowsXP

迷うことなくWindowsのboot ldrしか選択肢がない

●デュアルブート

/sda (GURB2)
 ├sda1 windowsXP
 └sda2 Debian11

Windowsのboot ldrにかわって、Linuxインストール時にsda直下にインストールされた
GURB2がどちらを起動するかの面倒を見る

●複数ブート

/sda (GURB2)
 ├sda1 windowsXP
 ├sda2 Debian11
 ├sda3 (GURB2) +Ubuntu20/04
 ├sda4 (GURB2) A+ntix22

結果から言ってしまうと、
・最初にWindowsをインストール(一番わがままなOSなので、あまりいじりたくない。)
・2つめのパーティションに本命のLinuzをインストール、と共にsdaにGURB2をインストール
・後から追加インストールするLinuxでは、GURB2インストール先を自分自身のパーティション(たとえば上のUbuntu20.24ならばsda3)にインストールする

とやる。

で、インストール後に上の例だとDebian11を起動し、ターミナルから

sudo update_gurb2

・・・で、最近は自動で起動可能ドライブを検索して登録してくれるっぽい

「ぽい」って言うのは、自分は
sudo nano /etc/grub.d/40_custom
で、起動ドライブとメニューの表記名を明示するものだと思ったのだけれども、update_gurb2をしたら、それとは関係なく勝手に登録していたため、結果的に2重登録になったので、無駄な努力だったっぽい。