summaryrefslogtreecommitdiffstats
path: root/perl-install/fs.pm
blob: 9f6fc68cf79c67e4269ae688f94490adb1b6aebd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
package fs; # $Id$

use diagnostics;
use strict;

use MDK::Common::System;
use MDK::Common::Various;
use common;
use log;
use devices;
use fs::type;
use fs::get;
use fs::format;
use fs::mount_options;
use run_program;
use detect_devices;
use modules;
use fsedit;
use loopback;


sub read_fstab {
    my ($prefix, $file, @reading_options) = @_;

    if (member('keep_default', @reading_options)) {
	push @reading_options, 'freq_passno', 'keep_devfs_name', 'keep_device_LABEL';
    }

    my %comments;
    my $comment;
    my @l = grep {
	if (/^Filename\s*Type\s*Size/) {
	    0; #- when reading /proc/swaps
	} elsif (/^\s*#/) {
	    $comment .= chomp_($_) . "\n";
	    0;
	} else {
	    $comments{$_} = $comment if $comment;
	    $comment = '';
	    1;
	}
    } cat_("$prefix$file");

    #- attach comments at the end of fstab to the previous line
    $comments{$l[-1]} = $comment if $comment;

    map {
	my ($dev, $mntpoint, $fs_type, $options, $freq, $passno) = split;
	my $comment = $comments{$_};

	$options = 'defaults' if $options eq 'rw'; # clean-up for mtab read

	if ($fs_type eq 'supermount') {
	    # normalize this bloody supermount
	    $options = join(",", 'supermount', grep {
		if (/fs=(.*)/) {
		    $fs_type = $1;
		    0;
		} elsif (/dev=(.*)/) {
		    $dev = $1;
		    0;
		} elsif ($_ eq '--') {
		    0;
		} else {
		    1;
		}
	    } split(',', $options));
	} elsif ($fs_type eq 'smb') {
	    # prefering type "smbfs" over "smb"
	    $fs_type = 'smbfs';
	}
	$mntpoint =~ s/\\040/ /g;
	$dev =~ s/\\040/ /g;

	my $h = { 
		 mntpoint => $mntpoint, fs_type => $fs_type,
		 options => $options, comment => $comment,
		 if_(member('keep_freq_passno', @reading_options), freq => $freq, passno => $passno),
		};

	put_in_hash($h, subpart_from_wild_device_name($dev));

	if ($h->{device_LABEL} && member('keep_device_LABEL', @reading_options)) {
	    $h->{prefer_device_LABEL} = 1;
        } elsif ($h->{devfs_device} && member('keep_devfs_name', @reading_options)) {
	    $h->{prefer_devfs_name} = 1;
	}

	if ($h->{options} =~ /credentials=/ && !member('verbatim_credentials', @reading_options)) {
	    require network::smb;
	    #- remove credentials=file with username=foo,password=bar,domain=zoo
	    #- the other way is done in fstab_to_string
	    my ($options, $unknown) = fs::mount_options::unpack($h);
	    my $file = delete $options->{'credentials='};
	    my $credentials = network::smb::read_credentials_raw($file);
	    if ($credentials->{username}) {
		$options->{"$_="} = $credentials->{$_} foreach qw(username password domain);
		fs::mount_options::pack($h, $options, $unknown);
	    }
	}

	$h;
    } @l;
}

sub merge_fstabs {
    my ($loose, $fstab, @l) = @_;

    foreach my $p (@$fstab) {
	my ($l1, $l2) = partition { fsedit::is_same_hd($_, $p) } @l;
	my ($p2) = @$l1 or next;
	@l = @$l2;

	$p->{mntpoint} = $p2->{mntpoint} if delete $p->{unsafeMntpoint};

	$p->{fs_type} = $p2->{fs_type} if $p2->{fs_type} && !$loose;
	$p->{options} = $p2->{options} if $p2->{options} && !$loose;
	#- important to get isMounted property else DrakX may try to mount already mounted partitions :-(
	add2hash($p, $p2);
	$p->{device_alias} ||= $p2->{device_alias} || $p2->{device} if $p->{device} ne $p2->{device} && $p2->{device} !~ m|/|;

	$p->{fs_type} && $p2->{fs_type} && $p->{fs_type} ne $p2->{fs_type}
	  && $p->{fs_type} ne 'auto' && $p2->{fs_type} ne 'auto' and
	    log::l("err, fstab and partition table do not agree for $p->{device} type: $p->{fs_type} vs $p2->{fs_type}");
    }
    @l;
}

sub subpart_from_wild_device_name {
    my ($dev) = @_;

    if ($dev =~ /^LABEL=(.*)/) {
	return { device_LABEL => $1 };
    } elsif ($dev eq 'none') {
    } elsif ($dev eq 'rootfs') {
    } elsif ($dev =~ m!^(\S+):/\w!) {
	#- nfs
    } elsif ($dev =~ m!^//\w!) {
	#- smb
    } elsif ($dev =~ m!^http://!) {
	#- http
    } else {
	if ($dev !~ m!^/! && -e "$::prefix/dev/$dev") {
	    $dev = "/dev/$dev";
	}
	if ($dev =~ m!^/(tmp|u?dev)/(.*)!) {
	    my %part;
	    if (my $rdev = (stat "$::prefix$dev")[6]) {
		($part{major}, $part{minor}) = unmakedev($rdev);
	    }

	    if (my $symlink = readlink("$::prefix$dev")) {
		if ($symlink =~ m|^[^/]+$|) {
		    $part{device_alias} = $dev;
		    $dev = $symlink;
		}
	    }
	    $dev =~ s!/(tmp|u?dev)/!!;

	    if (my (undef, $part_number) = $dev =~ m!/(disc|part(\d+))$!) {
		$part{part_number} = $part_number if $part_number;
		$part{devfs_device} = $dev;
	    } else {
		$part{device} = $dev;
		my $part_number = devices::part_number(\%part);
		$part{part_number} = $part_number if $part_number;
	    }
	    return \%part;
	} elsif ($dev =~ m!^/! && -f "$::prefix$dev") {
	    #- loopback file
	} else {
	    log::l("part_from_wild_device_name: unknown device $dev");
	}
    }
    #- default
    { device => $dev };
}

sub add2all_hds {
    my ($all_hds, @l) = @_;

    @l = merge_fstabs('', [ fs::get::really_all_fstab($all_hds) ], @l);

    foreach (@l) {
	my $s = 
	    $_->{fs_type} eq 'nfs' ? 'nfss' :
	    $_->{fs_type} eq 'smbfs' ? 'smbs' :
	    $_->{fs_type} eq 'davfs' ? 'davs' :
	    isTrueLocalFS($_) || isSwap($_) || isOtherAvailableFS($_) ? '' :
	    'special';
	push @{$all_hds->{$s}}, $_ if $s;
    }
}

sub get_major_minor {
    eval {
	my (undef, $major, $minor) = devices::entry($_->{device});
	($_->{major}, $_->{minor}) = ($major, $minor);
    } foreach @_;
}

sub merge_info_from_mtab {
    my ($fstab) = @_;

    my @l1 = map { my $l = $_; 
		   my $h = fs::type::fs_type2subpart('swap');
		   $h->{$_} = $l->{$_} foreach qw(device major minor); 
		   $h;
	       } read_fstab('', '/proc/swaps');
    
    my @l2 = map { read_fstab('', $_) } '/etc/mtab', '/proc/mounts';

    foreach (@l1, @l2) {
	log::l("found mounted partition on $_->{device} with $_->{mntpoint}");
	if ($::isInstall && $_->{mntpoint} =~ m!/tmp/(image|hdimage)!) {
	    $_->{real_mntpoint} = delete $_->{mntpoint};
	    if ($_->{real_mntpoint} eq '/tmp/hdimage') {
		log::l("found hdimage on $_->{device}");
		$_->{mntpoint} = common::usingRamdisk() && "/mnt/hd"; #- remap for hd install.
	    }
	}
	$_->{isMounted} = 1;
	set_isFormatted($_, 1);
	delete $_->{options};
    } 
    merge_fstabs('loose', $fstab, @l1, @l2);
}

# - when using "$loose", it does not merge in type&options from the fstab
sub merge_info_from_fstab {
    my ($fstab, $prefix, $uniq, $loose) = @_;

    my @l = grep { 
	if ($uniq) {
	    my $part = fs::get::mntpoint2part($_->{mntpoint}, $fstab);
	    !$part || fsedit::is_same_hd($part, $_); #- keep it only if it is the mountpoint AND the same device
	} else {
	    1;
	}
    } read_fstab($prefix, '/etc/fstab', 'keep_default');

    merge_fstabs($loose, $fstab, @l);
}

sub get_info_from_fstab {
    my ($all_hds) = @_;
    my @l = read_fstab('/etc/fstab', 'keep_default');
    add2all_hds($all_hds, @l)
}

sub prepare_write_fstab {
    my ($fstab, $o_prefix, $b_keep_smb_credentials) = @_;
    $o_prefix ||= '';

    my %new;
    my @smb_credentials;
    my @l = map { 
	my $device = 
	  isLoopback($_) ? 
	      ($_->{mntpoint} eq '/' ? "/initrd/loopfs" : $_->{loopback_device}{mntpoint}) . $_->{loopback_file} :
	  part2device($o_prefix, $_->{prefer_devfs_name} ? $_->{devfs_device} : $_->{device}, $_->{fs_type});

	my $real_mntpoint = $_->{mntpoint} || ${{ '/tmp/hdimage' => '/mnt/hd' }}{$_->{real_mntpoint}};
	mkdir_p("$o_prefix$real_mntpoint") if $real_mntpoint =~ m|^/|;
	my $mntpoint = loopback::carryRootLoopback($_) ? '/initrd/loopfs' : $real_mntpoint;

	my ($freq, $passno) =
	  exists $_->{freq} ?
	    ($_->{freq}, $_->{passno}) :
	  isTrueLocalFS($_) && $_->{options} !~ /encryption=/ && !$_->{is_removable} ? 
	    (1, $_->{mntpoint} eq '/' ? 1 : loopback::carryRootLoopback($_) ? 0 : 2) : 
	    (0, 0);

	if (($device eq 'none' || !$new{$device}) && ($mntpoint eq 'swap' || !$new{$mntpoint})) {
	    #- keep in mind the new line for fstab.
	    $new{$device} = 1;
	    $new{$mntpoint} = 1;

	    my $options = $_->{options};

	    if ($_->{fs_type} eq 'smbfs' && $options =~ /password=/ && !$b_keep_smb_credentials) {
		require network::smb;
		if (my ($opts, $smb_credentials) = network::smb::fstab_entry_to_credentials($_)) {
		    $options = $opts;
		    push @smb_credentials, $smb_credentials;
		}
	    }

	    my $fs_type = $_->{fs_type} || 'auto';

	    my $dev = 
	      $_->{prefer_device_LABEL} ? 'LABEL=' . $_->{device_LABEL} :
	      $_->{device_alias} ? "/dev/$_->{device_alias}" : $device;

	    $mntpoint =~ s/ /\\040/g;
	    $dev =~ s/ /\\040/g;

	    # handle bloody supermount special case
	    if ($options =~ /supermount/) {
		my @l = grep { $_ ne 'supermount' } split(',', $options);
		my ($l1, $l2) = partition { member($_, 'ro', 'exec') } @l;
		$options = join(",", "dev=$dev", "fs=$fs_type", @$l1, if_(@$l2, '--', @$l2));
		($dev, $fs_type) = ('none', 'supermount');
	    } else {
		#- if we were using supermount, the type could be something like ext2:vfat
		#- but this can't be done without supermount, so switching to "auto"
		$fs_type = 'auto' if $fs_type =~ /:/;
	    }

	    [ $mntpoint, $_->{comment} . join(' ', $dev, $mntpoint, $fs_type, $options || 'defaults', $freq, $passno) . "\n" ];
	} else {
	    ()
	}
    } grep { $_->{device} && ($_->{mntpoint} || $_->{real_mntpoint}) && $_->{fs_type} && ($_->{isFormatted} || !$_->{notFormatted}) } @$fstab;

    join('', map { $_->[1] } sort { $a->[0] cmp $b->[0] } @l), \@smb_credentials;
}

sub fstab_to_string {
    my ($all_hds, $o_prefix) = @_;
    my $fstab = [ fs::get::really_all_fstab($all_hds), @{$all_hds->{special}} ];
    my ($s, undef) = prepare_write_fstab($fstab, $o_prefix, 'keep_smb_credentials');
    $s;
}

sub write_fstab {
    my ($all_hds, $o_prefix) = @_;
    log::l("writing $o_prefix/etc/fstab");
    my $fstab = [ fs::get::really_all_fstab($all_hds), @{$all_hds->{special}} ];
    my ($s, $smb_credentials) = prepare_write_fstab($fstab, $o_prefix, '');
    output("$o_prefix/etc/fstab", $s);
    network::smb::save_credentials($_) foreach @$smb_credentials;
}

sub part2device {
    my ($prefix, $dev, $fs_type) = @_;
    $dev eq 'none' || member($fs_type, qw(nfs smbfs davfs)) ? 
      $dev : 
      do {
	  my $dir = $dev =~ m!^(/|LABEL=)! ? '' : '/dev/';
	  eval { devices::make("$prefix$dir$dev") };
	  "$dir$dev";
      };
}

sub auto_fs() {
    grep { chop; $_ && !/nodev/ } cat_("/etc/filesystems");
}

sub set_removable_mntpoints {
    my ($all_hds) = @_;

    my %names;
    foreach (@{$all_hds->{raw_hds}}) {
	my $name = detect_devices::suggest_mount_point($_) or next;
	$name eq 'zip' and next;
	
	my $s = ++$names{$name};
	$_->{mntpoint} ||= "/mnt/$name" . ($s == 1 ? '' : $s);
    }
}

sub get_raw_hds {
    my ($prefix, $all_hds) = @_;

    push @{$all_hds->{raw_hds}}, detect_devices::removables();
    $_->{is_removable} = 1 foreach @{$all_hds->{raw_hds}};

    get_major_minor(@{$all_hds->{raw_hds}});

    my @fstab = read_fstab($prefix, '/etc/fstab', 'keep_default');
    $all_hds->{nfss} = [ grep { $_->{fs_type} eq 'nfs' } @fstab ];
    $all_hds->{smbs} = [ grep { $_->{fs_type} eq 'smbfs' } @fstab ];
    $all_hds->{davs} = [ grep { $_->{fs_type} eq 'davfs' } @fstab ];
    $all_hds->{special} = [
       (grep { $_->{fs_type} eq 'tmpfs' } @fstab),
       { device => 'none', mntpoint => '/proc', fs_type => 'proc' },
    ];
}


################################################################################
# mounting functions
################################################################################
sub set_loop {
    my ($part) = @_;
    $part->{real_device} ||= devices::set_loop(devices::make($part->{device}), $part->{encrypt_key}, $part->{options} =~ /encryption=(\w+)/);
}

sub swapon {
    my ($dev) = @_;
    log::l("swapon called with $dev");
    syscall_('swapon', devices::make($dev), 0) or die "swapon($dev) failed: $!";
}

