Как преобразовать файл tar от формата гну до формата мира

Это - очень широкий вопрос, нет единственного популярного инструмента, который делает все. Люди, которые делают это для живущего использования набор существующих инструментов (некоторый открытый исходный код, некоторые не), расположенный и настроенный к их симпатии, плюс несколько самодельных.

Для отображения сети используйте nmap. Это идет со множеством опций (включая “лавинную рассылку подсети с ping”, но также и намного более полезными настройками). При выполнении этого, потому что Вы обнаруживаете сеть, графическое представление информации, что nmap обнаруживает, может быть полезным; судите Cheops или Fe3d, и не упустите достижения по NmapDiag.

Вот несколько связанных вопросов на Отказе сервера:

При поиске уязвимостей именем, которое выделяется, является Nessus.

Вот несколько связанных вопросов на Exchange Стопки безопасности:

Для наблюдения, куда пакеты идут до досягаемости хост используйте traceroute или вариант такой как traceroute6,tracepathortcptraceroute', в зависимости от который протокол Вы интересуетесь.

Для надлежащей оценки пропускной способности Вы испытываете необходимость в сотрудничестве от другого конца. Лучший способ измерить сетевую пропускную способность состоит в том, чтобы сделать это с самим приложением. Если Вы не добираетесь так, как Вы надеялись, нет никакого чудодейственного средства, необходимо будет проверить от различных точек и протестировать, являются ли сам сервер или некоторый сетевой канал узким местом.

7
27.09.2012, 06:36
3 ответа

Можно сделать это использование bsdtar:

ire@localhost: bsdtar -cvf pax.tar --format=pax @gnu.tar
ire@localhost:file gnu.tar
gnu.tar: POSIX tar archive (GNU)
ire@localhost:file pax.tar
pax.tar: POSIX tar archive

@archive волшебная опция. Из страницы справочника:

@archive
     (c and r mode only) The specified archive is opened and the
     entries in it will be appended to the current archive.  As a sim-
     ple example,
       tar -c -f - newfile @original.tar
     writes a new archive to standard output containing a file newfile
     and all of the entries from original.tar.  In contrast,
       tar -c -f - newfile original.tar
     creates a new archive with only two entries.  Similarly,
       tar -czf - --format pax @-
     reads an archive from standard input (whose format will be deter-
     mined automatically) and converts it into a gzip-compressed pax-
     format archive on stdout.  In this way, tar can be used to con-
     vert archives from one format to another.
6
27.01.2020, 20:16
  • 1
    , почему tar гну не может сделать той простой и очевидной вещи? +1 –  Serge 27.09.2012, 08:13

Пользователь Random832 записал:

[...] создайте пустой файл tar [...]
Отказ от ответственности: Я не протестировал этот сценарий.

Да благословит вас Господь! Вы дали мне идеи. Я протестировал Ваш сценарий, но если кто-то создает пустой файл tar, tar не рассматривает это "posix tar" файл. Таким образом, я записал сценарий, который создает "posix tar" файл с чем-то внутри и наконец удаляет его. Я назвал это "gnu2posix", люди могут использовать его свободно:

#!/bin/bash
set -o nounset

### // Convert a tar file, from the "gnu tar" format to the "posix tar" one (which in Windows, for example, allows seeing correctly all of the utf-8 characters of the names of the files)

NAME_PROGRAM=$(basename "$0")

alert() {
  echo "$@" >&2 ;
}

alert_about_usage() {
echo "The usage of this program is: $NAME_PROGRAM FILE_TO_CONVERT RESULTING_FILE" >&2
}

if [[ $# != 2 ]]; then
    alert "ERROR: the program \"$NAME_PROGRAM\" needs two arguments, but it has received: $#." 
    alert_about_usage
    exit 1;
fi

file_to_convert="$1"

if [[ ! -f "$file_to_convert" ]]; then
    error "ERROR: the program \"$NAME_PROGRAM\" can't access any file with this path: \"$file_to_convert\"."
    alert_about_usage
    exit 1;
fi

resulting_file="$2"

# // Create a file with something inside, in this case, the "." folder (without its contents). This way, a real "posix tar" is created
tar --format=posix -cf "$resulting_file" . --no-recursion

# // Add "$file_to_convert", finally getting a "posix tar" file
tar -Avf "$resulting_file" "$file_to_convert"  

# // Just in case, delete the "." folder from the file
tar -f "$resulting_file" --delete "."


# // End of file
3
27.01.2020, 20:16

Tar гну имеет "связать" опцию, но требует, чтобы целевой архив уже существовал из-за случая надлежащего использования.

tar --format=posix -cvf converted.tar --files-from=/dev/null # create an empty tar file
tar --format=posix -Avf converted.tar original.tar

Отказ от ответственности: Я не протестировал этот сценарий.

2
27.01.2020, 20:16
  • 1
    Из документации у меня создалось впечатление, это создало бы недопустимые файлы tar, если бы исходные и целевые форматы отличались, но я не протестировал это. –  ire_and_curses 27.09.2012, 23:59

Теги

Похожие вопросы