Class: Cernel
- Inherits:
-
Object
- Object
- Cernel
- Defined in:
- lib/dekernel/cernel.rb
Class Method Summary collapse
- .ask_which_to_remove ⇒ Object
- .find_all_except_latest(number) ⇒ Object
- .find_kernels ⇒ Object
- .get_free_disk_space ⇒ Object
- .purge_packages_from_a_list_of_kernels(kernels_to_remove) ⇒ Object
- .safe_ified_kernels_list ⇒ Object
Class Method Details
.ask_which_to_remove ⇒ Object
9 10 11 12 13 14 |
# File 'lib/dekernel/cernel.rb', line 9 def ask_which_to_remove installed_kernels = find_kernels[:installed] $stdout.puts Message.installed_kernels(installed_kernels) Kernel.exit if installed_kernels.length == 0 kernels_to_remove = create_kernels_to_remove_list(installed_kernels) end |
.find_all_except_latest(number) ⇒ Object
33 34 35 36 37 |
# File 'lib/dekernel/cernel.rb', line 33 def find_all_except_latest(number) kernels = find_kernels installed_kernels = kernels[:installed] sort_properly(installed_kernels).take(installed_kernels.length - number) end |
.find_kernels ⇒ Object
3 4 5 6 7 |
# File 'lib/dekernel/cernel.rb', line 3 def find_kernels all_kernels = find_all_kernels installed_kernels = find_installed_kernels(all_kernels) { :all => all_kernels, :installed => installed_kernels } end |
.get_free_disk_space ⇒ Object
29 30 31 |
# File 'lib/dekernel/cernel.rb', line 29 def get_free_disk_space Kernel.send(:`, "df -BM /boot").split[10].to_i end |
.purge_packages_from_a_list_of_kernels(kernels_to_remove) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/dekernel/cernel.rb', line 16 def purge_packages_from_a_list_of_kernels(kernels_to_remove) ($stderr.puts "\n" + "No kernels selected!" ; Kernel.exit) unless kernels_to_remove.length > 0 confirm_removals(kernels_to_remove) unless [:no_confirm] packages_list = find_kernel_packages(kernels_to_remove) IO.send(:popen, "sudo apt-get purge #{apt_options} #{packages_list.join("\s")} 1>&2") { |p| p.each { |f| $stdout.puts f } } if $?.exitstatus != 0 $stdout.puts Message.purge_packages_failure($?) else $stdout.puts Message.purge_packages_success(kernels_to_remove) Kernel.system "sudo apt-get clean" unless [:dry_run] end end |
.safe_ified_kernels_list ⇒ Object
39 40 41 42 43 |
# File 'lib/dekernel/cernel.rb', line 39 def safe_ified_kernels_list = [:kernels_list].split(" ").reject { |kernel| kernel =~ (/[a-z]/i) } = .reject { |kernel| kernel =~ (/[0-9]{3,}/i) } .select { |kernel| kernel =~ kernel_regex } end |