iterate-ch / cyberduck

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
https://cyberduck.io/
GNU General Public License v3.0
3.26k stars 290 forks source link

Duck cli broken after update to 7.1.2 (31675) #10866

Closed cyberduck closed 4 years ago

cyberduck commented 4 years ago

ef2996d created the issue

I use CyberDuck GUI and Duck CLI on 2 machines: Windows 8.1 and Windows 10. This morning I upgraded both GUI and CLI to 7.1.2 (31675) on both machines. The GUI seems to work on both machines, but CLI does not work on the Win 8.1 machine. The Duck CLI --version command works on both machines (Win 8.1 shown below):

C:\Users\Mark>duck --version
log4j:WARN No appenders could be found for logger (ch.cyberduck.core.preferences.Preferences).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Cyberduck 7.1.2 (31675). Registered to Mark Bax

But a simple list command works only on Win 10. The following command (access key changed to "xxxxxxxxxxxxxxxxxxxx") displays a listing on win 10, but on win 8.1, I get:

C:\Users\Mark>duck  -l  wasabisys://xxxxxxxxxxxxxxxxxxxx@Blaise-Backup/Magni/Diff/
log4j:WARN No appenders could be found for logger (ch.cyberduck.core.preferences.Preferences).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Unknown protocol in URI wasabisys://xxxxxxxxxxxxxxxxxxxx@Blaise-Backup/Magni/Diff/
Try 'duck --help' for more options.

Again, the exact same list command (copied and pasted) works on Win 10 but yields an "Unknown protocol" error on win 8.1.

What am I missing?

cyberduck commented 4 years ago

ef2996d commented

Never mind - my bad ... was using incorrect CLI syntax

cyberduck commented 4 years ago

b6381f1 commented

I’m getting this error with MacOS high Sierra, even with a simple ‘duck -version’.

cyberduck commented 4 years ago

ef2996d commented

UPDATE: I was wrong - the problem was not due to using incorrect CLI syntax. The problem I had occurred because I did not have a Cyberduck profile for the wasabi-west-1 region.

I copied the profile to the profiles folder of the CLI installation folder (in my case that is C:\Program Files\Cyberduck CLI\profiles). After that, everything worked as expected.

I think this happened because the now that the CLI is a 64-bit program, Windows MSI installs the CLI in C:\Program Files\Cyberduck CLI. I previously had the 32-bit CLI, which was installed in C:\Program Files (x86)\Cyberduck CLI, so the new installation did not have the profile.

cyberduck commented 4 years ago

ef2996d commented

UPDATE: I was wrong - the problem was not due to using incorrect CLI syntax. The problem I had occurred because I did not have a Cyberduck profile for the wasabi-west-1 region.

I copied the profile to the profiles folder of the CLI installation folder (in my case that is C:\Program Files\Cyberduck CLI\profiles). After that, everything worked as expected.

I think this happened because now that the CLI is a 64-bit program, Windows MSI installs the CLI in C:\Program Files\Cyberduck CLI. I previously had the 32-bit CLI, which was installed in C:\Program Files (x86)\Cyberduck CLI, so the new installation did not have the profile.

cyberduck commented 4 years ago

@AliveDevil commented

Did you manually install the profile to %ProgramFiles(x86)? Manually copying files to this location is not supported. Please use %AppData%\Cyberduck\Profiles.

How did you upgrade from an older version to the new one?

cyberduck commented 4 years ago

ef2996d commented

I manually copied the profiles to %ProgramFiles%\Cyberduck CLI\Profiles [not %ProgramFiles(x86)%], and the CLI does see and use them.

I also experimented a bit by creating the Profiles folder in %AppData%\Roaming\Cyberduck*, and moving the 2 Wasabi profiles (east-1 and west-1) from %ProgramFiles%\Cyberduck CLI\Profiles folder to the %AppData%\Roaming\Cyberduck\Profiles* folder. That also works, so the CLI apparently will look in both of these folders for profiles.

I ran the MSI installer to upgrade. It apparently installed 17 profiles to the %ProgramFiles%\Cyberduck CLI\Profiles folder (but not the Wasabi profiles, which is what caused my issue). Also note that the 64-bit MSI installer removed all files under the %ProgramFiles(86)%\Cyberduck CLI folder, except for the two Wasabi profiles in the Profiles subfolder, which I had manually copied there when I first installed the 32-bit CLI some 10 months ago. It also did not even create the %AppData%\Roaming\Cyberduck\Profiles folder.

That's why I moved the Wasabi profiles from the %ProgramFiles(86)% folder to the %ProgramFiles% folder, even though I read in the docs that the %APPDATA% location should be used. I figured "if that's where the installer puts profiles, I should use that folder too". And it did work ... :-)

So, should I move all of the profiles from the %ProgramFiles% folder to the %APPDATA% folder?

cyberduck commented 4 years ago

b6381f1 commented

I'm confused by this: the problem occurs on my Mac even when I simply use the cli to get version info. That seems unrelated to some Windows profile location issue.

cyberduck commented 4 years ago

ef2996d commented

Hi eponymous,

Sorry for any confusion ... I agree that you are not having the same problem as I had. I could get the version, but I could not get the CLI to access the Wasabi cloud service.

I started this ticket, and I discovered the problem and its solution, so I posted what I found. Sorry it does not help you!

cyberduck commented 4 years ago

b6381f1 commented

I don't think we do agree. I'll open a new ticket though.