Hi, Interestingly I faced the same trouble on an Ubuntu (mantic) system recently.
``` $ cvs --version Concurrent Versions System (CVS) 1.12.13-MirDebian-28 (client/server) Copyright (C) 2005 Free Software Foundation, Inc. Copyright (c) 2021 mirabilos <m...@mirbsd.org> Senior no longer active maintainers include Larry Jones, Derek R. Price, and Mark D. Baushke. Please see the AUTHORS and README files from the CVS distribution kit for a complete list of contributors and copyrights. CVS may be copied only under the terms of the GNU General Public License, a copy of which can be found with the CVS distribution kit. Specify the --help option for further information about CVS ``` Using :extssh: is working but no more is :ext:. So I needed to modify settings from the second to the first. No $CVS* env and no ~/.cvsrc file in my session. Here is what I am getting: ``` $ cvs -nttt -d:ext:MASKED1:MASKED2 co MASKED3 -> main: Session ID is 1006496ADEB4BADE746 -> parse_cvsroot (:ext:MASKED1:MASKED2) -> walklist ( list=0x563e3a553290, proc=0x563e38b89dc0, closure=(nil) ) -> main loop with CVSROOT=MASKED2 -> safe_location( where=(null) ) -> open_connection_to_server (:ext:MASKED1:MASKED2) -> Starting server: rsh -- MASKED1 cvs server cvs [checkout aborted]: cannot exec rsh: No such file or directory cvs [checkout aborted]: end of file from server (consult above messages if any) ``` contrary to: ``` $ cvs -nttt -d:extssh:MASKED1:MASKED2 co MASKED3 -> main: Session ID is 1006496AE034BB269BC -> parse_cvsroot (:extssh:MASKED1:MASKED2) -> walklist ( list=0x55c1108f9290, proc=0x55c110793dc0, closure=(nil) ) -> main loop with CVSROOT=MASKED2 -> safe_location( where=(null) ) -> open_connection_to_server (:extssh:MASKED1:MASKED2) -> Starting server: ssh -- MASKED1 cvs server -> walklist ( list=(nil), proc=0x55c1107726f0, closure=(nil) ) S -> serve_directory (.) S -> dirswitch (., MASKED2) S -> my_module (MASKED3, Updating, NULL, NULL) S -> serve_directory (.) S -> dirswitch (., MASKED2) S -> do_cvs_command (checkout) S -> server_notify() S -> CVS_SERVER_SLEEP not set. S -> safe_location( where=(null) ) S -> my_module (MASKED3, Updating, NULL, NULL) S -> checkout_proc ((null), (null), (null), 0, 0, MASKED3, Updating) S -> Create_Admin (., MASKED3, MASKED2/MASKED3, , , 0, 0, 1) S -> do_update ((null), (null), (null), 1, 0, 1, 0, 0, 0, 3, (null), (null), (null), (null), MASKED3, 1, MASKED2/MASKED3) S -> start_recursion ( fileproc=0x5641cfd6b9b0, filesdoneproc=0x5641cfd6acd0, direntproc=0x5641cfd6a950, dirleavproc=0x5641cfd6e5f0, callerdat=(nil), argc=0, argv=(nil), local=0, which=3, aflag=0, locktype=1, update_preload=MASKED3 dosrcs=1, repository_in=MASKED2/MASKED3 ) cvs checkout: in directory MASKED3: cvs [checkout aborted]: there is no version here; run 'cvs checkout' first S -> Lock_Cleanup() S -> remove_locks() S -> Simple_Lock_Cleanup() S -> server_cleanup() -> close_connection_to_server () S -> Lock_Cleanup() S -> remove_locks() S -> Simple_Lock_Cleanup() S -> server_cleanup() -> walklist ( list=0x55c1108f9290, proc=0x55c110793dc0, closure=(nil) ) ``` I don't know if it helps. Thanks, Patrice