LoginSignup
0
0

More than 1 year has passed since last update.

Debian11をVirtualBoxにインストールしたメモ(忘備録)

Last updated at Posted at 2023-01-16

VirtualBoxにインストールした時の忘備録です。
ちょいと実験用に使いたくDebianの最新リリース11をVirtualBoxにインストールしました。わりと最近使っていたCentOSと比べると少し勝手が違ったので忘備録としてメモしておきました。インストール時オプションは何も考えずにデフォルトのままです。

とりあえずやったこと(やっておきたいこと)

  1. VirtualBoxのネットワーク設定
  2. GUIにrootでログインしたい
  3. IPアドレスを固定
  4. TeraTermを使いたい
    • rootでログインしちゃう?
  5. sudoを使える様に
  6. ランレベルの設定など
    • CUIで起動させたい
  7. コンパイラとかのインストール
    • C、C++のコンパイラはいるでしょ
    • makeもいるでしょ
    • Pythonは標準で入ってるからそのままでいいかな
    • node.jsを使いたい

VirtualBoxのネットワーク設定

何も考えずにインストールしたらVirtualBoxのネットワーク設定がNATになっていて、DHCPで10.0.なんちゃらとか言うIPアドレスになっていましたので、ブリッジ接続に変更しました。IPは後で固定にします。

GUIにrootでログインしたい

各種設定をするにあたり、いろいろ調べていると、一般ユーザーでsudo使って... と言う記述が多かったのですが、めんどくさいのでrootユーザーでやれればいいかなと思い、GUIにログインしようとしたらできませんでした。どうやらデフォルトではrootユーザーでGUIへのログインは許可されていない様ですのでログインできる様に設定します。

  1. /etc/pam.d/gdm-password の3行目をコメントアウトすればよい様です。
    /etc/pam.d/gdm-password
    #%PAM-1.0
    auth    requisite       pam_nologin.so
    auth    required        pam_succeed_if.so user != root quiet_success
    @include common-auth
    
  2. 3行目の「auth required ~ user != root」の定義をコメントアウト。
    /etc/pam.d/gdm-password
    #%PAM-1.0
    auth    requisite       pam_nologin.so
    #auth    required        pam_succeed_if.so user != root quiet_success
    @include common-auth
    

IPアドレスを固定

ネットで調べていると、/etc/network/interface を編集して云々と言う記事が多かったのですが、GUIからできる様なのでGUIから設定しました。
まあよくあるネットワーク設定なのでこんな感じで定義しておきます。適用ボタンを押下したら設定完了で、切断して接続し直せば反映されました。
image.png
今回は 192.168.1.130 にしておきました。
image.png

IPアドレスが変更されているか確認

え~と、古いLinuxに慣れていると無意識に「ifconfig」って打ち込んだりしちゃうんだけど「ifconfig」ってありません😅。「ifconfig」の代わりは「ip address(ip a)」コマンドです。

root@debian11:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:f5:4e:ef brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.130/24 brd 192.168.1.255 scope global noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet6 2404:7a80:cfa0:4500:317f:dcf6:2337:a97d/64 scope global dynamic noprefixroute
       valid_lft 13665sec preferred_lft 11865sec
    inet6 fe80::ce4f:303c:79b8:2c0c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

TeraTermを使いたい

と、思い、TeraTermから 192.168.1.130 で接続しようとしたら、接続できませんって言われました。で、よくよく調べてみると、デフォルトでSSHサーバーが入ってないんですね。ってことでSSHサーバーをインストールします。これもGUIのSynapticパッケージマネージャからできる様ですが今回はターミナルからインストールしました。
(途中でインストール用DVDのセットを促されます。)

root@debian11:~# apt install openssh-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  openssh-sftp-server
提案パッケージ:
  molly-guard monkeysphere ssh-askpass ufw
以下のパッケージが新たにインストールされます:
  ・
  ・
(中略)
  ・
man-db (2.9.4-2) のトリガを処理しています ...
root@debian11:~#

インストールが終わるとSSHサーバーは自動的に起動されますので、TeraTermから接続できる様になります。
image.png

rootでもログインしたい

ターミナルからだとsuコマンド使えばいいじゃん! って話になりますが、ものはついでなのでメモっておきます。rootユーザーで/etc/ssh/sshd_configの34行目を編集します。「PermitRootLogin prohibit-password」は元々コメントアウトされていますので「PermitRootLogin yes」の行を追加します。

