[メモ] らずぱいで、Devuan

![xfce-rpi3.png](https://qiita-image-store.s3.amazonaws.com/0/75594/2b2d9369-c9f7-6523-e6bf-78408d7bf6bd.png)
ラズパイ3にて、xfceデスクトップ on Devuan

## 概要
- [Devuanプロジェクト](https://devuan.org/)
- [Devuan Jessie 1.0.0 stable release (LTS)](https://devuan.org/os/debian-fork/stable-jessie-announce-052517)が、2017年5月25日にリリースされました。
- ラズパイ用のイメージも含まれてたので、試してみよう。

- ユーザ:`root` / パスワード:`toor`


## 環境
- Raspberry Pi 2

    ```shell-session
$ uname -a
Linux devuan 4.10.17-v7+ #1 SMP Mon May 22 23:13:01 CEST 2017 armv7l GNU/Linux
```
- Raspberry Pi 3 (64bit)

    ```shell-session
$ uname -a
Linux devuan 4.6.3-gb48d47a #1 SMP Thu Oct 13 00:34:22 CEST 2016 aarch64 GNU/Linux
```

## 手順
1. イメージのダウンロード
    - https://devuan.org/ より、<br> > Download > Direct download from mirrors から好きなミラーサイトを選んで、<br> /devuan_jessie > embedded から、ラズパイのタイプ・用途によって、ダウンロードする
        - `devuan_jessie_1.0.0_armel_raspi1.img.xz`
        - `devuan_jessie_1.0.0_armhf_raspi2.img.xz`
        - `devuan_jessie_1.0.0_arm64_raspi3.img.xz`    
2. SDに焼いて、起動
    - いつも通りのツールで、OK. 
    - [rufus](https://rufus.akeo.ie/)のPortable版だと
        - 起動して、Device選択
        - \[`FreeDOS`\]というドロップダウンメニューから \[`DD Image`\]を選択し、そのとなりのディスクアイコンをクリックして、イメージを選択する。(.gz,.xy とかそのままでもOK)
        - \[Start\]を押して、確認ダイアログを OK おして、待つ。
3. ログイン
    - ユーザ:`root` / パスワード:`toor` でログインする。
4. rootfsパーティションの拡張
	- パーティション削除して、再作成。Start位置に注意。(提示される値が前のと変わるときがある)

		```shell-session
		root@devuan:~# fdisk -l /dev/mmcblk0
		Disk /dev/mmcblk0: 14.7 GiB, 15811477504 bytes, 30881792 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: 0x385e06d1

		Device         Boot  Start     End Sectors  Size Id Type
		/dev/mmcblk0p1           1  125000  125000   61M  c W95 FAT32 (LBA)
		/dev/mmcblk0p2      125001 3870815 3745815  1.8G 83 Linux
		root@devuan:~# fdisk /dev/mmcblk0

		Welcome to fdisk (util-linux 2.25.2).
		Changes will remain in memory only, until you decide to write them.
		Be careful before using the write command.


		Command (m for help): p
		Disk /dev/mmcblk0: 14.7 GiB, 15811477504 bytes, 30881792 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: 0x385e06d1

		Device         Boot  Start     End Sectors  Size Id Type
		/dev/mmcblk0p1           1  125000  125000   61M  c W95 FAT32 (LBA)
		/dev/mmcblk0p2      125001 3870815 3745815  1.8G 83 Linux

		Command (m for help): d
		Partition number (1,2, default 2): 2

		Partition 2 has been deleted.

		Command (m for help): n
		Partition type
		   p   primary (1 primary, 0 extended, 3 free)
		   e   extended (container for logical partitions)
		Select (default p): p
		Partition number (2-4, default 2): 2
		First sector (125001-30881791, default 126976): 125001
		Last sector, +sectors or +size{K,M,G,T,P} (125001-30881791, default 30881791):

		Created a new partition 2 of type 'Linux' and of size 14.7 GiB.

		Command (m for help): t
		Partition number (1,2, default 2): 2
		Partition type (type L to list all types): 83

		Changed type of partition 'Linux' to 'Linux'.

		Command (m for help): w
		The partition table has been altered.
		Calling ioctl() to re-read partition table.
		Re-reading the partition table failed.: Device or resource busy

		The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

		root@devuan:~# shutdown -h now

		Broadcast message from root@devuan (pts/0) (Thu Jun  1 16:01:51 2017):

		The system is going down for system halt NOW!
		root@devuan:~#
		```
	- 再起動後、`resize2fs`する

		```shell-session
		root@devuan:~# resize2fs /dev/mmcblk0p2
		resize2fs 1.42.12 (29-Aug-2014)
		Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
		old_desc_blocks = 1, new_desc_blocks = 2
		The filesystem on /dev/mmcblk0p2 is now 3844598 (4k) blocks long.

		root@devuan:~# df -h
		Filesystem      Size  Used Avail Use% Mounted on
		/dev/root        15G  575M   14G   5% /
		devtmpfs        422M     0  422M   0% /dev
		tmpfs            86M  220K   85M   1% /run
		tmpfs           5.0M  4.0K  5.0M   1% /run/lock
		tmpfs           171M     0  171M   0% /run/shm
		/dev/mmcblk0p1   61M   30M   32M  49% /boot
		root@devuan:~#
		```

5. 初期設定

	```bash
	# パッケージ更新
	apt update && apt upgrade -y  
	# User `pi`作成
	adduser pi
	# => いろいろきかれる
	# ------------------------
	#sudoerに加える. (パスワードなしの設定).
	echo -e 'pi ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/010_pi-nopasswd
	#rootでsshログイン禁止
	sed -e 's@^PermitRootLogin yes@PermitRootLogin no@g' -i /etc/ssh/sshd_config
	service ssh restart  # サービス再起動. systemdはないよ.
	# いったん、再起動
	reboot
	#
	# ユーザpiアカウントで、作業できる。。ハズ
	```

	```shell-session:実行例
	root@devuan:~# adduser pi
	Adding user `pi' ...
	Adding new group `pi' (1000) ...
	Adding new user `pi' (1000) with group `pi' ...
	Creating home directory `/home/pi' ...
	Copying files from `/etc/skel' ...
	Enter new UNIX password:
	Retype new UNIX password:
	passwd: password updated successfully
	Changing the user information for pi
	Enter the new value, or press ENTER for the default
		Full Name []:
		Room Number []:
		Work Phone []:
		Home Phone []:
		Other []:
	Is the information correct? [Y/n]
	root@devuan:~# echo -e 'pi ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/010_pi-nopasswd
	root@devuan:~# sed -e 's@^PermitRootLogin yes@PermitRootLogin no@g' -i /etc/ssh/sshd_config
	root@devuan:~# service ssh restart
	[ ok ] Restarting OpenBSD Secure Shell server: sshd.
	root@devuan:~# exit
	logout
	```
6. あとは適当に
    - 必要そうなパッケージをお好みで<br>`sudo apt install -y bash-completion htop byobu`
    - 時間帯の設定<br>`sudo dpkg-reconfigure tzdata`
    - Locales ? 

        ```bash
sudo apt install locales
sudo dpkg-reconfigure locales
```
    - デスクトップ環境とか?

        ```bash
# xfce
sudo apt install -y task-xfce-desktop
sudo apt install -y task-japanese-desktop #日本語?
#
#sudo apt install task-lxde-desktop
#sudo apt install mate-desktop-environment
#sudo apt install cinnamon-desktop-environment
```


## その他
- わかってるヒト、じゃなければ、公式のRaspbianのほうがよいかと。systemdベースの情報も、もうそろってるし...
- ラズパイの設定ツールとかは、systemd用に設定したりしてんじゃないだろうか...(`raspi-config`とか？)