sub swapoff {
    my ($dev) = @_;
    syscall_('swapoff', devices::make($dev)) or die "swapoff($dev) failed: $!";
}

sub formatMount_part {
    my ($part, $raids, $fstab, $prefix, $wait_message) = @_;

    if (isLoopback($part)) {
	formatMount_part($part->{loopback_device}, $raids, $fstab, $prefix, $wait_message);
    }
    if (my $p = fs::get::up_mount_point($part->{mntpoint}, $fstab)) {
	formatMount_part($p, $raids, $fstab, $prefix, $wait_message) unless loopback::carryRootLoopback($part);
    }
    if ($part->{toFormat}) {
	fs::format::part($raids, $part, $prefix, $wait_message);
    }
    mount_part($part, $prefix, 0, $wait_message);
}

sub formatMount_all {
    my ($raids, $fstab, $prefix, $o_wait_message) = @_;
    formatMount_part($_, $raids, $fstab, $prefix, $o_wait_message) 
      foreach sort { isLoopback($a) ? 1 : isSwap($a) ? -1 : 0 } grep { $_->{mntpoint} } @$fstab;

    #- ensure the link is there
    loopback::carryRootCreateSymlink($_, $prefix) foreach @$fstab;

    #- for fun :)
    #- that way, when install exits via ctrl-c, it gives hand to partition
    eval {
	my ($_type, $major, $minor) = devices::entry(fs::get::root($fstab)->{device});
	output "/proc/sys/kernel/real-root-dev", makedev($major, $minor);
    };
}

sub mount {
    my ($dev, $where, $fs, $b_rdonly, $o_options, $o_wait_message) = @_;
    log::l("mounting $dev on $where as type $fs, options $o_options");

    -d $where or mkdir_p($where);

    $dev = part2device('', $dev, $fs);

    $fs or log::l("not mounting $dev partition"), return;

    my @fs_modules = qw(vfat hfs romfs ufs reiserfs xfs jfs ext3);

    if (member($fs, 'smb', 'smbfs', 'nfs', 'davfs', 'ntfs') && $::isStandalone || $::move) {
	$o_wait_message->(N("Mounting partition %s", $dev)) if $o_wait_message;
	system('mount', '-t', $fs, $dev, $where, if_($o_options, '-o', $o_options)) == 0 or die N("mounting partition %s in directory %s failed", $dev, $where);
    } else {
	my @types = ('ext2', 'proc', 'sysfs', 'usbdevfs', 'iso9660', 'devfs', 'devpts', @fs_modules);

	member($fs, @types) or log::l("skipping mounting $dev partition ($fs)"), return;

	$where =~ s|/$||;

	my $flag = c::MS_MGC_VAL();
	$flag |= c::MS_RDONLY() if $b_rdonly;
	my $mount_opt = "";

	if ($fs eq 'vfat') {
	    $mount_opt = 'check=relaxed';
	} elsif ($fs eq 'reiserfs') {
	    #- could be better if we knew if there is a /boot or not
	    #- without knowing it, / is forced to be mounted with notail
	    # if $where =~ m|/(boot)?$|;
	    $mount_opt = 'notail'; #- notail in any case
	} elsif ($fs eq 'jfs' && !$b_rdonly) {
	    $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
	    #- needed if the system is dirty otherwise mounting read-write simply fails
	    run_program::raw({ timeout => 60 * 60 }, "fsck.jfs", $dev) or do {
		my $err = $?;
		die "fsck.jfs failed" if $err & 0xfc00;
	    };
	} elsif ($fs eq 'ext2' && !$b_rdonly) {
		$o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
		foreach ('-a', '-y') {
		    run_program::raw({ timeout => 60 * 60 }, "fsck.ext2", $_, $dev);
		    my $err = $?;
		    if ($err & 0x0100) {
			log::l("fsck corrected partition $dev");
		    }
		    if ($err & 0xfeff) {
			my $txt = sprintf("fsck failed on %s with exit code %d or signal %d", $dev, $err >> 8, $err & 255);
			$_ eq '-y' ? die($txt) : cdie($txt);
		    } else {
			last;
		    }
		}
	}
	if (member($fs, @fs_modules)) {
	    eval { modules::load($fs) };
	} elsif ($fs eq 'iso9660') {
	    eval { modules::load('isofs') };
	}
	log::l("calling mount($dev, $where, $fs, $flag, $mount_opt)");
	$o_wait_message->(N("Mounting partition %s", $dev)) if $o_wait_message;
	syscall_('mount', $dev, $where, $fs, $flag, $mount_opt) or die N("mounting partition %s in directory %s failed", $dev, $where) . " ($!)";
    
        eval { #- fail silently, /etc may be read-only
	    append_to_file("/etc/mtab", "$dev $where $fs defaults 0 0\n");
	};
    }
}

#- takes the mount point to umount (can also be the device)
sub umount {
    my ($mntpoint) = @_;
    $mntpoint =~ s|/$||;
    log::l("calling umount($mntpoint)");

    syscall_('umount2', $mntpoint, 0) or do {
	kill 15, fuzzy_pidofs('^fam\b');
	syscall_('umount2', $mntpoint, 0) or die N("error unmounting %s: %s", $mntpoint, $!);
    };

    substInFile { $_ = '' if /(^|\s)$mntpoint\s/ } '/etc/mtab'; #- don't care about error, if we can't read, we won't manage to write... (and mess mtab)
}

sub mount_part {
    my ($part, $o_prefix, $b_rdonly, $o_wait_message) = @_;

    #- root carrier's link can't be mounted
    loopback::carryRootCreateSymlink($part, $o_prefix);

    log::l("isMounted=$part->{isMounted}, real_mntpoint=$part->{real_mntpoint}, mntpoint=$part->{mntpoint}");
    if ($part->{isMounted} && $part->{real_mntpoint} && $part->{mntpoint}) {
	log::l("remounting partition on $o_prefix$part->{mntpoint} instead of $part->{real_mntpoint}");
	if ($::isInstall) { #- ensure partition will not be busy.
	    require install_any;
	    install_any::getFile('XXX');
	}
	eval {
	    umount($part->{real_mntpoint});
	    rmdir $part->{real_mntpoint};
	    symlinkf "$o_prefix$part->{mntpoint}", $part->{real_mntpoint};
	    delete $part->{real_mntpoint};
	    $part->{isMounted} = 0;
	};
    }

    return if $part->{isMounted};

    unless ($::testing) {
	if (isSwap($part)) {
	    $o_wait_message->(N("Enabling swap partition %s", $part->{device})) if $o_wait_message;
	    swapon($part->{device});
	} else {
	    $part->{mntpoint} or die "missing mount point for partition $part->{device}";

	    my $mntpoint = ($o_prefix || '') . $part->{mntpoint};
	    if (isLoopback($part) || $part->{encrypt_key}) {
		set_loop($part);
	    } elsif ($part->{options} =~ /encrypted/) {
		log::l("skip mounting $part->{device} since we don't have the encrypt_key");
		return;
	    } elsif (loopback::carryRootLoopback($part)) {
		$mntpoint = "/initrd/loopfs";
	    }
	    my $dev = $part->{real_device} || $part->{device};
	    mount($dev, $mntpoint, $part->{fs_type}, $b_rdonly, $part->{options}, $o_wait_message);
	    rmdir "$mntpoint/lost+found";
	}
    }
    $part->{isMounted} = 1;
    set_isFormatted($part, 1); #- assume that if mount works, partition is formatted
}

sub umount_part {
    my ($part, $o_prefix) = @_;

    $part->{isMounted} || $part->{real_mntpoint} or return;

    unless ($::testing) {
	if (isSwap($part)) {
	    swapoff($part->{device});
	} elsif (loopback::carryRootLoopback($part)) {
	    umount("/initrd/loopfs");
	} else {
	    umount(($o_prefix || '') . $part->{mntpoint} || devices::make($part->{device}));
	    devices::del_loop(delete $part->{real_device}) if $part->{real_device};
	}
    }
    $part->{isMounted} = 0;
}

sub umount_all($;$) {
    my ($fstab, $prefix) = @_;

    log::l("unmounting all filesystems");

    foreach (sort { $b->{mntpoint} cmp $a->{mntpoint} } @$fstab) {
	$_->{mntpoint} and umount_part($_, $prefix);
    }
}

################################################################################
# various functions
################################################################################
sub df {
    my ($part, $o_prefix) = @_;
    my $dir = "/tmp/tmp_fs_df";

    return $part->{free} if exists $part->{free};

    if ($part->{isMounted}) {
	$dir = ($o_prefix || '') . $part->{mntpoint};
    } elsif ($part->{notFormatted} && !$part->{isFormatted}) {
	return; #- won't even try!
    } else {
	mkdir_p($dir);
	eval { mount($part->{device}, $dir, $part->{fs_type}, 'readonly') };
	if ($@) {
	    set_isFormatted($part, 0);
	    unlink $dir;
	    return;
	}
    }
    my (undef, $free) = MDK::Common::System::df($dir);

    if (!$part->{isMounted}) {
	umount($dir);
	unlink($dir)
    }

    $part->{free} = 2 * $free if defined $free;
    $part->{free};
}

