dselect opera como um front-end para o dpkg(1), a ferramenta de baixo nível de manuseamento de pacotes de Debian. Apresenta um gestor de selecção de pacotes de ecrã-total com ferramenta de resolver dependências e conflitos de pacotes. Quando corrido com privilégios de administrador, os pacotes podem ser instalados, actualizados ou removidos. Podem ser configurados vários métodos de acesso para obter informação da versão dos pacotes disponíveis e instaláveis dos repositórios de pacotes. Dependendo do método de acesso usado, estes repositórios podem ser servidores de arquivo público na internet, servidores de arquivo local ou CD-ROMs. O método de acesso recomendado é o apt, o qual é fornecido pelo pacote apt(8).
Normalmente o dselect é invocado sem parâmetros. Um menu interactivo é apresentado, oferecendo uma lista de comandos ao utilizador. Se um comando for dado como um argumento, então esse comando é arrancado imediatamente. Estão ainda disponíveis vários parâmetros de linha de comandos para modificar o comportamento de funcionamento do dselect ou mostrar informação adicional acerca do programa.
Após a parte do ecrã vem um símbolo de dois pontos e a especificação da cor. Você pode especificar tanto a cor frontal, a cor de fundo, ou ambas, sobrepondo as cores compiladas. Usa nomes de cores standard de curses.
Opcionalmente, após a especificação da cor ficam outros dois pontos, e uma especificação de atributo. Isto é uma lista de uma ou mais atributos, separados por caracteres mais ('+'). Atributos disponíveis incluem (nem todos estes irão trabalha em todos os terminais): normal, standout, underline, reverse, blink, bright, dim, bold
Por predefinição, dselect fornece vários métodos tais como multi_cd, mounted ou ftp, mas outros pacotes podem disponibilizar outros métodos, por exemplo o método de acesso apt disponibilizado pelo pacote apt(8).
O uso do método de acesso do apt é fortemente recomendado.
Obtém uma lista de versões de pacotes disponíveis a partir de um repositório de pacotes, configurado para o método de acesso actual, e actualiza a base de dados do dpkg. As listas de pacotes são geralmente fornecidas pelo repositório como ficheiros chamados Packages ou Packages.gz. Estes ficheiros podem ser gerados por maintainers do repositório, usando o programa dpkg-scanpackages(1).
Detalhes do comando de actualização dependem da implementação do método de acesso. Normalmente o processo é direto e não requer interação do utilizador.
Esta é a função principal do dselect. no ecrã de selecção, o utilizador pode rever uma lista de todos os pacotes disponíveis e instalados. Quando corre com privilégios de administrador, é também possível alterar o estado da selecção de pacotes interactivamente. dselect acompanha as implicações destas alterações com outros pacotes que dependem ou criam conflitos.
Quando é detetado um conflito ou falha de dependências, é mostrado ao utilizador um sub-ecrã de resolução de dependências. Neste ecrã, é mostrada uma lista de pacotes em conflito ou dependentes, e para cada pacote listado, é mostrada a razão de este estar na lista. O utilizador pode aplicar as sugestões propostas pelo dselect, sobrepor-las, ou retroceder todas as alterações, incluindo aquelas que criaram as dependências ou conflitos não resolvidos.
O uso do ecrã de gestão de selecção de pacotes interactiva está explicado com mais detalhes em baixo.
O método de acesso configurado irá obter pacotes instaláveis ou actualizáveis a partir dos repositórios relevantes e instalar estes usando o dpkg. Dependendo da implementação do método de acesso, todos os pacotes podem ser pré-obtidos antes da instalação, ou obtidos quando necessários. Alguns métodos de acesso podem também remover pacotes que foram marcados para remoção.
Se ocorrer um erro durante a instalação, é normalmente aconselhável repetir a instalação. Na maioria dos casos, os problemas irão desaparecer ou ser resolvidos. Se os problemas persistirem ou a execução da instalação foi incorrecta, por favor investigue as causas e circunstâncias, e preencha um relatório de bug no sistema de acompanhamento de bugs de Debian. As instruções em como fazer isto podem ser encontradas em <https://bugs.debian.org/> ou ao ler a documentação para bug(1) ou reportbug(1), se esta estiver instalada.
Detalhes do comando de instalação dependem da implementação do método de acesso. Pode ser requerida a atenção do utilizador e entradas deste durante a instalação., configuração ou remoção de pacotes. Isto depende dos scripts de maintainer no pacote. Alguns pacotes fazem uso da biblioteca debconf(1), permitindo configurações de instalação mais flexíveis ou mesmo automatizadas.
Termina o programa com código de erro zero (com sucesso).
A menos que o dselect seja corrido em modo de esperto ou imediato, é primeiro mostrado um ecrã de ajuda quando se escolhe este comando do menu. O utilizador é fortemente aconselhado a estudar toda a informação apresentada nos ecrãs de ajuda online, sempre que aparece um. Os ecrãs de ajuda online podem ser invocados a qualquer altura coma tecla '?'.
Pressionando a tecla 'I' altera entre amostragem de ecrã total da lista de pacotes, e visão alargada dos detalhes do pacote, ou o ecrã dividido igualmente.
Num ecrã de resolução de dependência, há também a possibilidade de visualizar as dependências não resolvidas específicas ou conflitos relacionados ao pacote e a causarem que seja listado.
Para cada pacote, a lista mostra o estado do pacote, prioridade, secção, arquitectura instalada e disponível, versões instalada e disponível, o nome do pacote, e a sua descrição curta, tudo numa linha. Ao pressionar a tecla 'A', o mostrador da arquitectura instalada e disponível pode ser comutado entre ligado e desligado. Ao pressionar a tecla 'V', o mostrador da versão instalada e disponível pode ser ligado e desligado. Ao pressionar a tecla 'v', o mostrador do estado do pacote por ser comutado entre detalhado e abreviado. A amostragem abreviada é a predefinida.
A indicação de estado abreviado consiste de quatro partes: uma bandeira de erro, o qual deve normalmente estar limpa, o estado actual, o estado da última selecção e o estado da selecção actual. Os dois primeiros estão relacionados com o actual estado do pacote, o segundo par são sobre as selecções feitas pelo utilizador.
Estes são os significados das abreviaturas de códigos indicadores de estado de pacotes:
Estado de instalação:
Selecções actuais e requisitadas:
A ordenação da lista pode ser variada ao pressionar as teclas 'o' e 'O' repetidamente. Podem ser selecionadas as seguintes nove ordenações:
Onde não listado em cima explicitamente, a ordem alfabética é usada como a chave se sub-ordenação final.
Quando o pedido de alteração resulta em uma ou mais dependências não satisfeitas ou conflitos, o dselect questiona o utilizador com um ecrã de resolução de dependências. Isto será melhor explicado em baixo.
É também possível aplicar estes comandos a selecções de grupos de pacotes, ao apontar a barra de cursor ao cabeçalho do grupo. O agrupamento exacto de pacotes está dependente das definições actuais de ordenação da lista.
Deve ser tomado o cuidado apropriado quando se alteram grandes grupos de selecções, porque isto pode instantaneamente criar grandes números de dependências ou conflitos não resolvidos, todos os quais irão ser listados nu ecrã de resolução de dependências, tornando isso de lide muito difícil. Na prática, apenas as operações de manter e não-manter são úteis quando aplicadas a grupos.
A metade do topo deste ecrã lista todos os pacotes que irão ter dependências ou conflitos por resolver, como resultado da alteração pedida, e todos os pacotes cuja instalação pode resolver alguma destas dependências ou cuja remoção pode resolver algum destes conflitos. A metade de baixo por predefinição mostra as dependências ou conflitos que fazem com que o pacote seleccionado esteja na lista.
Quando a sub-lista de pacote é mostrada inicialmente, o dselect pode já ter definido o estado de selecção requerido de alguns dos pacotes listados, de modo a resolver as dependências ou conflitos que causaram que o ecrã de resolução de dependências fosse mostrado. Geralmente, é melhor seguir as sugestões feitas pelo dselect.
O estado de selecção dos pacotes listados pode ser revertido às definições originais, como estavam antes de serem criadas as dependências e conflitos não resolvidos, ao pressionar a tecla 'R'. Ao pressionar a tecla 'D', as sugestões automáticas são reiniciadas, mas a alteração que provocou o ecrã de resolução de dependência é mantido como requisitado. Finalmente, ao pressionar U', as selecções são de novo definidas para os valores da sugestão automática.
Para alterar um conjunto de selecções que criam dependências e conflitos não resolvidos e forçar o dselect a aceita-las, pressione a tecla 'Q'. Isto define as selecções como especificadas pelo utilizador, incondicionalmente. De modo geral, não faça isto a menos que tenha lido as letras pequenas.
O efeito oposto, para voltar atrás em quaisquer alterações requisitadas de selecções e regressar à lista de selecções anterior, pode fazê-lo ao pressionar as teclas 'X' ou escape. Ao pressionar repetidamente estas teclas, quaisquer alterações possivelmente prejudiciais à selecção de pacotes requerida pode ser puxada atrás completamente até à última definição estabelecida.
Se você estabeleceu algumas definições por engano e deseja reverter todas as selecções para o que está actualmente instalado no sistema, pressione a tecla 'C'. Isto é de certa maneira semelhante a usar o comando unhold em todos os pacotes, mas fornece um botão de pânico mais óbvio em casos que o utilizador pressionou enter por acidente.
A documentação está escassa.
Não há uma opção de ajuda no menu principal.
A lista visível de pacotes disponíveis não pode ser reduzida.
Os métodos de acesso embutidos não podem mais acompanhar os standards actuais de qualidade. Use o método de acesso fornecido pelo apt(8), não é apenas não quebrado, é muito mais flexível que os métodos de acesso embutidos.
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.