[問題] 請問 7z 內檔案檔名太長怎解?

看板Linux作者 (海海海)時間1年前 (2022/09/20 17:58), 1年前編輯推噓15(15039)
留言54則, 16人參與, 1年前最新討論串1/1
以下是我在 CLI 運行所跑出的訊息,因為太長我換很多行: ERROR: Can not open output file : 檔名太長 : ./mqkwi0400/视图 /V/一望无际的大海全裸是一种享受裸露爱好普通人看来是变态行为不 为人所接受有谁能明白全裸只是一种放松的自由并没有想象中的龌蹉 和色情用平常心看待来到这世上不就是身不着片缕吗为自己活一回不 在意别人的评价在合法范围内喜欢什么做什么需要这样的一个圈子 _1426359595241406465_720x1280.mp4 ERROR: Can not open output file : 檔名太長 : ./mqkwi0400/视图 /V/线下见个面吃个饭相互认识一下在考虑拉进群一起玩这样可以一起 玩的放心不至于混进去别有用心的人但凡线下见过都能加微信不收任 何门槛只是为了群成员的安全需要细致筛选值得信任的人一起玩那些 耍嘴炮的别有用心的最好别私信我不约炮不做猥琐的事情 _1438568717764366338_720x1280.mp4 Sub items Errors: 19 Archives with Errors: 1 Sub items Errors: 19 請問在 Linux 上面要怎麼解呢?我在 File Roller 內嘗試改名無效。 真好奇當初他們怎麼打包的,明明 NTFS 和 EXT4 都是 255 bytes。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.86.23 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1663667900.A.1E3.html

09/20 18:05, 1年前 , 1F
"檔名"
09/20 18:05, 1F

09/20 18:06, 1年前 , 2F
檔案給我上車試試
09/20 18:06, 2F

09/20 18:06, 1年前 , 3F
對呀,檔名太長呀
09/20 18:06, 3F

09/20 18:07, 1年前 , 4F
我看看
09/20 18:07, 4F
https://shorturl.at/cGJP4 密碼絕對不是捌伍貳零 ※ 編輯: s9209122222 (1.174.86.23 臺灣), 09/20/2022 18:14:31 ※ 編輯: s9209122222 (1.174.86.23 臺灣), 09/20/2022 18:15:57

09/20 18:18, 1年前 , 5F
求解……
09/20 18:18, 5F

09/20 18:52, 1年前 , 6F
在win11上解倒沒問題...
09/20 18:52, 6F

09/20 18:53, 1年前 , 7F
我到底看了什麼...
09/20 18:53, 7F

09/20 20:41, 1年前 , 8F
什麼!9 部影片都沒問題嗎?
09/20 20:41, 8F

09/20 20:41, 1年前 , 9F
難不成是 Linux 的 ext4 太落後了嗎?
09/20 20:41, 9F

09/20 21:15, 1年前 , 10F
剛看 7z 有個 rn 指令好像可以改檔名,不過我沒用過。
09/20 21:15, 10F

09/20 21:16, 1年前 , 11F
另外 Windows 的 255 不是 bytes 吧,應該是 UTF-16 code
09/20 21:16, 11F

09/20 21:18, 1年前 , 12F
units 吧。以第一個檔名來說,UTF-16 比 UTF-8 省空間,
09/20 21:18, 12F

09/20 21:19, 1年前 , 13F
UTF-16 302 bytes(151 code units)、UTF-8 387 bytes。
09/20 21:19, 13F

09/20 21:49, 1年前 , 14F
好奇那是什麼單位,ext4 查了確實是 byte
09/20 21:49, 14F

09/20 21:57, 1年前 , 15F
在 Linux 下一般都用 UTF-8 編碼,用 byte 算字串長度。
09/20 21:57, 15F

09/20 21:58, 1年前 , 16F
但在 Windows 下常常是用 UTF-16 編碼,以 16 bits 為單
09/20 21:58, 16F

09/20 22:00, 1年前 , 17F
位計算長度,也就是轉成 UTF-16 編碼後 byte 數除以 2。
09/20 22:00, 17F

09/20 22:49, 1年前 , 18F
中文一個 char 大概 3bytes,自己算算有沒有超過吧
09/20 22:49, 18F

09/21 09:33, 1年前 , 19F
快速瞄一眼內文還沒看推文前以為這篇是進階版本的救援性
09/21 09:33, 19F

09/21 09:33, 1年前 , 20F
交易訊息. 後來看了推文, 還是沒有減少我的疑慮 XD
09/21 09:33, 20F

09/21 11:26, 1年前 , 21F
蛤?
09/21 11:26, 21F