1;
at msgid "%s is not available, falling back on %s" msgstr "" #: ../urpm.pm:110 #, c-format msgid "no webfetch found, supported webfetch are: %s\n" msgstr "कोई वेबफ़ेच्च नहीं मिला, समर्थित वेबफ़ेच्च है: %s\n" #: ../urpm.pm:126 #, c-format msgid "unable to handle protocol: %s" msgstr "प्रोटोकॉल: %s को काबू करने में असमर्थ" #: ../urpm.pm:223 #, c-format msgid "medium \"%s\" trying to use an already used hdlist, medium ignored" msgstr "" "\"%s\" माध्यम, एक पहिले से उपयोग की जा रही हार्डडिस्क सूची को उपयोग करने की चेष्टा कर " "रहा है, माध्यम स्वीकार नहीं है" #: ../urpm.pm:224 #, c-format msgid "medium \"%s\" trying to use an already used list, medium ignored" msgstr "" "\"%s\" माध्यम, एक पहिले से उपयोग की जा रही सूची को उपयोग करने की चेष्टा कर रहा है, " "माध्यम स्वीकार नहीं है" #: ../urpm.pm:237 ../urpm.pm:1318 ../urpm.pm:1328 #, c-format msgid "unable to access hdlist file of \"%s\", medium ignored" msgstr "\"%s\" की हार्डडिस्क संचिका-सूची को पाने में असमर्थ, माध्यम स्वीकार नहीं है" #. list file exists but isn't readable #. report error only if no result found, list files are only readable by root #: ../urpm.pm:240 ../urpm.pm:2526 #, c-format msgid "unable to access list file of \"%s\", medium ignored" msgstr "\"%s\" की संचिका-सूची को पाने में असमर्थ, माध्यम स्वीकार नहीं है" #: ../urpm.pm:268 #, fuzzy, c-format msgid "trying to override existing medium \"%s\", skipping" msgstr "विद्यमान माध्यम \"%s\" से अलग हट कर निकलने की चेष्टा, बच निकला जा रहा है" #: ../urpm.pm:279 #, c-format msgid "" "virtual medium \"%s\" should not have defined hdlist or list file, medium " "ignored" msgstr "" "काल्पनिक माध्यम \"%s\" को हार्डडिस्क सूची या सूची संचिका को परिभाषित नहीं करना चाहिए," "माध्यम स्वीकार नहीं है" #: ../urpm.pm:284 #, c-format msgid "virtual medium \"%s\" should have a clear url, medium ignored" msgstr "" "काल्पनिक माध्यम \"%s\" के पास एक स्पष्ट यू०आर०एल० होना चाहिए, माध्यम स्वीकार नहीं है" #: ../urpm.pm:293 #, c-format msgid "unable to find hdlist file for \"%s\", medium ignored" msgstr "\"%s\" के लिए हार्डडिस्क संचिका-सूची को खोजने में असमर्थ, माध्यम स्वीकार नहीं है" #: ../urpm.pm:300 #, c-format msgid "unable to find list file for \"%s\", medium ignored" msgstr "\"%s\" के लिए संचिका-सूची को खोजने में असमर्थ, माध्यम स्वीकार नहीं है" #: ../urpm.pm:324 #, c-format msgid "inconsistent list file for \"%s\", medium ignored" msgstr "\"%s\" के लिए बेमेल संचिका-सूची, माध्यम स्वीकार नहीं है" #: ../urpm.pm:334 #, c-format msgid "unable to inspect list file for \"%s\", medium ignored" msgstr "\"%s\" के लिए संचिका-सूची का निरीक्षण करने में असमर्थ, माध्यम स्वीकार नहीं है" #. - return value is suitable for an hash. #: ../urpm.pm:374 #, c-format msgid "too many mount points for removable medium \"%s\"" msgstr "हटाने-योग्य माध्यम \"%s\" के लिए बहुत सारे आरोह बिंदु" #: ../urpm.pm:375 #, c-format msgid "taking removable device as \"%s\"" msgstr "हटाने-योग्य साधनों को \"%s\" की भांति लिया जा रहा है" #: ../urpm.pm:378 #, c-format msgid "Medium \"%s\" is an ISO image, will be mounted on-the-fly" msgstr "\"%s\" माध्यम एक आईसो इमेज है, और देखते-देखते माउन्ट कर दिया जायेगा" #: ../urpm.pm:381 #, c-format msgid "using different removable device [%s] for \"%s\"" msgstr "विभिन्न हटाने-योग्य साधनों [%s] का उपयोग \"%s\" के लिए हो रहा है" #: ../urpm.pm:386 ../urpm.pm:389 #, c-format msgid "unable to retrieve pathname for removable medium \"%s\"" msgstr "हटाने-योग्य माध्यम \"%s\" के लिए पथ-नाम को पुनः प्राप्त करने में असमर्थ" #: ../urpm.pm:415 #, c-format msgid "unable to write config file [%s]" msgstr "संरचना-संचिका [%s] को लिखने में असमर्थ" #: ../urpm.pm:425 #, c-format msgid "wrote config file [%s]" msgstr "संरचना-संचिका [%s] लिखें" #: ../urpm.pm:453 msgid "Can't use parallel mode with use-distrib mode" msgstr "use-distrib विधा के साथ सामान्तर विधा का उपयोग नहीं किया जा सकता है" #: ../urpm.pm:463 #, c-format msgid "unable to parse \"%s\" in file [%s]" msgstr "\"%s\" का पदभंजन [%s] संचिका में करने में असमर्थ" #: ../urpm.pm:475 #, c-format msgid "examining parallel handler in file [%s]" msgstr "समान्तर प्रबंधकर्ता का निरीक्षण [%s] संचिका में हो रहा है" #: ../urpm.pm:486 #, c-format msgid "found parallel handler for nodes: %s" msgstr "नोडों: %s के लिए समान्तर प्रबंधकर्ता मिला है" #: ../urpm.pm:490 #, c-format msgid "using associated media for parallel mode: %s" msgstr "समान्तर मोड: %s के लिए संयुक्त माध्यम का उपयोग हो रहा है" #: ../urpm.pm:494 #, c-format msgid "unable to use parallel option \"%s\"" msgstr "समान्तर विकल्प \"%s\" का उपयोग करने में असमर्थ" #: ../urpm.pm:502 #, c-format msgid "there doesn't seem to be devices in the chroot in \"%s\"" msgstr "लगता है कि \"%s\" में सीएचरूट में उपकरण नहीं हैं" #: ../urpm.pm:508 msgid "" "--synthesis cannot be used with --media, --excludemedia, --sortmedia, --" "update or --parallel" msgstr "" "--synthesis का उपयोग --media, --excludemedia, --sortmedia, --update या --" "parallel के साथ नहीं किया जा सकता है" #. - XXX we could link the new hdlist to the old one. #. - (However links need to be managed. see bug #12391.) #. - as previously done, just read synthesis file here, this is enough. #. - as previously done, just read synthesis file here, this is enough, but only #. - if synthesis exists, else it needs to be recomputed. #. - XXX we could link the new hdlist to the old one. #. - (However links need to be managed. see bug #12391.) #. - as previously done, just read synthesis file here, this is enough. #. - read default synthesis (we have to make sure nothing get out of depslist). #: ../urpm.pm:572 ../urpm.pm:598 ../urpm.pm:1090 ../urpm.pm:1101 #: ../urpm.pm:1173 ../urpm.pm:1190 ../urpm.pm:1245 ../urpm.pm:1301 #: ../urpm.pm:1511 ../urpm.pm:1631 ../urpm.pm:1748 ../urpm.pm:1754 #: ../urpm.pm:1857 ../urpm.pm:1943 ../urpm.pm:1947 #, c-format msgid "examining synthesis file [%s]" msgstr "कृत्रिम संचिका [%s] का निरीक्षण किया जा रहा है" #: ../urpm.pm:576 ../urpm.pm:591 ../urpm.pm:604 ../urpm.pm:1093 #: ../urpm.pm:1104 ../urpm.pm:1179 ../urpm.pm:1185 ../urpm.pm:1250 #: ../urpm.pm:1305 ../urpm.pm:1515 ../urpm.pm:1635 ../urpm.pm:1742 #: ../urpm.pm:1760 ../urpm.pm:1953 #, c-format msgid "examining hdlist file [%s]" msgstr "हार्डडिस्क-सूची संचिका [%s] का निरीक्षण किया जा रहा है" #: ../urpm.pm:586 ../urpm.pm:1097 #, c-format msgid "virtual medium \"%s\" is not local, medium ignored" msgstr "काल्पनिक माध्यम \"%s\" स्थानीय नहीं है, माध्यम स्वीकार नहीं है" #: ../urpm.pm:616 #, c-format msgid "Search start: %s end: %s" msgstr "खोज आरम्भ: %s समाप्त: %s" #. - this is almost a fatal error, ignore it by default? #: ../urpm.pm:621 ../urpm.pm:1111 ../urpm.pm:1198 ../urpm.pm:1254 #: ../urpm.pm:1639 #, c-format msgid "problem reading hdlist or synthesis file of medium \"%s\"" msgstr "\"%s\" माध्यम की हार्डडिस्क सूची संचिका या कृत्रिम संचिका को पढ़ने में सामस्या" #: ../urpm.pm:628 ../urpm.pm:1895 msgid "performing second pass to compute dependencies\n" msgstr "आधीनताओं की गणना का द्वितीय चरण पूरा किया जा रहा है\n" #: ../urpm.pm:644 #, c-format msgid "skipping package %s" msgstr "%s पैकेज को त्यागा जा रहा है" #: ../urpm.pm:657 #, c-format msgid "would install instead of upgrade package %s" msgstr "%s को उन्नयन करने की बजाय संसाधित किया जायेगा" #. - beware this can be a child process or the main process now... #. - open in read/write mode unless testing installation. #: ../urpm.pm:668 ../urpm.pm:2334 ../urpm.pm:2395 ../urpm.pm:2584 #: ../urpm.pm:2986 ../urpm.pm:3113 msgid "unable to open rpmdb" msgstr "आर०पी०एम०डी०बी० को खोलने में असमर्थ" #: ../urpm.pm:709 #, c-format msgid "medium \"%s\" already exists" msgstr "\"%s\" माध्यम पहिले से विद्यमान है" #: ../urpm.pm:716 msgid "virtual medium needs to be local" msgstr "काल्पनिक माध्यम को स्थानीय होने की आवश्यकता है" #: ../urpm.pm:741 #, c-format msgid "added medium %s" msgstr "%s माध्यम को जोड़ा गया" #: ../urpm.pm:784 msgid "unable to access first installation medium" msgstr "प्रथम संसाधन माध्यम को पाने में असमर्थ" #: ../urpm.pm:786 msgid "this url seems to not contains any distrib" msgstr "" #: ../urpm.pm:796 #, fuzzy msgid "retrieving media.cfg file..." msgstr "हार्डडिस्क सूची संचिका को पुनःप्राप्त किया जा रहा है..." #: ../urpm.pm:808 ../urpm.pm:1621 ../urpm.pm:2122 ../urpm.pm:2840 msgid "...retrieving done" msgstr "...पुनः प्राप्त करने की क्रिया संपन्न" #: ../urpm.pm:810 ../urpm.pm:1605 ../urpm.pm:2126 ../urpm.pm:2842 #, c-format msgid "...retrieving failed: %s" msgstr "...पुनः प्राप्त करने में असफ़लता: %s " #: ../urpm.pm:813 #, fuzzy msgid "unable to parse media.cfg" msgstr "आर०पी०एम०डी०बी० को खोलने में असमर्थ" #: ../urpm.pm:815 msgid "unable to access first installation medium (no hdlists file found)" msgstr "प्रथम संसाधन माध्यम को पाने में असमर्थ (कोई हार्डडिस्क सूची संचिका नहीं मिली)" #: ../urpm.pm:902 #, c-format msgid "trying to select nonexistent medium \"%s\"" msgstr "अविद्यमान माध्यम \"%s\" को चयन का प्रयास किया जा रहा है" #. - several elements in found and/or foundi lists. #: ../urpm.pm:904 #, c-format msgid "selecting multiple media: %s" msgstr "बहुत सारे माध्यमों का चयन हो रहा है: %s" #: ../urpm.pm:920 #, c-format msgid "removing medium \"%s\"" msgstr "\"%s\" माध्यम को हटाया जा रहा है" #: ../urpm.pm:971 #, c-format msgid "reconfiguring urpmi for media \"%s\"" msgstr "\"%s\" माध्यम हेतु यू०आर०पी०एम०आई० को पुनः संरचित किया जा रहा है" #: ../urpm.pm:1000 msgid "...reconfiguration failed" msgstr "...पुनःसंरचना प्रक्रिया असफ़ल" #: ../urpm.pm:1007 msgid "reconfiguration done" msgstr "पुनःसंरचना प्रक्रिया सम्पन्न हुई" #: ../urpm.pm:1151 #, c-format msgid "" "unable to access medium \"%s\",\n" "this could happen if you mounted manually the directory when creating the " "medium." msgstr "" "\"%s\" माध्यम की पहुँच में असमर्थ,\n" "यह सम्भव है जब आपने माध्यम का निर्माण करते समय, निर्देशिका कोस्वंम ही आरोहित किया हो।" #: ../urpm.pm:1202 #, c-format msgid "" "virtual medium \"%s\" should have valid source hdlist or synthesis, medium " "ignored" msgstr "" "काल्पनिक माध्यम \"%s\" के पास हार्डडिस्क सूची या कृत्रिमता का वैध स्रोत्र होना " "चाहिए।माध्यम स्वीकार नहीं है" #: ../urpm.pm:1212 #, c-format msgid "copying description file of \"%s\"..." msgstr "\"%s\" संचिका के विवरण की प्रतिलिपि बनायी जा रहीं है..." #: ../urpm.pm:1214 ../urpm.pm:1271 msgid "...copying done" msgstr "...प्रतिलिपि बनना सम्पन्न हुआ" #: ../urpm.pm:1215 ../urpm.pm:1346 ../urpm.pm:1409 ../urpm.pm:1577 #: ../urpm.pm:1584 msgid "...copying failed" msgstr "...प्रतिलिपि बनना असफ़ल" #: ../urpm.pm:1267 #, c-format msgid "copying source hdlist (or synthesis) of \"%s\"..." msgstr "\"%s\" की मूल (या कॄत्रिम) हार्डडिस्क सूची की प्रतिलिपि बनाई जा रही है..." #: ../urpm.pm:1281 #, c-format msgid "copy of [%s] failed (file is suspiciously small)" msgstr "[%s] की प्रतिलिपि असफ़ल रही (संचिका सन्देहात्मक ढ़ग से छोटी है)" #: ../urpm.pm:1286 msgid "computing md5sum of copied source hdlist (or synthesis)" msgstr "" "स्रोत्र हार्डडिस्क सूची (या कृत्रिम रचनाओं) की प्रतिलिपियों की एम०डी०५सम (md5sum) की " "गणना की जा रही है" #: ../urpm.pm:1288 #, c-format msgid "copy of [%s] failed (md5sum mismatch)" msgstr "[%s] की प्रतिलिपि अयोग्य है (एमडी५सम बेमेल है)" #: ../urpm.pm:1309 ../urpm.pm:1519 ../urpm.pm:1860 #, c-format msgid "problem reading synthesis file of medium \"%s\"" msgstr "\"%s\" माध्यम की कृत्रिम संचिका को पढ़ने में समस्या" #: ../urpm.pm:1367 #, c-format msgid "reading rpm files from [%s]" msgstr "[%s] से आर०पी०एम० संचिकाओं को पढ़ा जा रहा है" #: ../urpm.pm:1382 msgid "no rpms read" msgstr "कोई आरपीएमएस नहीं पढ़ा गया" #: ../urpm.pm:1392 #, c-format msgid "unable to read rpm files from [%s]: %s" msgstr "आर०पी०एम० संचिकाओं को [%s] से पढ़ने में असमर्थ: %s" #: ../urpm.pm:1397 #, c-format msgid "no rpm files found from [%s]" msgstr "[%s] कि लिए कोई आर०पी०एम० संचिकाऐं नहीं मिली" #. - try to probe for possible with_hdlist parameter, unless #. - it is already defined (and valid). #: ../urpm.pm:1534 #, c-format msgid "retrieving source hdlist (or synthesis) of \"%s\"..." msgstr "\"%s\" की मूल (या कृत्रिम) हार्डडिस्क सूची पुनः प्राप्त की जा रही है..." #: ../urpm.pm:1562 #, c-format msgid "found probed hdlist (or synthesis) as %s" msgstr "खोजी हुई हार्डडिस्क सूची (या कृत्रिम रचना)%s के रूप में मिली" #: ../urpm.pm:1612 msgid "computing md5sum of retrieved source hdlist (or synthesis)" msgstr "" "पुनः प्राप्त की हुई स्रोत्र हार्डडिस्क सूची (या कृत्रिम रचना) के एम०डी०५सम (md5sum) की " "गणना की जा रही है" #: ../urpm.pm:1614 msgid "...retrieving failed: md5sum mismatch" msgstr "...पुनः प्राप्त करने में असफ़लता: एम०डी०५सम (md5sum) बेमेल " #: ../urpm.pm:1712 msgid "retrieval of source hdlist (or synthesis) failed" msgstr "स्रोत्र हार्डडिस्क सूची (या कृत्रिम रचना) का पुनः प्राप्त करना असफ़ल" #: ../urpm.pm:1719 #, c-format msgid "no hdlist file found for medium \"%s\"" msgstr "\"%s\" माध्यम के लिए कोई हार्डडिस्क सूची संचिका नहीं मिली" #: ../urpm.pm:1730 ../urpm.pm:1784 #, c-format msgid "file [%s] already used in the same medium \"%s\"" msgstr "[%s] संचिका \"%s\" समान माध्यम में पहिले से उपयोग में है" #: ../urpm.pm:1770 #, c-format msgid "unable to parse hdlist file of \"%s\"" msgstr "\"%s\" की हार्डडिस्क संचिका का पदभंजन करने में असमर्थ" #: ../urpm.pm:1809 #, c-format msgid "unable to write list file of \"%s\"" msgstr "\"%s\" की सूची संचिका को लिखने में असमर्थ" #: ../urpm.pm:1817 #, c-format msgid "writing list file for medium \"%s\"" msgstr "\"%s\" माध्यम के लिए संचिका-सूची लिखी जा रही है" #: ../urpm.pm:1819 #, c-format msgid "nothing written in list file for \"%s\"" msgstr "\"%s\" के लिए संचिका-सूची में कुछ भी नहीं लिखा है" #: ../urpm.pm:1834 #, c-format msgid "examining pubkey file of \"%s\"..." msgstr "\"%s\" की सामान्यजन कूंजी संचिका का निरीक्षण किया जा रहा है..." #: ../urpm.pm:1841 #, c-format msgid "...imported key %s from pubkey file of \"%s\"" msgstr "...\"%s\" की पब्लिककुंजी संचिका से %s कुंजी आयातित कर ली गई है" #: ../urpm.pm:1844 #, c-format msgid "unable to import pubkey file of \"%s\"" msgstr "\"%s\" की सामान्यजनकुंजी संचिका को आयात करने में असमर्थ" #: ../urpm.pm:1909 #, c-format msgid "reading headers from medium \"%s\"" msgstr "\"%s\" माध्यम से शीर्षक पढ़े जा रहे है" #: ../urpm.pm:1914 #, c-format msgid "building hdlist [%s]" msgstr "हार्डडिस्क-सूची [%s] का निर्माण किया जा रहा है" #. - XXX this happens when building a synthesis for a local media from RPMs... why ? #: ../urpm.pm:1929 ../urpm.pm:1965 #, c-format msgid "" "Unable to build synthesis file for medium \"%s\". Your hdlist file may be " "corrupted." msgstr "" "\"%s\" माध्यम के लिए कृत्रिम संचिका का निर्माण करने में असमर्थ । सम्भवता आपकी हार्डडिस्क-" "सूची भ्रष्ट हो गयी है ।" #: ../urpm.pm:1933 ../urpm.pm:1969 ../urpmi:386 #, c-format msgid "built hdlist synthesis file for medium \"%s\"" msgstr "\"%s\" माध्यम के लिए हार्डडिस्क-सूची की कृत्रिम संचिका बनायें" #: ../urpm.pm:1992 #, c-format msgid "found %d headers in cache" msgstr "कैश में %d शीर्षक मिलें" #: ../urpm.pm:1996 #, c-format msgid "removing %d obsolete headers in cache" msgstr "कैश में स्थित %d अप्रचलित शीर्षकों को हटाया जा रहा है" #: ../urpm.pm:2017 #, c-format msgid "Error generating names file: dependency %d not found" msgstr "" #: ../urpm.pm:2022 #, c-format msgid "Error generating names file: Can't write to file (%s)" msgstr "" #: ../urpm.pm:2058 #, c-format msgid "mounting %s" msgstr "%s को आरोह (माउन्ट) किया जा रहा है" #: ../urpm.pm:2082 #, c-format msgid "unmounting %s" msgstr "%s को अवरोह (अनमाउन्ट) किया जा रहा है" #: ../urpm.pm:2107 #, c-format msgid "invalid rpm file name [%s]" msgstr "अवैध आर०पी०एम० संचिका नाम [%s]" #: ../urpm.pm:2113 #, c-format msgid "retrieving rpm file [%s] ..." msgstr "आर०पी०एम० संचिका [%s] को पुनः प्राप्त किया जा रहा है..." #: ../urpm.pm:2131 #, c-format msgid "unable to access rpm file [%s]" msgstr "आर०पी०एम० संचिका [%s] को पाने में असमर्थ" #: ../urpm.pm:2136 #, fuzzy, c-format msgid "unable to parse spec file %s [%s]" msgstr "\"%s\" का पदभंजन [%s] संचिका में करने में असमर्थ" #: ../urpm.pm:2146 msgid "unable to register rpm file" msgstr "आर०पी०एम० संचिका का पंजीकरण में असमर्थ" #: ../urpm.pm:2148 #, c-format msgid "Incompatible architecture for rpm [%s]" msgstr "" #: ../urpm.pm:2152 msgid "error registering local packages" msgstr "स्थानीय पैकेजों का पंजीकरण करने में त्रुटि" #: ../urpm.pm:2262 #, c-format msgid "no package named %s" msgstr "%s नाम का कोई पैकेज नहीं है" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpm.pm:2264 ../urpme:106 #, c-format msgid "The following packages contain %s: %s" msgstr "निम्नलिखित पैकेज %s को समाहित करते है: %s" #: ../urpm.pm:2457 ../urpm.pm:2503 ../urpm.pm:2535 #, c-format msgid "there are multiple packages with the same rpm filename \"%s\"" msgstr "यहाँ बहुत सारे पैकेज \"%s\" संचिका के समान नाम वाले है" #: ../urpm.pm:2517 #, c-format msgid "unable to correctly parse [%s] on value \"%s\"" msgstr "भली-भांति से [%s] का पदभंजन \"%s\" मान पर करने में असमर्थ" #: ../urpm.pm:2527 msgid "(retry as root?)" msgstr "" #: ../urpm.pm:2551 #, c-format msgid "" "medium \"%s\" uses an invalid list file:\n" " mirror is probably not up-to-date, trying to use alternate method" msgstr "" "\"%s\" माध्यम एक अवैध संचिका सूची का उपयोग कर रहा है\n" "दर्पण-स्थल (समरूप प्रणाली) लगता है कि अप-टु-डेट नहीं है। अन्य तरीके को उपयोग करने की " "चेष्टा करें" #: ../urpm.pm:2555 #, c-format msgid "medium \"%s\" does not define any location for rpm files" msgstr "\"%s\" माध्यम, आर०पी०एम० संचिकाओं के लिए किसी स्थान को परिभाषित नहीं करता है" #: ../urpm.pm:2567 #, c-format msgid "package %s is not found." msgstr "%s पैकेज नहीं मिला" #: ../urpm.pm:2618 ../urpm.pm:2632 ../urpm.pm:2651 ../urpm.pm:2665 msgid "urpmi database locked" msgstr "यू०आर०पी०एम०आई० डाटाबेस बंद है" #: ../urpm.pm:2716 ../urpm.pm:2721 ../urpm.pm:2747 #, c-format msgid "medium \"%s\" is not selected" msgstr "माध्यम \"%s\" का चयन नहीं किया गया है" #. - fallback to use other method for retrieving the file later. #: ../urpm.pm:2743 #, c-format msgid "unable to read rpm file [%s] from medium \"%s\"" msgstr "\"%s\" माध्यम से आर०पी०एम० संचिका [%s] को पढ़ने में असमर्थ" #. - we have a removable device that is not removable, well... #: ../urpm.pm:2751 #, c-format msgid "inconsistent medium \"%s\" marked removable but not really" msgstr "बेमेल माध्यम \"%s\" को हटानेयोग्य चिह्नित किया गया है परन्तु वास्तव में ऐसा नहीं है" #: ../urpm.pm:2763 #, c-format msgid "unable to access medium \"%s\"" msgstr "\"%s\" माध्यम को पाने में असमर्थ" #: ../urpm.pm:2818 #, fuzzy, c-format msgid "malformed URL: [%s]" msgstr "भ्रष्ट इन्पुट: [%s]" #: ../urpm.pm:2825 #, c-format msgid "retrieving rpm files from medium \"%s\"..." msgstr "\"%s\" माध्यम से आर०पी०एम० संचिकाऐं पुनः प्राप्त की जा रही है..." #: ../urpm.pm:2925 msgid "[repackaging]" msgstr "" #: ../urpm.pm:2958 #, c-format msgid "using process %d for executing transaction" msgstr "%d पद्धति का उपयोग कार्य संपादन के लिए हो रहा है" #: ../urpm.pm:2991 #, c-format msgid "" "created transaction for installing on %s (remove=%d, install=%d, upgrade=%d)" msgstr "" "%s पर संसाधन करने के लिए कार्य-संपादन का निर्माण किया गया (हटाना=%d, संसाधन=%d, " "उन्नयन=%d)" #: ../urpm.pm:2994 msgid "unable to create transaction" msgstr "कार्य संपादन का निर्माण करने में असमर्थ" #: ../urpm.pm:3002 #, c-format msgid "removing package %s" msgstr "%s पैकेज को हटाया जा रहा है" #: ../urpm.pm:3004 #, c-format msgid "unable to remove package %s" msgstr "%s पैकेज को ह्टाने में असमर्थ" #: ../urpm.pm:3016 #, c-format msgid "unable to extract rpm from delta-rpm package %s" msgstr "delta-rpm पैकेज %s से आरपीएम को बाहर निकालने में असमर्थ" #: ../urpm.pm:3022 #, c-format msgid "adding package %s (id=%d, eid=%d, update=%d, file=%s)" msgstr "%s पैकेज को जोड़ा जा रहा है (आई०डी०=%d, ई०आई०डी०=%d, उन्नयन=%d, संचिका=%s)" #: ../urpm.pm:3025 #, c-format msgid "unable to install package %s" msgstr "%s पैकेज को संसाधन करने में असमर्थ" #: ../urpm.pm:3075 #, c-format msgid "More information on package %s" msgstr "%s पैकेज के बारे में और अधिक सूचना" #: ../urpm.pm:3256 ../urpm.pm:3294 #, c-format msgid "due to missing %s" msgstr "%s के ना मिलने के कारण" #: ../urpm.pm:3257 ../urpm.pm:3292 #, c-format msgid "due to unsatisfied %s" msgstr "असन्तुष्ट %s के कारण" #: ../urpm.pm:3263 #, c-format msgid "trying to promote %s" msgstr "%s को प्रोत्साहित करने का प्रयास किया जा रहा है" #: ../urpm.pm:3264 #, c-format msgid "in order to keep %s" msgstr "%s को रखने के लिए" #: ../urpm.pm:3287 #, c-format msgid "in order to install %s" msgstr "%s को संसाधित के लिए" #: ../urpm.pm:3298 #, c-format msgid "due to conflicts with %s" msgstr "%s के साथ विरोधाभास के कारण" #: ../urpm.pm:3299 msgid "unrequested" msgstr "बिना निवेदन किया हुआ" #: ../urpm.pm:3318 #, c-format msgid "Invalid signature (%s)" msgstr "अवैध हस्ताक्षर (%s)" #: ../urpm.pm:3351 #, c-format msgid "Invalid Key ID (%s)" msgstr "अवैध कुंजी आई०डी० (%s)" #: ../urpm.pm:3353 #, c-format msgid "Missing signature (%s)" msgstr "विलुप्त हस्ताक्षर (%s)" #: ../urpm.pm:3412 msgid "examining MD5SUM file" msgstr "एम०डी०५सम (md5sum) संचिका का निरीक्षण किया जा रहा है" #: ../urpm.pm:3422 #, c-format msgid "warning: md5sum for %s unavailable in MD5SUM file" msgstr "चेतावनी: एमडी५सम फ़ाइल में %s के लिए एमडी५सम अनुपलब्ध है" #: ../urpm.pm:3433 msgid "computing md5sum of existing source hdlist (or synthesis)" msgstr "" "विद्यमान हार्डडिस्क सूची (या कृत्रिम रचनाओं) की प्रतिलिपियों के एम०डी०५सम (md5sum) की " "गणना की जा रही है" #: ../urpm.pm:3463 msgid "This operation is forbidden while running in restricted mode" msgstr "सीमित विधा में चलते समय, इस संक्रिया को मनाही है" #: ../urpm/args.pm:108 ../urpm/args.pm:117 msgid "bad proxy declaration on command line\n" msgstr "निर्देश वाक्य पर निकृष्ट प्रोक्सी की घोषणा\n" #: ../urpm/args.pm:234 #, fuzzy msgid "You need to be root to use --use-distrib" msgstr "इस निर्देश को उपयोग करने के लिए आपको महा-उपयोगकर्ता होना चाहिए !\n" #: ../urpm/args.pm:266 #, c-format msgid "urpmq: cannot read rpm file \"%s\"\n" msgstr "urpmq: आर०पी०एम० संचिका \"%s\" को नहीं पढ़ सकता है\n" #: ../urpm/args.pm:415 msgid "Too many arguments\n" msgstr "" #. Translator: Add here the keys which might be pressed in the "No"-case. #: ../urpm/msg.pm:48 ../urpme:32 ../urpmi:468 ../urpmi:486 ../urpmi:524 #: ../urpmi:574 ../urpmi:657 ../urpmi:743 msgid "Nn" msgstr "Nn" #. Translator: Add here the keys which might be pressed in the "Yes"-case. #: ../urpm/msg.pm:49 ../urpme:34 ../urpmi:469 ../urpmi:487 ../urpmi:525 #: ../urpmi:575 ../urpmi:658 ../urpmi:744 ../urpmi.addmedia:131 msgid "Yy" msgstr "Yy" #: ../urpm/msg.pm:94 msgid "Sorry, bad choice, try again\n" msgstr "क्षमा करें, खराब पसन्द, पुनः प्रयास करें\n" #: ../urpm/parallel_ka_run.pm:29 ../urpm/parallel_ka_run.pm:123 #: ../urpm/parallel_ka_run.pm:217 msgid "mput failed, maybe a node is unreacheable" msgstr "" #: ../urpm/parallel_ka_run.pm:66 #, c-format msgid "node %s has an old version of urpme, please upgrade" msgstr "" #: ../urpm/parallel_ka_run.pm:90 ../urpm/parallel_ka_run.pm:202 #: ../urpm/parallel_ka_run.pm:232 msgid "rshp failed, maybe a node is unreacheable" msgstr "" #: ../urpm/parallel_ka_run.pm:99 ../urpm/parallel_ssh.pm:104 #, c-format msgid "on node %s" msgstr "" #. - first propagate the synthesis file to all machine. #: ../urpm/parallel_ka_run.pm:121 msgid "Propagating synthesis to nodes..." msgstr "" #. - now try an iteration of urpmq. #: ../urpm/parallel_ka_run.pm:172 msgid "Resolving dependencies on nodes..." msgstr "" #: ../urpm/parallel_ka_run.pm:215 msgid "Distributing files to nodes..." msgstr "" #: ../urpm/parallel_ka_run.pm:222 msgid "Verifying if install is possible on nodes..." msgstr "" #: ../urpm/parallel_ka_run.pm:236 ../urpm/parallel_ssh.pm:251 #, fuzzy, c-format msgid "Installation failed on node %s" msgstr "संसाधन असफ़ल" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpm/parallel_ka_run.pm:241 ../urpm/parallel_ssh.pm:256 ../urpmi:812 msgid "Installation is possible" msgstr "संसाधन संभव है" #. - continue installation. #: ../urpm/parallel_ka_run.pm:246 #, fuzzy msgid "Installing packages on nodes..." msgstr "`%s' (%s/%s) पैकेज को संसाधित किया जा रहा है..." #: ../urpm/parallel_ssh.pm:30 ../urpm/parallel_ssh.pm:128 #: ../urpm/parallel_ssh.pm:232 #, c-format msgid "scp failed on host %s (%d)" msgstr "" #: ../urpm/parallel_ssh.pm:126 #, fuzzy, c-format msgid "Propagating synthesis to %s..." msgstr "कृत्रिम संचिका [%s] का निरीक्षण किया जा रहा है" #: ../urpm/parallel_ssh.pm:179 #, c-format msgid "Resolving dependencies on %s..." msgstr "" #: ../urpm/parallel_ssh.pm:209 #, c-format msgid "host %s does not have a good version of urpmi (%d)" msgstr "" #: ../urpm/parallel_ssh.pm:225 #, fuzzy, c-format msgid "Distributing files to %s..." msgstr "%s वितिरण किया जा रहा है" #: ../urpm/parallel_ssh.pm:239 #, c-format msgid "Verifying if install is possible on %s..." msgstr "" #: ../urpm/parallel_ssh.pm:263 #, fuzzy, c-format msgid "Performing install on %s..." msgstr "पैकेज संसाधित हो रहा है..." #: ../urpm/parallel_ssh.pm:276 #, fuzzy, c-format msgid "Installing %s on %s..." msgstr "%s को %s से संसाधित किया जा रहा है" #: ../urpm/parallel_ssh.pm:277 #, fuzzy, c-format msgid "Preparing install on %s..." msgstr "पैकेज संसाधित हो रहा है..." #: ../urpme:37 #, fuzzy, c-format msgid "" "urpme version %s\n" "Copyright (C) 1999-2006 Mandriva.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "" "यू०आर०पी०एम०ई० संस्मरण %s\n" "सर्वाधिकार (C) १९९९-२००४ मैनड्रिव सॉफ़्ट ।\n" "यह एक मुक्त सॉफ़्टवेयर है और जी०एन०यू० सामान्य जन अधिकार-पत्र के अन्तर्गत पुनः वितरित " "किया जा सकता है।\n" "\n" "उपयोग विधि:\n" #: ../urpme:42 ../urpmf:34 ../urpmi:80 ../urpmi.addmedia:44 #: ../urpmi.recover:33 ../urpmi.removemedia:54 ../urpmi.update:31 ../urpmq:44 msgid " --help - print this help message.\n" msgstr " --help - यह सहायता संदेश मुद्रित करें\n" #: ../urpme:43 msgid " --auto - automatically select a package in choices.\n" msgstr " --auto - इच्छित पैकेजों में से एक पैकेज स्वतः चयन\n" #: ../urpme:44 msgid " --test - verify if the removal can be achieved correctly.\n" msgstr " --test - जाँच करें कि सही-सही तरीके से हटाया जा सकता है\n" #: ../urpme:45 ../urpmi:102 ../urpmq:63 msgid "" " --force - force invocation even if some packages do not exist.\n" msgstr "" " --force - यद्यपि कुछ पैकेज ना विद्यमान हो, तो भी इनवोकेशन को बल-पूर्वक लागू " "करें \n" #: ../urpme:46 ../urpmi:107 ../urpmq:65 msgid " --parallel - distributed urpmi across machines of alias.\n" msgstr "" " --parallel - वितरित यू०आर०पी०एम०आई०, उपनाम वाली प्रणालीयों के बीच में\n" #: ../urpme:47 ../urpmi:134 #, fuzzy msgid " --repackage - Re-package the files before erasing\n" msgstr " --packager - टैग पैकेजर को मुद्रित करना: पैकेजर\n" #: ../urpme:48 msgid " --root - use another root for rpm removal.\n" msgstr " --root - आरपीएम को हटाने के अन्य रूट का उपयोग\n" #: ../urpme:49 #, fuzzy msgid " --noscripts - do not execute package scriptlet(s).\n" msgstr " --description - टैग विवरण मुद्रित करें: विवरण\n" #: ../urpme:50 #, fuzzy msgid "" " --use-distrib - configure urpme on the fly from a distrib tree, useful\n" " to (un)install a chroot with --root option.\n" msgstr "" " --use-distrib - एक वितरित वृक्ष के लिए देखते-देखते यूआरपीएमआई की संरचना, \n" " एक सीएचरूट को --root विकल्प के साथ संसाधित (असंसाधित) करने में " "उपयोगी।\n" #: ../urpme:52 ../urpmi:145 ../urpmi.addmedia:72 ../urpmi.removemedia:59 #: ../urpmi.update:49 ../urpmq:91 msgid " -v - verbose mode.\n" msgstr " -v - शब्दों का वॄथा प्रयोगिक विधि\n" #: ../urpme:53 msgid " -a - select all packages matching expression.\n" msgstr " -a - मिलती हुई अभिव्यक्तियों वाले सभी पैकेजों का चयन करें\n" #: ../urpme:70 msgid "Only superuser is allowed to remove packages" msgstr "सिर्फ़ रूट यूज़र को ही पैकेजों को हटाने की अनुमति है" #: ../urpme:100 msgid "unknown package" msgstr "अज्ञात पैकेज" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpme:100 msgid "unknown packages" msgstr "पैकेजों का प्रकार अज्ञात" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpme:112 ../urpmi:504 #, c-format msgid "removing package %s will break your system" msgstr "%s पैकेज को हटाने से आपकी प्रणाली नष्ट हो जायेगी" #: ../urpme:115 msgid "Nothing to remove" msgstr "हटाने को कुछ भी नहीं" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpme:120 msgid "Checking to remove the following packages" msgstr "निम्नलिखित पैकेजों को हटाने जाने के लिए जाँच हो रही है" #: ../urpme:127 #, c-format msgid "" "To satisfy dependencies, the following %d packages will be removed (%d MB)" msgstr "अधिनताओं को सन्तुष्ट करने के लिए, निम्नलिखित पैकेजों %d को हटाया जायेगा (%d एमबी)" #: ../urpme:129 ../urpmi:526 ../urpmi:659 ../urpmi.addmedia:134 msgid " (y/N) " msgstr "(हाँ/ना:y/N)" #: ../urpme:129 #, fuzzy, c-format msgid "Remove %d packages?" msgstr "%s पैकेज को हटाया जा रहा है" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpme:153 msgid "Removal failed" msgstr "हटाना असफ़ल" #: ../urpmf:28 #, fuzzy, c-format msgid "" "urpmf version %s\n" "Copyright (C) 2002-2006 Mandriva.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage: urpmf [options] pattern-expression\n" msgstr "" "यू०आर०पी०एम०एफ़० संस्मरण %s\n" "सर्वाधिकार (C) २००२-२००४ मैनड्रिव सॉफ़्ट ।\n" "यह एक मुक्त सॉफ़्टवेयर है और जी०एन०यू० सामान्य जन अधिकार-पत्रके अन्तर्गत पुनः वितरित किया " "जा सकता है।\n" "\n" "उपयोग विधि:\n" #: ../urpmf:35 #, fuzzy msgid " --version - print this tool's version number.\n" msgstr " --help - यह सहायता संदेश मुद्रित करें\n" #: ../urpmf:36 ../urpmi:125 ../urpmq:74 msgid " --env - use specific environment (typically a bug report).\n" msgstr " --env - विशिष्ट वातावरण का उपयोग (आदर्श रूप में एक दोष रिपोर्ट)\n" #: ../urpmf:37 ../urpmi:82 ../urpmq:48 msgid " --excludemedia - do not use the given media, separated by comma.\n" msgstr "" " --excludemedia - दिये हुए मीडीया का उपयोग ना करें, छोटे विराम चिह्न के द्वारा अलग " "किये हुए\n" #: ../urpmf:38 msgid "" " --literal, -l - don't match patterns, use argument as a literal string.\n" msgstr "" #: ../urpmf:39 ../urpmi:81 ../urpmq:46 msgid " --media - use only the given media, separated by comma.\n" msgstr "" " --media - सिर्फ़ दिए गए माध्यम का उपयोग करें, छोटे विराम चिह्न के द्वारा अलग " "किये हुए\n" #: ../urpmf:40 ../urpmi:85 ../urpmq:49 msgid "" " --sortmedia - sort media according to substrings separated by comma.\n" msgstr "" " --sortmedia - मीडीया को कॉमा के द्वारा अलग की हुई सहायक-कड़ियों के अनुसार क्रम " "में लगाना\n" #: ../urpmf:41 ../urpmi:86 ../urpmq:50 msgid " --synthesis - use the given synthesis instead of urpmi db.\n" msgstr "" " --synthesis - यू०आर०पी०एन०आई० डी०बी० के बजाय, दी हुई कृत्रिमता का उपयोग करें\n" #: ../urpmf:42 msgid " --uniq - do not print identical lines twice.\n" msgstr " --uniq - एक जैसे वाक्यों को मुद्रित ना करें\n" #: ../urpmf:43 ../urpmi:83 ../urpmq:45 msgid " --update - use only update media.\n" msgstr " --update - सिर्फ़ अपडेट माध्यम का ही उपयोग करें\n" #: ../urpmf:44 msgid " --verbose - verbose mode.\n" msgstr " --verbose - शब्दों का वॄथा प्रयोगिक विधि\n" #: ../urpmf:45 msgid " -i - ignore case distinctions in patterns.\n" msgstr " -i - सभी प्रतिरूपों में छोटे-बड़े शब्दों का ध्यान ना रखें\n" #: ../urpmf:46 #, fuzzy msgid " -I - honor case distinctions in patterns (default).\n" msgstr " -i - सभी प्रतिरूपों में छोटे-बड़े शब्दों का ध्यान ना रखें\n" #: ../urpmf:47 msgid " -F<str> - change field separator (defaults to ':').\n" msgstr "" #: ../urpmf:48 msgid "Pattern expressions:\n" msgstr "" #: ../urpmf:49 msgid " text - any text is parsed as a regexp, unless -l is used.\n" msgstr "" #: ../urpmf:50 msgid " -e - include perl code directly as perl -e.\n" msgstr " -e - पर्ल कोड को perl -e जैसे सीधे सम्मलित\n" #: ../urpmf:51 msgid " -a - binary AND operator.\n" msgstr " -a - द्विआधारी \"और\" प्रवर्तक (ऑपरेटर).\n" #: ../urpmf:52 msgid " -o - binary OR operator.\n" msgstr " -o - द्विआधारी \"या\" प्रवर्तक (ऑपरेटर).\n" #: ../urpmf:53 msgid " ! - unary NOT.\n" msgstr " ! - एकल \"नहीं\".\n" #: ../urpmf:54 #, fuzzy msgid " ( ) - left and right parentheses.\n" msgstr " ) - दाहिना कोष्टक का चिह्न समूह अभिव्यक्ति का बंद करने के लिए\n" #: ../urpmf:55 #, fuzzy msgid "List of tags:\n" msgstr "" "डाटा की सूची जिसे पुनःस्थापित करना है:\n" "\n" #: ../urpmf:56 #, fuzzy msgid " --qf - specify a printf-like output format\n" msgstr " --X - एक्स (X) इन्टरफ़ेस का उपयोग करें\n" #: ../urpmf:57 #, fuzzy, c-format msgid " example: '%%name:%%files'\n" msgstr " %s डिफ़ाल्ट है ।\n" #: ../urpmf:58 #, fuzzy msgid " --arch - architecture\n" msgstr " --url - टैग यू०आर०एल० को मुद्रित करें:यू०आर०एल०\n" #: ../urpmf:59 #, fuzzy msgid " --buildhost - build host\n" msgstr " --buildhost - टैग होस्ट निर्माणकर्ता को मुद्रित करना: होस्ट निर्माणकर्ता\n" #: ../urpmf:60 msgid " --buildtime - build time\n" msgstr "" #: ../urpmf:61 #, fuzzy msgid " --conffiles - configuration files\n" msgstr "संरचना फ़ाइल में परिवर्तनों को लागू करें" #: ../urpmf:62 #, fuzzy msgid " --conflicts - conflict tags\n" msgstr " --conflicts - टैग के विरोधाभासों को मुद्रित करें: सभी विरोधाभास\n" #: ../urpmf:63 #, fuzzy msgid " --description - package description\n" msgstr " --description - टैग विवरण मुद्रित करें: विवरण\n" #: ../urpmf:64 msgid " --distribution - distribution\n" msgstr "" #: ../urpmf:65 #, fuzzy msgid " --epoch - epoch\n" msgstr " --epoch - टैग इपॉच्च को मुद्रित करें: इपॉच्च\n" #: ../urpmf:66 #, fuzzy msgid " --filename - filename of the package\n" msgstr " --name - सिर्फ़ पैकेजों के नामों को मुद्रित करें\n" #: ../urpmf:67 #, fuzzy msgid " --files - list of files contained in the package\n" msgstr " -l - पैकेज में स्थित संचिकाओं की सूची।\n" #: ../urpmf:68 #, fuzzy msgid " --group - group\n" msgstr " --group - टैग समूह को मुद्रित करें: समूह\n" #: ../urpmf:69 #, fuzzy msgid " --name - package name\n" msgstr " --name - सिर्फ़ पैकेजों के नामों को मुद्रित करें\n" #: ../urpmf:70 #, fuzzy msgid " --obsoletes - obsoletes tags\n" msgstr " --obsoletes - टैग के अप्रचलितों को मुद्रित करें: सभी लुप्तप्रयोग\n" #: ../urpmf:71 #, fuzzy msgid " --packager - packager\n" msgstr " --packager - टैग पैकेजर को मुद्रित करना: पैकेजर\n" #: ../urpmf:72 #, fuzzy msgid " --provides - provides tags\n" msgstr " --provides - टैग की उपलब्धियां मुद्रित करें: सभी उपलब्धियां\n" #: ../urpmf:73 #, fuzzy msgid " --requires - requires tags\n" msgstr " --requires - टैग की आवश्यकताऐं मुद्रित करें: सभी आवश्यकताऐं (बहु-वाक्य)\n" #: ../urpmf:74 #, fuzzy msgid " --size - installed size\n" msgstr " --size - टैग आकार को मुद्रित करें: आकार\n" #: ../urpmf:75 #, fuzzy msgid " --sourcerpm - source rpm name\n" msgstr " --sourcerpm - टैग स्रोत्र आर०पी०एम० को मुद्रित करें: स्रोत्र आर०पी०एम०\n" #: ../urpmf:76 #, fuzzy msgid " --summary - summary\n" msgstr " --summary, -S - सारांश को मुद्रित करना।\n" #: ../urpmf:77 #, fuzzy msgid " --url - url\n" msgstr " --url - टैग यू०आर०एल० को मुद्रित करें:यू०आर०एल०\n" #: ../urpmf:78 #, fuzzy msgid " --vendor - vendor\n" msgstr " --verbose - शब्दों का वॄथा प्रयोगिक विधि\n" #: ../urpmf:79 #, fuzzy msgid " -m - the media in which the package was found\n" msgstr " -l - पैकेज में स्थित संचिकाओं की सूची।\n" #: ../urpmf:80 ../urpmq:80 msgid " -f - print version, release and arch with name.\n" msgstr " -f - \tमुद्रित संस्मरण, विमोचन और आर्च नाम के साथ\n" #: ../urpmf:132 msgid "Incorrect format: you may use only one multi-valued tag" msgstr "" #: ../urpmf:174 ../urpmi:238 ../urpmq:126 #, c-format msgid "using specific environment on %s\n" msgstr "%s पर विशिष्ट वातावरण का उपयोग करते हुए\n" #: ../urpmf:220 msgid "" "Note: since no media searched uses hdlists, urpmf was unable to return any " "result\n" msgstr "" "सूचना: क्योंकि खोज किये गये माध्यम ने एचडीसूचियों का उपयोग किया, अतैव यूआरपीएमएफ़ किसी " "परिणाम को बताने में असमर्थ रहा था\n" #: ../urpmf:221 msgid "You may want to use --name to search for package names.\n" msgstr "पैकेज के नामों की खोज हेतु आप --name का उपयोग करना चाहेगें।\n" #: ../urpmi:75 #, fuzzy, c-format msgid "" "urpmi version %s\n" "Copyright (C) 1999-2006 Mandriva.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "" "यू०आर०पी०एम०आई० संस्मरण %s\n" "सर्वाधिकार (C) १९९९-२००४ मैनड्रिव सॉफ़्ट ।\n" "यह एक मुक्त सॉफ़्टवेयर है और जी०एन०यू० सामान्य जन अधिकार-पत्र के अन्तर्गत पुनः वितरित " "किया जा सकता है।\n" "\n" "उपयोग विधि:\n" #: ../urpmi:84 #, fuzzy msgid "" " --searchmedia - use only the given media to search requested packages.\n" msgstr "" " --searchmedia - निवेदित (या अपडेट किये हुए) पैकेजों की खोज के लिए, सिर्फ़ दिए गए " "माध्यम का उपयोग करें ।\n" #: ../urpmi:87 msgid "" " --auto - non-interactive mode, assume default answers to " "questions.\n" msgstr "" #: ../urpmi:88 ../urpmq:51 msgid "" " --auto-select - automatically select packages to upgrade the system.\n" msgstr " --auto-select - प्रणाली को उन्नयन बनाने के लिए, स्वतः पैकेजों का चयन करें\n" #: ../urpmi:89 msgid "" " --no-uninstall - never ask to uninstall a package, abort the " "installation.\n" msgstr "" " --no-uninstall - एक पैकेज को असंसाधित करने के लिए कभी ना पूछेना,संसाधन को रोकना\n" #: ../urpmi:90 msgid " --no-install - don't install packages (only download)\n" msgstr " --no-install - पैकेजों को संसाधित ना करना (सिर्फ़ डॉउनलोड करना)\n" #: ../urpmi:91 ../urpmq:53 msgid "" " --keep - keep existing packages if possible, reject requested\n" " packages that lead to removals.\n" msgstr "" " --keep - यदि सम्भव हो तो विद्यमान पैकेजों को रक्खे, निवेदित पैकेजों को " "अस्वीकार करें,\n" " जिनके कारण से हटाना पड़ रहा है।\n" #: ../urpmi:93 #, c-format msgid "" " --split-level - split in small transaction if more than given packages\n" " are going to be installed or upgraded,\n" " default is %d.\n" msgstr "" " --split-level - छोटे क्रिया-कलापों में विभाजित करें यदि दिए गए पैकेजों से ज्यादा \n" "को संसाधित या उन्नयत किया जाना है,\n" " सामान्य संख्या %d है।\n" #: ../urpmi:96 #, c-format msgid " --split-length - small transaction length, default is %d.\n" msgstr " --split-length - लघु क्रिया-कलाप लंबाई, सामान्य संख्या %d है।\n" #: ../urpmi:97 #, fuzzy msgid " --fuzzy, -y - impose fuzzy search.\n" msgstr " --fuzzy - अस्पष्ट खोज को लागू करें (-y जैसा)\n" #: ../urpmi:98 #, fuzzy msgid " --src, -s - next package is a source package.\n" msgstr " --src - अगला पैकेज एक स्रोत्र पैकेज है (-s जैसा)\n" #: ../urpmi:99 msgid " --install-src - install only source package (no binaries).\n" msgstr " --install-src - सिर्फ़ स्रोत्र पैकेज को संसाधित करें (कोई बॉयनरी नहीं)\n" #: ../urpmi:100 msgid " --clean - remove rpm from cache before anything else.\n" msgstr " --clean - कुछ भी करने कि पहिले आर०पी०एम० को कैश से हटाना\n" #: ../urpmi:101 msgid " --noclean - don't clean rpms from cache.\n" msgstr " --noclean - कैश में से आरपीएमों की सफ़ाई ना करना\n" #: ../urpmi:103 msgid "" " --allow-nodeps - allow asking user to install packages without\n" " dependencies checking.\n" msgstr "" " --allow-nodeps - उपयोगकर्ता को, पैकेजों को बिना अधिनताओं की जाँच करें,\n" " संसाधित करने के लिए प्रश्न पूछने की अनुमति प्रदान करें\n" #: ../urpmi:105 msgid "" " --allow-force - allow asking user to install packages without\n" " dependencies checking and integrity.\n" msgstr "" " --allow-force - उपयोगकर्ता को, पैकेजों को बिना अधिनताओं और अखंडता की जाँच करें,\n" " संसाधित करने के लिए प्रश्न पूछने की अनुमति प्रदान करें\n" #: ../urpmi:108 msgid " --root - use another root for rpm installation.\n" msgstr " --root - आरपीएम संसाधन के लिए अन्य रूट का उपयोग\n" #: ../urpmi:109 msgid "" " --use-distrib - configure urpmi on the fly from a distrib tree, useful\n" " to install a chroot with --root option.\n" msgstr "" " --use-distrib - एक वितरित वृक्ष के लिए देखते-देखते यूआरपीएमआई की संरचना, \n" " एक सीएचरूट को --root विकल्प के साथ संसाधित (असंसाधित) करने में " "उपयोगी।\n" #: ../urpmi:111 ../urpmi.addmedia:45 ../urpmi.update:32 ../urpmq:68 msgid " --wget - use wget to retrieve distant files.\n" msgstr "" " --wget - डबलू०गेट का उपयोग दूर स्थित संचिकाओं को प्राप्त करने के लिए करें\n" #: ../urpmi:112 ../urpmi.addmedia:46 ../urpmi.update:33 ../urpmq:69 msgid " --curl - use curl to retrieve distant files.\n" msgstr " --curl - कर्ल का उपयोग दूर स्थित संचिकाओं को प्राप्त करने के लिए करें\n" #: ../urpmi:113 msgid " --curl-options - additional options to pass to curl\n" msgstr "" #: ../urpmi:114 msgid " --rsync-options- additional options to pass to rsync\n" msgstr "" #: ../urpmi:115 msgid " --wget-options - additional options to pass to wget\n" msgstr "" #: ../urpmi:116 ../urpmi.addmedia:47 ../urpmi.update:34 msgid " --limit-rate - limit the download speed.\n" msgstr " --limit-rate - डॉउनलोड के वेग को सीमित करें\n" #: ../urpmi:117 msgid "" " --resume - resume transfer of partially-downloaded files\n" " (--no-resume disables it, default is disabled).\n" msgstr "" " --resume - अधूरी-डॉउनलोड-की-हुई संचिकाओं के स्थानान्तरण का पुनः आरम्भ\n" " (--no-resume इसे असक्रिय करता है, डिफ़ॉल्ट असक्रिय है)।\n" #: ../urpmi:119 ../urpmi.addmedia:48 ../urpmi.update:35 ../urpmq:70 msgid "" " --proxy - use specified HTTP proxy, the port number is assumed\n" " to be 1080 by default (format is <proxyhost[:port]>).\n" msgstr "" " --proxy - बतायी गयी एच०टी०टी०पी० प्रोक्सी का उपयोग करें, पोर्ट संख्या की " "डिफ़ॉल्ट कल्पना १०८० के रूप में\n" " कर ली गई है (निर्देश देने का तरीका <प्रोक्सी होस्ट[:पोर्ट]>).\n" #: ../urpmi:121 ../urpmi.addmedia:50 ../urpmi.update:37 ../urpmq:72 msgid "" " --proxy-user - specify user and password to use for proxy\n" " authentication (format is <user:password>).\n" msgstr "" " --proxy-user - प्रोक्सी प्रमाणीकरण के लिए उपयोगकर्ता और कूटशब्द बतायें\n" " (निर्देश देने का तरीका <उपयोगकर्ता:कूटशब्द>).\n" #: ../urpmi:123 msgid "" " --bug - output a bug report in directory indicated by\n" " next arg.\n" msgstr "" " --bug - एक दोष रिपोर्ट को अगले मान के द्वारा बताई गयी निर्देशिका में\n" " निर्गम करें\n" #: ../urpmi:126 #, fuzzy msgid "" " --verify-rpm - verify rpm signature before installation\n" " (--no-verify-rpm disables it, default is enabled).\n" msgstr "" " --verify-rpm - संसाधन के पहिले, आर०पी०एम० हस्ताक्षर की जाँच करें\n" " (--no-verify-rpm इसे अयोग्य करता है, डिफ़ॉल्ट जाँच के साथ है).\n" #: ../urpmi:128 #, fuzzy msgid "" " --test - only verify if the installation can be achieved " "correctly.\n" msgstr " --test - जाँच करें कि संसाधन सफ़लता-पूर्वक किया जा सकता है\n" #: ../urpmi:129 msgid " --excludepath - exclude path separated by comma.\n" msgstr " --excludepath - पथ को अलग करें, छोटे विराम चिह्न के द्वारा अलग किये हुए\n" #: ../urpmi:130 msgid " --excludedocs - exclude doc files.\n" msgstr " --excludedocs - प्रलेखन संचिकाओं को अलग करके।\n" #: ../urpmi:131 #, fuzzy msgid " --ignoresize - don't verify disk space before installation.\n" msgstr "" " --no-uninstall - एक पैकेज को असंसाधित करने के लिए कभी ना पूछेना,संसाधन को रोकना\n" #: ../urpmi:132 #, fuzzy msgid " --ignorearch - allow to install rpms for unmatched architectures.\n" msgstr " --url - टैग यू०आर०एल० को मुद्रित करें:यू०आर०एल०\n" #: ../urpmi:133 #, fuzzy msgid " --noscripts - do not execute package scriptlet(s)\n" msgstr " --description - टैग विवरण मुद्रित करें: विवरण\n" #: ../urpmi:135 msgid " --skip - packages which installation should be skipped\n" msgstr " --skip - पैकेजों जिनका संसाधन छोड़ा जाना चाहिए\n" #: ../urpmi:136 msgid "" " --more-choices - when several packages are found, propose more choices\n" " than the default.\n" msgstr "" " --more-choices - जब अनेको पैकेज मिल जाते है, तब डिफ़ाल्ट के स्थान पर अनेको " "विकल्प चयन हेतु प्रस्तावित होते है ।\n" #: ../urpmi:138 ../urpmi.addmedia:66 ../urpmi.update:42 msgid " --norebuild - don't try to rebuild hdlist if not readable.\n" msgstr "" " --norebuild - हार्डडिस्क-सूची का पुनः-निर्माण करने का प्रयास ना करना, यदि यह " "अपठनीय हो ।\n" #: ../urpmi:139 #, fuzzy msgid " --nolock - don't lock rpm db.\n" msgstr " --noclean - कैश में से आरपीएमों की सफ़ाई ना करना\n" #: ../urpmi:140 msgid " --strict-arch - upgrade only packages with the same architecture.\n" msgstr " --strict-arch - समान संरचना वाले पैकेजों को ही अपग्रेड करें।\n" #: ../urpmi:141 ../urpmq:77 msgid " -a - select all matches on command line.\n" msgstr " -a - निर्देश वाक्य पर सभी मिलानों को चयन करें\n" #: ../urpmi:142 msgid " -p - allow search in provides to find package.\n" msgstr "" " -p - पूर्वनिर्दिष्टों में पैकेज को पाने के लिए खोज की अनुमति प्रदान करें\n" #: ../urpmi:143 msgid " -P - do not search in provides to find package.\n" msgstr " -P - पूर्वनिर्दिष्टों में पैकेज को पाने के लिए ना खोजे\n" #: ../urpmi:144 ../urpmi.addmedia:71 ../urpmi.removemedia:58 #: ../urpmi.update:48 msgid " -q - quiet mode.\n" msgstr " -q - शांत विधि\n" #: ../urpmi:146 msgid " names or rpm files given on command line will be installed.\n" msgstr "निर्देश वाक्य पर दिये हुए नाम या आर०पी०एम० संचिकाऐं संसाधित की जायेगी\n" #: ../urpmi:177 msgid "" "Error: To generate a bug report, specify the usual command-line arguments\n" "along with --bug.\n" msgstr "" #: ../urpmi:204 #, fuzzy msgid "You can't install binary rpm files when using --install-src" msgstr "" "द्विआधारी आर०पी०एम० संचिकाओं के साथ क्या किया जा सकता है, जब --install-src निर्देश " "का उपयोग किया जा रहा हो" #: ../urpmi:227 #, c-format msgid "" "Directory [%s] already exists, please use another directory for bug report " "or delete it" msgstr "" "[%s] निर्देशिका पहिले से विद्यमान है, कृपया दोष रिपोर्ट के लिए अन्य निर्देशिका का उपयोग " "करेंया इसे हटा दें ।" #: ../urpmi:228 #, c-format msgid "Unable to create directory [%s] for bug report" msgstr "दोष रिपोर्ट के लिए, [%s] निर्देशिका का निर्माण करने में असमर्थ" #: ../urpmi:231 ../urpmi:396 msgid "Copying failed" msgstr "प्रतिलिपि बनना असफ़ल" #: ../urpmi:237 #, c-format msgid "Environment directory %s does not exist" msgstr "" #: ../urpmi:255 #, c-format msgid "" "Error: %s appears to be mounted read-only.\n" "Use --allow-force to force operation." msgstr "" "त्रुटि: सम्भवता %s को सिर्फ़-पढ़ने-के लिए माउन्ट किया गया लगता है ।\n" "इस प्रक्रिया को बल-पूर्वक करने के लिए --allow-force विकल्प का उपयोग करें ।" #. - For translators : there are several media here #: ../urpmi:345 msgid "Updating media...\n" msgstr "" #: ../urpmi:433 #, c-format msgid "What is your choice? (1-%d) " msgstr "आपकी क्या इच्छा है? (1-%d) " #: ../urpmi:463 #, c-format msgid "" "The following packages can't be installed because they depend on packages\n" "that are older than the installed ones:\n" "%s" msgstr "" "निम्मलिखित पैकेजो को संसाधित नहीं किया जा सका क्योंकि ये उन पैकेजो पर आश्रित है जो कि\n" "संसाधित किये जा चुके पैकेजो से पहिले के है:\n" "%s" #: ../urpmi:471 ../urpmi:489 #, fuzzy msgid "" "\n" "Continue installation anyway?" msgstr "कुछ भी हो जारी रहा जायें?" #: ../urpmi:471 ../urpmi:489 ../urpmi:576 ../urpmi.addmedia:134 msgid " (Y/n) " msgstr "(हाँ/ना:Y/n)" #: ../urpmi:482 #, c-format msgid "" "Some requested packages cannot be installed:\n" "%s" msgstr "" "निवेदन किये हुए कुछ पैकेज संसाधित नहीं किये जा सके:\n" "%s" #: ../urpmi:512 #, c-format msgid "" "The installation cannot continue because the following packages\n" "have to be removed for others to be upgraded:\n" "%s\n" msgstr "" "संसाधन जारी नहीं रक्खा जा सकता है क्योंकि अन्य पैकेजों को उन्न्त बनाने के लिए\n" "निम्नलिखित पैकेजों को हटाना पड़ेगा:\n" "%s\n" #: ../urpmi:517 #, c-format msgid "" "The following packages have to be removed for others to be upgraded:\n" "%s" msgstr "" "अन्य पैकजों को उन्नयन करने के लिए, निम्नलिखित पैकेजों हटाना होगा:\n" "%s" #: ../urpmi:519 msgid "(test only, removal will not be actually done)" msgstr "" #: ../urpmi:555 ../urpmi:567 #, fuzzy msgid "" "To satisfy dependencies, the following packages are going to be installed" msgstr "" "अधीनताओं को सन्तुष्ट करने के लिए, निम्नलिखित %d पैकेजों का संसाधन होने जा रहा है:\n" "%s\n" #: ../urpmi:556 ../urpmi:568 #, fuzzy msgid "To satisfy dependencies, the following package is going to be installed" msgstr "" "आधीनताओं को सन्तुष्ट करने के लिए, निम्नलिखित पैकेज का संसाधन होने जा रहा है(%d एमबी)" #: ../urpmi:557 #, c-format msgid "(%d packages, %d MB)" msgstr "" #: ../urpmi:563 #, c-format msgid "" "You need to be root to install the following dependencies:\n" "%s\n" msgstr "" "निम्नलिखित आधिनताओं को संसाधित करने लिए, आपको महाउपयोगकर्ता होना चाहिए:\n" "%s\n" #: ../urpmi:570 msgid "(test only, installation will not be actually done)" msgstr "" #: ../urpmi:572 #, c-format msgid "Proceed with the installation of the %d packages? (%d MB)" msgstr "" #: ../urpmi:596 msgid "Press Enter when ready..." msgstr "तैयार होने पर इन्टर (Enter) कुंजी को दबायें..." #: ../urpmi:602 msgid "Cancel" msgstr "निरस्त" #: ../urpmi:649 msgid "The following packages have bad signatures" msgstr "निम्नलिखित पैकेजों पर खराब हस्ताक्षार है" #: ../urpmi:650 msgid "Do you want to continue installation ?" msgstr "क्या आप संसाधन जारी रखना चाहते है ?" #: ../urpmi:698 #, c-format msgid "distributing %s" msgstr "%s वितिरण किया जा रहा है" #. - there's a common prefix, simplify message #: ../urpmi:709 #, c-format msgid "installing %s from %s" msgstr "%s को %s से संसाधित किया जा रहा है" #: ../urpmi:711 #, c-format msgid "installing %s" msgstr "%s का संसाधन किया जा रहा है" #. - Warning : the following message is parsed in urpm::parallel_* #: ../urpmi:737 #, fuzzy msgid "Installation failed:" msgstr "संसाधन असफ़ल" #: ../urpmi:745 msgid "Try installation without checking dependencies? (y/N) " msgstr "संसाधन का प्रयास बिना आधिनताओं की जाँच किये हुए किया जाये? (हाँ/ना)(y/N) " #: ../urpmi:763 #, fuzzy msgid "Try harder to install (--force)? (y/N) " msgstr "संसाधन का प्रयास और जोर से (बलपूर्वक) किया जाये (--force)? (हाँ/ना)(y/N) " #: ../urpmi:803 #, c-format msgid "%d installation transactions failed" msgstr "%d संसाधन क्रिया-कलाप असफ़ल" #: ../urpmi:819 #, c-format msgid "The following package names were assumed: %s" msgstr "निम्नलिखित पैकेज के नामों की कल्पना की गयी है: %s" #: ../urpmi:836 msgid "restarting urpmi" msgstr "यू०आर०पी०एम०आई० को पुनः आरम्भ किया जा रहा है" #. Translator: The URI types strings 'file:', 'ftp:', 'http:', #. Translator: and 'removable:' must not be translated! #. Translator: neither the ``with''. #. Translator: only what is between <brackets> can be translated. #: ../urpmi.addmedia:35 #, fuzzy msgid "" "usage: urpmi.addmedia [options] <name> <url> [with <relative_path>]\n" "where <url> is one of\n" " [file:/]/<path> with <relative filename of hdlist>\n" " ftp://<login>:<password>@<host>/<path> with <relative filename of " "hdlist>\n" " ftp://<host>/<path> with <relative filename of hdlist>\n" " http://<host>/<path> with <relative filename of hdlist>\n" " removable://<path> with <relative filename of hdlist>\n" "\n" "and [options] are from\n" msgstr "" "उपयोग विधि: urpmi.addmedia [विकल्प] <नाम> <यू०आर०एल०> [with <सापेक्ष_पथ>]\n" "जहां <यू०आर०एल०l> निम्न में से एक है\n" " [file:/]/<पथ> with <हार्डडिस्क सूची की सापेक्ष संचिका नाम>\n" " ftp://<संत्रआरम्भ>:<कूटशब्द>@<होस्ट>/<पथ> with <हार्डडिस्क सूची की सापेक्ष संचिका " "नाम>\n" " ftp://<होस्ट>/<पथ> with <हार्डडिस्क सूची की सापेक्ष संचिका नाम>\n" " http://<होस्ट>/<पथ> with <हार्डडिस्क सूची की सापेक्ष संचिका नाम>\n" " removable://<पथ>\n" "\n" "और [विकल्प] से है\n" #: ../urpmi.addmedia:52 msgid " --update - create an update medium.\n" msgstr " --update - एक अपडेट माध्यम का निर्माण करें\n" #: ../urpmi.addmedia:53 msgid " --probe-synthesis - try to find and use synthesis file.\n" msgstr " --probe-synthesis - कृत्रिम संचिका को खोजने और उपयोग करने के प्रयास\n" #: ../urpmi.addmedia:54 msgid " --probe-hdlist - try to find and use hdlist file.\n" msgstr " --probe-hdlist - हार्डडिस्क सूची संचिका को खोजना और उपयोग करना\n" #: ../urpmi.addmedia:55 msgid "" " --no-probe - do not try to find any synthesis or\n" " hdlist file.\n" msgstr "" " --no-probe - किसी कृत्रिम या हार्डडिस्क सूची संचिका को खोजने का \n" " प्रयास ना करें\n" #: ../urpmi.addmedia:57 msgid "" " --distrib - automatically create all media from an installation\n" " medium.\n" msgstr "" " --distrib - एक संसाधन माध्यम से सभी मीडीया का स्वतः \n" " निर्माण करें\n" #: ../urpmi.addmedia:59 msgid " --interactive - with --distrib, ask confirmation for each media\n" msgstr "" #: ../urpmi.addmedia:60 #, fuzzy msgid " --all-media - with --distrib, add every listed media\n" msgstr " --list-media - उपलब्ध माध्यमों को दिखायें\n" #: ../urpmi.addmedia:61 #, c-format msgid "" " --from - use specified url for list of mirrors, the default is\n" " %s\n" msgstr "" " --from - समकक्ष प्रणालियों की सूची के लिए, निर्दिष्ट यू०आर०एल० का उपयोग " "करें, डिफ़ॉल्ट\n" " %s है\n" #: ../urpmi.addmedia:63 msgid "" " --virtual - create virtual media wich are always up-to-date,\n" " only file:// protocol is allowed.\n" msgstr "" " --virtual - काल्पनिक माध्यम का निर्माण करना जो हमेशा अप-टु-डेट रहें,\n" " सिर्फ़ file:// प्रोटोकॉल की अनूमति है।\n" #: ../urpmi.addmedia:65 ../urpmi.update:40 msgid " --no-md5sum - disable MD5SUM file checking.\n" msgstr " --no-md5sum - एम०डी०-५ सम संचिका की जाँच निष्क्रिय ।\n" #: ../urpmi.addmedia:67 msgid " --nopubkey - don't import pubkey of added media\n" msgstr " --nopubkey - जोड़े गये माध्यम की सामान्यजन कुँजी को इम्पोर्ट ना करना\n" #: ../urpmi.addmedia:68 msgid " --raw - add the media in config, but don't update it.\n" msgstr " --raw - संरचना में माध्यम को जोड़ना, परन्तु इसे अपडेट ना करना । \n" #: ../urpmi.addmedia:69 ../urpmi.removemedia:56 ../urpmi.update:46 msgid " -c - clean headers cache directory.\n" msgstr " -c - शीर्ष कैश निर्देशिका को स्वच्छ करें\n" #: ../urpmi.addmedia:70 ../urpmi.update:47 msgid " -f - force generation of hdlist files.\n" msgstr " -f - हार्डडिस्क सूची संचिकाओं का बल-पूर्वक निर्माण\n" #: ../urpmi.addmedia:82 #, c-format msgid "unable to update medium \"%s\"\n" msgstr "\"%s\" माध्यम को अपडेट करने में असमर्थ\n" #: ../urpmi.addmedia:115 msgid "Only superuser is allowed to add media" msgstr "सिर्फ़ महाउपयोगकर्ता को ही माध्यम को जोड़ने की अनुमति है" #: ../urpmi.addmedia:118 #, c-format msgid "Will create config file [%s]" msgstr "संरचना-संचिका [%s] का निर्माण करेगा" #: ../urpmi.addmedia:119 #, c-format msgid "Can't create config file [%s]" msgstr "संरचना-संचिका [%s] को निर्माण नहीं कर सकता है" #: ../urpmi.addmedia:126 msgid "no need to give <relative path of hdlist> with --distrib" msgstr "<हार्डडिस्क सूची का सापेक्ष पथ> --distrib के साथ देने की कोई आवश्यकता नहीं है" #: ../urpmi.addmedia:134 #, c-format msgid "" "\n" "Do you want to add media '%s'" msgstr "" #: ../urpmi.addmedia:163 msgid "<relative path of hdlist> missing\n" msgstr "<हार्डडिस्क सूची का सापेक्ष पथ> लुप्त है\n" #: ../urpmi.addmedia:165 msgid "`with' missing for network media\n" msgstr "नेटवर्क माध्यम `के साथ' विलुप्त\n" #: ../urpmi.addmedia:187 #, c-format msgid "unable to create medium \"%s\"\n" msgstr "\"%s\" माध्यम का निर्माण करने में असमर्थ\n" #: ../urpmi.recover:28 #, fuzzy, c-format msgid "" "urpmi.recover version %s\n" "Copyright (C) 2006 Mandriva.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "" "यू०आर०पी०एम०ई० संस्मरण %s\n" "सर्वाधिकार (C) १९९९-२००४ मैनड्रिव सॉफ़्ट ।\n" "यह एक मुक्त सॉफ़्टवेयर है और जी०एन०यू० सामान्य जन अधिकार-पत्र के अन्तर्गत पुनः वितरित " "किया जा सकता है।\n" "\n" "उपयोग विधि:\n" #: ../urpmi.recover:34 msgid " --checkpoint - set repackaging start now\n" msgstr "" #: ../urpmi.recover:35 #, fuzzy msgid " --noclean - don't clean repackage directory on checkpoint\n" msgstr " --noclean - कैश में से आरपीएमों की सफ़ाई ना करना\n" #: ../urpmi.recover:36 msgid "" " --list - list transactions since provided date/duration argument\n" msgstr "" #: ../urpmi.recover:37 #, fuzzy msgid " --list-all - list all transactions in rpmdb (long)\n" msgstr " --list-url - उपलब्ध माध्यमों और उनके यूआरएल को दिखायें\n" #: ../urpmi.recover:38 #, fuzzy msgid " --list-safe - list transactions since checkpoint\n" msgstr " --list-url - उपलब्ध माध्यमों और उनके यूआरएल को दिखायें\n" #: ../urpmi.recover:39 msgid "" " --rollback - rollback until specified date,\n" " or rollback the specified number of transactions\n" msgstr "" #: ../urpmi.recover:41 #, fuzzy msgid " --disable - turn off repackaging\n" msgstr " --name - सिर्फ़ पैकेजों के नामों को मुद्रित करें\n" #: ../urpmi.recover:56 #, c-format msgid "Invalid date or duration [%s]\n" msgstr "" #: ../urpmi.recover:64 #, fuzzy msgid "Repackage directory not defined\n" msgstr "%s पैकेज नहीं मिला" #: ../urpmi.recover:67 #, c-format msgid "Can't write to repackage directory [%s]\n" msgstr "" #: ../urpmi.recover:69 #, c-format msgid "Cleaning up repackage directory [%s]...\n" msgstr "" #: ../urpmi.recover:71 #, c-format msgid "%d files removed\n" msgstr "" #: ../urpmi.recover:81 #, c-format msgid "Spurious command-line arguments [%s]\n" msgstr "" #: ../urpmi.recover:83 msgid "You can't specify --checkpoint and --rollback at the same time\n" msgstr "" #: ../urpmi.recover:85 msgid "You can't specify --checkpoint and --list at the same time\n" msgstr "" #: ../urpmi.recover:87 msgid "You can't specify --rollback and --list at the same time\n" msgstr "" #: ../urpmi.recover:89 msgid "You can't specify --disable along with another option" msgstr "" #: ../urpmi.recover:114 #, c-format msgid "No transaction found since %s\n" msgstr "" #. - check we're running as root #: ../urpmi.recover:129 msgid "You must be superuser to do this" msgstr "" #. - write rpm config file #: ../urpmi.recover:142 ../urpmi.recover:208 #, fuzzy, c-format msgid "Writing rpm macros file [%s]...\n" msgstr "आर०पी०एम० संचिका [%s] को पुनः प्राप्त किया जा रहा है..." #: ../urpmi.recover:184 #, fuzzy msgid "No rollback date found\n" msgstr "कोई संचिकासूची नहीं मिली\n" #: ../urpmi.recover:187 #, c-format msgid "Rollback until %s...\n" msgstr "" #: ../urpmi.recover:194 msgid "Disabling repackaging\n" msgstr "" #: ../urpmi.removemedia:52 msgid "" "usage: urpmi.removemedia [-a] <name> ...\n" "where <name> is a medium name to remove.\n" msgstr "" "उपयोग विधि: urpmi.removemedia [-a] <नाम> ...\n" "जहाँ <नाम> एक माध्यम का नाम है जिसे हटाना है\n" #: ../urpmi.removemedia:55 msgid " -a - select all media.\n" msgstr " -a - सभी माध्यमों का चयन करें\n" #: ../urpmi.removemedia:57 msgid " -y - fuzzy match on media names.\n" msgstr " -y - माध्यम नामों में अस्पष्ट मेल\n" #: ../urpmi.removemedia:60 #, c-format msgid "" "\n" "unknown options '%s'\n" msgstr "" "\n" "अज्ञात विकल्प '%s'\n" #: ../urpmi.removemedia:70 msgid "Only superuser is allowed to remove media" msgstr "सिर्फ़ महाउपयोगकर्ता को ही माध्यम को हटाने की अनुमति है" #: ../urpmi.removemedia:81 msgid "nothing to remove (use urpmi.addmedia to add a media)\n" msgstr "" "हटाने को कुछ भी नहीं (urpmi.addmedia निर्देश का उपयोग एक माध्यम को जोड़ने के लिए करें)\n" #: ../urpmi.removemedia:83 #, c-format msgid "" "the entry to remove is missing\n" "(one of %s)\n" msgstr "" "हटायी जाने वाली प्रविष्टि लुप्त है\n" "(%s में से एक)\n" #: ../urpmi.update:29 msgid "" "usage: urpmi.update [options] <name> ...\n" "where <name> is a medium name to update.\n" msgstr "" "उपयोग विधि: urpmi.update [विकल्प] <नाम> ...\n" "जहाँ <नाम> एक माध्यम का नाम है जिसे अपडेट करना है\n" #: ../urpmi.update:39 msgid " --update - update only update media.\n" msgstr " --update - सिर्फ़ अपडेट माध्यम को अपडेट करें\n" #: ../urpmi.update:41 msgid " --force-key - force update of gpg key.\n" msgstr " --force-key - जीपीजी कुँजी का बलपूर्वक उन्नयन ।\n" #: ../urpmi.update:43 msgid " --ignore - don't update, mark the media as ignored.\n" msgstr "" " --ignore - अपडेट ना करना, माध्यम को भुला-दिया जैसा चिह्नन्ति करना ।\n" #: ../urpmi.update:44 msgid " --no-ignore - don't update, mark the media as enabled.\n" msgstr " --no-ignore - अपडेट ना करना, माध्यम को सक्रिय जैसा चिह्नन्ति करना ।\n" #: ../urpmi.update:45 msgid " -a - select all non-removable media.\n" msgstr " -a - सभी स्थिर माध्यमों का चयन करें\n" #: ../urpmi.update:68 msgid "Only superuser is allowed to update media" msgstr "सिर्फ़ महाउपयोगकर्ता को ही माध्यम को अपडेट करने की अनुमति है" #: ../urpmi.update:76 msgid "nothing to update (use urpmi.addmedia to add a media)\n" msgstr "" "अपडेट करने को कुछ भी नहीं (urpmi.addmedia निर्देश का उपयोग एक माध्यम को जोड़ने के लिए " "करें)\n" #: ../urpmi.update:94 #, c-format msgid "" "the entry to update is missing\n" "(one of %s)\n" msgstr "" "अपडेट की जाने वाली प्रविष्टि लुप्त है\n" "(%s में से एक)\n" #: ../urpmi.update:98 #, c-format msgid "\"%s\"" msgstr "\"%s\"" #: ../urpmi.update:99 #, c-format msgid "enabling media %s" msgstr "\"%s\" माध्यम को सक्रिय किया जा रहा है" #: ../urpmi.update:99 #, c-format msgid "ignoring media %s" msgstr "\"%s\" माध्यम की ओर ध्यान नहीं दिया जा रहा है" #: ../urpmq:39 #, fuzzy, c-format msgid "" "urpmq version %s\n" "Copyright (C) 2000-2006 Mandriva.\n" "This is free software and may be redistributed under the terms of the GNU " "GPL.\n" "\n" "usage:\n" msgstr "" "यू०आर०पी०एम०क्यू० संस्मरण %s\n" "सर्वाधिकार (C) २००२-२००५ मैनड्रिव सॉफ़्ट । \n" "यह एक मुक्त सॉफ़्टवेयर है और जी०एन०यू० सामान्य जन अधिकार-पत्र के अन्तर्गत पुनः वितरित " "किया जा सकता है।\n" "\n" "उपयोग विधि:\n" #: ../urpmq:47 msgid "" " --searchmedia - use only the given media to search requested (or updated) " "packages.\n" msgstr "" " --searchmedia - निवेदित (या अपडेट किये हुए) पैकेजों की खोज के लिए, सिर्फ़ दिए गए " "माध्यम का उपयोग करें ।\n" #: ../urpmq:52 msgid " --fuzzy - impose fuzzy search (same as -y).\n" msgstr " --fuzzy - अस्पष्ट खोज को लागू करें (-y जैसा)\n" #: ../urpmq:55 msgid " --list - list available packages.\n" msgstr " --list - उपलब्ध पैकेजों को दिखायें\n" #: ../urpmq:56 msgid " --list-media - list available media.\n" msgstr " --list-media - उपलब्ध माध्यमों को दिखायें\n" #: ../urpmq:57 msgid " --list-url - list available media and their url.\n" msgstr " --list-url - उपलब्ध माध्यमों और उनके यूआरएल को दिखायें\n" #: ../urpmq:58 msgid " --list-nodes - list available nodes when using --parallel.\n" msgstr "" " --list-nodes - उपलब्ध नोडस को दिखायें, जब --parallel विकल्प का उपयोग किया जा " "रहा हो\n" #: ../urpmq:59 msgid " --list-aliases - list available parallel aliases.\n" msgstr " --list-aliases - उपलब्ध समान्तर नामों को दिखायें\n" #: ../urpmq:60 msgid "" " --dump-config - dump the config in form of urpmi.addmedia argument.\n" msgstr "" " --dump-config - यूआरपीएमआई.एडमीडीया.आर्गूमेन्ट (urpmi.addmedia argument) के " "प्रारुप में संरचना को डम्प करना।\n" #: ../urpmq:61 msgid " --src - next package is a source package (same as -s).\n" msgstr " --src - अगला पैकेज एक स्रोत्र पैकेज है (-s जैसा)\n" #: ../urpmq:62 msgid "" " --sources - give all source packages before downloading (root only).\n" msgstr "" " --sources - सभी स्रोत्र पैकेजों को डॉउनलोड के पहिले दें (सिर्फ़ महाउपयोगकर्ता)\n" #: ../urpmq:64 #, fuzzy msgid " --ignorearch - allow to query rpms for unmatched architectures.\n" msgstr " --url - टैग यू०आर०एल० को मुद्रित करें:यू०आर०एल०\n" #: ../urpmq:66 msgid "" " --use-distrib - configure urpmi on the fly from a distrib tree.\n" " This permit to querying a distro.\n" msgstr "" " --use-distrib - एक वितरित वृक्ष के लिए यूआरपीएमआई की देखते-देखते संरचना।\n" " यह एक वितरण की पूछ-ताछ करने की अनुमति देता है।\n" #: ../urpmq:75 msgid " --changelog - print changelog.\n" msgstr " -changelog - परिवर्तन लॉग का मुद्रण\n" #: ../urpmq:76 msgid " --summary, -S - print summary.\n" msgstr " --summary, -S - सारांश को मुद्रित करना।\n" #: ../urpmq:78 msgid " -c - complete output with package to be removed.\n" msgstr " -c - सम्पूर्ण आउटपुट को पैकेज के साथ हटायें\n" #: ../urpmq:79 msgid " -d - extend query to package dependencies.\n" msgstr " -d - जाँच को पैकेज की अधिनताओं तक ले जायें\n" #: ../urpmq:81 msgid " -g - print groups with name also.\n" msgstr " -g - समूहों को नाम के साथ मुद्रित करें\n" #: ../urpmq:82 msgid " -i - print useful information in human readable form.\n" msgstr " -i - उपयोगी सूचनाओं का पठनीय रूप में मुद्रण\n" #: ../urpmq:83 msgid " -l - list files in package.\n" msgstr " -l - पैकेज में स्थित संचिकाओं की सूची।\n" #: ../urpmq:84 msgid "" " -P - do not search in provides to find package (default).\n" msgstr " -P - पूर्वनिर्दिष्टों में पैकेज को पाने के लिए ना खोजे (डिफ़ाल्ट)।\n" #: ../urpmq:85 msgid " -p - search in provides to find package.\n" msgstr " -p - पूर्वनिर्दिष्टों में पैकेज पाने के लिए खोज ।\n" #: ../urpmq:86 msgid " -r - print version and release with name also.\n" msgstr " -r - संस्मरण और विमोचन संख्या को नाम के साथ मुद्रित करें\n" #: ../urpmq:87 msgid " -R - reverse search to what requires package.\n" msgstr " -R - पैकेजों की जो आवश्यक है उससे विपरीत खोज करें\n" #: ../urpmq:88 msgid "" " -RR - extended reverse search (includes virtual packages).\n" msgstr "" " -RR - विपरीत खोज को विस्तृत करना (काल्पनिक पैकेजों को शामिल करके)।\n" #: ../urpmq:89 msgid " -s - next package is a source package (same as --src).\n" msgstr " -s - अगला पैकेज एक स्रोत्र पैकेज है (--src जैसा)\n" #: ../urpmq:90 msgid "" " -u - remove package if a more recent version is already " "installed.\n" msgstr "-u - पैकेज को हटायें यदि एक अत्यधिक नवीन संस्मरण पहिले सेसंसाधित है\n" #: ../urpmq:92 msgid " -y - impose fuzzy search (same as --fuzzy).\n" msgstr " -y - अस्पष्ट खोज को लागू करें (--fuzzy जैसा)\n" #: ../urpmq:93 msgid " -Y - like -y, but forces to match case-insensitively.\n" msgstr "" " -Y - -y जैसा, परन्तु बिना छोटे-बड़े शब्दों के आधार पर मिलान करने को " "बांधित करता है\n" #: ../urpmq:94 msgid " names or rpm files given on command line are queried.\n" msgstr " निर्देश वाक्य पर दिये हुए नामों या आर०पी०एम० संचिकाओं की जाँच की गई है\n" #: ../urpmq:170 msgid "--list-nodes can only be used with --parallel" msgstr "--list-nodes को सिर्फ़ --parallel के साथ उपयोग किया जा सकता है" #: ../urpmq:327 #, c-format msgid "skipping media %s: no hdlist" msgstr "%s माध्यम को छोड़ा जा रहा है: कोई एचडीसूची नहीं" #: ../urpmq:401 msgid "No filelist found\n" msgstr "कोई संचिकासूची नहीं मिली\n" #: ../urpmq:413 msgid "No changelog found\n" msgstr "कोई परिवर्तनलॉग नहीं मिला\n" #~ msgid "copying hdlists file..." #~ msgstr "हार्डडिस्क सूची संचिका की प्रतिलिपि बनाई जा रही है..." #~ msgid "invalid hdlist description \"%s\" in hdlists file" #~ msgstr "हार्डडिस्क सूची संचिका में अवैध हार्डडिस्क सूची विवरण \"%s\"" #~ msgid "Search" #~ msgstr "खोज" #~ msgid "Is this OK?" #~ msgstr "क्या यह ठीक है?" #~ msgid "" #~ " --version - use specified distribution version, the default is " #~ "taken\n" #~ " from the version of the distribution told by the\n" #~ " installed mandriva-release package.\n" #~ msgstr "" #~ " --version - निर्दिष्ट किया हुए वितरण का संस्मरण का उपयोग करें, डिफ़ॉल्ट " #~ "को, \n" #~ " मैनड्रिव विमोचित पैकेज के द्वारा बताये गये वितरण के संस्मरण\n" #~ " जैसा ले लिया गया है\n" #~ msgid "" #~ " --arch - use specified architecture, the default is arch of\n" #~ " mandriva-release package installed.\n" #~ msgstr "" #~ " --arch - निर्दिष्ट किया हुए शिल्प का उपयोग करें, डिफ़ॉल्ट मैनड्रिव " #~ "विमोचित पैकेजों को \n" #~ " संसाधित कर दिया गया है\n" #~ msgid "" #~ " --headers - extract headers for package listed from urpmi db to\n" #~ " stdout (root only).\n" #~ msgstr "" #~ " --headers - शीर्षकों को, यू०आर०पी०एम०आई० डी०बी० में सूचीबद्व पैकेज के लिए " #~ "एसटीडीआउट पर निकालें\n" #~ " (सिर्फ़ महाउपयोगकर्ता)\n" #~ msgid "" #~ "To satisfy dependencies, the following %d packages are going to be " #~ "installed (%d MB)" #~ msgstr "" #~ "आधीनताओं को सन्तुष्ट करने के लिए, निम्नलिखित %d पैकेजों का संसाधन होने जा रहा है (%d " #~ "एमबी)" #~ msgid "installing %s\n" #~ msgstr "%s का संसाधन किया जा रहा है\n" #~ msgid "" #~ "Automatic installation of packages...\n" #~ "You requested installation of package %s\n" #~ msgstr "" #~ "पैकेजों का स्वचालित संसाधन...\n" #~ "आपने %s पैकेजों के संसाधन का आग्रह किया है\n" #~ msgid "%s: command not found\n" #~ msgstr "%s: निर्देश नहीं मिला\n" #~ msgid "" #~ "Some package requested cannot be installed:\n" #~ "%s\n" #~ "Continue?" #~ msgstr "" #~ "निवेदित किये हुए कुछ पैकेज संसाधित नहीं किये जा सके:\n" #~ "%sजारी रहा जाएँ?" #~ msgid "" #~ "The following packages have to be removed for others to be upgraded:\n" #~ "%s\n" #~ "Continue?" #~ msgstr "" #~ "अन्य पैकजों को उन्नयन करने के लिए, निम्नलिखित पैकेजों हटाना होगा:\n" #~ "%sजारी रहा जाएँ?" #~ msgid "md5sum mismatch" #~ msgstr "एम०डी०५सम (md5sum) बेमेल" #~ msgid "" #~ "urpmf version %s\n" #~ "Copyright (C) 2002-2004 Mandriva.\n" #~ "This is free software and may be redistributed under the terms of the GNU " #~ "GPL.\n" #~ "\n" #~ "usage:\n" #~ msgstr "" #~ "यू०आर०पी०एम०एफ़० संस्मरण %s\n" #~ "सर्वाधिकार (C) २००२-२००४ मैनड्रिव सॉफ़्ट ।\n" #~ "यह एक मुक्त सॉफ़्टवेयर है और जी०एन०यू० सामान्य जन अधिकार-पत्रके अन्तर्गत पुनः वितरित " #~ "किया जा सकता है।\n" #~ "\n" #~ "उपयोग विधि:\n" #~ msgid " --synthesis - use the synthesis given instead of urpmi db.\n" #~ msgstr " --synthesis - कृत्रिमता का उपयोग यू०आर०पी०एम०आई०-डी०बी० के बजाय\n" #~ msgid "" #~ " --quiet - do not print tag name (default if no tag given on " #~ "command\n" #~ " line, incompatible with interactive mode).\n" #~ msgstr "" #~ " --quiet - टैग का नाम मुद्रित ना करें (सामान्यता, यदि कोई टैग निर्देश वाक्य " #~ "के साथ ना दिया हो,\n" #~ " परस्पर संपर्क (इन्टर-ऐक्टिव) मोड के साथ अयोग्य)\n" #~ msgid " --uniq - do not print identical lines.\n" #~ msgstr " --uniq - एक जैसे वाक्यों को मुद्रित ना करें\n" #~ msgid " --all - print all tags.\n" #~ msgstr " --all - सभी टैगों को मुद्रित करें\n" #~ msgid " --summary - print tag summary: summary.\n" #~ msgstr " --summary - टैग सारांश को मुद्रित करें: सारांश\n" #~ msgid " --description - print tag description: description.\n" #~ msgstr " --description - टैग विवरण मुद्रित करें: विवरण\n" #~ msgid " --buildhost - print tag buildhost: build host.\n" #~ msgstr "" #~ " --buildhost - टैग होस्ट निर्माणकर्ता को मुद्रित करना: होस्ट निर्माणकर्ता\n" #~ msgid " --provides - print tag provides: all provides.\n" #~ msgstr " --provides - टैग की उपलब्धियां मुद्रित करें: सभी उपलब्धियां\n" #~ msgid " --requires - print tag requires: all requires.\n" #~ msgstr "" #~ " --requires - टैग की आवश्यकताऐं मुद्रित करें: सभी आवश्यकताऐं (बहु-वाक्य)\n" #~ msgid " --files - print tag files: all files.\n" #~ msgstr " --files - टैग की संचिकाऐं मुद्रित करें: सभी संचिकाऐं \n" #~ msgid " --obsoletes - print tag obsoletes: all obsoletes.\n" #~ msgstr " --obsoletes - टैग के अप्रचलितों को मुद्रित करें: सभी लुप्तप्रयोग\n" #~ msgid "" #~ " --env - use specific environment (typically a bug\n" #~ " report).\n" #~ msgstr "" #~ " --env - विशिष्ट वातावरण का उपयोग (आदर्श रूप में एक दोष\n" #~ " रिपोर्ट)\n" #~ msgid " -i - ignore case distinctions in every pattern.\n" #~ msgstr " -i - सभी प्रतिरूपों में छोटे-बड़े शब्दों का ध्यान ना रखें\n" #~ msgid "" #~ " -a - binary AND operator, true if both expression are " #~ "true.\n" #~ msgstr "" #~ " -a - द्विआधारी \"और\" प्रवर्तक (ऑपरेटर), सत्य यदि दोनों " #~ "अभिव्यक्तियां सत्य है\n" #~ msgid "" #~ " -o - binary OR operator, true if one expression is true.\n" #~ msgstr "" #~ " -o - द्विआधारी \"या\" प्रवर्तक (ऑपरेटर), सत्य यदि एक अभिव्यक्ति " #~ "सत्य है\n" #~ msgid " ! - unary NOT, true if expression is false.\n" #~ msgstr " ! - एकल \"नहीं\", सत्य यदि अभिव्यक्ति असत्य है\n" #~ msgid " ( - left parenthesis to open group expression.\n" #~ msgstr " ( - बाँया कोष्टक का चिह्न समूह अभिव्यक्ति का खोलने के लिए\n" #~ msgid " ) - right parenthesis to close group expression.\n" #~ msgstr "" #~ " ) - दाहिना कोष्टक का चिह्न समूह अभिव्यक्ति का बंद करने के लिए\n" #~ msgid "" #~ "callback is:\n" #~ "%s\n" #~ msgstr "" #~ "यथास्थिति करने का निर्देश (कॉलबैक) %s\n" #~ "है\n" #~ msgid "" #~ "\n" #~ "Continue?" #~ msgstr "" #~ "\n" #~ "जारी रहा जाएँ?" #~ msgid "" #~ "Some package requested cannot be installed:\n" #~ "%s" #~ msgstr "" #~ "निवेदन किये हुए कुछ पैकेज संसाधित नहीं किये जा सके:\n" #~ "%s"