tar добавляет в файл в архиве

Взгляните здесь, с помощью этого сообщения, я понял, что одна вещь, которая различает tmux клиенты - их tty но имена сессии tmux свойство сервера и является тем же, когда мы смотрим на имя сессии изнутри или снаружи a tmux клиент. Затем, мы можем использовать tmux info | head который отображает pid и tty клиента и pid сервера.

tmux info | grep $$ | grep -q `ps -p $$ -o tty=`

Следующее возвращаемое значение команды 0, если мы внутри a tmux клиент или не нуль, если мы работаем снаружи a tmux клиент. При выполнении его из сценария удостоверьтесь, что Вы используете ppid вместо $$, так как tty связан с процессом оболочки не скрипт, который Вы запускаете.

Один простой способ, но менее устойчивый, чтобы знать, внутри или снаружи ли мы tmux клиент путем рассмотрения ТЕРМИНА переменная среды. Кажется, что вне клиента это говорит, что 'xterm', но в нем говорит 'экран'. Однако я нахожу первый путь намного лучше.

2
17.12.2014, 16:35
3 ответа

Если data.txt - единственный файл в архиве tar, вы можете добавить его напрямую, просто не используя tar :

$ echo Hello | bzip2 > data.txt.bz2
$ echo Stack | bzip2 >> data.txt.bz2
$ echo Exchange | bzip2 >> data.txt.bz2
$ bunzip2 < data.txt.bz2
Hello
Stack
Exchange
2
27.01.2020, 22:00

Проверьте, установлена ли rosdep на вашем компьютере, в противном случае установите

sudo rosdep init

rosdep update

Затем попробуйте выполнить следующие действия, установив из apt-get

sudo apt-get install python-rosdep python-rosinstall python-rospkg python-empy python-nose
-121--244603-

См. промо-страницу Apple для получения информации о Thunderbolt. В нем также описывается, как можно связать устройства друг с другом вместо того, чтобы нуждаться в концентраторе или подобном. У меня сложилось впечатление, что горячее подключение таких устройств с цепями - это то, что не поддерживается linux commit; только отдельные устройства, какого бы типа они ни были.

-121--105531-

Вы можете добавить файлы в несжатый архив tar с помощью переключателя -добавить , например:

$ tar --append --file=tarfile.tar data.txt

Остерегайтесь последствий добавления нескольких файлов с одинаковыми именами в существующий архив:

http://www.gnu.org/software/tar/manual/html_node/append.html

Вы не можете, насколько мне известно, добавлять или обновлять файлы в сжатом архиве без его предварительной распаковки

1
27.01.2020, 22:00

Я могу подумать только о архиевой утилите.

1) Установите ArchiMount (если его еще не доступен на вашем компьютере). Это доступно в EPEL REPO.

2) Используйте команду Archivemount , чтобы установить файл TAR на любой из каталогов на вашем компьютере.

archivemount xyz.bzip2 / path / to / a / directory /

После установки вы сможете просматривать архив, как будто это обычный каталог. Оттуда вы можете редактировать / обновить или добавлять контент в свой файл, который находится в архиве.

Здесь У вас есть более подробная информация об использовании ArchiMount , а ниже - фрагмент от моего сервера, когда I ArchiMount Ed BZIP2 файл.

[root@server usr]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       15G  9.0G  5.1G  64% /
none            245M     0  245M   0% /dev/shm
[root@server usr]# archivemount puppet_codes.bzip2 /usr/local/archtest/
[root@server usr]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       15G  9.0G  5.1G  64% /
none            245M     0  245M   0% /dev/shm
archivemount   1000G     0 1000G   0% /usr/local/archtest
[root@server usr]# ls /usr/local/archtest
puppet_codes
[root@server usr]# cat /usr/local/archtest/puppet_codes/emaillist.txt
sreewave@example.com
sreewave@example.org
[root@server usr]#

Ниже приведен пакет, который я установил на моем сервере.

[root@server ~]# rpm -qi archivemount-0.8.1-2.el6.x86_64
Name        : archivemount                 Relocations: (not relocatable)
Version     : 0.8.1                             Vendor: Fedora Project
Release     : 2.el6                         Build Date: Sun Oct 13 17:06:30 2013
Install Date: Wed Dec 17 13:45:01 2014         Build Host: buildvm-04.phx2.fedoraproject.org
Group       : System Environment/Libraries   Source RPM: archivemount-0.8.1-2.el6.src.rpm
Size        : 70774                            License: LGPLv2+
Signature   : RSA/8, Sun Oct 13 18:43:34 2013, Key ID 3b49df2a0608b895
Packager    : Fedora Project
URL         : http://www.cybernoia.de/software/archivemount/
Summary     : FUSE based filesystem for mounting compressed archives
Description :
Archivemount is a piece of glue code between libarchive and FUSE. It can be
used to mount a (possibly compressed) archive (as in .tar.gz or .tar.bz2)
and use it like an ordinary filesystem.
1
27.01.2020, 22:00

Теги

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