我有一个创建tar.gz的bash脚本,然后加密然后发送到驱动器。但是之后我无法打开.tar.gz。这是我的过程...
加密的Bash脚本。
#!/bin/sh
# tar the automysqlbackup directory
tar -zcf "red-backup-$(date '+%Y-%m-%d').tar.gz" /var/lib/automysqlbackup/
# encrypt the tar
openssl aes-256-cbc -a -salt -in "red-backup-$(date '+%Y-%m-%d').tar.gz" -out "red-backup-$(date '+%Y-%m-%d').tar.gz.enc" -pass 'pass:MySecretPWD'
# remove the original tar
rm -rf "red-backup-$(date '+%Y-%m-%d').tar.gz"
# upload to google drive
gdrive upload --file "red-backup-$(date '+%Y-%m-%d').tar.gz.enc" -p "jofhriout849uioejfoiu09"
然后我下载文件并使用
sudo openssl aes-256-cbc -e -in red-backup-2016-09-22.tar.gz.enc -out red-backup-2016-09-22.tar.gz
然后我输入我的文件的密码两次,现在我得到一个名为的文件
red-backup-2016-09-22.tar.gz
当我尝试
时sudo tar -zxvf red-backup-2016-09-22.tar.gz
并获取
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
我也尝试重命名.tar文件并尝试
sudo tar xvf red-backup-2016-09-22.tar.gz
和
sudo tar xvf red-backup-2016-09-22.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
我出错的任何想法?
答案 0 :(得分:25)
这意味着该文件实际上并不是一个gzip压缩文件 - 或任何类型的gzip压缩文件 - 尽管它被命名为一个。
当您使用wget
下载文件时,请检查Length: unspecified [text/html]
这样的指示,表明它是纯文本(文本),并且它应该被解释为html。检查下面的wget
输出 -
[root@XXXXX opt]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz"
--2017-10-12 12:39:40-- http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
Resolving download.oracle.com (download.oracle.com)... 23.72.136.27, 23.72.136.67
Connecting to download.oracle.com (download.oracle.com)|23.72.136.27|:80... connected.
HTTP request sent, awaiting response... 302 Not Allowed
Location: http://XXXX/FAQs/URLFiltering/ProxyWarning.html [following]
--2017-10-12 12:39:40-- http://XXXX/FAQs/URLFiltering/ProxyWarning.html
Resolving XXXX (XXXXX)... XXX.XX.XX.XXX
Connecting to XXXX (XXXX)|XXX.XX.XX.XXX|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17121 (17K) [text/html]
Saving to: ‘jdk-8u144-linux-x64.tar.gz’
100%[=========================================================================================================================================================================>] 17,121 --.-K/s in 0.05s
2017-10-12 12:39:40 (349 KB/s) - ‘jdk-8u144-linux-x64.tar.gz’ saved [17121/17121]
这类确认您没有收到gzip文件。
对于正确的文件,wget
输出会显示类似Length: 185515842 (177M) [application/x-gzip]
的内容,如下面的输出所示 -
[root@txcdtl01ss270n opt]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz"
--2017-10-12 12:50:06-- http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
Resolving download.oracle.com (download.oracle.com)... XX.XXX.XX.XX, XX.XX.XXX.XX
Connecting to download.oracle.com (download.oracle.com)|XX.XX.XXX.XX|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz [following]
--2017-10-12 12:50:06-- https://edelivery.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
Resolving edelivery.oracle.com (edelivery.oracle.com)... XXX.XX.XXX.XX, 2600:1404:16:188::2d3e, 2600:1404:16:180::2d3e
Connecting to edelivery.oracle.com (edelivery.oracle.com)|XXX.XX.XX.XXX|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1507827127_f44251ebbb44c6e61e7f202677f94afd [following]
--2017-10-12 12:50:07-- http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1507827127_f44251ebbb44c6e61
Connecting to download.oracle.com (download.oracle.com)|XX.XX.XXX.XX|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 185515842 (177M) [application/x-gzip]
Saving to: ‘jdk-8u144-linux-x64.tar.gz’
100%[=========================================================================================================================================================================>] 185,515,842 6.60MB/s in 28s
2017-10-12 12:50:34 (6.43 MB/s) - ‘jdk-8u144-linux-x64.tar.gz’ saved [185515842/185515842]
以上显示已下载正确的gzip
应用程序文件。
您还可以file
,head
,less
,view
实用程序来检查文件。例如,HTML文件将提供以下输出 -
[root@XXXXXX opt]# head jdk-8u144-linux-x64.tar.gz
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/css/print.css" rel="stylesheet" media="print">
<link href="/css/main.css" rel="stylesheet" media="screen">
<link href="/css/font-awesome.min.css" rel="stylesheet">
以上显示它确实是一个HTML页面,我们正试图解压缩/解压缩 - 这是无效的。如果它确实是一个正确的zip文件(本质上是二进制文件),head
的输出会产生垃圾 - 如下所示 -
[root@XXXX opt]# head jdk-8u144-linux-x64.tar.gz
x�rY�[ms�F������ڍtіl���DR���Ŋ��j
$�$,`0�h�_����/��=�@Q�w+��ձ*�Hbfz�{�~�{�i�x��k����}����z���w����g�����{��;{s����w����7�N����i�
�����}
�¿g��������ק���7��s�����폺î߹�����~i��j�/�����#���=��=>��߿{}��|�������������3���X���]9�ޠ����u�����%ğ�<^)�H�8�F�R�t�o�L�u��S%�ds5�2_EZn�t^��
�N3��(��<��|'�q���R�N�gq�Uv!�ۻ�p���rL��M��u��.�Q�5�T��BNw�!$��<>�7G'$�,Mt4WY�Gi"�=��p�)�VIN3����\ek��0��G
�<L�c�ē�t-���2���G:Ϣia��I�<ʋg3���d�H����[2`�<I�A�6�W��<��C�������h��A0QL�2�4�-*
�x���Е�t%t1��f�>+A͂�,Lr�
�Fe:MBH��ɩ�
C�Q�r�S��<M�b�<,5���@���s��݉c��sp�f�=g��?��k���4�}��kh)�¹Z��#d�*{���-�.N�)�e��s:�H(VQ��3*�$2��rϨv�"o�_��!A�������B�l=A�|��@��0��1��5��4g�
�
���Se����H[2�����t��5�Df����$1���b$� h�Op����!Lvb!p��b�8^�Y���n�
O��Ԫ߱��|��lW�lu��*�N�M���
�/�^0~�~�#��q��������K��;�d���aw4����ݎ'�~�7��ky�o���������t�'k��f����!vo���'o��� �.�Pn\�
�+��K"FA{����n2����v��!/Ok��r4�c5�x$'�.�&w�!�%�ޠo������2���i
�a0��Ag�d����GH)G7~�g���b��%�b��rt�m~� �����t0�� <������������5�q�t��K(��+Z<��=���:1�\�x�p=t�`��G@F�� i�����p8�����H.���dMLE��e[�`�'n��*h[��;�0w'��6A�١M�x�fpeB>&���MO�������`�@á/�"�����(��^���n��=����5��@�Mx��d:\YAn���]|�w>��S��FA9�J�k!�@�
尝试从官方网站下载并检查其下载链接是否已更改。另外,请检查您的代理设置,并确保已启用正确的代理,以便从正确的来源下载/ wget
。
希望这会有所帮助。
答案 1 :(得分:3)
首先通过此命令检查压缩类型
**file name_name.tgz**
O / P-如果输出是&#34; XZ压缩数据&#34;
然后使用此命令解压缩文件
**tar xf archive.tar.xz**
**tar xf archive.tar.gz**
**tar xf archive.tar**
答案 2 :(得分:3)
只需首先单击该链接,然后转到HTML页面,其中是实际的下载或镜像。
拥有完整链接的情况确实令人误解,当它实际上指向实际下载链接所在的HTML页面时,该链接以.tgz结尾。 我在下载Apache Spark并将其放入Ubuntu时遇到了问题。
https://spark.apache.org/downloads.html
答案 3 :(得分:0)
cd /Whatever/Directory/Path/The/File/Is/In
chmod +x xampp-linux-x64-7.0.6-0-installer.run
sudo ./xampp-linux-x64-7.0.6-0-installer.run
它有效
有关更多信息,请参阅 https://forums.linuxmint.com/viewtopic.php?t=223639
答案 4 :(得分:0)
首先,使用以下命令检查压缩类型:
file <file_name>
如果输出是Posix压缩文件,请使用以下命令解压缩:
tar xvf <file_name>
答案 5 :(得分:0)
sudo tar -xvzf ./PhpStorm-2018.3.4.tar.gz
答案 6 :(得分:0)
我有同样的问题。 它已损坏存档文件...
答案 7 :(得分:0)
在结尾wget命令中添加“-O file.tgz” 或“-O file.tar.gz” ,并提取“ file.tgz” 或“ file.tar.gz”
这是google colab的示例代码-
!wget -q --trust-server-names https://downloads.apache.org/spark/spark-3.0.0/spark-3.0.0-bin-hadoop2.7.tgz -O file.tgz
print("Download completed successfully !!!")
!tar zxvf file.tgz
注意-请确保tgz的http路径有效且文件未损坏
答案 8 :(得分:0)
有时会错误地将 .gz
扩展名附加到文件名。
file foo.csv.gz
以了解实际文件类型。foo.csv
或任何实际文件类型。答案 9 :(得分:-1)
UNXZ 为我工作
Customer.findOne({}).populate({ path: 'created_by', model: User })
答案 10 :(得分:-2)
这可能是因为你的gzip版本不兼容。
首先检查以下几点:
哪个gzip
/ usr / bin / gzip或/ bin / gzip
应该是/ bin / gzip或/ usr / bin / gzip。如果您的gzip指向其他一些gzip应用程序,请尝试从PATH env变量中删除该路径。
接下来是
gzip -V
gzip 1.3.5 (2002-09-30)
使用这些检查点可以解决您的问题。