/etc/ssh/sshd_config
27 # Logging
28 #SyslogFacility AUTH
29 #LogLevel INFO
30
31 # Authentication:
32
33 #LoginGraceTime 2m
34 #PermitRootLogin prohibit-password
35 PermitRootLogin yes
36 #StrictModes yes
37 #MaxAuthTries 6
38 #MaxSessions 10

SSHサーバーを再起動すればrootでもログインできる様になります。

root@debian11:~# systemctl restart ssh

sudoを使える様に

/etc/sudoersを編集、一般ユーザーの名前を登録する。

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification

# ↓この行を追加(hogeユーザーにsudoを許可)
hoge  ALL=(ALL:ALL) ALL

# Cmnd alias specification
# User privilege specification
root    ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "@include" directives:
@includedir /etc/sudoers.d

ランレベルの設定など

なんとなくGUIで起動される様になってしまったけど、CUIで起動させるにはどうしたらいいのかを調べてみた。

ディスプレイマネージャサービスを停止

Debian11の場合は単純に「init 3」とか打ち込んでもランレベル3になってCUIのモードになるわけではなかった。GRUBでランレベルを指定してもCUIで起動はされなかった。いろいろ調べてみたところディスプレイマネージャサービスと言うのがあって、gdm3とか言うサービスを停めないとならないとか。じゃあサービスを停めちゃえばいいのね。と思ったんだけど、systemctlからはgdm3のサービスは変更できないらしい。そこで、Windowsのサービス画面みたいのはないかな~ と探していたら、CUIの画面から設定できるユーティリティがあった。「sysv-rc-conf」と言うコマンドだけど、デフォルトでインストールされていないのでインストールする。

root@debian11:~# apt install sysv-rc-conf

インストールして起動するとこんな画面が出るので gdm3 のサービスをランレベル2~3で動かない様にしてみよう。
image.png
そして、init 3 コマンドを打ち込むとCUI画面に移行しました。

root@debian11:~# init 3

起動時にランレベル3にするには

GRUBの画面が出たら自動起動される前に1行目を選択して e を押す。
image.png
こんな画面が出るので赤丸のところに 3 と書いてF10キーを押してbootすると、GUIが起動しないでCUIでのログイン待ち状態の画面になります。
image.png
この後、rootでログインして、init 5 コマンド や startxコマンド でGUIを立ち上げることもできます。

コンパイラとかのインストール

差し当たって、こいつらをインストールしておこうと思います。

  • gcc、g++(c++)
  • make
  • Python
  • node.js

gccとg++

最近はLinuxもバイナリのパッケージをダウンロードしてインストールが普通みたいですが、古い人間はなんとなくソースのtarボールからインストールしたいと言う気持ちがあります。そんな時はこれがないと話になりません:sweat_smile:

  1. gccをインストール
    root@debian11:~# apt install gcc
    
  2. g++をインストール
    root@debian11:~# apt install g++
    
  3. makeも必要なので
    root@debian11:~# apt install make
    

Python

Python3.9.2はデフォルトでインストールされていました。

node.js

node.jsはaptコマンドからでもインストールできますが、ソースのtarボールからインストールしようと思います。まずはソースのtarボールを node.js公式サイト からダウンロードします。現時点(2023/1/18)での推奨版は node-v18.13.0.tar.gz でした。
image.png

  1. /usr/local/src に置いて展開
    root@debian11:/usr/local/src# ll
    合計 82616
    -rw-r--r--  1 root   root   84593514  1月 18 15:52 node-v18.13.0.tar.gz
    root@debian11:/usr/local/src# tar xvfz node-v18.13.0.tar.gz
    
  2. /usr/local/src/node-v18.13.0 に展開されるので、configureを実施
    root@debian11:/usr/local/src/node-v18.13.0# ./configure
    Node.js configure: Found Python 3.9.2...
    INFO: configure completed successfully
    
  3. 続けてmakeを実施
    root@debian11:/usr/local/src/node-v18.13.0# make
    
  4. 続けてmake install を実施
    root@debian11:/usr/local/src/node-v18.13.0# make install
    
  5. 無事インストールされたかを確認
    root@debian11:/usr/local/src/node-v18.13.0# which node
    /usr/local/bin/node
    root@debian11:/usr/local/src/node-v18.13.0# node -v
    v18.13.0
    

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0