ピナクルのくるくるパソコン術

みんなが使えるパソコン術を提供します。

【Ubuntu】外付けHDDの接続・フォーマット


Linuxでの外付けHDDの接続・フォーマット方法を記載します。

* 手順

  1. 外付けHDDを挿入し、デバイスファイルを確認する

    外付けHDDを挿入するとデバイスファイルが作成されるので、
    dmesgコマンドで作成されたデバイスファイルを確認します。

    [  243.716956] usb-storage 1-1.3:1.0: USB Mass Storage device detected
    [  243.717805] scsi host0: usb-storage 1-1.3:1.0
    [  243.718366] usbcore: registered new interface driver usb-storage
    [  243.730245] usbcore: registered new interface driver uas
    [  244.737224] scsi 0:0:0:0: Direct-Access     MARSHAL  MARSHAL_EXTERNAL 0    PQ: 0 ANSI: 6
    [  244.738834] sd 0:0:0:0: Attached scsi generic sg0 type 0
    [  244.741174] sd 0:0:0:0: [sda] Spinning up disk...
    [  245.759932] ..ready
    [  246.786853] sd 0:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
    [  246.787520] sd 0:0:0:0: [sda] Write Protect is off
    [  246.787539] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
    [  246.788350] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [  247.010626]  sda: sda1 sda2
    [  247.033816] sd 0:0:0:0: [sda] Attached SCSI disk
    
  2. フォーマットする
    sudo mkfs -t ext4 /dev/sda

    私は今回ext4にフォーマットしたいのでext4を指定しています。
    この時表示されるUUIDは後で使うので控えておいてください。

    ubuntu@ubuntu:~$ sudo mkfs -t ext4 /dev/sda
    mke2fs 1.45.5 (07-Jan-2020)
    Found a gpt partition table in /dev/sda
    Proceed anyway? (y,N) y
    Creating filesystem with 488378646 4k blocks and 122101760 inodes
    Filesystem UUID: e1795d2f-db0a-4e61-aef9-1112dc355f02
    Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
         4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
         102400000, 214990848
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks):
    done
    Writing superblocks and filesystem accounting information: done
    
  3. 手動でマウントする
    sudo mount /dev/sda /mnt/hdd

    私は今回/mnt/hddにマウントしたいのでを指定しています。
    みなさんは適時読み替えてください。

    dfコマンドでマウントできたか確認できます。

     /dev/sda       1921803544   77852 1824033580   1% /mnt/hdd 
  4. 自動マウント設定をする

    自動マウントするためには、設定を/etc/fstabファイルに書き込みます。
    UUIDはフォーマット時に表示されたものを使用しますので注意してください。

     UUID=e1795d2f-db0a-4e61-aef9-1112dc355f02       /mnt/hdd        ext4    defaults 0       0 

    sudo mount -aでこの設定を基に手動マウントできます。
    再起動前に設定が正しいか確認しておくといいですよ。

【Raspberry Pi】OS初期設定


Raspberry Pi初回起動時の対応を記載します。

事前に電源やLANケーブル等を差しておいてください。

* ①OS初起動

  1. OSが立ち上がったらログインする
    login:
    password:

    Ubuntuの場合は、上記の画面が出ますので、Login・Passwordともにubuntuで入力してください。

    Current password:
    New password:

    初回ログイン時はこのままパスワード変更できますので、Currentには現在のパスワードをNewには変更後のパスワードを入力してください。

  2. 現在のIPアドレスを確認する
    ubuntu@ubuntu:~$ ip a
    eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
     link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.2/16 brd 192.168.255.255 scope global dynamic eth0
        valid_lft 257997sec preferred_lft 257997sec
     inet6 fe80::ba27:ebff:fe1e:a7e6/64 scope link
        valid_lft forever preferred_lft forever

    ip -aコマンドで端末のIPアドレスを確認します。
    確認できれば、今後そのIPでssh接続ができます。

  3. パッケージのアップデートをする

    パッケージが古くなっている可能性があるので、下記のコマンドでアップデートしてください。

    sudo apt update
    sudo apt upgrade

