linux_admin 0.14.0 → 0.15.0
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.
- checksums.yaml +4 -4
- data/lib/linux_admin/common.rb +4 -4
- data/lib/linux_admin/deb.rb +1 -1
- data/lib/linux_admin/disk.rb +6 -8
- data/lib/linux_admin/hosts.rb +4 -6
- data/lib/linux_admin/ip_address.rb +4 -6
- data/lib/linux_admin/logical_volume.rb +3 -3
- data/lib/linux_admin/mountable.rb +5 -8
- data/lib/linux_admin/network_interface.rb +4 -6
- data/lib/linux_admin/package.rb +0 -1
- data/lib/linux_admin/physical_volume.rb +3 -6
- data/lib/linux_admin/registration_system/rhn.rb +5 -5
- data/lib/linux_admin/registration_system/subscription_manager.rb +2 -2
- data/lib/linux_admin/registration_system.rb +1 -2
- data/lib/linux_admin/rpm.rb +7 -5
- data/lib/linux_admin/service/sys_v_init_service.rb +12 -12
- data/lib/linux_admin/service/systemd_service.rb +12 -12
- data/lib/linux_admin/service.rb +1 -3
- data/lib/linux_admin/system.rb +2 -4
- data/lib/linux_admin/time_date.rb +3 -4
- data/lib/linux_admin/version.rb +1 -1
- data/lib/linux_admin/volume.rb +1 -1
- data/lib/linux_admin/volume_group.rb +7 -10
- data/lib/linux_admin/yum.rb +6 -8
- data/lib/linux_admin.rb +0 -2
- data/spec/common_spec.rb +6 -8
- data/spec/deb_spec.rb +3 -3
- data/spec/disk_spec.rb +27 -27
- data/spec/hosts_spec.rb +5 -5
- data/spec/ip_address_spec.rb +4 -4
- data/spec/logical_volume_spec.rb +38 -38
- data/spec/mountable_spec.rb +22 -20
- data/spec/network_interface/network_interface_rh_spec.rb +13 -9
- data/spec/network_interface_spec.rb +4 -6
- data/spec/partition_spec.rb +1 -1
- data/spec/physical_volume_spec.rb +16 -20
- data/spec/rhn_spec.rb +22 -9
- data/spec/rpm_spec.rb +6 -4
- data/spec/service/sys_v_init_service_spec.rb +27 -28
- data/spec/service/systemd_service_spec.rb +20 -20
- data/spec/service_spec.rb +1 -1
- data/spec/subscription_manager_spec.rb +27 -15
- data/spec/system_spec.rb +2 -6
- data/spec/time_date_spec.rb +1 -1
- data/spec/volume_group_spec.rb +15 -19
- data/spec/yum_spec.rb +27 -15
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7f943a9e3b4af056d2c4e132e3c00a77d06b329
|
4
|
+
data.tar.gz: 907bbe718add84205e780e1232c8d4c390f3e6a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ffe71103397ec6bf5e82159f6441178c115655995a3f98d7dd7a81952199b919e4c5f10bbd4af74abe910ea4d8c9b0658729a45e7fb44ea032b69aee1432ca9
|
7
|
+
data.tar.gz: 8160c2a0eeab8b526531d9aed46703c6b00af1d383545a2ad801f47a34c769047881dfcd097e2daa0f8e2faef747ce9c32c60126a15dfda5489b6a71b4eb0fd2
|
data/lib/linux_admin/common.rb
CHANGED
@@ -6,20 +6,20 @@ module LinuxAdmin
|
|
6
6
|
|
7
7
|
BIN_DIRS = %w(/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin)
|
8
8
|
|
9
|
-
def cmd(name)
|
9
|
+
def self.cmd(name)
|
10
10
|
BIN_DIRS.collect { |dir| "#{dir}/#{name}" }.detect { |cmd| File.exist?(cmd) }
|
11
11
|
end
|
12
12
|
|
13
|
-
def cmd?(name)
|
13
|
+
def self.cmd?(name)
|
14
14
|
!cmd(name).nil?
|
15
15
|
end
|
16
16
|
|
17
|
-
def run(cmd, options = {})
|
17
|
+
def self.run(cmd, options = {})
|
18
18
|
AwesomeSpawn.logger ||= logger
|
19
19
|
AwesomeSpawn.run(cmd, options)
|
20
20
|
end
|
21
21
|
|
22
|
-
def run!(cmd, options = {})
|
22
|
+
def self.run!(cmd, options = {})
|
23
23
|
AwesomeSpawn.logger ||= logger
|
24
24
|
AwesomeSpawn.run!(cmd, options)
|
25
25
|
end
|
data/lib/linux_admin/deb.rb
CHANGED
data/lib/linux_admin/disk.rb
CHANGED
@@ -2,8 +2,6 @@ require 'linux_admin/partition'
|
|
2
2
|
|
3
3
|
module LinuxAdmin
|
4
4
|
class Disk
|
5
|
-
include Common
|
6
|
-
|
7
5
|
PARTED_FIELDS =
|
8
6
|
[:id, :start_sector, :end_sector,
|
9
7
|
:size, :partition_type, :fs_type]
|
@@ -62,7 +60,7 @@ module LinuxAdmin
|
|
62
60
|
def size
|
63
61
|
@size ||= begin
|
64
62
|
size = nil
|
65
|
-
out = run!(cmd(:fdisk), :params => {"-l" => nil}).output
|
63
|
+
out = Common.run!(Common.cmd(:fdisk), :params => {"-l" => nil}).output
|
66
64
|
out.each_line do |l|
|
67
65
|
/Disk #{path}: .*B, (\d+) bytes/.match(l) do |m|
|
68
66
|
size = m[1].to_i
|
@@ -86,7 +84,7 @@ module LinuxAdmin
|
|
86
84
|
# TODO: Should this really catch non-zero RC, set output to the default "" and silently return [] ?
|
87
85
|
# If so, should other calls to parted also do the same?
|
88
86
|
# requires sudo
|
89
|
-
out = run(cmd(:parted),
|
87
|
+
out = Common.run(Common.cmd(:parted),
|
90
88
|
:params => { nil => parted_options_array('print') }).output
|
91
89
|
split = []
|
92
90
|
out.each_line do |l|
|
@@ -121,11 +119,11 @@ module LinuxAdmin
|
|
121
119
|
public
|
122
120
|
|
123
121
|
def create_partition_table(type = "msdos")
|
124
|
-
run!(cmd(:parted), :params => {
|
122
|
+
Common.run!(Common.cmd(:parted), :params => {nil => parted_options_array("mklabel", type)})
|
125
123
|
end
|
126
124
|
|
127
125
|
def has_partition_table?
|
128
|
-
result = run(cmd(:parted), :params => {
|
126
|
+
result = Common.run(Common.cmd(:parted), :params => {nil => parted_options_array("print")})
|
129
127
|
|
130
128
|
result_indicates_partition_table?(result)
|
131
129
|
end
|
@@ -150,7 +148,7 @@ module LinuxAdmin
|
|
150
148
|
|
151
149
|
id = partitions.empty? ? 1 : (partitions.last.id + 1)
|
152
150
|
options = parted_options_array('mkpart', '-a', 'opt', partition_type, start, finish)
|
153
|
-
run!(cmd(:parted), :params => {
|
151
|
+
Common.run!(Common.cmd(:parted), :params => {nil => options})
|
154
152
|
|
155
153
|
partition = Partition.new(:disk => self,
|
156
154
|
:id => id,
|
@@ -174,7 +172,7 @@ module LinuxAdmin
|
|
174
172
|
@partitions = []
|
175
173
|
|
176
174
|
# clear partition table
|
177
|
-
run!(cmd(:dd),
|
175
|
+
Common.run!(Common.cmd(:dd),
|
178
176
|
:params => { 'if=' => '/dev/zero', 'of=' => @path,
|
179
177
|
'bs=' => 512, 'count=' => 1})
|
180
178
|
|
data/lib/linux_admin/hosts.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
module LinuxAdmin
|
2
2
|
class Hosts
|
3
|
-
include Common
|
4
|
-
|
5
3
|
attr_accessor :filename
|
6
4
|
attr_accessor :raw_lines
|
7
5
|
attr_accessor :parsed_file
|
@@ -33,16 +31,16 @@ module LinuxAdmin
|
|
33
31
|
end
|
34
32
|
|
35
33
|
def hostname=(name)
|
36
|
-
if cmd?("hostnamectl")
|
37
|
-
run!(cmd('hostnamectl'), :params => ['set-hostname', name])
|
34
|
+
if Common.cmd?("hostnamectl")
|
35
|
+
Common.run!(Common.cmd('hostnamectl'), :params => ['set-hostname', name])
|
38
36
|
else
|
39
37
|
File.write("/etc/hostname", name)
|
40
|
-
run!(cmd('hostname'), :params => {:file => "/etc/hostname"})
|
38
|
+
Common.run!(Common.cmd('hostname'), :params => {:file => "/etc/hostname"})
|
41
39
|
end
|
42
40
|
end
|
43
41
|
|
44
42
|
def hostname
|
45
|
-
result = run(cmd("hostname"))
|
43
|
+
result = Common.run(Common.cmd("hostname"))
|
46
44
|
result.success? ? result.output.strip : nil
|
47
45
|
end
|
48
46
|
|
@@ -2,8 +2,6 @@ require 'ipaddr'
|
|
2
2
|
|
3
3
|
module LinuxAdmin
|
4
4
|
class IpAddress
|
5
|
-
include Common
|
6
|
-
|
7
5
|
def address
|
8
6
|
address_list.detect { |ip| IPAddr.new(ip).ipv4? }
|
9
7
|
end
|
@@ -13,21 +11,21 @@ module LinuxAdmin
|
|
13
11
|
end
|
14
12
|
|
15
13
|
def mac_address(interface)
|
16
|
-
result = run(cmd("ip"), :params => ["addr", "show", interface])
|
14
|
+
result = Common.run(Common.cmd("ip"), :params => ["addr", "show", interface])
|
17
15
|
return nil if result.failure?
|
18
16
|
|
19
17
|
parse_output(result.output, %r{link/ether}, 1)
|
20
18
|
end
|
21
19
|
|
22
20
|
def netmask(interface)
|
23
|
-
result = run(cmd("ifconfig"), :params => [interface])
|
21
|
+
result = Common.run(Common.cmd("ifconfig"), :params => [interface])
|
24
22
|
return nil if result.failure?
|
25
23
|
|
26
24
|
parse_output(result.output, /netmask/, 3)
|
27
25
|
end
|
28
26
|
|
29
27
|
def gateway
|
30
|
-
result = run(cmd("ip"), :params => ["route"])
|
28
|
+
result = Common.run(Common.cmd("ip"), :params => ["route"])
|
31
29
|
return nil if result.failure?
|
32
30
|
|
33
31
|
parse_output(result.output, /^default/, 2)
|
@@ -45,7 +43,7 @@ module LinuxAdmin
|
|
45
43
|
# Added retry to account for slow DHCP not assigning an IP quickly at boot; specifically:
|
46
44
|
# https://github.com/ManageIQ/manageiq-appliance/commit/160d8ccbfbfd617bdb5445e56cdab66b9323b15b
|
47
45
|
5.times do
|
48
|
-
result = run(cmd("hostname"), :params => ["-I"])
|
46
|
+
result = Common.run(Common.cmd("hostname"), :params => ["-I"])
|
49
47
|
break if result.success?
|
50
48
|
end
|
51
49
|
|
@@ -49,7 +49,7 @@ module LinuxAdmin
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def extend_with(vg)
|
52
|
-
run!(cmd(:lvextend),
|
52
|
+
Common.run!(Common.cmd(:lvextend),
|
53
53
|
:params => [self.name, vg.name])
|
54
54
|
self
|
55
55
|
end
|
@@ -81,7 +81,7 @@ module LinuxAdmin
|
|
81
81
|
size = value
|
82
82
|
params.merge!({'-L' => bytes_to_string(size)})
|
83
83
|
end
|
84
|
-
run!(cmd(:lvcreate), :params => params)
|
84
|
+
Common.run!(Common.cmd(:lvcreate), :params => params)
|
85
85
|
|
86
86
|
lv = LogicalVolume.new(:name => name,
|
87
87
|
:volume_group => vg,
|
@@ -92,7 +92,7 @@ module LinuxAdmin
|
|
92
92
|
|
93
93
|
def self.scan
|
94
94
|
@lvs ||= begin
|
95
|
-
scan_volumes(cmd(:lvdisplay)) do |fields, vg|
|
95
|
+
scan_volumes(Common.cmd(:lvdisplay)) do |fields, vg|
|
96
96
|
LogicalVolume.new(:name => fields[0],
|
97
97
|
:volume_group => vg,
|
98
98
|
:sectors => fields[6].to_i)
|
@@ -2,13 +2,10 @@ module LinuxAdmin
|
|
2
2
|
module Mountable
|
3
3
|
attr_accessor :fs_type
|
4
4
|
attr_accessor :mount_point
|
5
|
-
include Common
|
6
5
|
|
7
6
|
module ClassMethods
|
8
|
-
include Common
|
9
|
-
|
10
7
|
def mount_point_exists?(mount_point)
|
11
|
-
result = run!(cmd(:mount))
|
8
|
+
result = Common.run!(Common.cmd(:mount))
|
12
9
|
result.output.split("\n").any? { |line| line.split[2] == mount_point }
|
13
10
|
end
|
14
11
|
|
@@ -22,8 +19,8 @@ module LinuxAdmin
|
|
22
19
|
end
|
23
20
|
|
24
21
|
def format_to(filesystem)
|
25
|
-
run!(cmd(:mke2fs),
|
26
|
-
|
22
|
+
Common.run!(Common.cmd(:mke2fs),
|
23
|
+
:params => {'-t' => filesystem, nil => path})
|
27
24
|
@fs_type = filesystem
|
28
25
|
end
|
29
26
|
|
@@ -34,12 +31,12 @@ module LinuxAdmin
|
|
34
31
|
raise ArgumentError, "disk already mounted at #{mount_point}"
|
35
32
|
end
|
36
33
|
|
37
|
-
run!(cmd(:mount), :params => {
|
34
|
+
Common.run!(Common.cmd(:mount), :params => {nil => [path, mount_point]})
|
38
35
|
@mount_point = mount_point
|
39
36
|
end
|
40
37
|
|
41
38
|
def umount
|
42
|
-
run!(cmd(:umount), :params => {
|
39
|
+
Common.run!(Common.cmd(:umount), :params => {nil => [@mount_point]})
|
43
40
|
end
|
44
41
|
end
|
45
42
|
end
|
@@ -2,8 +2,6 @@ require 'ipaddr'
|
|
2
2
|
|
3
3
|
module LinuxAdmin
|
4
4
|
class NetworkInterface
|
5
|
-
include Common
|
6
|
-
|
7
5
|
# Cached class instance variable for what distro we are running on
|
8
6
|
@dist_class = nil
|
9
7
|
|
@@ -53,7 +51,7 @@ module LinuxAdmin
|
|
53
51
|
|
54
52
|
@network_conf[:mac] = parse_ip_output(ip_output, %r{link/ether}, 1)
|
55
53
|
|
56
|
-
ip_route_res = run!(cmd("ip"), :params => ["route"])
|
54
|
+
ip_route_res = Common.run!(Common.cmd("ip"), :params => ["route"])
|
57
55
|
@network_conf[:gateway] = parse_ip_output(ip_route_res.output, /^default/, 2) if ip_route_res.success?
|
58
56
|
true
|
59
57
|
rescue AwesomeSpawn::CommandResultError => e
|
@@ -121,14 +119,14 @@ module LinuxAdmin
|
|
121
119
|
#
|
122
120
|
# @return [Boolean] whether the command succeeded or not
|
123
121
|
def start
|
124
|
-
run(cmd("ifup"), :params => [@interface]).success?
|
122
|
+
Common.run(Common.cmd("ifup"), :params => [@interface]).success?
|
125
123
|
end
|
126
124
|
|
127
125
|
# Brings down the network interface
|
128
126
|
#
|
129
127
|
# @return [Boolean] whether the command succeeded or not
|
130
128
|
def stop
|
131
|
-
run(cmd("ifdown"), :params => [@interface]).success?
|
129
|
+
Common.run(Common.cmd("ifdown"), :params => [@interface]).success?
|
132
130
|
end
|
133
131
|
|
134
132
|
private
|
@@ -149,7 +147,7 @@ module LinuxAdmin
|
|
149
147
|
# @return [String] The command output
|
150
148
|
# @raise [NetworkInterfaceError] if the command fails
|
151
149
|
def ip_show
|
152
|
-
run!(cmd("ip"), :params => ["addr", "show", @interface]).output
|
150
|
+
Common.run!(Common.cmd("ip"), :params => ["addr", "show", @interface]).output
|
153
151
|
rescue AwesomeSpawn::CommandResultError => e
|
154
152
|
raise NetworkInterfaceError.new(e.message, e.result)
|
155
153
|
end
|
data/lib/linux_admin/package.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
module LinuxAdmin
|
2
2
|
class PhysicalVolume < Volume
|
3
|
-
include Common
|
4
|
-
extend Common
|
5
|
-
|
6
3
|
# physical volume device name
|
7
4
|
attr_accessor :device_name
|
8
5
|
|
@@ -29,7 +26,7 @@ module LinuxAdmin
|
|
29
26
|
end
|
30
27
|
|
31
28
|
def attach_to(vg)
|
32
|
-
run!(cmd(:vgextend),
|
29
|
+
Common.run!(Common.cmd(:vgextend),
|
33
30
|
:params => [vg.name, @device_name])
|
34
31
|
self.volume_group = vg
|
35
32
|
self
|
@@ -38,7 +35,7 @@ module LinuxAdmin
|
|
38
35
|
# specify disk or partition instance to create physical volume on
|
39
36
|
def self.create(device)
|
40
37
|
self.scan # initialize local physical volumes
|
41
|
-
run!(cmd(:pvcreate),
|
38
|
+
Common.run!(Common.cmd(:pvcreate),
|
42
39
|
:params => { nil => device.path})
|
43
40
|
pv = PhysicalVolume.new(:device_name => device.path,
|
44
41
|
:volume_group => nil,
|
@@ -49,7 +46,7 @@ module LinuxAdmin
|
|
49
46
|
|
50
47
|
def self.scan
|
51
48
|
@pvs ||= begin
|
52
|
-
scan_volumes(cmd(:pvdisplay)) do |fields, vg|
|
49
|
+
scan_volumes(Common.cmd(:pvdisplay)) do |fields, vg|
|
53
50
|
PhysicalVolume.new(:device_name => fields[0],
|
54
51
|
:volume_group => vg,
|
55
52
|
:size => fields[2].to_i)
|
@@ -37,7 +37,7 @@ module LinuxAdmin
|
|
37
37
|
params["--systemorgid="] = options[:org] if options[:server_url] && options[:org]
|
38
38
|
params["--sslCACert="] = INSTALLED_SERVER_CERT_PATH if certificate_installed
|
39
39
|
|
40
|
-
run!(cmd, :params => params)
|
40
|
+
Common.run!(cmd, :params => params)
|
41
41
|
end
|
42
42
|
|
43
43
|
def enable_channel(repo, options)
|
@@ -45,7 +45,7 @@ module LinuxAdmin
|
|
45
45
|
params = user_pwd(options).merge("--channel=" => repo)
|
46
46
|
|
47
47
|
logger.info("#{self.class.name}##{__method__} Enabling channel: #{repo}")
|
48
|
-
run!(cmd, :params => params)
|
48
|
+
Common.run!(cmd, :params => params)
|
49
49
|
end
|
50
50
|
alias_method :subscribe, :enable_channel
|
51
51
|
alias_method :enable_repo, :enable_channel
|
@@ -54,14 +54,14 @@ module LinuxAdmin
|
|
54
54
|
cmd = "rhn-channel -r"
|
55
55
|
params = user_pwd(options).merge("--channel=" => repo)
|
56
56
|
|
57
|
-
run!(cmd, :params => params)
|
57
|
+
Common.run!(cmd, :params => params)
|
58
58
|
end
|
59
59
|
alias_method :disable_repo, :disable_channel
|
60
60
|
|
61
61
|
def enabled_channels
|
62
62
|
cmd = "rhn-channel -l"
|
63
63
|
|
64
|
-
run!(cmd).output.split("\n").compact
|
64
|
+
Common.run!(cmd).output.split("\n").compact
|
65
65
|
end
|
66
66
|
alias_method :enabled_repos, :enabled_channels
|
67
67
|
alias_method :subscribed_products, :enabled_channels
|
@@ -70,7 +70,7 @@ module LinuxAdmin
|
|
70
70
|
cmd = "rhn-channel -L"
|
71
71
|
params = user_pwd(options)
|
72
72
|
|
73
|
-
run!(cmd, :params => params).output.chomp.split("\n").compact
|
73
|
+
Common.run!(cmd, :params => params).output.chomp.split("\n").compact
|
74
74
|
end
|
75
75
|
|
76
76
|
def all_repos(options)
|
@@ -3,7 +3,7 @@ require 'date'
|
|
3
3
|
module LinuxAdmin
|
4
4
|
class SubscriptionManager < RegistrationSystem
|
5
5
|
def run!(cmd, options = {})
|
6
|
-
|
6
|
+
Common.run!(cmd, options)
|
7
7
|
rescue AwesomeSpawn::CommandResultError => err
|
8
8
|
raise CredentialError.new(err.result) if err.result.error.downcase.include?("invalid username or password")
|
9
9
|
raise
|
@@ -16,7 +16,7 @@ module LinuxAdmin
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def registered?
|
19
|
-
run("subscription-manager identity").exit_status == 0
|
19
|
+
Common.run("subscription-manager identity").exit_status == 0
|
20
20
|
end
|
21
21
|
|
22
22
|
def refresh
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module LinuxAdmin
|
2
2
|
class RegistrationSystem
|
3
|
-
include Common
|
4
3
|
include Logging
|
5
4
|
|
6
5
|
def self.registration_type(reload = false)
|
@@ -51,4 +50,4 @@ module LinuxAdmin
|
|
51
50
|
end
|
52
51
|
end
|
53
52
|
|
54
|
-
Dir.glob(File.join(File.dirname(__FILE__), "registration_system", "*.rb")).each { |f| require f }
|
53
|
+
Dir.glob(File.join(File.dirname(__FILE__), "registration_system", "*.rb")).each { |f| require f }
|
data/lib/linux_admin/rpm.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
module LinuxAdmin
|
2
2
|
class Rpm < Package
|
3
|
+
extend Logging
|
4
|
+
|
3
5
|
def self.rpm_cmd
|
4
|
-
cmd(:rpm)
|
6
|
+
Common.cmd(:rpm)
|
5
7
|
end
|
6
8
|
|
7
9
|
def self.list_installed
|
8
|
-
out = run!("#{rpm_cmd} -qa --qf \"%{NAME} %{VERSION}-%{RELEASE}\n\"").output
|
10
|
+
out = Common.run!("#{rpm_cmd} -qa --qf \"%{NAME} %{VERSION}-%{RELEASE}\n\"").output
|
9
11
|
out.split("\n").each_with_object({}) do |line, pkg_hash|
|
10
12
|
name, ver = line.split(" ")
|
11
13
|
pkg_hash[name] = ver
|
@@ -17,13 +19,13 @@ module LinuxAdmin
|
|
17
19
|
# Rpm.import_key("/etc/pki/my-gpg-key")
|
18
20
|
def self.import_key(file)
|
19
21
|
logger.info("#{self.class.name}##{__method__} Importing RPM-GPG-KEY: #{file}")
|
20
|
-
run!("rpm", :params => {"--import" => file})
|
22
|
+
Common.run!("rpm", :params => {"--import" => file})
|
21
23
|
end
|
22
24
|
|
23
25
|
def self.info(pkg)
|
24
26
|
params = { "-qi" => pkg}
|
25
27
|
in_description = false
|
26
|
-
out = run!(rpm_cmd, :params => params).output
|
28
|
+
out = Common.run!(rpm_cmd, :params => params).output
|
27
29
|
# older versions of rpm may have multiple fields per line,
|
28
30
|
# split up lines with multiple tags/values:
|
29
31
|
out.gsub!(/(^.*:.*)\s\s+(.*:.*)$/, "\\1\n\\2")
|
@@ -47,7 +49,7 @@ module LinuxAdmin
|
|
47
49
|
cmd = "rpm -U"
|
48
50
|
params = { nil => pkg }
|
49
51
|
|
50
|
-
run(cmd, :params => params).exit_status == 0
|
52
|
+
Common.run(cmd, :params => params).exit_status == 0
|
51
53
|
end
|
52
54
|
end
|
53
55
|
end
|