09/21 12:28, 1年前 , 22F
我是說付錢救援,請人解決問題 XD 故意用雙關語
09/21 12:28, 22F

09/21 13:14, 1年前 , 23F
結論就是檔名長度這點ext4確實上限低於NTFS
09/21 13:14, 23F

09/21 13:14, 1年前 , 24F
解壓縮時指定存在NTFS分割區大概就解得出來了
09/21 13:14, 24F

09/21 15:27, 1年前 , 25F
ext4 和 NTFS 的預設定義都是 255。會有差別是編碼的
09/21 15:27, 25F

09/21 15:28, 1年前 , 26F
長度(所佔空間)的問題。BTW,win10 以後有變動。
09/21 15:28, 26F

09/21 15:30, 1年前 , 27F
win 是用 wide char 系統。linux 是用 multiple-byte
09/21 15:30, 27F

09/21 15:30, 1年前 , 28F
跟ext4 無關,你能在linux disk 出現這個檔案就表示ext4
09/21 15:30, 28F

09/21 15:30, 1年前 , 29F
char 系統。因此他們的 encoding length 不一樣。
09/21 15:30, 29F

09/21 15:31, 1年前 , 30F
能處理這樣的檔名阿.是跟你的那個7z 程式有關
09/21 15:31, 30F

09/21 15:36, 1年前 , 31F
喔,抱歉我誤會了,我以為你是要把mp4檔案壓縮到zip裡
09/21 15:36, 31F

09/21 16:09, 1年前 , 32F
悲劇,沒有 NTFS 的磁區
09/21 16:09, 32F

09/21 18:21, 1年前 , 33F
你可以開個 NTFS 映像檔,或是試試看直接修改壓縮檔內的
09/21 18:21, 33F

09/21 18:21, 1年前 , 34F
檔名。
09/21 18:21, 34F

09/21 19:12, 1年前 , 35F
可以用 qemu-img 開 qcow2 然後用 qemu-nbd 掛來測
09/21 19:12, 35F

09/21 19:12, 1年前 , 36F
當然直接掛 raw image 也可以,只是覺得 qcow2 比較方便
09/21 19:12, 36F

09/22 08:47, 1年前 , 37F
試過7z的rn功能可行,使用的時候要記得加上壓縮檔內的
09/22 08:47, 37F

09/22 08:49, 1年前 , 38F
目錄名稱,不過這樣改滿累的,另一個方法是做一個1GB的
09/22 08:49, 38F

09/22 08:50, 1年前 , 39F
檔案,再格式化成ntfs,再mount它,然後在ntfs裡解壓縮
09/22 08:50, 39F

09/22 08:51, 1年前 , 40F
dd if=/dev/zero of=test.disk bs=1024 count=1M
09/22 08:51, 40F

09/22 08:51, 1年前 , 41F
sudo mkfs.ntfs -F ./test.disk
09/22 08:51, 41F

09/22 08:53, 1年前 , 42F
sudo mount -o uid=自己的帳號 test.disk 7z-test
09/22 08:53, 42F

09/22 08:53, 1年前 , 43F
cd 7z-test
09/22 08:53, 43F

09/22 08:54, 1年前 , 44F
然後就可以直接用7z解壓縮了
09/22 08:54, 44F

09/22 08:59, 1年前 , 45F
不用 dd 吧。truncate -s 1G test.disk
09/22 08:59, 45F

09/22 23:08, 1年前 , 46F
即使改用NTFS,可能還是會先踩到 Linux VFS 的檔名255長度限制
09/22 23:08, 46F

09/22 23:40, 1年前 , 47F
可以吧?linux NTFS 是由 FUSE 操控。問題是 ucs2
09/22 23:40, 47F

09/22 23:41, 1年前 , 48F
base。不是純正的 UTF16 base。
09/22 23:41, 48F

09/23 09:28, 1年前 , 49F
fuse 是說 ntfs-3g 吧。5.15 之後有新的 ntfs3
09/23 09:28, 49F

09/23 11:21, 1年前 , 50F
是的,是指預設、傳統的 ntfs-3g。
09/23 11:21, 50F

09/25 06:32, 1年前 , 51F
loop monunt
09/25 06:32, 51F

09/25 19:26, 1年前 , 52F
不愧是小企鵝版 50推了只有一個求上車沒歪樓
09/25 19:26, 52F

09/25 21:44, 1年前 , 53F
我猜大家都私下上車了
09/25 21:44, 53F

09/26 10:32, 1年前 , 54F
意圖使人下載... PS: Mac 可以正常解開
09/26 10:32, 54F
文章代碼(AID): #1ZAOwy7Z (Linux)