* 備考

画面右上にカミナリマークが出た場合は電力が足りていないので、電源ケーブルを購入してください。

【Raspberry Pi】OS書き込み

f:id:Wakao-Institute:20220403153001p:plain:w200
Micro SDカードにRaspberry Pi用のOSを書き込む方法を下記手順で説明します。
①OS書き込みツールのインストール
②Micro SDカードへのOS書き込み

今回はRaspberry Pi Imagerを使用します。

* ①OS書き込みツールのインストール

  1. 書き込みツール(Raspberry Pi Imager)インストーラのダウンロード f:id:Wakao-Institute:20220403153822p:plain:w500

    下記サイトからダウンロードします。

    www.raspberrypi.com

  2. ダウンロードしたexeファイルを実行する

    表示された画面の指示に沿ってインストールします。

* ②SDカードへのOS書き込み

  1. 書き込みツール(Raspberry Pi Imager)を実行
  2. OSとストレージを選択する f:id:Wakao-Institute:20220403160512p:plain:w500

    私はOSに「Ubuntu Server 20.04.4 LTS」を選択しました。
    下記手順で選択できます
     「Other general-purpose OS」
     →「Ubuntu
     →「Ubuntu Server 20.04.4 LTS」

  3. 書き込みボタンを押す

    書き込みには時間がかかります。 私は15分ほどかかりました。

    f:id:Wakao-Institute:20220403164024p:plain:w500

    この画面が出たら書き込み完了です。
    SDカードを抜いてください

* 備考

私のPCは直接MicroSDカードがさせなかったので、下記を使用しました。

www.yamada-denkiweb.com

【VBA】テキストファイルを書き込む


VBAでテキストファイルを書き込む方法を紹介します。

* 説明

①ファイルを開くにはOpenステートメントを利用する。

 Open ファイル名 For ファイル モード Access ファイルの開き方 As ファイル番号
           
説明
ファイル名 開けるファイル名を指定する文字列 C:\temp\test.txt
ファイル モードファイル モードを指定する キーワード
 Append
 Binary
 Input
 Output
 Random
Binary
ファイルの開き方開いたファイルに対して許可される操作を指定するキーワード
 Read
 Write
 Read Write
Read
ファイル番号有効なファイル番号
次に使用可能なファイル番号を取得するには、FreeFile 関数を使用する
1

docs.microsoft.com

②Openステートメント用に、有効なファイル番号を取得する。

Dim lFNum As Integer
lFNum = FreeFile

docs.microsoft.com

③ファイルにテキストを書き込む

Print ファイル番号(①で指定した番号),  書き込む文字列

docs.microsoft.com

④ファイルを閉じる

Close ファイル番号

docs.microsoft.com

* おまけ

使いやすいように関数化してみました。

Sub WriteTextFile(aFilePath As String, aText As String)

    '②有効なファイル番号を取得する
    Dim lFNum As Integer
    lFNum = FreeFile
    
    '①指定ファイルを開く
    Open aFilePath For Output Access Write As #lFNum
    
    '③ファイルにテキストを書き込む
    Print #lFNum, aText
    
    '④ファイルを閉じる
    Close #lFNum

End Sub

下記のように呼び出して使えます。

Sub WriteTextriteText()
    Dim lWPath As String
    lWPath = "C:\temp\Write.txt"
    Dim ltxt As String
    ltxt = "書き込む文字列"
    Call WriteTextFile(lWPath, ltxt)
End Sub

ぜひ使ってみてください!

【VBA】バイナリファイルを読み込む


VBAでバイナリファイルを読み込む方法を紹介します。

* 説明

①ファイルを開くにはOpenステートメントを利用する。

 Open ファイル名 For ファイル モード Access ファイルの開き方 As ファイル番号
           
