getch 0.0.4 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CHANGELOG.md +40 -5
  5. data/README.md +31 -2
  6. data/bin/setup.sh +25 -11
  7. data/lib/getch.rb +41 -30
  8. data/lib/getch/command.rb +156 -0
  9. data/lib/getch/filesystem.rb +7 -0
  10. data/lib/getch/filesystem/ext4.rb +14 -0
  11. data/lib/getch/filesystem/ext4/config.rb +59 -0
  12. data/lib/getch/filesystem/ext4/deps.rb +22 -0
  13. data/lib/getch/filesystem/ext4/device.rb +16 -0
  14. data/lib/getch/filesystem/ext4/encrypt.rb +15 -0
  15. data/lib/getch/filesystem/ext4/encrypt/config.rb +85 -0
  16. data/lib/getch/filesystem/ext4/encrypt/deps.rb +59 -0
  17. data/lib/getch/filesystem/ext4/encrypt/device.rb +21 -0
  18. data/lib/getch/filesystem/ext4/encrypt/format.rb +32 -0
  19. data/lib/getch/filesystem/ext4/encrypt/mount.rb +64 -0
  20. data/lib/getch/filesystem/ext4/encrypt/partition.rb +116 -0
  21. data/lib/getch/filesystem/ext4/format.rb +30 -0
  22. data/lib/getch/filesystem/ext4/mount.rb +62 -0
  23. data/lib/getch/filesystem/ext4/partition.rb +75 -0
  24. data/lib/getch/filesystem/lvm.rb +14 -0
  25. data/lib/getch/filesystem/lvm/config.rb +63 -0
  26. data/lib/getch/filesystem/lvm/deps.rb +57 -0
  27. data/lib/getch/filesystem/lvm/device.rb +19 -0
  28. data/lib/getch/filesystem/lvm/encrypt.rb +15 -0
  29. data/lib/getch/filesystem/lvm/encrypt/config.rb +74 -0
  30. data/lib/getch/filesystem/lvm/encrypt/deps.rb +63 -0
  31. data/lib/getch/filesystem/lvm/encrypt/device.rb +22 -0
  32. data/lib/getch/filesystem/lvm/encrypt/format.rb +32 -0
  33. data/lib/getch/filesystem/lvm/encrypt/mount.rb +64 -0
  34. data/lib/getch/filesystem/lvm/encrypt/partition.rb +92 -0
  35. data/lib/getch/filesystem/lvm/format.rb +25 -0
  36. data/lib/getch/filesystem/lvm/mount.rb +62 -0
  37. data/lib/getch/filesystem/lvm/partition.rb +81 -0
  38. data/lib/getch/gentoo.rb +4 -2
  39. data/lib/getch/gentoo/boot.rb +46 -11
  40. data/lib/getch/gentoo/chroot.rb +18 -14
  41. data/lib/getch/gentoo/config.rb +24 -9
  42. data/lib/getch/gentoo/sources.rb +54 -29
  43. data/lib/getch/gentoo/stage.rb +2 -2
  44. data/lib/getch/helpers.rb +28 -1
  45. data/lib/getch/log.rb +54 -0
  46. data/lib/getch/options.rb +16 -7
  47. data/lib/getch/version.rb +1 -1
  48. metadata +34 -5
  49. metadata.gz.sig +3 -4
  50. data/lib/getch/disk.rb +0 -77
  51. data/lib/getch/mount.rb +0 -73
