どうやるかはどうでもいい
どうやるか(How)ばかり気にしてる
そんなの置いといて
何のために
何をするか
こっちを先に考えよう。
開発言語は何がいいか
さて、先週までで Arch Linux をインストールできた。
(まだコンソール画面だけでブラウザとかメールも見れないけど)
とりあえず、ひと段落したので今週は別の話題。
これからプログラミングをしていくのだが、
ここでどの言語を学んだらいいか?
という問題がある。
開発言語ランキングとか
言語別の収入ランキングとかいろいろあって
それを見て選ぶのもいいと思う。
しかし、こういうランキングが一概に当てはまらないケースもあると思う。
例えば、収入の多い言語として「Python」となっているが
これは、けっこう幅があって、240万~1750万となっている。
なんと、高低差が7倍もある。
これは、言語というより業界の差が大きいと思われる。
Pythonの適用範囲は広く、いろいろな分野で使われているが
収入の高いのは「AI」などの分野にいる人たちだと思う。
また、Javaも高い場合は2000万とかになっているが、
これも、金融業界にいる人たちだと思われる。
このように開発言語というよりどの業界に属しているかで
収入の差になっていと想像する。
なので、収入や人気にとらわれず
何がやりたいかの目的に応じて
選択するほうがいいと思う。
例えば、iSOのアプリを作りたいのであれば、Swift になるだろうし、
Android のアプリを作りたいのであれば、Java 又は Kotlin になるだろうし、
組み込み用の機械制御などは C言語になるだろうし、
金融系のお金の計算などは COBOL になるだろう。
そんな中で、私がオススメするのは「JavaScript」である。
理由は、今後かなりの割合で必要になってくる言語だからだ。
また、登場初期は静的Webにちょっとした動きを加える用だった
しょぼい言語だったJavaScriptも今では多くの分野で使われ
クライアントサイドだけだったが、サーバー側の言語としても
使われたりしている。
現在はデファクトスタンダートでWebアプリだし、
WebではJavaScriptはどうしても必須になってくる。
また、Andriod / iOS の両スマホ向けのページにも使えるし
Windows / Mac / Linux 向けの Desktop アプリも作れる。
知っていて損はない言語だと思う。
どの言語にしようかと悩んでいるかたは
JavaScript 、JavaScript 、JavaScript
やってみたらどうだろう。
(2020/05/20 追記)
中学生の若い諸君、「Dart」やっとけ!
今後伸びてくると思う
Arch Linux インストール(インストール後の環境設定)
さて、先週に引き続き Arch Linux をインストールしていくよ。
いよいよ、基本パッケージをインストールするよ。
# pacstrap /mnt base base-deval
少し時間がかかるよ。
私の場合「3分」ぐらいかかった。
fstabを生成するよ。
現在マウントされているパーティションをもとに、適切な値を書き込んでくれるよ。
# genfstab -U -p /mnt >> /mnt/etc/fstab
ここまでの作業はUSBブートした Arch Linux で作業を行っていたんだが
ここからはSSDにインストールした Arch Linux のほうに入って作業を行うよ。
これをルートを切り替えるって表現するんだ。
タイムゾーンを設定するよ。
# vi /etc/locale.gen
上記ファイルの中で次の2行を見つけて先頭の「#」を削除してくれ。
#はコメントの意味なのでコメントを解除して有効にすることになるよ。
次は、言語ロケールを生成するよ。
#locale-gen
次は、デフォルトのロケールを設定するよ。
まだ日本語環境が整ってないのでここでは英語にしておくよ。
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
キーボード配列を日本語にするよ。
# loadkeys jp106
# echo KEYMAP=jp106 > /etc/vconsole.conf
タイムゾーンを設定するよ。
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc -utc
ホスト名を設定するよ。
ホスト名は何でもいいがここでは「kira」とするよ。
自分の好きな分かりやすい名前を付けてくれ。
# echo kira > /etc/hostname
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost kira
::1 localhost.localdomain localhost kira
無線LANの設定をやるよ。
前にやって現在、無線LANにつながっていると思うけど
再起動しちゃうと設定が失われるから、再起動してもOKな
ように設定するよ。
# lspci -k
「wireless」という文字を探してね。
あったらドライバがロードされていて使える状態にあるよ。
# ip link
ネットワークインターフェースの一覧と状態を表示するよ。
先頭が「wlp」になってるものはあるかな?
私の場合は、「wlp2s0」となっている。
あとで使うからメモしておいてくれ。
# ip link set wlp2s0 up
# cd /etc/netctl
# cp example/wireless-wpa wireless
# chmod 600 wireless
# vi wireless
Interface=wlan0 → wlp2s0
ESSID='MyNetwork' → F660T-mmpx-A
Key='wirelesskey' → 暗号化のキー
赤い部分を書き換えてくれ。
# netctl enable wireless
次は、ルートのパスワードを設定するよ。
# passwd
パッケージデータベースのアップデートを行うよ。
# pacman -Syy
Kira L93はIntel CPUなのでIntelのマイクロコードのアップデートを有効にするよ。
ブートローダーをインストールするよ。
# pacman -S dotfstools efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
/boot/EFI/bootにもブータブルスタブを作成しておくよ。
# mkdir /boot/EFI/boot
# cp /boot/EFI/arch_grub/grubx64.efi /boot/EFI/boot/bootx64.efi
grub.cfgを作成するよ。
# grub-mkconfig -o /boot/grub/grub.cfg
よっしゃー!
設定はこれで終わった。お疲れさま。
再起動するよ。
※USBメモリは抜いておいてくれよ、USBから起動してしまうんで。
# exit
# umount -R /mnt
# reboot
Arch Linux インストール(パーティション編)
さて、先週はWifiでネットワークにつなげるまでできたよね。
今日は、続きをやっていくよ。
HDDのパーティション分割を行うよ。
WindowsだとCドライブだとかDドライブだとか見たことあるかな?
これは、1つのHDDをCドライブとDドライブに分割して
CドライブにはOSを入れる、
Dドライブにはユーザーデータを入れるとか
使う用途によって分割しておくと便利なんだ。
パーティションについては、以下の記事が詳しいので
分からない人は読んで欲しい。
今回は、個人で使用するPCなのでシンプルに
最低限のパーティション分割にしようと思う。
という2つに分割するよ。
(※スワップ領域はメモリが8Gあるので不要らしい、後でスワップファイルとして設定できるので今回は作らない)
下記コマンドを入力してくれ。
赤い文字の部分が入力したコマンドだよ。
(そのままエンター)のところはdefaultのままでいいので、
何も入力せずにエンターキーを押すよ。
# sgdisk --zap-all /dev/sda
Creating new GPT entries
GPT data structures destroyed! you may now partition the disk using fdisk or
other utilities.
# fdisk -l
Disk / dev/sda : 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes/ 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 3.7 GiB, 3965190144 bytes, 7744512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0058f1e5
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 7744511 7742464 3.7G c W95 FAT32 (LBA)
Disk /dev/loop0: 442.1 MiB, 463548416 bytes, 905368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# gdisk /dev/sda
GPT fdisk (gDisk) version 1.0.3
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-250069646, default = 2048) or {+-}size{KMGTP};(そのままエンター)
Last sector (2048-250069646, default = 250069649) or {+-}size{KMGTP}: +200M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI System'
Command (? for help): n
Partition number (2-128, default 2):(そのままエンター)
First sector (34-250069646, default = 411648) or {+-}size{KMGTP}:(そのままエンター)
Last sector (411648-250069646, default = 250069646) or {+-}size{KMGTP}:(そのままエンター)
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Tnter = 8300):(そのままエンター)
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checkes complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK: writing new GUID partition table (GPT) to /dev/sda.
よし、これでパーティションの分割ができた。
次は、フォーマットを行うよ。
# mkfs.fat -F32 /dev/sda1
# mkfs.ext4 /dev/sda2
次は、マウントを行うよ。
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
次は、ミラーリストを編集するよ。
ミラーリストというのはパッケージをダウンロードするとき、どこのサイトから 行うかを記述しているものだ。海外のサーバーだとダウンロードが遅いので日本のサーバーに変更するよ。
# vi /etc/pacman.d/mirrorlist
上記ファイルの中で「jaist」という行を探して上に持ってくる。
上にあるほど優先順位が高いんだ。
次は、時間を合わすよ。
# timedatectl set-ntp true
さて、いよいよインストールだ。
続きは来週(ってTVかよ!)
Arch Linux をUSBから起動してインストール
先週で、
Arch Linuxのブート可能なUSBができたと思うので
今日は、これでインストールしていくよ。
PCの電源を切って、
USBポートにUSBメモリを指して
電源をONしてくれ。
何もせずにほっておくと
Windowsが起動してしまうよ。
これは、OSを起動する順番があって
通常はUSBよりHDDドライブの方が
優先順位が高くなってなっているためだ。
これを変えるには、
電源をONした直後に何かのキーを押して
Bios画面を出すんだ。
このBios画面で起動順序を変えてあげる必要がある。
じゃあ、何のキーを押すかというと
分からないので検索してみよう。
「dynabook kira l93 bios 起動方法」で検索
すると、DelキーとかF2キーとかF12とか
いろいろな情報が出てきてよくわからない。
まあ、壊れたりしないから
適当に押してみよう。
Biosが起動できたかな。(F12が当たりだったかな?)
ここで「Boot sequence」を変えてあげるよ。
USBというのをHDDより上に移動させて
保存して終了させよう。
するとUSBから起動され、Arch Linuxの画面が出てくると思う。
rootユーザーでログインされ、コマンドプロンプトが表示されるよ。
以前調べた、以下のサイトを参考にするよ。
まずはキーボードレイアウトを変更するよ。
デフォルトのキーボードレイアウトは US キーボードなので日本語にするよ。
これをやってないと記号などが思うように打てず、やっかいだからね。
# loadkeys jp106
(先頭の#はコマンドプロンプトの意味なので入力する必要がない)
次は、起動モードの確認
Kira L93はUEFI モードで起動しているはずだが念の為確認。
# ls /sys/firmware/efi/efivars
ディレクトリが存在してるよね?
「はい」
よし、では次。
無線LANを設定してネットにつなげる
①# ip link show
②# ip link set wlp2s0 up
③# iwlist wlp2s0 scanning | grep ESSID
④# wpa_supplicant -B -i wlp2s0 -c <(wpa_passphrase F660T-mmpx-A pass)
青字の「F660T-mmpx-A」は③で検索された無線LANのアクセスポイントを設定する
赤字の「pass」はアクセスポイントのパスワードを設定する
⑤# dhcpcd
⑥のコマンドでgoogle.comに接続できるかをテストしているが
つながったかな?
ちょっと長くなったのでまた続きは来週に
さあ、Arch Linux をインストールするよ
まずは、Arch Linux のブートUSBを作るよ
「Arch Linux ダウンロード」で検索
Arch Linux JP Project - ダウンロード
というArch Linuxの日本語サイトが
出てくると思うので、これを参考にするよ。
参考サイトに書いてある日本の適当なサーバー(jaist.ac.jp)
から「archlinux-2018.04.01-x86_64.iso」をダウンロードしてくれ。
赤字(2018.04.01)の部分は日付なので作業した日付によって変わってくるからね。
上記は、2018.04.15時点のファイル名だ。
さあ、ダウンロードが終わったかな。
いちよう、ハッシュ値を確認しておくよ。
なぜかというと、配布用のサーバーに保管されているarchの
isoファイルが破損していたり改変されていないかを確認するためだ。
isoファイルと同じところに「sha1sums.txt」というファイルも置いてあるはずだ。
このファイルの中身とダウンロードしたisoファイルから作成したハッシュ値が
同じだったら、isoファイルが正しいことになる。
では、ダウンロードしたisoファイルのハッシュ値を計算してみよう。
すると、windowsでも特別なツールを入れることなく
標準でハッシュ値の計算ができるようである。
コマンドプロンプトで下記コマンドを実行
certutil -hashfile archlinux-2018.04.01-x86_64.iso SHA1
すると、何やら数字とアルファベットの文字が表示されると思う。
これがハッシュ値だ。これと、Arch Linuxダウンロードサーバーの
「sha1sums.txt」を比較してくれ。
同じかな?
「あ、同じだ」
よし、では次に進もう。
あとは、USBメモリに焼いたらいいんだが、
単純にコピーしただけだとだめなんだ。
ブート可能なUSB(ブータブルUSB)にする必要がある。
「usb boot ツール」で検索
なんでもいいんだが、今回は「Rufus」というツールを使うよ
Rufusをダウンロード&インストールしてくれ。
USBメモリを差し、
Rufus起動し、
ダウンロードした「archlinux-2018.04.01-x86_64.iso」を選択すればいい。
簡単だから大丈夫だよね?
これで、ブート可能なUSBができた。
さあ、来週からこのブータブルUSBを使って
Arch Linuxをインストールしていくよ。
とにかくOSをインストールするんだ
え、なに?
ITスキルを付けたいだって。
それじゃあ、まずはやってみようか。
PCは持ってるよね?
「ウン」
機種は?
「Toshiba Kira L93だよ」
OSは?
「Windows 10 Homeが入ってる」
そっか、じゃあ、Windows捨ててLinuxでも入れよう。
なぜなら、Windowsはみんなが使ってる、
みんなと同じことやったって競争が激しいから
みんながやらないことをやったほうがいい。
みんなが表の国道を通るなら、みんなの行かない県道の裏道を行こう。
裏道だから、いろんな障害があると思うけど
きっと乗り越えられるからね。
というわけで、Toshiba Kira L93 にLinuxを入れるよ。
Linuxにはいろんな種類があって迷うけど、
今回は「Arch Linux」にするよ。
(Ubuntu は簡単にインストールできちゃって面白くないからね)
(あとローリングリリースといって日々進化した最新版が提供されるからおすすめだ)
まずはやりたいことをグーグルで検索してみよう
「archlinux インストール」と入力して検索してみよう。
ここで「インストール」と日本語を入れているところがミソだよ。
英語で「install」とやっちゃうと英語のサイトが多く出てくるからね。
もちろん、英語ができるのであれば全く問題ないけれど。
君は英語はあまり得意じゃないので日本語のほうがいいだろう。
検索するといっぱい出てくると思うけど
今回は、以下のサイトを参考にするよ。
1つの情報に依存してしまうと間違いや
間違ってないにしてもベストでないやり方が書いてある
かもしれないので、3つぐらいの情報を見て
自分で判断しながらやったほうがいいよ。
まあ、今回は「1」のサイトはArch Linuxの公式Wikiだから
間違いないだろうけど、情報量が多すぎて読むのが大変だから
簡潔にまとまっている「2」と「3」のサイトも参考にするよ。
まずは、上記3つのサイトをざっと読んでみようか。
実際の作業は来週やろうか。
じゃあ、それまでに読んでおいてね。