Thursday 20 July 2017

Gkermit Binary Options


Gkermit (1) - Página do manual do Linux gkermit - G-Kermit (GNU Kermit) 1.00 software de transferência de arquivos. Descrição G-Kermit é um programa UNIX para transferir arquivos usando o protocolo Kermit. G-Kermit é um produto do Projeto Kermit na Universidade de Columbia. É software livre sob a GNU Public License. Consulte o arquivo COPYING para obter detalhes. INVOCAÇÃO G-KERMIT O binário G-Kermit é chamado gkermit. Ele deve ser armazenado em algum lugar em seu UNIX PATH normalmente está disponível como / usr / local / bin / gkermit. Para executar G-Kermit, basta digitar gkermit seguido por opções de linha de comando que dizem o que fazer. Se nenhuma opção for fornecida, ela imprimirá uma mensagem de uso listando as opções disponíveis. Se uma opção toma um argumento, o argumento é necessário se uma opção não tiver um argumento, nenhum argumento pode ser dado (exceção: - d). As opções de ação são - r, - s e - g. Somente uma opção de ação pode ser dada. Se nenhuma opção de ação for dada, o G-Kermit não faz nada (exceto possivelmente para imprimir sua mensagem de uso ou criar um arquivo debug. log). Aqui estão alguns exemplos (é o prompt do shell): As opções que não levam argumentos podem ser empacotadas com outras opções. Uma opção que leva um argumento deve sempre ser seguida por um espaço e, em seguida, seu argumento (s). Exemplos: OPÇÕES DE LINHA DE COMANDO Você pode fornecer opções para o G-Kermit na linha de comando ou através da variável de ambiente GKERMIT, que pode conter quaisquer opções de linha de comando gkermit válidas. Elas são processadas antes das opções de linha de comando reais e, portanto, podem ser substituídas por elas. Exemplo de bash ou ksh, que você pode colocar em seu perfil se quiser manter arquivos incompletos, suprimir streaming, suprimir mensagens e usar a paridade de espaço: MECÂNICA DE TRANSFERÊNCIA DE ARQUIVOS Para transferir arquivos com G-Kermit você deve estar conectado através de um Emulador de terminal para o sistema UNIX onde G-Kermit está em execução, o que significa que você está online para UNIX e ter acesso ao prompt do shell (ou a um menu que tem uma opção para invocar G-Kermit). A conexão pode ser serial (direta ou discada) ou rede (Telnet, Rlogin, X.25, etc). Quando você diz ao G-Kermit para ENVIAR um arquivo (ou arquivos), p. Com: pausa por um segundo e, em seguida, envia seu primeiro pacote. O que acontece a seguir depende das capacidades do seu emulador de terminal: Se o seu emulador suporta autodescargas Kermit, ele recebe o arquivo automaticamente e o coloca de volta na tela do terminal quando terminar. Caso contrário, você precisará tomar qualquer ação necessária ao seu emulador para chamar sua atenção: uma ação do mouse, um toque de tecla como Alt-x ou uma seqüência de caracteres como Ctrl ou Ctrl seguido da letra c (isso é chamado de escapar de volta ) E, em seguida, dizer-lhe para receber o arquivo. Quando a transferência estiver concluída, você deve instruir seu emulador para voltar para a tela do terminal. Durante a transferência de arquivos, a maioria dos emuladores de terminal colocam algum tipo de exibição em execução do progresso de transferência de arquivos. Quando você diz G-Kermit para RECEIVE (com gkermit - r), isso requer que você escapar de volta para o seu emulador de terminal e instruí-lo a enviar o (s) arquivo (s) desejado (s). Se o seu emulador de terminal suporta Kermit autodownloads eo modo de servidor Kermit, então você pode usar GET (gkermit - g files.) Ao invés de RECEIVE (gkermit - r), eo resto acontece automaticamente, como quando o G-Kermit está enviando. INTERRUPÇÃO DA TRANSFERÊNCIA DE ARQUIVOS G-Kermit suporta interrupção de arquivo e grupo. O método para interromper uma transferência depende do seu emulador de terminal. Por exemplo, enquanto a exibição de transferência de arquivos estiver ativa, você pode digitar a letra x para cancelar o arquivo atual e ir para o próximo (se houver) ea letra z para cancelar o grupo. Ou pode haver botões que você pode clicar com o mouse. Quando o G-Kermit está no modo de pacote e seu emulador de terminal está em sua tela de terminal, você também pode digitar três (3) caracteres Ctrl-C em uma linha para fazer G-Kermit sair e restaurar os modos de terminal normais. TEXTO E MODO DE TRANSFERÊNCIA BINÁRIA Ao enviar arquivos no modo binário, o G-Kermit envia cada byte exatamente como está armazenado no disco. Este modo é apropriado para binários de programa, arquivos gráficos, arquivos tar, arquivos compactados, etc, e é o modo de transferência de arquivos padrão do G-Kermits ao enviar. Ao receber arquivos em modo binário, o G-Kermit simplesmente copia cada byte para o disco. (Obviamente, os bytes são codificados para a transmissão, mas os procedimentos de codificação e decodificação dão uma réplica do arquivo original após a transferência.) Ao enviar arquivos no modo de texto, o G-Kermit converte o formato de registro para o comum definido para o Kermit , Ou seja, linhas terminadas por retorno de carro e avanço de linha (CRLF), o receptor converte os CRLFs para qualquer convenção de linha ou formato de registro usada em sua plataforma. Ao receber arquivos no modo de texto, G-Kermit simplesmente tira retornos de carro, deixando apenas um linefeed no final de cada linha, que é a convenção UNIX. Ao receber arquivos, o modo de transferência de remetentes (texto ou binário) predomina se o remetente dá essas informações ao G-Kermit em um pacote de Atributo de Arquivo Kermit, o que, obviamente, depende se o protocolo Kermit dos emuladores de terminal possui esse recurso. Caso contrário, se você deu uma opção - i ou - T na linha de comando gkermit, o modo correspondente é usado caso contrário o modo padrão (binário) é usado. Além disso, ao enviar ou receber, G-Kermit e seus emuladores de terminal Kermit podem informar uns aos outros sobre seu tipo de sistema operacional (UNIX no caso G-Kermits). Se o seu emulador suporta esta capacidade, que é chamado de reconhecimento automático de pares, e diz G-Kermit que sua plataforma também é UNIX, G-Kermit e os emuladores Kermit alternar automaticamente no modo binário, já que nenhuma conversão de formato de registro é necessária neste caso. O reconhecimento automático de pares é desativado automaticamente se você incluir a opção - i (imagem) ou - T (texto). Ao enviar, G-Kermit envia todos os arquivos no mesmo modo, texto ou binário. Não há troca automática de modo por arquivo. No entanto, ao receber, a troca por arquivo ocorre automaticamente com base nos pacotes Atributo recebidos, se houver (explicado abaixo), que acompanham cada arquivo. PATHNAMES Ao ENVIAR um arquivo, o G-Kermit obtém os nomes dos arquivos a partir da linha de comando. Depende do shell para expandir metacaracteres (curingas e til). O G-Kermit usa o caminho completo dado para localizar e abrir o arquivo, mas tira o nome do caminho antes de enviar o nome para o receptor. Por exemplo: resultados no receptor recebendo um arquivo chamado HOSTS ou hosts (a parte do diretório, / etc /, é removida). No entanto, se um nome de caminho estiver incluído na opção - a, a parte do diretório não será removida: Este exemplo envia o arquivo / etc / hosts, mas informa ao receptor que seu nome é / tmp / hosts. O que o receptor faz com o nome do caminho é, naturalmente, até o receptor, que pode ter várias opções para lidar com os caminhos de entrada. Ao RECEBER um arquivo, o G-Kermit NÃO tira o nome do caminho. Se o nome de arquivo de entrada incluir um caminho, o G-Kermit tentará armazenar o arquivo no local especificado. Se o caminho não existir, a transferência falhará. O caminho de entrada pode, obviamente, ser substituído com a opção - a. CONVERÇÃO DE FILENAME Ao enviar um arquivo, o G-Kermit normalmente converte os nomes de arquivos de saída para o formato comum: maiúscula, não mais de um ponto e nenhum caractere engraçado. Assim, por exemplo, gkermit. tar. gz seria enviado como GKERMITTAR. GZ. Ao receber um arquivo, se o nome for todo maiúsculo, G-Kermit o converterá em minúsculas. Se o nome contém letras minúsculas, G-Kermit deixa o nome sozinho. Se o recurso de reconhecimento automático de pares estiver disponível no emulador de terminal e o G-Kermit reconhecer a plataforma de emuladores como UNIX, o G-Kermit desabilita automaticamente a conversão de nome de arquivo e envia e aceita nomes de arquivos literalmente. Você pode forçar nomes de arquivos literais incluindo a opção - P na linha de comando. COLLISIONS FILENAME Quando o G-Kermit recebe um arquivo cujo nome é o mesmo de um arquivo existente, o G-Kermit faz backup do arquivo existente adicionando um sufixo único ao seu nome. O sufixo é. , Em que n é um número. Esse tipo de sufixo de backup é compatível com GNU EMACS e várias outras aplicações populares. Para anular o recurso de backup e ter arquivos de entrada sobrescrevendo arquivos existentes do mesmo nome, inclua a opção - w (writeover) na linha de comando. Valores de Retorno G-Kermit restaura um código de status de saída de 0 se todas as ações tiverem êxito e 1 se alguma ação falhar. Notas de Implementação O G-Kermit foi projetado para ser pequeno, portátil e estável, e destina-se a ser usado somente na extremidade distante de uma conexão que não faz conexões propriamente ditas, embora possa ser usado como um protocolo externo por outros programas que fazem Fazer conexões. Para mantê-lo pequeno e estável, ele não inclui janelas deslizantes, um comando ou linguagem de script ou tradução de caracteres. Para mantê-lo portátil e estável, evita o uso de serviços do sistema que não são padronizados em todas as variedades do UNIX e, portanto, em particular, não suporta timestamps de arquivos, expansão interna de curingas e outros recursos que não são implementados de forma consistente (ou mesmo) Em todos os UNIXes. Ambiente Uma variável de ambiente GKERMIT pode ser definida (por exemplo, no perfil do shell) para incluir as opções de linha de comando do G-Kermit, estas são processadas pelo G-Kermit antes de quaisquer opções especificadas na linha de comando e, portanto, Linha opções. Diagnóstico Se ocorrer um erro durante a transferência de arquivos, o G-Kermit envia um pacote de erro ao seu emulador de terminal para cancelar a transferência, uma mensagem de erro apropriada deve ser exibida na tela. As transferências de arquivos podem falhar por várias razões: Falta de acesso de leitura a um arquivo de origem. Falta de acesso de escrita a um diretório de destino. Falta de controle de fluxo adequado. Uso de transmissão em fluxo contínuo em uma conexão não confiável. Unprefixing excessivo de caracteres de controle. Envio de dados de 8 bits nua em uma conexão de 7 bits. Pacotes muito tempo para receptores buffers. Intervalo de tempo limite demasiado curto para a ligação. E muitos outros estes são cobertos nas referências. Referências O protocolo Kermit é especificado em Kermit, A File Transfer Protocol por Frank da Cruz, Digital Press (1987). Uma prova de correção do protocolo Kermit aparece em Specification and Validation Methods, editado por Egon Boerger, Oxford University Press (1995). Usando C-Kermit por Frank da Cruz e Christine M. Gianone, a Digital Press (1997, ou edição posterior) explica muitos dos termos e técnicas aqui referenciados caso você não esteja familiarizado com eles, e também inclui tutoriais sobre comunicações de dados, Solução de problemas e dicas de desempenho, etc Vários outros livros sobre Kermit estão disponíveis a partir de Digital Press. Os recursos on-line incluem: Consulte também o arquivo README distribuído com o G-Kermit para obter mais detalhes. Ele também pode ser encontrado em ftp://kermit. columbia. edu/kermit/g/README. A velocidade de transferência de um arquivo depende não somente da velocidade dos dois computadores envolvidos e das características da conexão, mas também das capacidades e configuração dos dois programas Kermit. Kermit é um protocolo rápido e confiável, mas nem todas as implementações dele são necessariamente rápidas ou confiáveis. Nonstreaming transferências em uma conexão TCP / IP pode ser excessivamente lento se uma ou ambas as pilhas TCP / IP usa os truques Nagle ou atrasado ACK. O streaming é usado automaticamente se o outro Kermit o suportar. Ao receber arquivos no modo de texto, o G-Kermit tira todos os retornos de carro, mesmo que eles não sejam seguidos por linefeed. Os arquivos de backups não são garantidos para ter o número mais alto em seu sufixo de backup. Frank da Cruz, Projeto Kermit, Universidade de Columbia, New York City, dezembro de 1999. Referenciado ByG - K e r m i t 1. 0 0 Esta página foi atualizada: Fri Jan 3 11:53:42 2003 226 binários e contando. G-Kermit é um programa Unix para transferir arquivos com o protocolo Kermit. G-Kermit é um produto do projeto de Kermit na universidade de Colômbia em New York City. É software livre sob a GNU General Public License. Consulte o arquivo COPYING para obter detalhes. Embora G-Kermit tenha sido escrito para Unix, estamos começando a ver portas dele para plataformas não-Unix, até agora incluindo OS / 2 e CP / M-68K. Este software é OSI Certified Open Source Software. OSI Certified é uma marca de certificação da Open Source Initiative. G-Kermit é: Rápido Pequeno Portátil Fácil de usar Interoperável Baixa manutenção Estável e confiável Os recursos incluem: Transferência de texto e binário em conexões de 7 bits e 8 bits Arquivos podem ser transferidos individualmente ou em grupos Configuração de inicialização automática via ambiente GKERMIT Variável Configuração como um protocolo externo Os recursos do protocolo Kermit incluem: Reconhecimento automático de pares Transmissão em conexões confiáveis ​​Comprimento de pacote selecionável, 40 a 9000 bytes (4000 padrão) Deslocamentos simples para dados de 8 bits em conexões de 7 bits Prefixo de caractere de controle para controle de caracteres Transparência Unprefixing do controle-caráter para a velocidade aumentada (entrada somente) Compressão de bytes repetidos Per-file e cancelamento do grupo Características selecionáveis ​​na linha de comando: Transferência do texto ou do modo binário Conversão do nome de arquivo on / off Filename colisão backup contra sobrescrever Manter ou descartar incompletely received files Packet Comprimento Tempo de espera do pacote Controle de fluxo Paridade Streaming Mensagens Depuração Recursos não incluídos (consulte a Seção 14): Fazendo conexões Tradução de caracteres Conversão de comandos interativos e scripts Fechamento de carimbos de data e hora G-Kermit está sempre na extremidade de uma conexão em um sistema Unix Que você fez uma conexão a partir de um emulador de terminal por dialup, rede ou serial direto. Se você tiver uma conexão serial direta ou dial-up no Unix, use o comando stty - a ou stty all para ver se o driver do terminal Unix está condicionado para o tipo apropriado de controle de fluxo se não for, muito poucos aplicativos (incluindo gkermit) funcionarão Bem, ou em tudo. O comando para definir o controle de fluxo de terminal varia de plataforma para plataforma, mas geralmente é algo como isto: (onde está o prompt do shell) para controle de fluxo de hardware RTS / CTS ou: para controle de fluxo de software Xon / Xoff. Quando você tem uma conexão de rede, o controle de fluxo geralmente não é motivo de preocupação, pois o protocolo de rede (TCP ou X.25) cuida dele automaticamente, mas em determinadas plataformas (como HP-UX), o TCP / IP Telnet ou O servidor Rlogin usa isso para o controle de fluxo entre ele próprio e o pseudoterminal subjacente no qual sua sessão é executada, então Xon / Xoff pode ser necessário também para essas sessões. O binário G-Kermit é chamado gkermit. Ele deve ser armazenado em algum lugar no seu Unix PATH, como / usr / local / bin / gkermit ou em algum lugar na árvore / opt no System V R4. Para executar G-Kermit, basta digitar gkermit seguido por opções de linha de comando que dizem o que fazer. Se nenhuma opção for dada, o G-Kermit imprime uma mensagem de uso listando as opções disponíveis: Se uma opção toma um argumento, o argumento é necessário se uma opção não tiver um argumento, nenhum argumento pode ser dado (exceções: - d pode ou Pode não tomar um argumento - s pode tomar um ou mais argumentos). As opções de ação são - r. - s. E - g. Somente uma opção de ação pode ser dada. Se nenhuma opção de ação for dada, o G-Kermit não faz nada (exceto possivelmente imprimindo sua mensagem de uso ou criando um arquivo debug. log). Aqui estão alguns exemplos (no qual é o prompt do shell): Opções que não aceitam argumentos podem ser empacotadas com outras opções. Uma opção que leva um argumento deve sempre ser seguida por um espaço e, em seguida, seu argumento (s). Exemplos: O status de saída do G-Kermits é 0 se todas as operações tiverem êxito e 1 se houver falhas. Se um grupo de arquivos foi transferido, o status de saída é 1 se um ou mais arquivos não foram transferidos com êxito e 0 se todos eles foram transferidos com êxito. - r RECEIVE: Esta opção pede ao G-Kermit para receber um arquivo ou arquivos que é, para esperar passivamente para você enviar arquivos do seu emulador de terminal. - s fn SEND: Isso indica ao G-Kermit para enviar o arquivo ou arquivos especificados por fn. Que pode ser um nome de arquivo, uma expressão regular ou uma lista de nomes de arquivos e / ou expressões regulares (curingas). Expressões regulares são interpretadas e expandidas por seu shell na lista de nomes de arquivos que é dada a G-Kermit. Por exemplo. c expande para uma lista de todos os arquivos no diretório atual cujos nomes terminam com. c. - g fn GET: Esta opção indica ao G-Kermit para obter um arquivo (ou arquivos) de um servidor Kermit. É útil somente quando seu emulador de terminal suporta o recurso de autodescarga Kermit E ele inclui um modo de servidor Kermit. É equivalente a gkermit - r, escapar de volta, dizendo ao seu emulador de terminal para enviar os arquivos dados e, em seguida, reconectando para Unix. - a fn AS-NAME: Quando usado com - s. Esta opção indica ao G-Kermit para enviar o arquivo cujo nome é dado como o argumento first - s sob o nome fn. Por exemplo, gkermit - s jogo-um trabalho envia o arquivo chamado jogo sob o nome de trabalho, de modo que o receptor vai pensar que seu nome é trabalho. Quando fornecido com o comando - r ou - g, o arquivo de entrada (ou o primeiro arquivo de entrada, se houver mais de um) é armazenado sob o nome fn. Em todos os casos, o nome dado é usado como-é ele não é convertido. - i IMAGE (modo binário) transferência de modo. Quando usado com - s. Diz ao G-Kermit para enviar em modo binário. Quando usado com - r. Indica ao G-Kermit para receber no modo binário se o remetente do arquivo não especificar o modo de transferência (texto ou binário). Quando usado com - g. Diz ao G-Kermit para pedir aos seus emuladores de terminal Kermit para enviar o arquivo dado no modo binário. Consulte a Seção 6 para obter detalhes. - T transferência de modo TEXT (nota T maiúscula). Quando usado com - s. Diz ao G-Kermit para enviar no modo de texto. Quando usado com - r. Indica ao G-Kermit para receber no modo de texto se o remetente do arquivo não especificar o modo de transferência (texto ou binário). Quando usado com - g. Diz ao G-Kermit para pedir aos seus emuladores Kermit para enviar o arquivo dado no modo de texto. Consulte a Seção 6 para obter detalhes. - P PATH (nome de arquivo) conversão desativada (nota maiúscula P). Normalmente, ao enviar arquivos, o G-Kermit converte nomes de arquivos em um formulário que deve ser aceitável para plataformas não Unix, principalmente alterando letras minúsculas para maiúsculas, garantindo que não haja mais de um período e substituindo quaisquer caracteres engraçados por X ou underscore (explicado Na Secção 8). - w WRITEOVER. Ao receber e um arquivo recebido tem o mesmo nome de um arquivo existente, escreva sobre o arquivo existente. Por padrão, o G-Kermit faz backup do arquivo existente adicionando um sufixo ao seu nome (consulte a Seção 9). - K MANTENHA arquivos incompletamente recebidos. Normalmente, ao receber arquivos, e uma transferência de arquivo é interrompida, G-Kermit descarta o arquivo parcialmente recebido para que você não vai pensar que você tem todo o arquivo. Inclua - K na linha de comando para dizer ao G-Kermit para manter arquivos parcialmente recebidos, p. Gkermit - Kr. - px PARIDADE: Use o tipo de paridade dado, onde x pode ser n para None (que é o padrão, para uso em conexões de 8 bits limpas) s para Espaço, e para Even, o para Odd e m para Mark . S pode ser necessário em determinadas conexões Telnet e, o, e m são apenas para conexões seriais não experimentá-los em conexões TCP / IP. - en PACKET LENGTH: recebe o comprimento do pacote, onde n pode ser qualquer número entre 40 e 9000. O comprimento padrão na maioria das plataformas é 4000. Use esta opção para especificar um comprimento diferente normalmente isso seria necessário somente se as transferências falham usando o padrão Devido a algum tipo de problema de buffer no hospedeiro ou ao longo do caminho de comunicação. Exemplo: gkermit - e 240 - r. - b n TIMEOUT (seg, 0 nenhum). Especifique o número de segundos para aguardar um pacote antes de expirar e retransmitir. Por padrão, o G-Kermit usa qualquer intervalo de tempo limite que seus emuladores de terminal Kermit pedem para usar. Não é necessário alterar isso, a menos que a ação de tempo limite cause problemas. - x XON / XOFF. Force Xon / Xoff controle de fluxo no driver de terminal Unix. Tente isso se os uploads falharem sem ele. Mas não usá-lo se você não precisa em algumas plataformas ou conexões que dói em vez de ajuda. --x Não forçar Xon / Xoff para uso quando G-Kermit foi criado com a opção de compilação SETXONXOFF (Seção 12), para substituir a configuração automática de Xon / Xoff no caso de interferir com as transferências de arquivos. - S STREAMING desabilitado. O streaming é uma opção de alto desempenho para ser usado em conexões confiáveis, como nas sessões Telnet ou Rlogin. Ele é usado se seus emuladores de terminal Kermit o solicitarem. Use a opção - S (nota: maiúsculas S) para suprimir esse recurso no caso de causar problemas. Detalhes na Seção 10. - X PROTOCOLO EXTERNO. Inclua essa opção ao invocar o G-Kermit de outro programa que redireciona o i / o padrão do G-Kermits, p. Através de uma ligação a outro computador. Se você omitir essa opção ao usar o G-Kermit como um protocolo externo para outro programa de comunicações, o G-Kermit provavelmente executará operações ilegais e sairá prematuramente. Se você incluir essa opção quando o G-Kermit NÃO for um protocolo externo para outro programa, as transferências de arquivos falharão. O G-Kermit não tem como determinar automaticamente se está sendo usado como um protocolo externo. - Q QUIET. Suprime mensagens. - d DEBUG. Use isso para solucionar problemas. Ele cria um arquivo chamado debug. log no seu diretório atual, para ser usado em conjunto com o código-fonte ou enviado para o endereço de suporte Kermit para análise. Mais sobre isso na Seção 11. - d fn DEBUG para o arquivo especificado (em vez de padrão ./debug. log). - h HELP: Exibe a mensagem de uso mostrada acima. Você pode fornecer opções para o G-Kermit na linha de comando ou através da variável de ambiente GKERMIT, que pode conter quaisquer opções de linha de comando gkermit válidas. Elas são processadas antes das opções de linha de comando reais e, portanto, podem ser substituídas por elas. Exemplo de bash ou ksh, que você pode colocar no seu perfil se quiser manter arquivos incompletos, suprimir streaming, suprimir mensagens e usar Paridade de espaço: As opções do G-Kermits são compatíveis com o C-Kermits, com as seguintes exceções: P (disponível somente no C-Kermit 7.0 e posterior) - K (atualmente não usado em C-Kermit) - b (usado em C-Kermit para velocidade do dispositivo serial) - S (usado em C-Kermit para forçar um prompt de comando interativo ) - x (usado no C-Kermit para iniciar o modo servidor) - x (atualmente não usado no C-Kermit) - X (atualmente não usado no C-Kermit) Para transferir arquivos com o G-Kermit, você deve estar conectado através de um Emulador de terminal para o sistema Unix onde G-Kermit está instalado, o que significa que você está online para Unix e ter acesso ao prompt do shell (ou a algum menu que tem uma opção para invocar G-Kermit), e seu emulador de terminal deve apoiar o Kermit Protocolo de transferência de arquivos. A conexão pode ser serial (direta ou discada) ou rede (Telnet, Rlogin, X.25, etc). Enviando Arquivos Quando você diz ao G-Kermit para ENVIAR um arquivo (ou arquivos), ex. Com: pausa por um segundo e, em seguida, envia seu primeiro pacote. O que acontece a seguir depende das capacidades do seu emulador de terminal: Se o seu emulador suporta autodescargas Kermit, ele recebe o arquivo automaticamente e o coloca de volta na tela do terminal quando terminar. Caso contrário, você precisará tomar qualquer ação necessária para o seu emulador chamar sua atenção: uma ação do mouse, uma tecla como Alt-x. Ou uma seqüência de caracteres como Ctrl - ou Ctrl - seguido pela letra c (isso é chamado de escapar de volta) e, em seguida, dizer-lhe para receber o arquivo. Quando a transferência estiver concluída, poderá ter de instruir o emulador para voltar ao ecrã do terminal. Durante a transferência de arquivos, a maioria dos emuladores de terminal colocam algum tipo de exibição em execução do progresso de transferência de arquivos. Recebendo Arquivos Quando você diz ao G-Kermit para RECEIVE, isto requer que você escape de volta ao seu emulador de terminal e instrua-o a enviar o (s) arquivo (s) desejado (s). Autodownload não é eficaz neste maiúsculas e minúsculas. Quando a transferência estiver concluída, você precisará instruir seu emulador para retornar à tela do terminal. Obtendo arquivos Se o seu emulador de terminal suporta Kermit autodownloads E o modo servidor, você pode usar GET (gkermit - g files.) Ao invés de RECEIVE (gkermit - r) eo resto acontece automaticamente, como quando o G-Kermit está enviando. G-Kermit suporta interrupção de arquivo e grupo. O método para interromper uma transferência depende do seu emulador de terminal. Por exemplo, enquanto a exibição de transferência de arquivos estiver ativa, você pode digitar a letra x para cancelar o arquivo atual e ir para o próximo (se houver) ea letra z para cancelar o grupo. Ou pode haver botões que você pode clicar com o mouse. Quando o G-Kermit está no modo de pacote e seu emulador de terminal está em sua tela de terminal, você também pode digitar três (3) caracteres Ctrl-C em uma linha para fazer G-Kermit sair e restaurar os modos de terminal normais. Ao enviar arquivos no modo binário, o G-Kermit envia cada byte exatamente como aparece no arquivo. Este modo é apropriado para binários de programa, arquivos gráficos, arquivos tar, arquivos compactados, etc, e é o modo de transferência de arquivos padrão do G-Kermits ao enviar. Ao receber arquivos em modo binário, o G-Kermit simplesmente copia cada byte para o disco. (Obviamente, os bytes são codificados para a transmissão, mas os procedimentos de codificação e decodificação dão uma réplica do arquivo original após a transferência.) Ao enviar arquivos no modo de texto, o G-Kermit converte o formato de registro para o comum definido para o Kermit Protocolo, ou seja, linhas terminadas por retorno de carro e alimentação de linha (CRLF), o receptor converte os CRLFs para qualquer convenção de linha ou formato de registro usada em sua plataforma. Ao receber arquivos no modo de texto, G-Kermit simplesmente tira os retornos de carro, deixando apenas um linefeed no final de cada linha, que é a convenção Unix. Ao receber arquivos, o modo de transferência de remetentes (texto ou binário) predomina se o remetente dá essas informações ao G-Kermit em um pacote de Atributo de Arquivo Kermit, o que, obviamente, depende se o protocolo Kermit dos emuladores de terminal possui esse recurso. Caso contrário, se você deu uma opção - i ou - T na linha de comando gkermit, o modo correspondente é usado caso contrário o modo padrão (binário) é usado. Além disso, ao enviar ou receber, o G-Kermit e seus emuladores de terminal Kermit podem informar uns aos outros sobre o tipo de OS (Unix no caso G-Kermits). Se o seu emulador suporta esta capacidade, que é chamado de reconhecimento automático de pares, e diz a G-Kermit que sua plataforma também é Unix, G-Kermit e os emuladores Kermit alternar automaticamente para o modo binário, uma vez que nenhuma conversão de formato de registro é necessária neste caso. O reconhecimento automático de pares é desativado automaticamente se você incluir a opção - i (imagem) ou - T (texto). Ao enviar, G-Kermit envia todos os arquivos no mesmo modo, texto ou binário. Não há troca automática de modo por arquivo. No entanto, ao receber, a troca por arquivo ocorre automaticamente com base nos pacotes de Atributo recebidos, se houver (explicado abaixo), que acompanham cada arquivo, portanto, se o remetente do arquivo alternar os tipos entre os arquivos, o G-Kermit acompanha. Ao ENVIAR um arquivo, o G-Kermit obtém os nomes de arquivos a partir da linha de comando. Depende do shell para expandir metacaracteres (curingas e til). O G-Kermit usa o caminho completo dado para localizar e abrir o arquivo, mas tira o nome do caminho antes de enviar o nome para o receptor. Por exemplo: resultados em um arquivo de chegada chamado HOSTS ou hosts (a parte do diretório, / etc /, é removida veja a próxima seção sobre capitalização). No entanto, se um nome de caminho estiver incluído na opção - a, a parte do diretório não será removida: Este exemplo envia o arquivo / etc / hosts, mas informa ao receptor que seu nome é / tmp / hosts. O que o receptor faz com o nome do caminho é, naturalmente, até o receptor, que pode ter várias opções para lidar com os caminhos de entrada. Ao RECEBER um arquivo, o G-Kermit NÃO tira o nome do caminho, uma vez que os arquivos recebidos normalmente não incluem um nome de caminho, a menos que você tenha dito ao seu terminal para incluí-los ou deu um nome como um caminho ao enviar para G-Kermit. Se o nome de arquivo de entrada incluir um caminho, o G-Kermit tentará armazenar o arquivo no local especificado. Se o caminho não existir, a transferência falhará. O nome de arquivo de entrada pode, obviamente, ser substituído com a opção - a. Ao enviar um arquivo, o G-Kermit normalmente converte os nomes de arquivos de saída para a forma comum: maiúscula, não mais de um período e sem caracteres engraçados. Assim, por exemplo, gkermit. tar. gz seria enviado como GKERMITTAR. GZ. Ao receber um arquivo, se o nome for todo maiúsculo, G-Kermit o converterá em minúsculas. Se o nome contém letras minúsculas, G-Kermit deixa o nome sozinho. Caso contrário, o G-Kermit aceita caracteres de nome de arquivo como eles são, já que o Unix permite que nomes de arquivos contenham praticamente qualquer caractere. Se o recurso de reconhecimento automático de pares estiver disponível no emulador de terminal e o G-Kermit reconhecer a plataforma de emuladores como Unix, o G-Kermit desabilita automaticamente a conversão de nome de arquivo e envia e aceita nomes de arquivos literalmente. Você pode forçar nomes de arquivos literais incluindo a opção - P na linha de comando. Quando o G-Kermit recebe um arquivo cujo nome é o mesmo de um arquivo existente, o G-Kermit faz o backup do arquivo existente adicionando um sufixo único ao seu nome. O sufixo é. , Onde n é um número entre 1 e 999. Este é o mesmo tipo de sufixo de backup usado pelo GNU EMACS e C-Kermit (ambos podem ser usados ​​para apagar arquivos de backup em excesso). Mas como o G-Kermit não lê diretórios (ver Notas de Implementação), não pode garantir que o número escolhido será maior do que qualquer outro número de prefixo de backup para o mesmo arquivo. Na verdade, o primeiro número livre, a partir de 1, é escolhido. Se um arquivo de entrada já tiver um sufixo de backup, o G-Kermit o removerá antes de adicionar um novo, em vez de criar um arquivo com dois sufixos de backup. Para anular o recurso de backup e ter arquivos de entrada sobrescrevendo arquivos existentes do mesmo nome, inclua a opção - w (writeover) na linha de comando. Se o G-Kermit não tiver recebido a opção - w e falhar ao criar um arquivo de backup, a transferência falhará. Verificação de bloqueio O G-Kermit usa o CRC de 3 bytes e 16 bits por padrão. Se o outro Kermit não concordar, ambos Kermits automaticamente cair para baixo para o único-byte de 6 bits checksum que é exigido de todas as implementações Kermit. Atributos Ao enviar arquivos, o G-Kermit transmite o modo de transferência de arquivos eo tamanho do arquivo em bytes para o receptor em um pacote de Atributo (A) se o uso de pacotes A foi negociado. Isso permite que o receptor mude para o modo apropriado automaticamente e para exibir a porcentagem feita, o tempo estimado restante e / ou uma barra de termômetro, se tiver essa capacidade. Ao receber, o G-Kermit olha para o pacote A entrante, se houver, para o modo de transferência (texto ou binário) e alterna-se de acordo com uma base por arquivo. Manuseio do Oitavo Bit G-Kermit normalmente trata o 8º bit de cada byte como um bit de dados normal. Mas se você tiver uma conexão de 7 bits, as transferências de arquivos de 8 bits falharão, a menos que você diga a um ou a ambos os Kermits que usam o tipo de paridade apropriado, caso em que Kermit usa o deslocamento de um único deslocamento para bytes de 8 bits. Geralmente, dizer Kermit é suficiente ele diz o outro. Use a opção - p para dizer a G-Kermit qual paridade usar. Deslocamentos de bloqueio não estão incluídos no G-Kermit. Codificação de caracteres de controle G-Kermit escapa todos os caracteres de controle ao enviar (por exemplo, Ctrl-A se torna A). Ao receber, aceita ambos os caracteres de controle escapados e nus, incluindo NUL (0). However, unescaped control characters always present a danger, so if uploads to G-Kermit fail, tell your terminal emulators Kermit to escape most or all control characters (in C-Kermit and Kermit 95 the command is SET PREFIXING CAUTIOUS or SET PREFIXING ALL). Packet Length All legal packet lengths, 40-9000, are supported although a lower maximum might be imposed on platforms where it is known that bigger ones dont work. When receiving, G-Kermit sends its receive packet length to the sender, and the sender must not send packets any longer than this length. The default length for most platforms is 4000 and it may be overridden with the - e command-line option. Sliding Windows G-Kermit does not support sliding windows. Streaming is used instead. If the other Kermit bids to use sliding windows, G-Kermit declines. Streaming If the terminal emulators Kermit informs G-Kermit that it has a reliable connection (such as TCP/IP or X.25), and the emulators Kermit supports streaming, then a special form of the Kermit protocol is used in which data packets are not acknowledged this allows the sender to transmit a steady stream of (framed and checksummed) data to the receiver without waiting for acknowledgements, allowing the fastest possible transfers. Streaming overcomes such obstacles as long round trip delays, unnecessary retransmissions on slow network connections, and most especially the TCP/IP Nagle and Delayed ACK heuristics which are deadly to a higher-level ACK/NAK protocol. When streaming is in use on a particular connection, Kermit speeds are comparable to FTP. The drawback of streaming is that transmission errors are fatal thats why streaming is only used on reliable connections, which, by definition, guarantee there will be no transmission errors. However, watch out for the relatively rare circumstance in which the emulator thinks it has a reliable connection when it doesnt -- for example a Telnet connection to a terminal server, and a dialout from the terminal server to the host. Use the - S option on the command line to defeat streaming in such situations. Using all defaults on a TCP/IP connection on 10BaseT (10Mbps) Ethernet from a modern Kermit program like C-Kermit 7.0 or Kermit 95, typical transfer rates are 150-1000Kcps, depending on the speed of the two computers and the network load. If file transfers fail: Make sure your terminal emulator is not unprefixing control characters various control characters might cause trouble along the communication path. When in doubt, instruct the file sender to prefix all control characters (e. g. SET PREFIXING ALL). Make sure your Unix terminal is conditioned for the appropriate kind of flow control. Use command-line options to back off on performance and transparency use - S to disable streaming, - e to select a shorter packet length, - p to select space or other parity, - b to increase or disable the timeout, and/or establish the corresponding settings on your emulator. When receiving files in text mode, G-Kermit strips all carriage returns, even if they arent part of a CRLF pair. If you have a TCP/IP connection (e. g. Telnet or Rlogin) to Unix from a terminal emulator whose Kermit protocol does not support streaming, downloads from G-Kermit are likely to be as much as 10 or even 100 times slower than uploads if the TCP/IP stack engages in Nagle or Delayed ACK heuristics typically, when your terminal emulators Kermit protocol sends an acknowledgment, the TCP stack holds on to it for (say) 1/5 second before sending it, because it is too small to send right away. As noted in Section 9. the backup prefix is not guaranteed to be the highest number. For example, if you have files oofa. txt . oofa. txt. in your directory, and a new oofa. txt file arrives, the old oofa. txt is backed up to oofa. txt. . rather than oofa. txt. as you might expect. This is because gkermit lacks directory reading capabilities, for reasons noted in Section 14. and without this, finding the highest existing backup number for a file is impractical. If you send a file to G-Kermit with streaming active when the connection is not truly reliable, all bets are off. A fatal error should occur promptly, but if huge amounts of data are lost, G-Kermit might never recognize a single data packet and therefore not diagnose a single error yet your terminal emulator keeps sending packets since no acknowledgments are expected the transfer eventually hangs at the end of file. Use - S on G-Kermits command line to disable streaming in situations where the terminal emulator requests it in error. You can use G-Kermits debug log for troubleshooting this is useful mainly in conjunction with the source code. But even if you arent a C programmer, it should reveal any problem in enough detail to help pinpoint the cause of the failure. gkermit - d (with no action options) writes a short debug. log file that shows the build options and settings. The debug log is also a packet log to extract the packets from it, use: Packets in the log are truncated to avoid wrap-around on your screen, and they have the Ctrl-A packet-start converted to and A to avoid triggering a spurious autodownload when displaying the log on your screen. In certain circumstances it is not desirable or possible to use - d to create a log file called debug. log in the current directory for example, if you dont have write access to the current directory, or you already have a debug. log file that you want to keep (or transfer). In this case, you can include a filename argument after - d: (This is an exception to the rule that option arguments are not optional.) If all else fails, you can contact the Kermit Project for technical support see: G-Kermit is written to require the absolute bare minimum in system services and C-language features and libraries, and therefore should be portable to practically any Unix platform at all with any C compiler. The source files are: A simple makefile is provided, which can be used with make or gmake. There are three main targets in the makefile: posix Build for any POSIX.1 compliant platform (termios). This is the default target, used if you type make (or gmake) alone. This target works for most modern Unixes, including GNU/Linux, FreeBSD, OpenBSD, NetBSD, BSDI, HP-UX, Solaris, SunOS, Unixware, AIX, etc. sysv Build for almost any AT38T System V platform (termio). Examples include AT38T Unix releases, e. g. for the AT38T 7300, HP-UX versions prior to 7.00. bsd Build for any BSD (pre-4.4) or Unix V7 platform (sgtty). Examples include NeXTSTEP 3.x, OSF/1, Ultrix-11, and 4.3BSD or earlier. Note that the target names are all lowercase posix is the default target (the one used if you just type make). If the build fails with a message like: then try make sysv or make bsd. See the build list below for examples. Some special build targets are also provided: sysvx Like sysv but uses getchar() / putchar() for packet i/o rather than buffered nonblocking read() / write() this is necessary for certain very old System V platforms (see description of USEGETCHAR below). stty When none of the other targets compiles successfully, try this one, which runs the external stty program rather than trying to use API calls to get/set terminal modes ( system(stty raw - echo) and system(stty - raw echo) ). Several maintenance/management targets are also included: clean Remove object and intermediate files. install Install gkermit (read the makefile before using this). uninstall Uninstall gkermit from wherever make install installed it. The default compiler is cc. To override (e. g. to force the use of gcc on computers that have both cc and gcc installed, or that dont have cc), use: No other tools beyond make, the C compiler and linker, a short list of invariant header files, and the standard C library are needed or used. The resulting binary should be 100K or less on all hardware platforms (and 64K or less on most see list below). You may also specify certain build options by including a KFLAGS clause on the make command line, e. g. By default, nonblocking buffered read() is used for packets this technique works on most platforms but other options -- USEGETCHAR and DUMBIO -- are provided when it doesnt work or when nonblocking i/o is not available. The build options include: STDC Include this when the compiler requires ANSI prototyping but does does not define STDC itself. Conversely, you might need to include - USTDC if the compiler defines STDC but does not support minimum ANSI features. ULONGlong Include this if compilation fails with unknown type: unsigned long. CHARchar Include this if compilation fails with unknown type: unsigned char. SMALL Define this when building on or for a small platform, for example a 16-bit architecture. USEGETCHAR Specifies that packet i/o should be done with (buffered) getchar() and putchar() rather than the default method of nonblocking, internally buffered read() and write() . Use this only when G-Kermit does not build or run otherwise, since if the default i/o code is not used, G-Kermit wont be able to do streaming. DUMBIO Specifies that packet i/o should be done with blocking single-byte read() and write() . Use this only when G-Kermit doesnt build or run, even with USEGETCHAR. MAXRP nnn Change the maximum receive-packet length to something other than the default, which is about 9000. You should change this only to make it smaller making it bigger is not supported by the Kermit protocol. DEFRP nnn Change the default receive packet length to something other than the default, which is 4000. Making it any bigger than this is not advised. TINBUFSIZ nnn On builds that use nonblocking buffered read() . override the default input buffer size of 4080. SETXONXOFF On some platforms, mainly those based on System V R4 and earlier, it was found that receiving files was impossible on TCP/IP connections unless the terminal driver was told to use Xon/Xoff flow control. If downloads work but uploads consistently fail (or fail consistently whenever streaming is used or the packet length is greater than a certain number like 100, or 775), try adding this option. When gkermit is built with this option, it is equivalent to the user always giving the - x option on the command line. (Most versions of HP-UX need this it is defined automatically at compile time if hpux is defined.) SIGV The data type of signal handlers is void. This is set automatically for System V and POSIX builds. SIGI The data type of signal handlers is int. This is set automatically for BSD builds. NOGETENV Add this to disable the feature in which G-Kermit gets options from the GKERMIT environment variable. NOSTREAMING Add this to disable streaming. EXTRADEBUG This adds a lot (a LOT) of extra information to the debug log regarding packet and character-level i/o. FULLPACKETS Show full packets in the debug log rather than truncating them. Any compiler warnings should be harmless. Examples include: Passing arg 2 of signal from incompatible pointer (or Argument incompatible with prototype): Because no two Unix platforms agree about signal handlers. Harmless because the signal handler does not return a value that is used. We dont want to open the door to platform-specific ifdef s just to silence this warning. However, you can include - DSIGI or - DSIGV on the CC command line to override the default definitions. blah declared but never used: Some function parameters are not used because they are just placeholders or compatibility items, or even required by prototypes in system headers. Others might be declared in system header files (like mknod, lstat, etc, which are not used by G-Kermit). Do you mean equality: No, in while ((c s)) the assignment really is intentional. Condition is always true: Yes, while (1) is always true. Flow between cases: Intentional. No flow into statement: In gproto. c . because it is a case statement generated by machine, not written by a human. The coding conventions are aimed at maximum portability. For example: Only relatively short identifiers. No long character-string constants. Only ifdef . else . endif . define . and undef preprocessor directives. Any code that uses ANSI features is enclosed in ifdef STDC. endif . No gmake-specific constructs in the makefile. Here are some sample builds: make posix builds without complaint on OSF/1 (Digital UNIX (Tru64)) but it doesnt work -- i/o hangs or program dumps core. make bsd works fine. POSIX APIs not available in this antique OS (circa 1983). Also due to limited terminal input buffering capacity, streaming must be disabled and relatively short packets must be used when receiving: gkermit - Se 250 - r. However, it can use streaming when sending. POSIX APIs not available. Include KFLAGS-DSIGV if you get a lot of warnings about signal() . On System V R3 and earlier, EWOULDBLOCK is not defined, so we use EGAIN instead. No special build procedures needed. Built with make - i KFLAGS-DDEFRP512 - DUSEGETCHAR sysv . It can be built without - DUSEGETCHAR but doesnt work. Use make CCcc - Ml KFLAGS-DUSEGETCHAR sysv . It builds but doesnt work, reason unknown, but probably because it was never designed to be accessed remotely in the first place. This is a 16-bit architecture. A special makefile target is needed because its make program does not expand the (CC) value when invoking second-level makes. Packet and buffer sizes are reduced to keep static data within limits. Overlays are not needed. Identifiers must be unique within the first 7 characters. Unfortunately, there is a conflict in gproto. w between streamon() and streamok . Build with make bsd211 KFLAGS-Dstreamonstrmon - DULONGlong - DSMALL . This was on a PDP-11/23 without ID space. - DSMALL might not be necessary with ID space. When using, disable streaming and use shorter-than-usual packets. The makefile creates a binary called gkermit. Simply move this binary to the desired directory, such as /usr/local/bin. It needs no special permissions other than read, write, and execute for the desired users and groups: no setuid, no setgid, or any other form of privilege. DO NOT give SETUID or SETGID privilege to G-Kermit. G-Kermit is not a dialout program. It does not access serial devices or UUCP lockfiles, and it does not do real/effective ID switching. If you give it SETUID or SETGID privilege, this will open restricted files and directories to users who otherwise do not have access, and incoming files will be created with the wrong owner and/or group. The executable should be called gkermit and not kermit, since kermit is the binary name for C-Kermit, and the two are likely to be installed side by side on the same computer even when they are not, consistent naming is better for support and sanity purposes. There is also a short man page: You can view it with: Rename and store it appropriately so users can access it with man gkermit. In addition, the README should be made available in a public documentation directory as: The makefile includes a sample install target that does all this. Please read it before use to be sure the appropriate directories and permissions are indicated. There is also an uninstall target to undo an installation. Obviously you need write access to the relevant directories before you can install or uninstall G-Kermit. A primary objective in developing G-Kermit is that it can be released and used forever without constant updates to account for platform idiosyncracies and changes. For this reason, certain features have been deliberately omitted: File timestamps. The methods for dealing with internal time formats are notoriously unportable and also a moving target, especially now with the 32-bit internal time format rollover looming in 2038 and the timet data type changing out from under us. Furthermore, by excluding any date-handling code, G-Kermit is automatically Y2K, 2038, and Y10K compliant. Internal wildcard expansion, recursive directory traversal, etc. Even after more than 30 years, there is still no standard and portable service in Unix for this. Server mode, because it would require internal wildcard expansion. Hardware flow control, millisecond sleeps, nondestructive input buffer peeking, threads, select() . file permissions, etc etc. Other features are omitted to keep the program small and simple, and to avoid creeping featurism: Sliding windows. This technique is more complicated than streaming but not as fast, and furthermore would increase the program size by a factor of 5 or 10 due to buffering requirements. An interactive command parser and scripting language (because users always want more and more commands and features). Character set conversion (because users always want more and more character sets). Adding character set support would increase the program size by a factor of 2 to 4, depending on the selection of sets. Making connections (because this requires huge amounts of tricky and unstable high-maintenance platform - and device-specific code for serial ports, modems, modem signals, network stacks and protocols, etc). Security. Not needed since G-Kermit does not make connections. When G-Kermit is on the far end of a secure connection (Telnet, SSH, Rlogin), the security is handled by the connecting client and the Telnet, SSH, or Rlogin server. All of the above can be found in C-Kermit. which is therefore bigger and more complicated, with more platform-specific code and ifdef spaghetti. C-Kermit requires constant updates and patches to keep pace with changes in the underlying platforms, networking and security methods, and demands from its users for more features. The goal for G-Kermit, on the other hand, is simplicity and stability, so we dont need thousands of ifdef s like we have in C-Kermit, and we dont need to tweak the code every time a new release of each Unix variety comes out. G-Kermit is meant to be PORTABLE and LONG-LASTING so the stress is on a MINIMUM of platform dependencies. If you make changes, please try to avoid adding anything platform-dependent or in any other way destabilizing. Bear in mind that the result of your changes should still build and run successfully on at least all the platforms where G-Kermit was built originally. In any case, you are encouraged to send any changes back to the Kermit Project to be considered for addition to the master G-Kermit distribution. The Kermit protocol is specified in Kermit, A File Transfer Protocol by Frank da Cruz, Digital Press (1987). A correctness proof of the Kermit protocol appears in Specification and Validation Methods. edited by Egon Boerger, Oxford University Press (1995). Using C-Kermit by Frank da Cruz and Christine M. Gianone, Digital Press (1997, or later edition) explains many of the terms and techniques referenced in this document in case you are not familiar with them, and also includes tutorials on data communications, extensive troubleshooting and performance tips, etc. Various other books on Kermit are available from Digital Press. Online resources include: Please read columbia. edu/kermit/support. html before sending e-mail to the tech support address. Install packages are available for the following platforms: gkermit-1.0-1.i386.rpm Red Hat Linux 6.0 and later, Intel (PC) CPU gkermit-1.0-1.5.2.alpha. rpm Red Hat Linux 5.2 and later, Alpha CPU gkermit-1.0-1.alpha. rpm Red Hat Linux 6.0 and later, Alpha CPU gkermit-1.0-1.sparc. rpm Red Hat Linux 6.0 and later, Sparc CPU gkermit-1.0-1.src. rpm Red Hat Linux 6.0 and later, source code The NetBSD packages collection (about 25 different G-Kermit configurations available) gkermitaix432-1000.exe IBM / Bull AIX 4.3.2, Power CPU The AIX version is a self-extracting ZIP archive that produces a bff file that can be installed with smit. Source-code archives are listed just below. If you have a C compiler, you should download the source archive, uncompress if it was compressed or gunzip if it was gzipped, unpack the tar archive with tar xf gku100.tar , and then build from source code as explained in Section 12. If you dont have a C compiler, download the appropriate prebuilt binary, rename it to gkermit, and give it execute permission ( chmod x gkermit ). See Section 13 for installation instructions. Individual binaries are also available for those who need them (contact us if you can make any that are not listed): G-Kermit is especially handy when your UNIX computer has no other file transfer method that you can use. In this case, it is often possible to bootstrap G-Kermit onto your computer because of its small size. Suppose Computer A is a UNIX computer on the Internet, and Computer B is the unconnected computer where you want to install G-Kermit. Download the binary for Computer B to Computer A from the Kermit website, then compress it on computer A, and then uuencode it, for example: This gives a 35K text file having 573 lines. Now use a terminal emulator such as C-Kermit, Kermit 95, or MS-DOS Kermit to make a connection to Computer B, for example by modem or direct serial connection, log in, and then give the commands to enable the appropriate kind of flow control (RTS/CTS or Xon/Xoff) on your login terminal. Then use your terminal emulator (which is set to the same kind of flow control) to transmit (other terminal emulators might say upload with ASCII protocol) the gku100.uue file to Computer B, which has been given a command like: When the upload is finished, type Ctrl-D to Computer B to close the new file and return to the shell prompt, and then: Now you have a file transfer program on computer B. Of course this bootstrapping method is error prone since ASCII is not an error-correcting protocol, so you might have to try several times, perhaps reducing your serial speed. But once gkermit is successfully installed on Computer B, you can use it to transfer files into and out of Computer B to/from any computer that has a Kermit program and that can make a connection to Computer B. You can also use gkermit to receive the larger C-Kermit. which then gives Computer B dialout and scripting capabilities. For those who need to bootstrap G-Kermit from a non-UNIX platform, each G-Kermit binary has been compressed and uuencoded for you. In fact, there is a dot-Z version (compressed with UNIX compress) and a dot-gz version (compressed with GNU gzip), for example: The names correspond to those in the binaries list, but with. Z.uue added for compressed versions and. gz. uue added for gzipd versions. CLICK HERE for FTP access. C - K e r m i t 9. 0 This page last updated: Mon Aug 29 11:51:58 2011 C - K ermit is a combined network and serial communication software package offering a consistent, transport-independent, cross-platform approach to connection establishment, terminal sessions, file transfer, file management, character-set translation, numeric and alphanumeric paging, and automation of file transfer and management, dialogs, and communication tasks through its built-in scripting language. C-Kermit includes: Along with Kermit 95. the fastest and most advanced implementation of the Kermit file transfer protocol available anywhere. A powerful, portable. easy-to-use script programming language to automate all your routine communications tasks. Consistent operation over serial connections (direct or dialed) and network connections mdash on a huge selection of hardware and software platforms. Secure authentication and strong encryption. Built-in scriptable FTP and HTTP clients plus an SSH interface Configurability as an SSH Subsystem Character-set translation in both file transfer and online sessions, for Western - and Eastern-European languages, Cyrillic, Greek, Hebrew, and Japanese, now including Unicode. Ability to send numeric and alphanumeric pages. And lots more -- CLICK HERE for specifications. C-Kermit 9.0 is available for practically every known variation and version of Unix. past and present, on every 32- or 64-bit architecture, and for DEC / Compaq / HP VMS / OpenVMS on VAX, Alpha, and IA64 / IPF. Earlier releases of C-Kermit remain available for other platforms and operating systems: Microsoft Windows and OS/2 (as Kermit 95 ) Data General AOS/VS Stratus VOS Microware OS-9 Plan 9 from Bell Labs The Commodore Amiga The Atari ST 16-bit versions of Unix (e. g. 2.xBSD. Tandy 6000 XENIX ) In Unix, C-Kermit can be thought of as a user-friendly and powerful alternative to cu, tip, minicom, uucp, ftp, ftpd, telnet, ktelnet, rlogin, ssh, find, grep, iconv, recode, expect, wget, sendpage, bc, and to some extent even Lisp, your shell, and/or Perl a single package for both network and serial communications, offering automation, helpfulness, and language features not found in most of the other packages, and with most of the same features available on all its non-Unix platforms (such as VMS), as well as in Kermit 95 on Windows 9x/ME/NT/2000/XP/Vista/7. As of version 9.0 . C-Kermit has an Open Source license, the Revised 3-Clause BSD License . Everybody can use it as they wish for any purpose, including redistribution and resale. It may be included with any operating system where it works or can be made to work, including both free and commercial versions of Unix and Hewlett-Packard (formerly DEC) VMS (OpenVMS). Technical support will be available from Columbia University only through 30 June 2011. C-Kermit 8.0 and 7.0 have a more restrictive license, CLICK HERE to see it. The user manual for C-Kermit 9.0 is (still) the book Using C-Kermit. Second Edition INFO , which is current with C-Kermit 6.0. Features new in subsequent C-Kermit releases are documented in the supplements (see links just below). If you dont have the manual, please order it. It explains step-by-step, with examples and sometimes pictures, how to use C-Kermit: how to make connections, how to troubleshoot connection and file-transfer problems, how to handle character-set translation, how to write script programs, and lots more especially useful since live Kermit software support is no longer available from Columbia University after 30 June 2011. Beginning in 2011, the manual is also available as a Kindle E-Book. Online Information Resources: Kermit script programming tutorial and library C-Kermit 7.0 Manual Supplement C-Kermit 8.0 Manual Supplement C-Kermit 9.0 Manual Supplement TUTORIAL (html) TUTORIAL (pdf) TUTORIAL (nroff manpage) C-Kermit Frequently Asked Questions Kermit Security Reference Telnet Client Reference Internet Kermit Service User Documentation Internet Kermit Service Administrator Documentation General C-Kermit Hints, Tips, Patches Unix C-Kermit Hints and Tips Unix C-Kermit Installation Instructions VMS C-Kermit Hints and Tips VMS C-Kermit Installation Instructions Compilation / Configuration Options Program Logic Manual If there is sufficient demand, an updated edition of the manual can be produced for C-Kermit 9.0. You have many choices for downloading: Source Code in tar, zip, or other archive formats or as separate files: CLICK HERE. Individual Text Files . CLICK HERE. Individual Binaries . CLICK HERE. Install Packages . described just below. Install packages and prebuilt binaries do NOT include C-Kermits security features, due to USA export law. To obtain a version of C-Kermit that includes Kerberos, SSL, TLS, or SRP, you must download the source code and build it yourself. Address complaints to the US Department of Commerce. Install packages are contributed by Linux and BSD distributors, OS vendors, user groups, or users (we dont make them ourselves). The following install packages are presently available for C-Kermit 8.0 and 9.0. Sun Freeware Packages for C-Kermit 9.0 for Solaris 8-10 for SPARC and x86 at sunfreeware (find C-Kermit in the menu on the right). FreeBSD Packages for C-Kermit 9.0 for FreeBSD will appear shortly in the FreeBSD Ports site, communications section, replacing C-Kermit 8.0.211, or will have appeared by the time you read this. Visit the page and search for kermit. (G-Kermit is also there.) NetBSD C-Kermit 9.0 package for NetBSD is here . Debian Linux (all versions) Packages for many architectures (offsite): C-Kermit 9.0 is working its way up through the Debian package collection (Main section) from ldquounstablerdquo to ldquotestingrdquo to ldquostablerdquo. CLICK HERE to find it, wherever it is. It will be labeled 301 or later. Debian Linux 6.0 (Squeeze) C-Kermit 8.0.211 Package Collection Packages for amd64, armel, i386, ia64, mips, mipsel, powerpc, s390, and sparc (offsite): packages. debian. org/squeeze/ckermit in the ldquoNon-Freerdquo section. Sharp Zaurus C-Kermit 8.0.206 ipkg installer ( onsite ): ftp://kermit. columbia. edu/kermit/archives/kermit-8.0.206-arm. ipk CLICK HERE for a general discussion of C-Kermit package making. Note also that the Unix version of C-Kermit includes its own installation procedure, built into the makefile. See Section 5 of the Unix C-Kermit installation guide. You can download C-Kermit 9.0 source and text files directly from the Kermit Project in any of several archive formats by clicking on the following FTP links. The complete archives contain source code, build procedure, license, initialization files, CA certificates, manual page or help topic, initialization files, and plain-text information files extracted from the Web pages listed in the Documentation section. a complete distribution. The text archives contain everything but the source code these can used when you download a prebuilt binary. The size of each archive file in megabytes is shown in each cell. Download with FTP: (Zip archives contain only text files, unzip them with - a or - aa.) Besides those, we also have C-Kermit 7.0 archives for the following platforms that have not been updated since then: ckl197.zip (ftp) ckl197.zip (http) Source code and text files for Stratus VOS . ZIP archive (text files in DOS format) (C-Kermit 7.0). ck9197.zip (ftp) ck9197.zip (http) Source code and text files for Microware OS-9/68k . ZIP archive (text files in DOS format). (C-Kermit 7.0). If you want to monitor the day-to-day progress of C-Kermit development, you can find the current working source code HERE. Source code and text files are also available separately in the kermit/ckermit/ directory. These include files for platforms other than Unix and VMS, such as Stratus VOS, Data General AOS/VS, OS-9, the Amiga, etc. All files in this directory are text files transfer them in text mode. See the ckaaaa. txt file for details. NOTE: The Unix and VMS source files are at 9.0 level. The VOS, Amiga, OS-9, and AOS/VS versions remain at 7.0 level. Others (Macintosh, Atari ST) have not yet been updated in a long while due to lack or programmers and/or platforms volunteers welcome. And of course anybody interested in porting C-Kermit to new platforms is more than welcome to contact us about it well be happy to get you started. Make a fresh directory and cd to it. Example: If you downloaded a compressed tar file, uncompress it. Examples: If you downloaded a tar archive, un-tar it. Example: If you downloaded a Zip archive, unzip it. Example: Now you can delete the tar archive (or zip archive) if you wish: Read the comments at the top of the makefile to find out which target is appropriate for your computer and operating system, and then give the appropriate make command. Examples: Quick install: move the resulting wermit binary to /usr/local/bin/kermit and give it the same owner, group, and permissions as minicom or cu. Move the ckuker. nr to the appropriate man page directory and rename it as appropriate, e. g. to kermit.1 . For more detailed instructions, read the C-Kermit installation instructions. especially if you had trouble with any of these steps, or if you will be using C-Kermit to dial out. The most convenient way to install is to the use makefiles install target (make install) read about it HERE. See the configuration options guide for information about compile-time options for customizing the feature set. You can also download individual Unix binaries from the C-Kermit binaries table. but to avoid library or other version mismatches, it is better to build from source code if you can. VMS Build Instructions If you want to install a prebuilt VMS binary . then fetch the most appropriate VMS binary from the C-Kermit binaries table. Pick a VAX binary for a VAX or an Alpha binary for an Alpha. The VMS version number for the binary must be less than or equal to your VMS version. If you want to make TCP/IP connections, pick the binary for the appropriate TCP/IP product (TGV Multinet, DEC UCX, Process Software TCPware, etc), again with a version number less than or equal to yours if none can be found, then try a UCX version (since most non-DEC TCP products include built-in UCX emulation). If you downloaded a prebuilt binary, also download the VMS C-Kermit text-file archive. Then read the installation instructions for VMS. If you want to build from source code . fetch the VMS complete archive above if you have VMS-based unpacking tools, otherwise get the source files and text individually as described just below. NOTE: Unzip the Zip file with unzip - a . Make a fresh directory and SET DEFAULT to it. Example: Unpack the Zip archive. Example: Run the build procedure . If you have a pre-5.0 VMS release, use the old build procedure: This makes a WERMIT. EXE file in your current directory. Start it with: To install the version of Kermit you have just built, read the installation instructions. The C-Kermit binaries table is HERE. Before visiting the table, you should read this section. When you download a prebuilt-Kermit binary, you should also download the C-Kermit text files. unpack them if necessary, and install them as desired. NOTE: In Unix, you can still use make install , even if if you did not use the makefile to build your Kermit binary (the makefile as well as all the text files you need are in the text archive). In the binaries table, filenames start with ck for C-Kermit, then one letter or digit to indicate the platform (u for Unix, d for Data General AOS/VS, v for VMS, i for Amiga, 9 OS-9, p for Plan 9, etc). After that comes a three-digit edit number: 188: Version 5A(188) . November 1992 through September 1993. 189: Version 5A(189) . September 1993 through October 1994. 190: Version 5A(190) . October 1994 through September 1996. 192: Version 6.0.192 . September 1996 through December 1999. 193: Version 6.1.193 . November 1996 through June 1998. 194: Version 6.1.194 . June 1998 through December 1998. 195: Version 7.0.195 . January 1999 through August 1999. 196: Version 7.0.196 . September 1999 through final release 1 Jan 2000. 197: Version 7.0.197 . January-February 2000. 200: Version 8.0.200 . December 2001. 201: Version 8.0.201 . February 2002. 206: Version 8.0.206 . October 2002. 208: Version 8.0.208 . 14 March 2003. 209: Version 8.0.209 . 17 March 2003. 211: Version 8.0.211 . 10 April 2004. 300: Version 9.0.300 . 30 June 2011. 301: Version 9.0.301 . 11 July 2011. 302: Version 9.0.302 . 20 August 2011. Then a possible test-version designator: a for Alpha or b for Beta, followed by the 2-digit test number. Examples: Test versions are included here only for platforms that do not have a final build available (usually because the machine disappeared or had an OS upgrade before the final C-Kermit release). Note that edits 193, 194, 195, 198, 199, 202-05, and 212-299 were never formally released (191 was only for OS/2). The rest of the name is platform-dependent in Unix its the name of the makefile target, optionally followed by specific hardware platform and/or OS version, when it makes a difference. In VMS its the platform (axp (i. e. Alpha) or vax), then the VMS version number (e. g. vms73), and then TCP/IP product and version number (or nonet if TCP/IP support is not built in). E assim por diante. VMS TCP/IP product codes are as follows: ucx DEC / Compaq / HP TCP/IP tgv TGV MultiNet pst Process Software TCPware twg The Wollongong Group WIN/TCP or PathWay cmu Carnegie-Mellon University CMU/IP REMEMBER: Its often better to build your own binary than to run a prebuilt one, due to the ever-increasing likelihood of OS and/or library version mismatch. After downloading, rename to kermit or kermit. exe (etc), as appropriate for your operating system and, if necessary, give execute permission, e. g. (in Unix): Also remember that before C-Kermit can be used to dial out from Unix, it will probably also be necessary to give the Kermit executable a certain owner and group, and to set it suid and/or sgid bits, to allow it access to the dialout device and/or lockfile directory (the same as any other dialout software, such as cu or minicom). Read Sections 10 and 11 of the Unix C-Kermit installation guide. Notes on the Binaries: curses refers to the fullscreen file-transfer display, used when transferring files over dialout or network connections. Its nice but it adds size and sometimes causes problems so if a curses version gives you trouble, try a no-curses (NC) version. On platforms that have a choice between traditional curses and new curses (ncurses), you might also have a choice of binaries -- if one doesnt work, try the other. Likewise, some binaries come in TCP/IP and non-TCP/IP versions. If your computer doesnt have TCP/IP installed, choose the non-TCP/IP version (if available). A TCP/IP-enabled binary almost certainly will not run on platforms that dont have TCP/IP installed. And some binaries come in optimized and non-optimized versions this refers to compile-time optimization. Choose the optimized version, but if it gives you trouble, try the corresponding non-optimized one, if available (some optimizers have bugs). When optimization is marked in the table, O means normal optimization, O - means no optimization, O means extra optimization. Some binaries are available in gcc and non-gcc versions that is, versions built using two different compilers. If one gives you trouble, try the other if available. Some compilers have bugs some compilers support features that other ones dont. Some HP-UX binaries (notably, the HP-UX 7.00 ones) are built for long filename (255 chars) file systems, others for short-filename (14 chars) systems these are marked with SF and LF. Choose one that is appropriate for your file system. Some Linux binaries are linked with libc, some with glibc. Pick the one that is appropriate for your Linux system. Better yet, just build from source (make linux should work on any Linux system). If you are able to make a binary not listed in the table (or that is listed, but is not current), please contribute it to the archive. CLICK HERE to visit the C-Kermit binaries table. KERMIT PROTOCOL. SECURE. SCRIPTABLE. TELNET. FTP. UNIX. VMS. LINUX. BSD. MAC OS X. SOLARIS. AIX. HP-UX. TRU64. SCO. QNX. IRIX. UNICODE. KERBEROS. SSL. TLS. SRP. FTP SCRIPT. FILE TRANSFER. MODEM. DIAL. PAGER

No comments:

Post a Comment