diff options
author | Richard Jones <rjones@redhat.com> | 2009-10-19 10:18:46 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2009-10-19 10:18:46 +0100 |
commit | 945b6e0a085611b45b2ab0752a66e6e60b21666c (patch) | |
tree | 003770dd080fa3644dd2a77f3ed40592f19c03a5 /rescue | |
parent | 854f8e0d5643e55d045f5816a520d49a057990ef (diff) | |
download | libguestfs-945b6e0a085611b45b2ab0752a66e6e60b21666c.tar.gz libguestfs-945b6e0a085611b45b2ab0752a66e6e60b21666c.tar.xz libguestfs-945b6e0a085611b45b2ab0752a66e6e60b21666c.zip |
Move virt tools (virt-cat, virt-edit etc) into tools/ subdirectory.
This moves the tool programs into a single directory:
cat/* -> tools/virt-cat
df/* -> tools/virt-df
edit/* -> tools/virt-edit
rescue/* -> tools/virt-rescue
This in itself simplifies the build process because we only need
one Makefile and one copy of 'run-locally'.
'run-*-locally' has become just 'run-locally' and takes an extra
parameter which is the name of the tool, eg:
run-locally cat [virt-cat params...]
virt-inspector stays in its own directory, because this contains
more than just a single Perl script.
Diffstat (limited to 'rescue')
-rw-r--r-- | rescue/Makefile.am | 45 | ||||
-rwxr-xr-x | rescue/run-rescue-locally | 53 | ||||
-rwxr-xr-x | rescue/virt-rescue | 169 |
3 files changed, 0 insertions, 267 deletions
diff --git a/rescue/Makefile.am b/rescue/Makefile.am deleted file mode 100644 index b532e258..00000000 --- a/rescue/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -# libguestfs virt-rescue -# Copyright (C) 2009 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -EXTRA_DIST = \ - run-rescue-locally \ - virt-rescue - -if HAVE_RESCUE - -bin_SCRIPTS = virt-rescue -man_MANS = virt-rescue.1 - -noinst_DATA = $(top_builddir)/html/virt-rescue.1.html - -virt-rescue.1: virt-rescue - $(POD2MAN) \ - --section 1 \ - -c "Virtualization Support" \ - --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \ - $< > $@-t && mv $@-t $@ - -$(top_builddir)/html/virt-rescue.1.html: virt-rescue - mkdir -p $(top_builddir)/html - cd $(top_builddir) && pod2html \ - --css 'pod.css' \ - --title 'virt-rescue, run a rescue shell on a virtual machine' \ - --htmldir html \ - --outfile html/virt-rescue.1.html \ - rescue/$< - -endif diff --git a/rescue/run-rescue-locally b/rescue/run-rescue-locally deleted file mode 100755 index 18097cf9..00000000 --- a/rescue/run-rescue-locally +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl -# virt-rescue -# Copyright (C) 2009 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -# This script sets up the environment so you can run virt-rescue in -# place without needing to do 'make install' first. You can also run -# virt-rescue by creating a symlink to this script and putting it in -# your path. -# -# Use it like this: -# ./run-rescue-locally [usual virt-rescue args ...] - -use strict; -use warnings; - -use File::Basename qw(dirname); -use File::Spec; -use Cwd qw(abs_path); - -my $path = $0; - -# Follow symlinks until we get to the real file -while(-l $path) { - my $link = readlink($path) or die "readlink: $path: $!"; - if(File::Spec->file_name_is_absolute($link)) { - $path = $link; - } else { - $path = File::Spec->catfile(dirname($path), $link); - } -} - -# Get the absolute path of the parent directory -$path = abs_path(dirname($path).'/..'); - -$ENV{LD_LIBRARY_PATH} = $path.'/src/.libs'; -$ENV{LIBGUESTFS_PATH} = $path.'/appliance'; -$ENV{PERL5LIB} = $path.'/perl/blib/lib:'.$path.'/perl/blib/arch'; - -exec('perl', $path.'/rescue/virt-rescue', @ARGV); diff --git a/rescue/virt-rescue b/rescue/virt-rescue deleted file mode 100755 index 9ad2fa4f..00000000 --- a/rescue/virt-rescue +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/perl -w -# virt-rescue -# Copyright (C) 2009 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -use warnings; -use strict; - -use Sys::Guestfs; -use Sys::Guestfs::Lib qw(open_guest); -use Pod::Usage; -use Getopt::Long; -use Locale::TextDomain 'libguestfs'; - -=encoding utf8 - -=head1 NAME - -virt-rescue - Run a rescue shell on a virtual machine - -=head1 SYNOPSIS - - virt-rescue [--options] domname - - virt-rescue [--options] disk.img [disk.img ...] - -=head1 DESCRIPTION - -virt-rescue gives you a rescue shell and some simple recovery tools -which you can use on a virtual machine disk image. - -After running virt-rescue, what you see under C</> is the recovery -appliance. You must mount the virtual machine's filesystems by hand, -eg: - - # lvs - LV VG Attr LSize Origin Snap% Move Log Copy% Convert - lv_root vg_f11x64 -wi-a- 8.83G - lv_swap vg_f11x64 -wi-a- 992.00M - # mount /dev/vg_f11x64/lv_root /sysroot - # ls /sysroot - -B<Note> that the virtual machine must not be powered on when you use -this tool. Doing so will probably result in disk corruption in the -VM. However if you use the I<--ro> (read only) option, then you can -attach a shell to a running machine, but the results might be strange -or inconsistent. - -This tool is just designed for quick interactive hacking on a virtual -machine. For more structured access to a virtual machine disk image, -you should use L<guestfs(3)>. To get a structured shell, use -L<guestfish(1)>. - -=head1 OPTIONS - -=over 4 - -=cut - -my $help; - -=item B<--help> - -Display brief help. - -=cut - -my $version; - -=item B<--version> - -Display version number and exit. - -=cut - -my $uri; - -=item B<--connect URI> | B<-c URI> - -If using libvirt, connect to the given I<URI>. If omitted, then we -connect to the default libvirt hypervisor. - -If you specify guest block devices directly, then libvirt is not used -at all. - -=cut - -my $readonly; - -=item B<--ro> | B<-r> - -Open the image read-only. - -=back - -=cut - -GetOptions ("help|?" => \$help, - "version" => \$version, - "connect|c=s" => \$uri, - "ro|r" => \$readonly, - ) or pod2usage (2); -pod2usage (1) if $help; -if ($version) { - my $g = Sys::Guestfs->new (); - my %h = $g->version (); - print "$h{major}.$h{minor}.$h{release}$h{extra}\n"; - exit -} - -pod2usage (__"virt-rescue: no image or VM names rescue given") - if @ARGV == 0; - -my @args = (\@ARGV); -push @args, address => $uri if $uri; -push @args, rw => 1 unless $readonly; -my $g = open_guest (@args); - -$g->set_direct (1); -$g->set_append ("guestfs_rescue=1"); - -$g->launch (); - -exit 0; - -=head1 SEE ALSO - -L<guestfs(3)>, -L<guestfish(1)>, -L<virt-cat(1)>, -L<Sys::Guestfs(3)>, -L<Sys::Guestfs::Lib(3)>, -L<Sys::Virt(3)>, -L<http://libguestfs.org/>. - -=head1 AUTHOR - -Richard W.M. Jones L<http://et.redhat.com/~rjones/> - -=head1 COPYRIGHT - -Copyright (C) 2009 Red Hat Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |