getch 0.0.4 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
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