metadata.gz.sig CHANGED
@@ -1,4 +1,3 @@
1
- w�#�ƛ�������)ԾUxU)'�\����+���^�9*C����}E��mI��EP��eG&�:����?��.i��trdF^5t���0,kTFV��;7̮���
2
- ��:�A�e6y�x�Δ�9r�FA��q��At���q��Z(��ETH��q3x)y��LU������R ����g��{⚁h�aN?e��L�GXH�(4����?�6�'8���[U�do�\�
3
- L���m~Сb�����S
4
- ��x��}�d��-�|>�N�C��Z���h��"w4GS�q�Cg��]=/�V,� "B9�`w�3�����C9r&��&��E(�z�|L�]�;�����l�W��{��͓ɛ;y��=oswǢ�J�� -��߈b�
1
+ p�י#J:�>�Ɇ���{��*�}А�}��=[����R:j}��|�Ń�~�ڨ����Cg��kU(*D��i‹K ZU��bAyK�xFy���\۠r\����x,LsW|&]~�PΗ'g_����5{��M����
2
+ �*�ܵ�mG��Q8fD"39Kdi���Fmv45��h��`_��ח�PJfJ,��߭k$���"���}���R'���Z!�s���G�B��B0�:�����zjD�(���q�
3
+ gS�V'�C#�r�o��H
@@ -1,77 +0,0 @@
1
- module Getch
2
- class Disk
3
- def initialize(disk, fs)
4
- @hdd = disk
5
- @fs = fs
6
- @state = Getch::States.new()
7
- end
8
-
9
- # https://wiki.archlinux.org/index.php/Securely_wipe_disk
10
- def cleaning
11
- return if STATES[:partition ]
12
- puts
13
- print "Cleaning data on #{@hdd}, can be long, avoid this on Flash Memory (SSD,USB,...) ? (n,y) "
14
- case gets.chomp
15
- when /^y|^Y/
16
- system("dd if=/dev/urandom of=/dev/#{@hdd} bs=4M status=progress")
17
- else
18
- return
19
- end
20
- end
21
-
22
- def partition
23
- return if STATES[:partition]
24
- system("sgdisk --zap-all /dev/#{@hdd}")
25
- system("wipefs -a /dev/#{@hdd}")
26
- if Helpers::efi? then
27
- puts "Partition disk #{@hdd} for an EFI system"
28
- partition_efi
29
- else
30
- puts "Partition disk #{@hdd} for a Bios system"
31
- partition_bios
32
- end
33
- @state.partition
34
- end
35
-
36
- def format
37
- return if STATES[:format]
38
- puts "Format #{@hdd} with #{@fs}"
39
- if Helpers::efi? then
40
- system("mkfs.fat -F32 /dev/#{@hdd}1")
41
- system("mkswap /dev/#{@hdd}2")
42
- system("mkfs.ext4 /dev/#{@hdd}3")
43
- system("mkfs.ext4 /dev/#{@hdd}4")
44
- else
45
- system("mkswap /dev/#{@hdd}2")
46
- system("mkfs.ext4 /dev/#{@hdd}3")
47
- system("mkfs.ext4 /dev/#{@hdd}4")
48
- end
49
- @state.format
50
- end
51
-
52
- private
53
-
54
- # follow https://wiki.archlinux.org/index.php/Partitioning
55
- def partition_efi
56
- # /boot/efi - EFI system partition - 260MB
57
- # swap - Linux Swap - size of the ram
58
- # / - Root
59
- # /home - Home
60
- system("sgdisk -n1:1M:+260M -t1:EF00 /dev/#{@hdd}") # boot EFI
61
- system("sgdisk -n2:0:+2G -t2:8200 /dev/#{@hdd}") # swap
62
- system("sgdisk -n3:0:+15G -t3:8304 /dev/#{@hdd}") # root
63
- system("sgdisk -n4:0:0 -t3:8302 /dev/#{@hdd}") # home
64
- end
65
-
66
- def partition_bios
67
- # None - Bios Boot Partition - 1MiB
68
- # swap - Linux Swap - size of the ram
69
- # / - Root
70
- # /home - Home
71
- system("sgdisk -n1:1MiB:+1MiB -t1:EF02 /dev/#{@hdd}") # Bios boot
72
- system("sgdisk -n2:0:+2G -t2:8200 /dev/#{@hdd}") # swap
73
- system("sgdisk -n3:0:+15G -t3:8304 /dev/#{@hdd}") # root
74
- system("sgdisk -n4:0:0 -t3:8302 /dev/#{@hdd}") # home
75
- end
76
- end
77
- end
@@ -1,73 +0,0 @@
1
- require 'fileutils'
2
-
3
- module Getch
4
- class Mount
5
- def initialize(disk, user)
6
- @disk = disk
7
- @user = user
8
- @dest = MOUNTPOINT
9
- @boot_efi = MOUNTPOINT + '/boot/efi'
10
- @home = @user == nil ? MOUNTPOINT + '/home' : MOUNTPOINT + "/home/#{@user}"
11
- @state = Getch::States.new()
12
- end
13
-
14
- def swap
15
- return if STATES[:mount]
16
- system("swapon /dev/#{@disk}2")
17
- end
18
-
19
- def root
20
- return if STATES[:mount]
21
- Dir.mkdir(@dest, 0700) if ! Dir.exist?(@dest)
22
- system("mount /dev/#{@disk}3 #{@dest}")
23
- end
24
-
25
- def boot
26
- return if STATES[:mount]
27
- if Helpers::efi? then
28
- FileUtils.mkdir_p @boot_efi, mode: 0700 if ! Dir.exist?(@boot_efi)
29
- system("mount /dev/#{@disk}1 #{@boot_efi}")
30
- end
31
- end
32
-
33
- def home
34
- return if STATES[:mount]
35
- if @user != nil then
36
- FileUtils.mkdir_p @home, mode: 0700 if ! Dir.exist?(@home)
37
- system("mount /dev/#{@disk}4 #{@home}")
38
- #FileUtils.chown @user, @user, @home
39
- end
40
- @state.mount
41
- end
42
-
43
- def gen_fstab
44
- gen_uuid
45
- datas = gen_data
46
- File.write("#{MOUNTPOINT}/etc/fstab", datas.join("\n"), mode: "a")
47
- end
48
-
49
- private
50
-
51
- def gen_uuid
52
- @hdd1_uuid = `lsblk -o "UUID" /dev/#{@disk}1 | tail -1`.chomp()
53
- @hdd2_uuid = `lsblk -o "UUID" /dev/#{@disk}2 | tail -1`.chomp()
54
- @hdd3_uuid = `lsblk -o "UUID" /dev/#{@disk}3 | tail -1`.chomp()
55
- @hdd4_uuid = `lsblk -o "UUID" /dev/#{@disk}4 | tail -1`.chomp()
56
- end
57
-
58
- def gen_data
59
- boot = Helpers::efi? ? "UUID=#{@hdd1_uuid} /boot/efi vfat noauto,defaults 0 2" : ''
60
- swap = "UUID=#{@hdd2_uuid} none swap discard 0 0"
61
- root = "UUID=#{@hdd3_uuid} / ext4 defaults 0 1"
62
- home = @user != nil ? "UUID=#{@hdd4_uuid} /home/#{@user} ext4 defaults 0 2" : ''
63
-
64
- datas = [
65
- boot,
66
- swap,
67
- root,
68
- home
69
- ]
70
- return datas
71
- end
72
- end
73
- end