説明
ファイル名 開けるファイル名を指定する文字列 C:\temp\test.txt
ファイル モードファイル モードを指定する キーワード
 Append
 Binary
 Input
 Output
 Random
Binary
ファイルの開き方開いたファイルに対して許可される操作を指定するキーワード
 Read
 Write
 Read Write
Read
ファイル番号有効なファイル番号
次に使用可能なファイル番号を取得するには、FreeFile 関数を使用する
1

docs.microsoft.com

②Openステートメント用に、有効なファイル番号を取得する。

Dim lFNum As Integer
lFNum = FreeFile

docs.microsoft.com

③ファイルサイズを取得し、ファイルから取り出すデータのサイズを取得する。

Dim lFileSize As Long
lFileSize = FileLen (ファイル名)

docs.microsoft.com

ファイルをOpenする前にサイズを撮る場合にFileLen関数を使います。
ファイルをOpenしてからサイズを撮りたい場合はLOF関数を使用してください。

④ファイルからデータを取得する

Dim lBin() As Byte
Get ファイル番号(①で指定した番号), , lBin

docs.microsoft.com

⑤ファイルを閉じる

Close ファイル番号

docs.microsoft.com

* おまけ

使いやすいように関数化してみました。

Function ReadlBinFile(aFilePath As String) As Byte()
    Dim lBin() As Byte
    
    '③ファイルサイズを取得する
    Dim lFileSize As long
    lFileSize = FileLen(aFilePath)
    If lFileSize = 0 Then
        'ファイルサイズが0ならば処理を抜ける
        ReadlBinFile = lBin
        Exit Function
    End If
    ReDim lBin(lFileSize)
    
    '②有効なファイル番号を取得する
    Dim lFNum As Integer
    lFNum = FreeFile
    
    '①指定ファイルを開く
    Open aFilePath For Binary Access Read As lFNum
    
    '④ファイルからデータを取得する
    Get lFNum, , lBin

    '⑤ファイルを閉じる
    Close lFNum    
    ReadlBinFile = lBin
End Function

下記のように呼び出して使えます。

Sub ReadBin()
    Dim lPath As String
    lPath = "C:\temp\test.txt"
    
    Dim lBin() As Byte
    lBin = ReadlBinFile(lPath)
    Debug.Print ConvertBinToText(lBin)
End Sub

C:\temp\test.txt

12345

12345

出力結果

 31323334350D0A0D0A3132333435

確認に使ってるConvertBinToText関数は下記のリンクにあります。

wakao-institute.hatenablog.com

ぜひ使ってみてください!

【VBA】変換まとめ

f:id:Wakao-Institute:20210902000533p:plain:w200
VBAの変換処理を紹介します。
まだ工事中です。

* ①Byte→String

Function ConvertBinToText(aSrc() As Byte) As String
    Dim i As Long
    For i = 0 To UBound(aSrc)
        Dim lHex As String
        '1バイトずつ16進数に変換
        lHex = Right$("00" & Hex(aSrc(i)), 2)
        lDst = lDst + lHex
        DoEvents
    Next
    ConvertBinToText = lDst
End Function

変換とは直接関係ないですが、変換サイズが大きすぎると固まるので”DoEvents”を追記しています。

【Git GUI】マージ

f:id:Wakao-Institute:20210902004606p:plain:w200
Git GUIを使ったマージ方法を紹介します。

* 手順

  1. 「Merge」をクリックして「Local Merge」をクリック
    f:id:Wakao-Institute:20211107005707p:plain:w600

  2. マージ元のブランチを選択し、「Merge」をクリック
    f:id:Wakao-Institute:20211107005858p:plain:w500

今回はローカルブランチの内容をマージしたので「Local Branch」にチェックが入っていますが、リモートブランチの場合は「Tracking Branch」にチェックを入れてください。

f:id:Wakao-Institute:20211107010546p:plain:w700 f:id:Wakao-Institute:20211107010602p:plain:w700

「Test Branch」の内容が「New Branch」にマージされました。

Gitに関するまとめは こちらです。