Graphite 1 réalise deux tâches assez simples: stocker des nombres qui changent avec le temps et les représenter graphiquement. Il ya eu beaucoup de logiciels écrits au fil des ans pour faire ces mêmes tâches. Ce qui rend Graphite unique, c'est qu'elle fournit cette fonctionnalité en tant que service réseau à la fois facile à utiliser et hautement évolutif. Le protocole pour l'alimentation des données en graphite est assez simple pour que vous puissiez apprendre à le faire à la main en quelques minutes (pas que youd voulez vraiment, mais c'est un test litmus décent pour la simplicité). Le rendu des graphiques et la récupération des points de données sont aussi simples que la récupération d'une URL. Cela rend très naturel d'intégrer Graphite avec d'autres logiciels et permet aux utilisateurs de construire des applications puissantes sur le dessus de Graphite. L'une des utilisations les plus courantes de Graphite est la création de tableaux de bord basés sur le Web pour la surveillance et l'analyse. Graphite est né dans un environnement de commerce électronique de haut volume et sa conception reflète cela. L'évolutivité et l'accès en temps réel aux données sont des objectifs clés. Les composants qui permettent à Graphite d'atteindre ces objectifs comprennent une bibliothèque de bases de données spécialisée et son format de stockage, un mécanisme de mise en cache pour optimiser les opérations d'E / S et une méthode simple et efficace de clustering des serveurs Graphite. Plutôt que de simplement décrire comment Graphite fonctionne aujourd'hui, je vais expliquer comment Graphite a été initialement mis en œuvre (assez naïvement), quels problèmes j'ai rencontré, et comment j'ai imaginé des solutions pour eux. 7.1. La bibliothèque de base de données: stocker les données de la série temporelle Le graphite est entièrement écrit en Python et se compose de trois composants principaux: une base de données nommée chuchotement. Un démon de back-end nommé carbone. Et une webapp frontale qui rend des graphiques et fournit une interface utilisateur de base. Alors que whisper a été écrit spécifiquement pour Graphite, il peut également être utilisé de manière indépendante. Il est très semblable dans la conception à la base de données round-robin utilisée par RRDtool, et ne stocke que des données numériques de séries chronologiques. Habituellement, nous pensons que les bases de données sont des processus serveur auxquels les applications clientes parlent sur des sockets. Cependant, murmure. Tout comme RRDtool, est une bibliothèque de base de données utilisée par les applications pour manipuler et récupérer des données stockées dans des fichiers spécialement formatés. Les opérations de chuchotement les plus élémentaires sont créées pour créer un nouveau fichier whisper, mettre à jour pour écrire de nouveaux points de données dans un fichier et extraire pour récupérer des points de données. Figure 7.1: Anatomie de base d'un fichier susurré Comme le montre la figure 7.1. Les fichiers chuchotés se composent d'une section d'en-tête contenant diverses métadonnées, suivie d'une ou plusieurs sections d'archive. Chaque archive est une séquence de points de données consécutifs qui sont des paires (timestamp, value). Lorsqu'une opération de mise à jour ou d'extraction est effectuée, le chuchotement détermine l'offset dans le fichier sur lequel les données doivent être écrites ou lues, en fonction de l'horodatage et de la configuration de l'archive. 7.2. Le back-end: un service de stockage simple Graphites back-end est un processus de démon appelé carbon-cache. Généralement appelé simplement carbone. Il est construit sur Twisted, un framework d'E / S événementielle hautement évolutif pour Python. Twisted permet au carbone de parler efficacement à un grand nombre de clients et de gérer une grande quantité de trafic avec des frais généraux faibles. La figure 7.2 montre le flux de données entre le carbone. Chuchotement et le webapp: Les applications de client rassemblent des données et l'envoient à l'extrémité arrière de graphite, carbone. Qui stocke les données en utilisant chuchotement. Ces données peuvent ensuite être utilisées par la webapp Graphite pour générer des graphiques. Figure 7.2: Flux de données La principale fonction du carbone est de stocker des points de données pour les métriques fournies par les clients. Dans la terminologie graphite, une métrique est une quantité mesurable qui peut varier dans le temps (comme l'utilisation de l'UC d'un serveur ou le nombre de ventes d'un produit). Un point de données est simplement une paire (timestamp, value) correspondant à la valeur mesurée d'une métrique particulière à un moment donné. Les métriques sont identifiées de façon unique par leur nom, et le nom de chaque métrique ainsi que ses points de données sont fournis par les applications clientes. Un type commun d'application client est un agent de surveillance qui collecte les métriques du système ou de l'application et envoie ses valeurs collectées au carbone pour faciliter le stockage et la visualisation. Les métriques dans Graphite ont des noms hiérarchiques simples, semblables aux chemins du système de fichiers, sauf qu'un point est utilisé pour délimiter la hiérarchie plutôt qu'une barre oblique ou une barre oblique inverse. Le carbone respectera n'importe quel nom légal et créera un fichier de whisper pour chaque métrique pour stocker ses points de données. Les fichiers de chuchotement sont stockés dans le répertoire de données de carbone dans une hiérarchie de système de fichiers qui reflète la hiérarchie délimitée par points dans chaque nom de métrique, de sorte que (par exemple) servers. www01.cpuUsage mappe à hellipserverswww01cpuUsage. wsp. Lorsqu'une application cliente souhaite envoyer des points de données à Graphite, elle doit établir une connexion TCP au carbone. Généralement sur le port 2003 2. Le client fait tout le charbon parlant n'envoie rien sur la connexion. Le client envoie des points de données dans un format texte simple tandis que la connexion peut être laissée ouverte et réutilisée si nécessaire. Le format est une ligne de texte par point de données où chaque ligne contient le nom de la métrique en pointillés, la valeur et un horodatage d'époque Unix séparés par des espaces. Par exemple, un client peut envoyer: Sur un niveau élevé, tout le carbone est d'écouter les données dans ce format et essayer de le stocker sur le disque aussi rapidement que possible à l'aide de murmurer. Plus tard, nous discuterons des détails de certaines astuces utilisées pour assurer l'évolutivité et obtenir les meilleures performances que nous pouvons sortir d'un disque dur typique. 7.3. Le front-end: Graphiques à la demande Le graphite webapp permet aux utilisateurs de demander des graphes personnalisés avec une simple API basée sur URL. Les paramètres graphiques sont spécifiés dans la requête-chaîne d'une requête HTTP GET et une image PNG est renvoyée en réponse. Par exemple, l'URL: demande un graphique 500times300 pour les serveurs de métrique. www01.cpuUsage et les dernières 24 heures de données. En fait, seul le paramètre cible est requis, tous les autres sont optionnels et utilisez vos valeurs par défaut si vous les omettez. Graphite prend en charge une grande variété d'options d'affichage ainsi que des fonctions de manipulation de données qui suivent une simple syntaxe fonctionnelle. Par exemple, nous pourrions représenter graphiquement une moyenne mobile de 10 points de la métrique dans notre exemple précédent de la façon suivante: Les fonctions peuvent être imbriquées, ce qui permet des expressions et des calculs complexes. Voici un autre exemple qui donne le total courant des ventes pour la journée en utilisant les métriques par produit de ventes par minute: La fonction sumSeries calcule une série temporelle qui est la somme de chaque métrique correspondant aux produits pattern..salesPerMinute. Ensuite, l'intégrale calcule un total courant plutôt qu'un comptage par minute. De là, il n'est pas trop difficile d'imaginer comment on pourrait construire une interface Web pour visualiser et manipuler des graphiques. Graphite est livré avec sa propre interface utilisateur Composer, illustrée à la figure 7.3. Qui fait cela en utilisant Javascript pour modifier les paramètres des URL graphiques que l'utilisateur clique dans les menus des fonctionnalités disponibles. Figure 7.3: Interface Graphites Composer 7.4. Dashboards Depuis sa création, Graphite a été utilisé comme outil de création de tableaux de bord basés sur le Web. L'URL API en fait un cas d'utilisation naturelle. Créer un tableau de bord est aussi simple que faire une page HTML pleine de balises comme celle-ci: Cependant, tout le monde n'aime pas l'élaboration d'URL à la main, donc Graphistes Composer UI fournit une méthode point-and-click pour créer un graphique à partir duquel vous pouvez simplement copier et Coller l'URL. Lorsqu'il est couplé avec un autre outil qui permet la création rapide de pages Web (comme un wiki), cela devient assez facile que les utilisateurs non techniques peuvent construire leurs propres tableaux de bord assez facilement. 7.5. Un fossé évident Une fois que mes utilisateurs ont commencé à créer des tableaux de bord, Graphite a rapidement commencé à avoir des problèmes de performance. J'ai enquêté sur les journaux du serveur Web pour voir ce que les requêtes étaient bogging il vers le bas. Il était assez évident que le problème était le grand nombre de requêtes graphiques. Le webapp était CPU-bound, rendant graphiques en permanence. J'ai remarqué qu'il y avait beaucoup de demandes identiques, et les tableaux de bord étaient à blâmer. Imaginez que vous ayez un tableau de bord contenant 10 graphiques et que la page soit actualisée une fois par minute. Chaque fois qu'un utilisateur ouvre le tableau de bord dans son navigateur, Graphite doit traiter 10 demandes de plus par minute. Cela devient rapidement coûteux. Une solution simple est de rendre chaque graphe une seule fois, puis de servir une copie de celui-ci à chaque utilisateur. Le framework web Django (sur lequel Graphite est construit) offre un excellent mécanisme de mise en cache qui peut utiliser différents backend comme memcached. Memcached 3 est essentiellement une table de hachage fournie en tant que service de réseau. Les applications clientes peuvent obtenir et définir des paires clé-valeur tout comme une table de hachage ordinaire. Le principal avantage de l'utilisation de memcached est que le résultat d'une demande coûteuse (comme le rendu d'un graphe) peut être stocké très rapidement et récupéré plus tard pour traiter les demandes suivantes. Pour éviter de renvoyer les mêmes graphiques périmés, memcached peut être configuré pour expirer les graphes mis en cache après une courte période. Même si ce n'est que quelques secondes, le fardeau qu'il prend Graphite est énorme parce que les demandes en double sont si communs. Un autre cas courant qui crée beaucoup de requêtes de rendu est lorsqu'un utilisateur modifie les options d'affichage et applique des fonctions dans l'interface utilisateur Composer. Chaque fois que l'utilisateur change quelque chose, Graphite doit redessiner le graphe. Les mêmes données sont impliquées dans chaque demande de sorte qu'il est logique de mettre les données sous-jacentes dans le memcache ainsi. Cela maintient l'interface utilisateur réactive à l'utilisateur parce que l'étape de récupération des données est ignorée. 7.6. Optimisation de l'IO Imaginez que vous avez 60 000 mesures que vous envoyez à votre serveur Graphite et que chacune de ces mesures a un point de données par minute. N'oubliez pas que chaque métrique a son propre fichier de chuchotement sur le système de fichiers. Cela signifie que le carbone doit effectuer une opération d'écriture à 60 000 fichiers différents chaque minute. Tant que le carbone peut écrire à un fichier chaque milliseconde, il devrait être capable de suivre. Ce n'est pas trop loin cher, mais disons que vous avez 600 000 métriques mise à jour chaque minute, ou vos statistiques sont mises à jour chaque seconde, ou peut-être vous ne pouvez pas se permettre un stockage assez rapide. Quoi qu'il en soit, supposons que le taux de points de données entrants dépasse le taux d'écriture que votre stockage peut suivre. Comment cette situation doit-elle être gérée? La plupart des disques durs disposent aujourd'hui de temps de recherche lent 4. C'est-à-dire le délai entre les opérations IO à deux emplacements différents, par rapport à l'écriture d'une séquence contiguë de données. Cela signifie que l'écriture plus contiguë que nous faisons, plus le débit que nous obtenons. Mais si nous avons des milliers de fichiers qui doivent être écrits fréquemment, et chaque écriture est très petite (un seul point de données whisper est seulement 12 octets), alors nos disques vont certainement passer la plupart de leur temps à chercher. En travaillant sous l'hypothèse que le taux d'écriture a un plafond relativement bas, la seule façon d'augmenter notre débit de points de données au-delà de ce taux est d'écrire plusieurs points de données en une seule opération d'écriture. Ceci est possible parce que le murmure arrange des points de données consécutifs sur le disque. J'ai donc ajouté une fonction updatemany pour chuchoter. Qui prend une liste de points de données pour une seule métrique et compose des points de données contigus en une seule opération d'écriture. Même si cela rend chaque écriture plus grande, la différence de temps qu'il faut pour écrire dix points de données (120 octets) par rapport à un point de données (12 octets) est négligeable. Il faut beaucoup plus de points de données avant que la taille de chaque écriture commence à affecter sensiblement la latence. Ensuite, j'ai implémenté un mécanisme tampon en carbone. Chaque point de données entrant est mappé à une file d'attente en fonction de son nom de métrique et est ensuite ajouté à cette file d'attente. Un autre thread itérativement à travers toutes les files d'attente et pour chacune d'elles il extrait tous les points de données et les écrit dans le fichier whisper approprié avec updatemany. Pour en revenir à notre exemple, si 600 000 métriques sont mises à jour à chaque minute et que notre stockage ne peut que 1 écriture par milliseconde, les files d'attente finiront par contenir environ 10 points de données en moyenne. La seule ressource qui nous en coûte est la mémoire, qui est relativement abondante puisque chaque point de données est seulement quelques octets. Cette stratégie tampon dynamiquement autant de points de données que nécessaire pour maintenir un taux de points de données entrants qui peuvent dépasser le taux d'opérations IO votre stockage peut suivre avec. Un avantage appréciable de cette approche est qu'elle ajoute un certain degré de résilience pour gérer les ralentissements IO temporaires. Si le système doit effectuer d'autres travaux d'E / S hors graphite, il est probable que le taux d'écriture diminuera, auquel cas les files d'attente en carbone s croîtront simplement. Plus les files d'attente sont grandes, plus les écritures sont grandes. Etant donné que le débit total des points de données est égal au taux d'écriture des opérations multiplié par la taille moyenne de chaque écriture, le carbone est capable de se maintenir tant qu'il y a suffisamment de mémoire pour les files d'attente. Le mécanisme de mise en file d'attente du carbone s est représenté à la figure 7.4. Figure 7.4: Mécanisme de mise en file d'attente des carbones 7.7. Le maintien en temps réel des points de données de tamponnement a été une bonne façon d'optimiser l'IO de carbone, mais il n'a pas pris longtemps pour mes utilisateurs de remarquer un effet secondaire plutôt troublant. Revoir notre exemple encore une fois, nous avons 600 000 métriques qui se mettent à jour chaque minute et supposaient que notre stockage ne peut suivre que 60 000 opérations d'écriture par minute. Cela signifie que nous aurons approximativement 10 minutes de données se trouvant dans les files d'attente de carbone à un moment donné. Pour un utilisateur cela signifie que les graphes qu'ils demandent à la graphite webapp manqueront les 10 dernières minutes de données: Pas bon Heureusement, la solution est assez simple. J'ai simplement ajouté un écouteur socket à carbone qui fournit une interface de requête pour accéder aux points de données en mémoire tampon, puis modifie le graphite webapp pour utiliser cette interface chaque fois qu'il a besoin de récupérer des données. Le webapp combine alors les points de données qu'il récupère du carbone avec les points de données qu'il a récupérés du disque et voila, les graphiques sont en temps réel. Certes, dans notre exemple les points de données sont mis à jour à la minute et donc pas exactement en temps réel, mais le fait que chaque point de données est instantanément accessible dans un graphe une fois qu'il est reçu par le carbone est en temps réel. 7.8. Les noyaux, les caches et les défaillances catastrophiques Comme il est probablement évident à l'heure actuelle, une caractéristique clé de la performance du système que Graphites possède sa propre performance dépend de sa latence IO. Jusqu'à présent, nous avons supposé que notre système a constamment faible latence IO moyennant environ 1 milliseconde par écriture, mais c'est une grande hypothèse qui nécessite une analyse un peu plus profonde. La plupart des disques durs simplement arent que rapide même avec des dizaines de disques dans une matrice RAID il est très probable que plus de 1 millisecond de latence pour l'accès aléatoire. Pourtant, si vous étiez à essayer de tester à quelle vitesse même un ordinateur portable vieux pourrait écrire un kilo-octet entier sur le disque, vous trouverez que l'appel du système d'écriture retourne en beaucoup moins de 1 milliseconde. Pourquoi? Chaque fois que le logiciel a des caractéristiques de performance incohérentes ou inattendues, généralement le buffering ou la mise en cache est à blâmer. Dans le cas présent, il s'agissait des deux. L'appel de système d'écriture ne techniquement pas écrire vos données sur le disque, il met simplement dans un tampon que le noyau écrit ensuite sur le disque plus tard. C'est pourquoi l'appel d'écriture revient habituellement si rapidement. Même après que le tampon a été écrit sur le disque, il reste souvent mis en cache pour les lectures suivantes. Ces deux comportements, la mise en mémoire tampon et la mise en cache, nécessitent évidemment de la mémoire. Les développeurs du noyau, étant les gens intelligents qu'ils sont, a décidé qu'il serait une bonne idée d'utiliser n'importe quelle mémoire d'espace utilisateur est actuellement libre au lieu d'allouer la mémoire pure et simple. Cela s'avère être un booster de la performance extrêmement utile et il explique également pourquoi peu importe la quantité de mémoire que vous ajoutez à un système, il finira généralement par avoir presque nulle mémoire libre après avoir fait une modeste quantité d'E / S. Si vos applications d'espace utilisateur ne sont pas en utilisant cette mémoire, votre noyau est probablement. L'inconvénient de cette approche est que cette mémoire libre peut être retirée du noyau au moment où une application utilisateur-espace décide qu'elle doit allouer plus de mémoire pour elle-même. Le noyau n'a d'autre choix que de renoncer à lui, en perdant les tampons qui pourraient avoir été là. Alors, qu'est-ce que tout cela signifie pour Graphite Nous venons de mettre en évidence la dépendance au carbone sur la latence des E / S toujours faible et nous savons également que l'appel du système d'écriture ne retourne rapidement que parce que les données sont simplement copiées dans un tampon. Ce qui se produit quand il n'y a pas assez de mémoire pour que le noyau continue de tamponner des écritures Les écritures deviennent synchrones et donc terriblement lentes Cela provoque une chute dramatique dans le taux d'opérations d'écriture du carbone, ce qui provoque des files d'attente carbone s qui mange encore plus Mémoire, affamant le noyau encore plus loin. En fin de compte, ce genre de situation se traduit habituellement par un manque de mémoire dans le carbone ou un système d'administration en colère. Pour éviter ce type de catastrophe, j'ai ajouté plusieurs fonctionnalités au carbone, y compris des limites configurables sur le nombre de points de données peuvent être mis en file d'attente et les limites de débit sur la rapidité avec laquelle différentes opérations de chuchotement peuvent être effectuées. Ces caractéristiques peuvent protéger le carbone contre la spirale hors de contrôle et au lieu d'imposer des effets moins durs comme la chute de certains points de données ou de refuser d'accepter plus de points de données. Toutefois, les valeurs appropriées pour ces paramètres sont spécifiques au système et nécessitent un nombre suffisant de tests à régler. Ils sont utiles, mais ils ne résolvent pas fondamentalement le problème. Pour cela, bien besoin de plus de matériel. 7.9. Mise en grappe La création de plusieurs serveurs Graphite semble être un système unique, du point de vue de l'utilisateur, n'est pas terriblement difficile, du moins pour une implémentation naiumlve. L'interaction utilisateur webapps se compose principalement de deux opérations: trouver des métriques et extraire des points de données (généralement sous forme de graphique). Les opérations de recherche et d'extraction de la webapp sont cachées dans une bibliothèque qui résume leur mise en œuvre du reste de la base de code et sont également exposées par des gestionnaires de requêtes HTTP pour des appels à distance faciles. L'opération de recherche recherche dans le système de fichiers local des données chuchotées pour les objets correspondant à un motif spécifié par l'utilisateur, tout comme un système de fichiers glob comme. txt correspond aux fichiers avec cette extension. Étant une structure arborescente, le résultat renvoyé par find est une collection d'objets Node, chacun dérivant des sous-classes Branch ou Leaf de Node. Les répertoires correspondent aux nœuds de branche et les fichiers de chuchotement correspondent aux nœuds de feuille. Cette couche d'abstraction facilite le support de différents types de stockage sous-jacent, y compris les fichiers RRD 5 et les fichiers chuchotés gzipés. L'interface Feuille définit une méthode d'extraction dont l'implémentation dépend du type de noeud feuille. Dans le cas des fichiers whisper, il s'agit simplement d'une mince enveloppe autour de la propre fonction de récupération des bibliothèques de murmures. Lorsque le support de cluster a été ajouté, la fonction de recherche a été étendue pour pouvoir effectuer des appels de recherche à distance via HTTP vers d'autres serveurs Graphite spécifiés dans la configuration des webapps. Les données de nœud contenues dans les résultats de ces appels HTTP sont enveloppées en tant qu'objets RemoteNode conformes au nœud habituel. Une succursale. Et des interfaces Leaf. Cela rend le clustering transparent pour le reste de la base de code webapps. La méthode fetch pour un nœud feuille éloigné est implémentée comme un autre appel HTTP pour récupérer les points de données du serveur graphite de nœuds. Tous ces appels sont effectués entre les webapps de la même manière qu'un client les appellerait, sauf avec un paramètre supplémentaire spécifiant que l'opération ne devrait être effectuée que localement et ne pas être redistribuée dans l'ensemble du cluster. Lorsque le webapp est invité à rendre un graphique, il effectue l'opération find pour localiser les métriques demandées et les appels chercher sur chacun pour récupérer leurs points de données. Cela fonctionne que les données soient sur le serveur local, les serveurs distants ou les deux. Si un serveur tombe en panne, le délai d'attente des appels à distance est assez rapide et le serveur est marqué comme étant hors service pendant une courte période au cours de laquelle aucun appel supplémentaire ne sera effectué. Du point de vue de l'utilisateur, toutes les données sur le serveur perdu seront absentes de leurs graphiques à moins que ces données soient dupliquées sur un autre serveur du cluster. 7.9.1. Une brève analyse de l'efficacité du clustering La partie la plus coûteuse d'une requête graphique est de rendre le graphique. Chaque rendu est exécuté par un seul serveur de sorte ajouter plus de serveurs effectivement augmenter la capacité de rendu des graphes. Cependant, le fait que de nombreuses demandes finissent par distribuer des appels de recherche à tous les autres serveurs de la grappe signifie que notre système de regroupement partage une grande partie de la charge frontale plutôt que de la disperser. Ce que nous avons réalisé à ce stade, cependant, est un moyen efficace de distribuer la charge de back-end, car chaque instance de carbone fonctionne de façon indépendante. C'est une bonne première étape puisque la plupart du temps l'arrière est un goulet d'étranglement bien avant l'extrémité avant est, mais clairement l'extrémité avant ne sera pas à l'échelle horizontale avec cette approche. Afin de rendre l'échelle frontale plus efficace, le nombre d'appels de recherche à distance effectués par le webapp doit être réduit. Encore une fois, la solution la plus simple est la mise en cache. Tout comme memcached est déjà utilisé pour mettre en cache les points de données et les graphiques rendus, il peut également être utilisé pour mettre en cache les résultats des requêtes de recherche. Étant donné que l'emplacement des métriques est beaucoup moins susceptible de changer fréquemment, cela devrait généralement être mis en cache plus longtemps. Le compromis de définir le délai d'attente du cache pour trouver des résultats trop longs, c'est que les nouvelles métriques ajoutées à la hiérarchie peuvent ne pas apparaître aussi rapidement pour l'utilisateur. 7.9.2. Distribution de métriques dans un cluster Le graphite webapp est assez homogène dans un cluster, en ce sens qu'il effectue exactement le même travail sur chaque serveur. Toutefois, le rôle de carbone peut varier d'un serveur à l'autre en fonction des données que vous choisissez d'envoyer à chaque instance. Souvent, il existe de nombreux clients différents qui envoient des données au carbone. Il serait donc assez ennuyeux de coupler chaque configuration clients avec votre grappe graphite mise en page. Les métriques d'application peuvent aller à un serveur de carbone, tandis que les métriques métier peuvent être envoyées à plusieurs serveurs de carbone pour la redondance. Pour simplifier la gestion de scénarios comme celui-ci, Graphite est livré avec un outil supplémentaire appelé relais de carbone. Son travail est assez simple, il reçoit des données métriques de clients exactement comme le démon de carbone standard (qui est en fait nommé carbone-cache), mais au lieu de stocker les données, il applique un ensemble de règles aux noms de métrique pour déterminer quels serveurs de cache de carbone Pour relayer les données. Chaque règle se compose d'une expression régulière et d'une liste de serveurs de destination. Pour chaque point de données reçu, les règles sont évaluées dans l'ordre et la première règle dont l'expression régulière correspond au nom de la métrique est utilisée. De cette façon, tous les clients ont besoin de faire est d'envoyer leurs données au relais de carbone et il finira sur les bons serveurs. En un sens, le relais de carbone fournit une fonctionnalité de réplication, mais il serait plus précisément appelé duplication d'entrée car il ne traite pas de problèmes de synchronisation. Si un serveur tombe en panne temporairement, il manquera les points de données pour la période pendant laquelle il était en panne, mais fonctionnent normalement. Il existe des scripts administratifs qui laissent le contrôle du processus de resynchronisation entre les mains de l'administrateur système. 7.10. Réflexions sur le design Mon expérience de travail sur Graphite a réaffirmé mon conviction que l'évolutivité a très peu à voir avec les performances de bas niveau, mais est plutôt un produit de conception globale. J'ai rencontré de nombreux goulets d'étranglement en cours de route, mais chaque fois que je cherche des améliorations dans la conception plutôt que des accélérations dans la performance. On m'a demandé à plusieurs reprises pourquoi j'ai écrit Graphite en Python plutôt que Java ou C, et ma réponse est toujours que je n'ai pas encore rencontré un vrai besoin de la performance qu'une autre langue pourrait offrir. Dans Knu74, Donald Knuth dit célèbre que l'optimisation prématurée est la racine de tout le mal. Tant que nous supposons que notre code va continuer à évoluer de manière non triviale, alors toute optimisation 6 est dans un certain sens prématurée. L'une des plus grandes forces et des plus grandes faiblesses de Graphites est le fait que très peu de lui a été réellement conçu dans le sens traditionnel. En gros, le graphite évoluait graduellement, obstacle par obstacle, à mesure que se posaient des problèmes. Plusieurs fois, les obstacles étaient prévisibles et diverses solutions préventives semblaient naturelles. Cependant, il peut être utile d'éviter de résoudre des problèmes que vous n'avez pas encore, même si il semble probable que vous allez bientôt. La raison en est que vous pouvez apprendre beaucoup plus d'étroitement étudier les échecs réels que de théoriser sur les stratégies supérieures. La résolution de problèmes est guidée par les données empiriques que nous avons à portée de main et notre propre connaissance et intuition. J'ai trouvé que doutant de votre propre sagesse peut vous forcer à regarder vos données empiriques plus complètement. Par exemple, lorsque j'ai écrit pour la première fois un chuchotement, j'étais convaincu qu'il faudrait le réécrire en C pour la vitesse et que ma mise en œuvre Python servirait seulement de prototype. Si je werent sous un temps-crunch je très bien pu avoir sauté la mise en œuvre de Python entièrement. Il s'avère cependant que IO est un goulot d'étranglement tellement plus tôt que le CPU que la moindre efficacité de Python importe peu dans la pratique. Comme je l'ai dit, cependant, l'approche évolutive est aussi une grande faiblesse du graphite. Il s'avère que les interfaces ne se prêtent pas bien à une évolution graduelle. Une bonne interface est cohérente et utilise des conventions pour maximiser la prévisibilité. Par cette mesure, Graphites URL API est actuellement une interface de sous-pair à mon avis. Les options et les fonctions ont été rattachées au fil du temps, formant parfois de petites îles de cohérence, mais globalement dépourvues d'un sens global de cohérence. La seule façon de résoudre un tel problème est de contrôler les versions des interfaces, mais cela a aussi des inconvénients. Une fois qu'une nouvelle interface est conçue, la vieille est encore difficile à se débarrasser, s'attardant autour comme des bagages évolutifs comme l'appendice humain. Il peut sembler assez inoffensif jusqu'à ce qu'un jour votre code obtient l'appendicite (c'est-à-dire un bug attaché à l'ancienne interface) et vous êtes forcé de fonctionner. Si je devais changer une chose au sujet de Graphite tôt, il aurait été de prendre beaucoup plus de soin dans la conception des API externes, en pensant à l'avance au lieu de les évoluer peu à peu. Un autre aspect du graphite qui provoque une certaine frustration est la flexibilité limitée du modèle hiérarchique de nomenclature métrique. Bien qu'il soit assez simple et très pratique pour la plupart des cas d'utilisation, il rend certaines requêtes sophistiquées très difficile, voire impossible, à exprimer. Quand j'ai pensé pour la première fois à créer Graphite, je savais dès le début que je voulais une API URL éditable par l'homme pour la création de graphiques 7. Alors que je suis toujours heureux que Graphite offre ceci aujourd'hui, Im a peur cette exigence a chargé l'API avec une syntaxe trop simple que Rend les expressions complexes lourdes. Une hiérarchie rend le problème de la détermination de la clé primaire pour une métrique assez simple, car un chemin est essentiellement une clé primaire pour un nœud dans l'arborescence. L'inconvénient est que toutes les données descriptives (c'est-à-dire les données de colonne) doivent être incorporées directement dans le chemin. Une solution potentielle est de maintenir le modèle hiérarchique et d'ajouter une base de données de métadonnées distincte pour permettre une sélection plus avancée des métriques avec une syntaxe spéciale. 7.11. Devenir une source ouverte En regardant l'évolution de Graphite, je suis toujours surpris à la fois par la mesure dans laquelle il est venu en tant que projet et par la mesure dans laquelle il m'a pris en tant que programmeur. Il a commencé comme un projet animal qui était seulement quelques centaines de lignes de code. Le moteur de rendu a commencé comme une expérience, simplement pour voir si je pouvais en écrire un. Chuchote a été écrit au cours d'un week-end de désespoir pour résoudre un problème show-stopper avant une date de lancement critique. Le carbone a été réécrit plus de fois que je me soucie de me souvenir. Une fois que j'ai été autorisé à libérer Graphite sous une licence open source en 2008 je n'ai jamais vraiment attendu beaucoup de réponse. Après quelques mois, il a été mentionné dans un article CNET qui a été ramassé par Slashdot et le projet a soudainement décollé et a été actif depuis. Aujourd'hui, il existe des dizaines de grandes et moyennes entreprises utilisant Graphite. La communauté est très active et continue de croître. Loin d'être un produit fini, il ya beaucoup de travail expérimental frais qui est fait, ce qui le rend amusant de travailler et plein de potentiel. Launchpad. netgraphite Il existe un autre port sur lequel des objets sérialisés peuvent être envoyés, ce qui est plus efficace que le format texte brut. Cela n'est nécessaire que pour des niveaux de trafic très élevés. Memcached. org Les lecteurs à semi-conducteurs ont généralement des temps de recherche extrêmement rapides par rapport aux disques durs classiques. Les fichiers RRD sont en fait des nœuds de branche car ils peuvent contenir plusieurs sources de données. Une source de données RRD est un nœud feuille. Knuth a spécifiquement voulu dire l'optimisation de code à bas niveau, pas l'optimisation macroscopique telle que des améliorations de conception. Cela oblige les graphiques eux-mêmes à être open source. Tout le monde peut simplement regarder un URL de graphiques pour le comprendre ou le modifier. Please Visitez notre nouveau site Web - UNIXPackages Les paquets UNIX fournissent le support de paquet complet pour tous les niveaux de Solaris de 2.5, 2.6, 7. à Solaris 11 SVR4 style et NOUVEAU Solaris 11 IPS. Soyez informé que les paquets sur les packages UNIX ne sont disponibles que par l'intermédiaire d'un service d'abonnement payé, car ce nouveau site n'est pas sponsorisé par un tiers. Si cela présente des difficultés particulières, veuillez envoyer un courriel à notre courriel de support. Voir Coordonnées. Les packages UNIX offrent sous abonnement payant, la liste suivante de packages en caractères gras à la version spécifiée pour cette version de Solaris. Cette liste est à jour en date du 24 juillet 2014. Cependant, les paquets populaires sont mis à jour fréquemment et par demande d'abonné, des paquets plus à jour peuvent également être présents pour d'autres versions de Solaris. Les noms de paquetages non gras et / ou sans numéro de version ne sont pas disponibles pour cette version de Solaris. Cependant, ils peuvent être construits sur demande. Solaris 11 SPARC Liste des paquetages a2ps 4.14 a2ps est un filtre Any to PostScript. Aalib 1.4.5 aalib est une bibliothèque gfx de bas niveau. Abook 0.5.6 Abook est un programme de carnet d'adresses avec support client mutt mail. Ack 2.12 Ack est un programme perl écrit en remplacement de grep. Adns 1.4 Adns est une bibliothèque client DNS asynchrone capable avec les utilitaires. Afio 2.5.1 Afio crée des archives au format cpio. Afterstep 8211 Le gestionnaire de fenêtre afterstep. Aget 0.4.1 Aget est un accélérateur de téléchargement HTTP multithread. Aide 0.15.1 AIDE (Advanced Intrusion Detection Environment) est un remplacement gratuit pour Tripwire. Alive 2.0.2 GNU Alive est un programme de ping périodique. Alpine 2.00 Alpine est un nouveau client de messagerie basé sur le pin. Amanda 8211 Amanda l'archivage de disque réseau. Analog 6.0 Analog est un analyseur de fichier journal. Ansitape 8211 Ansitape lit écrit et crée des magtapes conformes à la norme ANSI pour l'étiquetage magtape. Principalement cela est utile pour échanger des bandes avec VAXVMS qui fait ce type de bande par défaut. Antiroute 8211 Antiroute empêche et enregistre le suivi d'itinéraire basé sur UDP. Antiword 0.37 Antiword est un lecteur MS Word. Aolserver 8211 AOLserver 3 Serveur Web évolutif portable open-source d'America Online. Apache 2.4.9 Apache le serveur web populaire. Apg 2.2.3 Générateur automatisé de mot de passe. Apr 8211 Apr est le système de bibliothèques Apache Portable Runtime. aprutil 8211 Aprutil is part of the Apache Portable Runtime libraries system. arc 8211 The arc file archive utility. argtable2 8211 Argtable is an ANSI C library for parsing GNU style command line options. arpalert 8211 Arpalert is used to listen on a network interface to catch all conversations of MAC address to IP requests. arping 2.13 Arping is a util to find out if a specific IP address on the LAN is. arpscan 1.9 Arp-scan is a command-line tool that uses the ARP protocol to discover and fingerprint IP hosts on the local network. arpwatch 8211 Arpwatch and arpsnmp are tools that monitor ethernet or fddi activity and maintain a database of ethernetip address pairings. ascii 3.14 Ascii is a utility that recognizes many different ways of naming an ASCII character (hex octal binary decimal C escape ISO character table pair slang names and others) and prints out all the equivalents. asciidoc 8.6.9 AsciiDoc is a text document format for writing short documents articles books and UNIX man pages. AsciiDoc files can be translated to HTML and DocBook markups using the asciidoc command. asclock 8211 The afterstep clock. aspell 0.60.6.1 Aspell is a spell checker and set of libraries that can be used in spell checking. atk 8211 The GNOME accessibility toolkit. audiofile 0.3.6 The audiofile library provides a uniform programming interface to standard digital audio file formats. autoconf 2.69 GNU autoconf is a package for generating configure scripts. autogen 5.18 AutoGen is a tool to simplify the creation and maintenance of programs that contain large amounts of repetitious text. automake 1.13.3 Automake is a tool for automatically generating Makefiles compliant with the GNU Coding Standards. autossh 1.4c Autossh is a program designed to automatically restart SSH sessions and tunnels. axel 2.4 Axel tries to accelerate downloads by using multiple connections or servers. balance 3.56 Balance is a simple but powerful generic TCP proxy with round-robin load balancing and failover mechanisms. bar 8211 Bar is a command line progress bar to show the amount of data being passed in a data stream. bash 4.3 Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). bashdb 8211 A bash shell debugger with syntax similar to gdb. bashnonetredirections 8211 Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh) 8211 Built with 8211disable-net-redirections to satisfy security issues raised by some system administrators. battlebots 8211 BattleBots is a game of programming. The task is to design your bots and then use the hardware as efficiently as possible by writing a program for it with the mission to kill any enemy bots on the playground. bb 1.3.0 BB is the portable demo of the use of the aalib ascii gfx libraries. bc 1.0.6 Bc is an arbitrary precision numeric processing language. bcrypt 1.1 Bcrypt is a cross platform file encryption utility which uses the blowfish encryption algorithm. bglibs 8211 The BG (Bruce Guenter) library set. bind 9.9.5p1 The Berkeley Internet Name Domain (BIND) implements an Internet name server for Unix operating systems. binutils 2.23.1 This GNU package includes the GNU versions of the ld as ar nm ranlib strip strings and other programs. bison 3.0.2 Bison a replacement for YACC. blame 8211 Blame displays the last modification for each line in an RCS file. blt 8211 BLT is an extension to the Tk toolkit adding new widgets geometry managers and miscellaneous commands. bluefish 8211 The bluefish editor for programmers and web designers. bogofilter 1.2.4 Bogofilter is a mail filter that classifies mail as spam or non-spam. bonnie 1.03e Bonnie is a benchmark suite that performs a number of simple tests of hard drive and file system performance. bosh 0.6 Bosh stands for browsable output shell. It isn8217t really a shell. What is does is store the output of a specified program in a buffer and provides a simple curses interface to browse this buffer. Actions can be configured which can make use of the contents of the currently selected line. bpython 8211 Bpython is an interface to the Python interpreter. brltty 8211 BRLTTY is a background process (daemon) providing access to the LinuxUnix console (when in text mode) for a blind person using a refreshable braille display. bvi 1.3.2 Bvi is an editor for binary files. bwmng 0.6 Bwmng is a console-based bandwidth monitor. bzip2 1.0.6 bzip2 file compression utility. bzr 2.5.1 Bazaar is a version control system that helps you track project history over time and to collaborate easily with others. c3270 8211 c3270 is a curses-based version of x3270 for use on a dumb terminal. cairo 8211 Cairo is a 2D graphics library with support for multiple output devices. cares 1.9.1 MIT c-ares is an asynchronous resolver library. catdoc 0.94.2 Catdoc reads one or more Microsoft word files and outputs text. It also includes xls2csv a program that converts an Excel spreadsheet into a comma-separated value file. cave 8211 Cave is tool for playing ascii animations. cclive 8211 Cclive is a command line video extraction utility. It suports YouTube Google Video and others. ccrypt 1.10 Ccrypt is a utility for encrypting and decrypting files and streams. It was designed as a replacement for the standard unix crypt utility. Ccrypt is based on the Rijndael cipher. cdpr 8211 Cdpr (Cisco Discovery Protocol Reporter) shows the switch and port that a machine is connected to provided that the device supports CDP. cdrtools 8211 Cdrtools (formerly cdrecord) contains powerful tools for burning CDs and DVDs. cfengine 8211 GNU cfengine is a suite of programs for setting up and maintaining BSD and System-V-like operating system optionally attached to a TCPIP network. cgrep 8.15 Cgrep is a grep-like tool with enhanced performance and many additional features. check 0.9.8 Check is a unit test framework for C. cherokee 8211 Cherokee is a flexible very fast lightweight Web server. It is implemented entirely in C and has no dependencies beyond a standard C library. It is embeddable and extensible with plug-ins. It supports on-the-fly configuration by reading files or strings TLSSSL (via GNUTLS or OpenSSL) virtual hosts authentication cache friendly features PHP custom error management and much more. chicken 4.8.0 Chicken is a compiler for the Scheme programming language. chkrootkit 8211 chkrootkit is a tool to locally check for signs of a rootkit. chmlib 8211 Chmlib is a library for dealing with ITSSCHM format files. ckermit 9.0.302 C-Kermit is a combined network and serial communication software package. clamav 0.98.4 The Clam Antivirus system. clex 8211 CLEX is an ncurses-based file manager with a full-screen user interface. clisp 8211 CLISP a version of Common Lisp. clzip 1.5 Clzip is a lossless data compressor based on the LZMA algorithm with very safe integrity checking and a user interface similar to the one of gzip or bzip2. cmake 2.8.12.1 Cmake is a cross-platform make system. cmatrix 8211 Cmatrix is an ncurses based program that simulates the moving lines of symbols seen on the screen in The Matrix movie It is provided for fun or to act as a kind of screen saver. Cmatrix is used in an xterm or rxvt window (if you want color). colordiff 1.0.13 Colordiff is a perl script that provides color highlighted diff output. coloredit 8211 Coloredit is a tool to view and edit the X window color entries. combine 0.4.0 Combine is primarily a program for merging files on a common key. compface 8211 Compface 48x48x1 image compression and decompression. complexity 1.1 Complexity measures the complexity of C source. conflict 6.19 Conflict examines the user specifiable list of programs looking for instances in the user. confuse 2.7 libConfuse is a configuration file parser library. conman 0.2.7 ConMan is a serial console management program designed to support a large number of console devices and simultaneous users. conserver 8211 Conserver is an application that allows multiple users to watch a serial console at the same time. convmv 1.15 Convmv converts filenames (not file content) directories and even whole filesystems to a different encoding. cook 2.34 Cook is a file construction tool. coreutils 8.21 GNU Coreutils are a set of basic file shell and text manipulation utilities for the GNU operating system that are expected to exist on every operating system. Previously they were offered as three individual distributions: fileutils shellutils and textutils. cpio 2.11 GNU cpio copies files into or out of a cpio or tar archive. cpptest 1.1.1 CppTest is a C Unit Testing Framework. crm114 8211 CRM114 is a system to examine incoming e-mail system log streams data files or other data streams and to sort filter or alter the incoming files or data streams according to the user8217s desires. cronolog 8211 Cronolog is a simple filter program that reads log file entries from standard input and writes each entry to the output file specified by a filename template and the current date and time. cscope 15.8a Cscope is a developer8217s tool for browsing C code. ctags 5.8 Exuberant Ctags is a multilanguage reimplementation of the ctags(1) program. It generates indexes of source code definitions which are used by a number of editors and tools. curl 7.37.0 Curl is a tool for transferring files with URL syntax supporting FTP FTPS HTTP HTTPS GOPHER TELNET DICT and FILE. curlldap 8211 Curl is a tool for transferring files with URL syntax supporting FTP FTPS HTTP HTTPS GOPHER TELNET DICT and FILE 8211 With LDAP Support. cvs 1.12.13 The cvs version control system. cvs2svn 8211 Cvs2svn is a tool for migrating a cvs repository to subversion or git. cython 0.15.1 Cython is a language that makes writing extensions for the Python language as easy as Python. daemontools 8211 Daemontools is a collection of tools for managing UNIX services. daq 2.0.2 The Snort Data Acquisition library. darkstat 3.0.717 Darkstat is a network statistics gatherer. db 5.3.21.NC db is the Berkeley open source embedded database system. dbus 8211 Dbus is a message bus system providing a way for applications to talk to each other. dbusglib 8211 The glib bindings for Dbus. ddd 8211 DDD is the GNU Data Display Debugger. ddpt 0.93 Ddpt is a utility for copying files like its namesake the Unix dd command. ddrescue 1.18.1 GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc cdrom etc) to another trying hard to rescue data in case of read errors. ded 20131205 Ded is a curses based directory editor which allows you to navigate multiple file lists or a directory tree. dejagnu 1.5.1 DejaGnu is a framework for testing other programs. Its purpose is to provide a single front end for all tests. dhcp 4.2.5p1 The Dynamic Host Configuration Protocol distribution. dhex 0.68 Dhex is an ncurses based hex editor. di 4.35 Di is a disk information utility. dialog 8211 Dialog is a utility to create user interfaces to shell scripts or other scripting languages. diction 1.11 GNU diction and style document analysis. diffstat 1.58 Diffstat reads the output of diff and displays a histogram of the insertions deletions and modifications per file. diffuse 0.4.7 Diffuse is a graphical tool for merging and comparing text files. diffutils 3.3 The GNU diff diff3 sdiff and cmp utilities. dig 8211 Dig is a command-line tool for querying Domain Name System servers. dio 8211 Dio is a device IO analysis tool. disktool 8211 Disktool is a program that shows how much disk space is available in each disk on a system. disktype 9 The purpose of disktype is to detect the content format of a disk or disk image. It knows about common file systems partition tables and boot codes. distcc 8211 Distcc is a program to distribute builds of C C Objective C or Objective C code across several machines on a network. djbdns 8211 Djbdns is a collection of Domain Name System tools. dnrd 8211 Dnrd (Domain Name Relay Daemon) is a caching forwarding DNS proxy server. dnsmasq 8211 Dnsmasq is a lightweight DNS forwarder and DHCP server. dnstop 20121017 Dnstop displays various tables of dns traffic. doc 8211 DOC is a documentation system for C C and Java generating both TeX output for high quality hardcopies and HTML output for sophisticated online browsing of your documentation. docutils 0.10 The docutils documentation utilities. dog 8211 Dog is an alternative to the cat command. dos2unix 6.0.5 DOSMAC to UNIX text file format converter. dovecot 2.1.12 Dovecot is an IMAP and POP3 server. doxygen 1.8.7 Doxygen is a documentation system for C C Java Objective-C Python and others. dsniff 8211 The dsniff package contains a number of tools for examining traffic on a network including the dsniff sniffer webspy a URL sniffer and other tools. dttools 8211 Dttools is a library of C utilities used by the ftsh fault tolerant shell. dwdiff 2.0.7 Dwdiff is a front end for diff that works at the word level instead of the line level. ed 1.10 GNU ed is a line oriented text editor. It is used to create display modify and otherwise manipulate text files both interactively and via shell scripts. egcs 8211 The egcs snapshot 20000306 which includes gcc g and other compilers as in gcc-2.95.3. egd 8211 EGD is an Entropy Gathering Daemon and is a substitute for devrandom. elinks 8211 Elinks is a lynx like web browser. elm 8211 Elm is a mail system. emacs 8211 Emacs is the extensible customizable self-documenting real-time display editor. emacs 8211 Emacs is the extensible customizable self-documenting real-time display editor. enlightenment 8211 The enlightenment window manager. enscript 1.6.6 Enscript converts ASCII files to PostScript and stores generated output to a file or sends it directly to the printer. epydoc 8211 Epydoc is a tool for generating API documentation for Python modules. esound 0.2.38 The enlightened sound daemon mixes several audio streams for playback by a single audio device. eterm 8211 Eterm is a color vt102 terminal emulator. ethereal 8211 Ethereal is a network traffic analyzer or sniffer. ettercapng 8211 Ettercap is a suite for man in the middle attack analysis. Both ncurses and gtk interfaces are included. eventlog 8211 An API to format and send structured log messages. everybuddy 8211 Everybuddy is a chat program for X that incorporates the functions of AOL Instant Messenger ICQ Yahoo Chat and MSN Messanger. expat 2.0.1 Expat is a fast non-validating stream-oriented XML parsing library. expat64 Expat is a fast non-validating stream-oriented XML parsing library. 64-bit version. expect 8211 Expect is a program that performs programmed dialogue with other interactive programs. feh 8211 Feh is an image viewer based on imlib2. fetchmail 6.3.26 Fetchmail is a free full-featured robust well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCPIP links (such as SLIP or PPP connections). It supports every remote-mail protocol now in use on the Internet: POP2 POP3 RPOP APOP KPOP all flavors of IMAP and ESMTP ETRN. It can even support IPv6 and IPSEC. fftw 8211 Fftw is a C subroutine for computing the discrete Fourier transform in one or more dimensions. file 5.14 The open source version of the file command. fileutils 8211 The GNU fileutils package contains the basic file management utilities that are standard on a Unix-like system. filezilla 8211 The FileZilla ftp client. findutils 4.4.2 Findutils contains the GNU find xargs and locate programs. Firefox 8211 Firefox browser by Mozilla 8211 See our Mozilla Page. fish 8211 Fish is a command line shell. flex 2.5.35 Flex the GNU version of lex. fltk 8211 FLTK is a GUI toolkit. fmirror 8211 Fmirror is a program for mirroring files and directories from a remote ftp server. fnlib 0.5 Fnlib is a color font rendering library. fontconfig 2.8.0 Fontconfig is a library for configuring and customizing font access. foremost 8211 Foremost is a program to recover files based on their headers and footers. fping 3.9 fping is tool to quickly ping N number of hosts to determine their reachability. freeradius 8211 The Radius server. freetds 0.91 FreeTDS is a set of libraries that allows your programs to natively talk to Microsoft SQL Server and Sybase database. freetype 2.4.2 FreeType 2 is a software font engine. ftsh 8211 The Fault-Tolerant Shell (ftsh) is a small language for system integration that makes failures a first class concept. ganglia 8211 Ganglia is a monitoring system for clusters and grids. gateway 8211 This is the Kannel opensource WAP and SMS Gateway. gawk 4.1.1 gawk is the GNU version of the awk formatting program. gc 8211 The Boehm-Demers-Weiser garbage collector for C and C. gcal 3.6.3 Gcal is a program for calculating and printing calendars. gcc 3.4.6 The GNU C compiler and related programs. gconf 8211 GConf is a system for storing application preferences. gd 2.0.35 GD Graphics Library An ANSI C library for the dynamic creation of images. GD creates PNG and JPEG images among other formats. gdb 8211 The GNU Debugger. gdbm 1.9.1 GNU dbm is a set of database routines that use extendible hashing and works similar to the standard UNIX dbm routines. gdkpixbuf 8211 The gdk-pixbuf libraries and related graphics objects. gdmap 8211 Gdmap is a tool which allows one to visualize disk space. geany 8211 Geany is a GTK based text editor with some IDE features. gengen 8211 GNU Gengen (GENerator GENerator) is a tool that starting from a parameterized text called template generates a text generator that can substitute parameters with values. gengetopt 2.22.6 This program generates a C function that uses the getoptlong function to parse the command line options to validate them and fills a struct. geoip 1.4.5 GeoIP is a C library that enables the user to find geographical and network information of an IP address. gettext 0.18.3 Gettext is the GNU internationalisation library. gfortune 8211 GNU fortune is an enhanced fortune cookie program. gftp 8211 gftp is a multithreaded ftp client for X Windows written using gtk. ghostscript 8211 PostScript and PDF previewing conversion and printing. ghostview 8211 Ghostview postscript and pdf viewing tool. giblib 8211 Giblib is a wrapper library for imlib2. gif2png 2.5.8 The gif2png program converts files from the Graphic Interchange Format to Portable Network Graphics. giflib 8211 Giflib is a library for manipulating gif files. gifmerge 1.33 Gifmerge is used to merge gif images into a gif animation. gifsicle 1.71 Gifsicle manipulates GIF image files in a variety of ways. gimp 8211 The GNU image manipulation program. git 1.8.4 Git is a version control system for large and small projects. glark 8211 Glark is a replacement for grep with perl compatible regular expressions and many other features. glib 2.25.13 GLib is the low-level core library that forms the basis of GTK and GNOME. global 6.3 GNU global is a source code tag system. glpk 8211 The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP) mixed integer programming (MIP) and other related problems. glut 8211 Glut is the OpenGL Utility Toolkit (GLUT). gmime 8211 GMime is a set of utilities for parsing and creating messages using the Multipurpose Internet Mail Extension (MIME). gmp 4.2.1 GMP is a library for arbitrary precision arithmetic operating on signed integers rational numbers and floating point numbers. gnats 4.1.0 Gnu Gnats is a set of tools for tracking bugs. gnuchess 8211 Gnuchess is a chess playing syste. gnuit 8211 The GNU interactive tools are a set of text-mode tools. gnupg 1.4.17 GnuPG or GPG (the GNU Privacy Guard) is a tool for secure communication and data storage. It can be used to encrypt data and to create digital signatures. gnuplot 8211 The gnuplot plotting tool. gnutls 3.3.4 The GNU transport layer security library system. gpa 8211 Gpa is the GNU Privacy Assistant and is a graphical user interface for GNUPG (GNU Privacy Guard). gperf 3.0.4 GNU gperf is a program that generates perfect hash functions for sets of key words. gpgme 1.4.2 GnuPG Made Easy is a library to make access to GnuPG easier. gpw 6.94 Gpw is Van Vleck8217s password generation program. gqlplus 8211 Gqlplus is a drop-in replacement for sqlplus an Oracle SQL client. graphviz 8211 Graph visualization software. grep 2.18 The GNU version of grep which finds lines that match patterns. grep 2.18 The GNU version of grep which finds lines that match patterns. groff 8211 Groff (GNU Troff) is a document processor which reads plain text and formatting commands produces formatted output from them and then outputs it to another device. grsync 8211 Grsync is a GUI for rsyncbr. gsl 1.14 GSL the GNU Scientific Library is a collection of numerical routines for scientific computing. gsoap 2.8.8 gSOAP offers generator tools for coding SOAPXML web services in C and CgSOAP offers generator tools for coding SOAPXML web services in C and C. gt5 1.4.0 gt5 is used to study disk space usage. gtk 8211 GTK is a multi-platform toolkit for creating graphical user interfaces. gtkspell 8211 GtkSpell provides highlighting and replacement of misspelled words in a GtkTextView widget. gtypist 8211 GNU Typist is a universal typing tutor. guile 1.8.8 Project GNU. s extension language library. gv 8211 A postscript and pdf viewing tool. gzip 1.6 The gzip compressuncompression system. help2man 1.45.1 Help2man is a script to create simple man pages from the - help and - version output of programs. hexdump 1.8 Eric Raymond. s hex dumper. hexedit 1.2.13 Hexedit view and edit files in hexadecimal or in ASCII. hfsutils 8211 Hfsutils tools for reading and writing Macintosh HFS volumes. hping3 20051105 Hping is a command-line oriented TCPIP packet assembleranalyzer. htdig 8211 The ht:Dig system is a complete indexing and searching system for a domain or intranet. httping 2.3.3 Httping is a ping for http-requests. httpry 0.1.7 Httpry is a specialized packet sniffer designed for displaying and logging HTTP traffic. hydra 8211 Hydra is a password security checking program. hypermail 2.3.0 Hypermail is a program that takes a file of mail messages in UNIX mailbox format and generates a set of cross-referenced HTML documents. id3lib 8211 Id3lib is a software library for manipulating ID3v1v1.1 and ID3v2 tags. ifstatus 8211 Ifstatus is designed to detect Solaris 8 hme and qfe interfaces that have been placed in promiscuous mode. iftop 0.17 Iftop does for network usage what top does for CPU usage. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts. imagemagick 8211 ImageMagick is a software suite to create edit and compose bitmap images. imaging 8211 The Python Imaging Library (PIL). imap 2007f Imap contains imap pop2 and pop3 email servers. imlib 8211 Imlib is a general Image loading and rendering library. imlib2 8211 The Imlib 2 library a library that does image file loading and saving as well as rendering manipulation arbitrary polygon support etc. indent 2.2.10 Indent is a C source beautifier. intltool 8211 The internationalization tool collection (intltool) can be used to extract translatable strings from various source files collect the extracted strings together with messages from traditional source files (.c. h) and merge translations from. po files into. xml. desktop and. oaf files. iperf 2.0.5 Iperf is a tool for measuring internet bandwidth performance. iplog 8211 Iplog is a TCPIP traffic logger. Currently it is capable of logging TCP UDP and ICMP traffic. irc 8211 Irc contains a user Interface to Internet Relay Chat Protocol and the Internet Relay Chat Program Server. ircii 8211 Ircii is an IRC and ICB client. irssi 8211 Irssi is a modular IRC client with a text mode user interface. ispell 3.3.02 Ispell is an interactive spell-checking program. jdiskreport 8211 JDiskReport enables you to understand how much space the files and directories consume on your disk drives and it helps you find obsolete files and folders. jikes 8211 Jikes is a fast simple source code to byte code compiler that emphasizes strict adherence to the Java language definition. joe 3.7 The Joe text editor. john 8211 John the Ripper is a fast password cracker Its primary purpose is to detect weak Unix passwords. john64 8211 John the Ripper is a fast password cracker Its primary purpose is to detect weak Unix passwords 8211 64 Bit Version. jove 8211 Jove is an Emacs-style text editor. jpeg 8d The jpeg libraries. jpeg2ps 1.9 Jpeg2ps is a utility for converting jpeg images to compressed Postscript level 2 or 3 files. jpeginfo 1.6.1 Jpeginfo is utility to generate information from jpeg files. jpegoptim 1.2.4 Jpegoptim is a uility to optimize jpeg files. keychain 2.7.1 Keychain helps to manage ssh keys in a convenient and secure manner. It acts as a frontend to ssh-agent. krb5 1.11 MIT Kerberos network authentication protocol. lame 8211 Lame is an MP3 encoder. lbzip2 8211 Lbzip2 is a pthreads-based parallel bzip2bunzip2 utility. lcms 8211 Lcms is a color management engine. lcms2 2.3 Lcms2 is a color management engine. ldns 1.6.16 Ldns is used to simplify DNS programming. Included in the package is the dig-like program drill and other example programs. less 458 Less is a paginator file similar to more but that allows backward as well as forward movement through the file. lftp 4.5.3 lftp is command line file transfer program. It supports FTP HTTP FISH SFTP and FILE (local FS) protocols. GNU Readline library is used for input. Low level stuff supported: ftp proxy http proxy ftp over http opieskey fxp transfers automatic retrying on non-fatal errors and timeouts ipv6 socks http1.1 sftp v3-4. libao 1.1.0 Libao is a cross-platform audio library that allows programs to output audio using a simple API on a wide variety of platforms. libarchive 8211 Libarchive contains a C library and command-line tools for reading and writing tar cpio zip iso and other archive formats. libartlgpl 8211 Libart is a library for high performance 2D graphics. libassuan 2.1.1 Libassuan is a library implementing the Assuan protocol used in some GnuPG components. libcddb 8211 Libcddb is a library that implements the different protocols (CDDBP HTTP SMTP) to access data on a CDDB server (freedb. org). libcroco 8211 Libcroco is a cascading style sheet (CSS) parsing and manipulation toolkit used by GNOME applications. libdnet 1.12 Libdnet provides a simplified portable interface to several low-level networking routines. libedit 20120601-3.0 A port of the NetBSD libedit library. libemf 8211 libEMF is a CC library which provides a drawing toolkit based on ECMA-234. The general purpose of this library is to create vector graphics files on POSIX systems which can be imported into StarOfficeOpenOffice. libevent 1.4.14b The libevent API. libexif 8211 The libexif exif library reads and writes EXIF meta information from and to image files. libffi 3.0.10 The libffi library provides a portable, high level programming interface to various calling conventions. libg2c 8211 This package contains the libg2c library files needed by the octave program. libgcc 3.4.6 Gcc libraries that many programs have as dependencies. libgcj 8211 The libgcj Java libraries. libgcrypt 1.5.2 Libgcrypt is the GNU basic cryptographic library. libghttp 8211 Libghttp is the GNOME http client library. libglade 8211 The libglade library allows you to load glade interface files in a program at runtime. libgpgerror 1.12 Libgpg-error is a small library with error codes and descriptions for the GnuPG software. libgsasl 1.8.0 The GNU SASL library which is an implementation of the Simple Authentication and Security Layer (SASL). libgsf 8211 The GNOME structured file library for reading and writing structured file formats. libgtkhtml 8211 GtkHTML is a HTML renderingediting library. libiconv 1.14 GNU libiconv provides an iconv() implementation for use on systems which do not have one. libidl 8211 libIDL is a front end for CORBA IDL and required for ORBIT2 in Gnome. libidn 1.28 GNU libidn is an implementation of stringprep punycode and IDNA specifications. libintl 3.4.0 Libintl is used with gettext and is needed by a few programs when libintl in not in usrlib. libmcrypt 2.5.8 Libmcrypt is a thread-safe library providing a uniform interface to access several block and stream encryption algorithms. libmikmod 3.2.0beta2 libmikmod is a portable sound library for Unix and other systems. libmng 8211 Libmng is a png-like image format supporting multiple images animation and transparent jpg. libnet 1.1.2.1 Libnet is an API to help with the construction and handling of network packets. libnids 1.24 Libnids offers IP defragmentation TCP stream assembly and TCP port scan detection. libogg 8211 Libogg is the bitstream and framing library for the Ogg project. libol 8211 Libol is a library used by syslog-ng. liboop 8211 Liboop provides a generic callback-based event dispatch interface. libpar2 8211 These are the libraries from the par2 file verification and repair tool. libpcap 1.5.3 libpcap is a system-independent interface for user-level packet capture. libpng 1.2.49 The PNG library is a collection of routines used to create and manipulate PNG format graphics files. librsvg 8211 Librsvg supplies libraries to enable SVG-format scalable graphics. librsync 0.9.7 librsync implements the rolling-checksum algorithm of remote file synchronization that was popularized by the rsync utility and is used in rproxy. This algorithm transfers the differences between 2 files without needing both files on the same system. libsigc 8211 Libgsigc implements a typesafe callback system for standard C. libsigsegv 2.10 Libsigsegv is a library for handling page faults in user mode. libspf2 8211 Libspf2 is an implementation of the SPF specification. libssh2 1.4.3 Libssh2 is a library implementing the SSH2 protocol. libstatgrab 0.17 Libstatgrab is a library that provides cross platform access to statistics about the system on which it is run. libtasn1 2.14 The ASN.1 library and some related programs. libtool 2.4.2 Libtool is a generic library support script. libungif 4.1.4 libungif operates on GIF files using uncompressed GIFs. libuninum 2.7 This is a library for converting Unicode strings to numbers and numbers to Unicode string. libunistring 8211 GNU libunistring provides functions for manipulating Unicode strings. libvorbis 8211 Ogg Vorbis is a general-purpose compressed audio format. Libvorbis provides a standard encoder and decoder. libxml 8211 Libxml is the XML C library developed for the Gnome project. libxml2 2.9.1 Libxml2 is the XML C library developed for the Gnome project. libxslt 1.1.28 Libxslt is the Xslt C library developed for the GNOME project. lighttpd 1.4.35 The lighttpd web server. links 2.7 Links is a Lynx-like text and graphics WWW browser. lldpd 0.7.8 Nicstat prints network traffic statistics. logcheck 8211 Logcheck is designed to automatically run and check system log files for security violations and unusual activity. logilabastng 8211 A python module provides a common base representation of python source code used by programs like pylint. logilabcommon 8211 A set of python modules used by pylint and other projects. logrotate 3.8.6 The logrotate utility is designed to simplify the administration of log files on a system. logsurfer 8211 Logsurfer is a monitoring system for system logs. lookat 1.4.3 Lookat is a program to view Unx text files and manual pages. lrzsz 8211 Lrzsz is a unix communication package providing XMODEM. YMODEM and ZMODEM file transfer protocols. lsh 8211 Lsh is the GNU implementation of ssh 2. lsof 4.87 lsof lists information about files that are open by the processes running on a UNIX system. lua 5.2.2 Lua is a light-weight programming language designed for extending applications. Lua is also frequently used as a general-purpose stand-alone language. lunzip 1.4 Lunzip is a decompressor for lzip files. lxml 8211 Lxml is a python binding for libxml2 and libxslt. lynx 2.8.8.10 Lynx is a text-based web client with ipv6 support. lynxsslipv6 8211 Lynx is a text-based web client. lzip 1.14 Lzip is a lossless file compressor based on the LZMA (Lempel-Ziv-Markov chain-Algorithm) algorithm. lziprecover 1.15 Lziprecover is a data recovery tool and decompressor for files in the lzip compressed data format. lzlib 1.5 Lzlib is a data compression library providing in-memory LZMA compression and decompression functions including integrity checking of the uncompressed data. lzma 8211 The LZMA compression utilities. lzo 8211 Lzo is a portable lossless data compression library. lzop 8211 Lzop is a file compressor which uses the LZO data compression library. m4 1.4.17 GNU m48242 is an implementation of the traditional Unix macro processor. mailx 8211 Mailx (formerly nail) is a mail user agent that extends the features of the older mailx. make 4.0 The GNU version of make also known as gmake. makemap 8211 Makemap is part of the sendmail system and is here because it was left out of the sendmail provided here. man2html 8211 Man2html converts man pages to html format. mawk 1.3.4.20130803 Mawk is an implementation of newposix awk. mc 4.8.12 GNU Midnight Commander (also referred to as MC) is a user shell and visual file manager with text-mode full-screen interface. md5 6142000 MD5 reads data and calculates a cryptographic checksum. md5deep 8211 Md5deep is a suite of tools (md5deep sha1deep sha256deep whirlpooldeep and tigerdeep) to compute hashes or message digests for any number of files while optionally recursively digging through the directory structure. memcached 1.4.15 Memcached is a distributed memory object caching system. memconf 3.03 memconf is a perl script that displays memory modules installed in a Sun system. memtester 4.3.0 Memtest is a utility to test for a faulty memory subsystem. mercurial 2.3 The mercurial Source Control Management (SCM) system. mesa 8211 Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL. metamail 8211 metamail can be used to turn virtually any mail-reading program into a multimedia mail reader as well as programs that will allow metamail to display several specific types of multimedia mail. mgdiff 8211 Mgdiff is a graphical file difference browser. mhash 0.9.9.9 Mhash is a library which provides a uniform interface to a large number of hash algorithms. mikmod 8211 Mikmod is a module player and library supporting many formats including mod s3m it and xm. mined 8211 Mined is a Unicode text editor. ming 0.4.4 Ming is a library for generating Macromedia Flash files (.swf) written in C and includes useful utilities for working with. swf files. miranda 8211 miRanda is an algorithm for finding genomic targets for microRNAs. mkhybrid 8211 Mkhybrid make ISO9660HFS shared hybrid CD volume. mkisofs 8211 Mkisofs is used to create a iso9660 filesystem with optional Rock Ridge attributes for use with cdrecord. mktemp 1.7 Mktemp is a small program to allow safe temporary file creation from shell scripts. mm 8211 MM is a 2-layer abstraction library. It is part of OSSP. modjk 1.2.40 The modjk Apache module from Tomcat Connectors. moe 1.6 GNU Moe is an 8-bit clean text editor for ISO-8859 and ASCII character encodings. mpack 1.6 Mpack and munpack are utilities for encoding and decoding (respectively) binary files in MIME (Multipurpose Internet Mail Extensions) format mail messages. mpage 2.5.6 Mpage takes in plaintext and outputs postscript that will print the text on 1 2 4 or 8 pages. mpeg3play 8211 The mpeg3play mpeg2 and mpeg3 audio file player. mpfr 8211 The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. mpg123 8211 Mp3 audio player with a command line interface. mrtg 2.17.4 The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network-links. mrxvt 0.5.4 Mrxvt is a multi-tabbed X terminal emulator based on rxvt. msmtp 1.4.28 Msmtp is an SMTP client. msort 8.53 Msort is a program for sorting files in sophisticated ways. mtools 4.0.18 Mtools is a collection of utilities to access MS-DOS disks without mounting them. mtr 8211 Mtr combines the functionality of the traceroute and ping programs in a single network diagnostic too. mtx 8211 Mtx is a set of low level driver programs to control features of SCSI backup related devices such as autoloaders tape changers media jukeboxes and tape drives. multitail 6.2 Multitail lets you view one or multiple files in a way similar to the tail program but in multiple windows. mutt 1.5.21 The Mutt email client Support for pop imap and ssl is included. mysql 5.5.27 MySQL is an SQL database server. namebench 8211 Namebench is designed to help determine what name services are the best to use for an individual machine. nano 2.3.4 GNU nano (Nano is an enhanced clone of the pico editor). nc 8211 nc also called netcat is a simple Unix utility which reads and writes data across network connections using TCP or UDP protocol. ncdu 1.10 Ncdu is an ncurses version of the unix du command. ncftp 8211 ncftp is a browser program for the (FTP) File Transfer Protocol. ncurses 5.7 ncurses (new curses) library is a freeware emulation of System V Release 4.0 curses. ndiff 2.00 Ndiff is uses to compare similar files ignoring small numeric differences. ne 2.5 The nice editor. nedit 5.5 NEdit is a Unix text editor for programmers and general users. It has a graphical user interface. nemesis 8211 Nemesis is a command-line network packet crafting and injection utility. nenscript 8211 Nenscript converts text files to PostScript format for printing. neon 0.29.6 Neon is an HTTP and WebDAV client library Neon is used by subversion. nepim 8211 Nepim stands for network pipemeter a tool for measuring available bandwidth between hosts. nessus 5 Nessus is a remote security scanner. It is plug-in-based has a GTK interface and performs over 1200 remote security checks. It allows for reports to be generated in HTML XML LaTeX and ASCII text and suggests solutions for security problems. netcdf 8211 NetCDF (network Common Data Form) is an interface for array-oriented data access. nethack 3.4.3 Nethack is a single player dungeon exploration game. netio 1.31 Netio is a network benchmark for OS2 2.x Windows NT2000 and Unix. It measures the net throughput of a network via NetBIOS TCP and UDP protocols (Unix only supports TCP and UDP) using various different packet sizes. netpbm 10.58.00 The Netbpm graphics tools and converters -. netperf 2.5.0 Netperf is a TCPUDPsocketsetc performance benchmark. netsnmp 5.7.2 The NET-SNMP (formerly UCD-SNMP) package contains various tools relating to the Simple Network Management Protocol. nettle 2.7.1 Nettle is a cryptographic library. nginx 8211 Nginx is an http and reverse proxy server. ngrep 1.45 ngrep is a program that mimicks as much functionality in GNU grep as possible applied at the network layer. nikto 8211 Nikto is a tool for finding default web files and examining web server and CGI security. nload 0.7.4 Nload is a console application that monitors network traffic and bandwidth usage in real time. nmap 6.40 nmap is a network exploration tool and security scanner. nmh 1.4 Nmh is a mail handling system. nose 8211 Nose is a Python unittest extension offering automatic test suite discovery and easy test authoring. ntop 8211 Ntop is a network traffic probe that shows the network usage. ntp 4.2.7p422 The Network Time Protocol (NTP) is used to synchronize the time of a computer client or server to another server or reference time source. nzbget 8211 NZBget is a binary news grabber. ocaml 8211 Objective Caml is the main implementation of the Caml language. octave 8211 GNU Octave is a high-level language for numerical computations. olvwm 8211 Olvwm (OPEN LOOK virtual window manager) is an ICCCM compliant window manager supplied for use with the XView toolkit. op 8211 Op is used to grant access to certain root operations. openldap 2.4.39 OpenLDAP is an open source implementation of the Lightweight Directory Access Protocol. openslp 8211 OpenSLP is an implementation of the Service Location Protocol. openssh 6.6p1 Openssh is an open source version of the SSH secure shell system. openssl 1.0.1h Openssl is an open source toolkit implementing the Secure Sockets Layer (SSL v2v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. optik 8211 Optik is a command-line parsing library for Python. orbit2 8211 Orbit2 is a CORBA 2.4 compliand Object Request Broker and is used in the Gnome project. p7zip 9.20.1 P7zip is a port of 7z and 7za file archiver programs. pango 1.18.2 Pango provides a framework and libraries for the layout and rendering of internationalized text. paps 8211 Paps reads a UTF-8 encoded file and generates a Postscript language rendering of the file. parallel 20140722 GNU Parallel is a shell tool for executing jobs in parallel using one or more machines. paramiko 8211 Paramiko is a module for python 2.2 that implements the SSH2 protocol for secure (encrypted and authenticated) connections to remote machines. patch 2.7 The gnu version of the patch utility. patchutils 0.3.3 Patchutils is a small collection of programs that operate on patch files. patool 8211 Patool is a command line archive file manager. pbzip2 1.1.6 Pbzip2 is a parallel implementation of the bzip2 compression program. pca 20130502.01 PCA Patch Check Advanced is a perl script that generates a list of installed and missing patches for Solaris systems and optionally downloads patches. pcnfsd 8211 Pcnfsd (PC)NFS authentication and print request server. pconsole 8211 Pconsole is a administrative tool for working with clusters of machines. pcre 8.35 The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. pdftk 8211 Pdftk is a tool for manipulating pdf documents in a variety of ways. pdlzip 1.5 Pdlzip is a lossless data compressor based on the LZMA algorithm with very safe integrity checking and a user interface similar to the one of gzip or bzip2. pdsh 2.26 Pdsh is a multithreaded remote shell client which executes commands on multiple remote hosts in parallel. pem 0.7.9 GNU Pem is a tool to help you keep track of your personal income and expenses. pen 0.22.1 Pen is a load balancer for simple tcp protocols such as http and sntp. perl 5.18.1 The Perl Language System. php 5.4.30 The PHP scripting language. pidentd 8211 Pidentd this daemon implements the ident protocol as specified in RFC1413. pidgin 8211 Pidgin is a multi-protocol instant messaging client. pigz 2.2.5 Pigz which stands for Parallel Implementation of GZip is a fully functional replacement for gzip that exploits multiple processors and multiple cores when compressing data. pine 8211 Pine a Program for Internet News and Email is a tool for reading sending and managing electronic messages. pinessl 8211 Pine a Program for Internet News and Email is a tool for reading sending and managing electronic messages 8211 With SSL support. pinfo 0.6.10 Pinfo is a ncurses based lynx style info documentation browser. pingtunnel 0.72 Ptunnel is an application that allows you to reliably tunnel TCP connections to a remote host using ICMP echo request and reply packets commonly known as ping requests and replies. pipebench 0.40 Pipebench is used to measure the speed of stdinstdout communication. pixman 0.18.2 Pixman is a library that provides low-level pixel manipulation features. pkgconfig 0.28 pkg-config is a system for managing library compilelink flags that works with automake and autoconf. plotutils 2.6 The GNU plotutils package. plzip 1.1 Plzip is a massively parallel (multi-threaded) lossless data compressor based on the LZMA algorithm with very safe integrity checking and a user interface similar to the one of gzip or bzip2. pmacct 0.14.0 Pmacct is a small set of passive network monitoring tools. pngcrush 1.7.73 Pngcrush is an optimizer for png files. poppler 8211 Poppler is a PDF rendering library based on xpdf. popt 1.16 The popt library is for parsing command line options. postfix 8211 The Postfix mail system. postgresql 9.3.4 The postgresql database server. povray 8211 Persistence of Vision Raytracer system for three dimensional graphics. prll 0.6.2 A utility for parallelizing the execution of shell functions. prngd 8211 PRNGD is a Pseudo Random Number Generator Daemon. procmail 8211 The procmail and formail mail processing package can be used to create mail-servers mailing lists sort your incoming mail into separate foldersfiles preprocess your mail start any programs upon mail arrival or selectively forward certain incoming mail automatically to someone. strongproftpd 1.3.4b Proftpd is a highly configurable ftp server. proj 8211 Proj.4 is a cartographic and datum shifting library. prwd 1.8 Prwd prints the absolute pathname of the current working directory to the standard output. pssh 2.3.1 Pssh provides parallel versions of OpenSSH and related tools. pstotext 1.9 Pstotext is used to extract text from PostScript. pstree 2.33 Pstree is a utility that shows running processes in tree form. psutils 1.17 PSUtils is a collection of useful utilities for manipulating PostScript documents. pth 2.0.7 GNU Pth The GNU Portable Threads. ptunnel 8211 Ptunnel (PingTunnel) is an application that allows a user to reliably tunnel TCP connections to a remote host using ICMP echo request and reply packets. putty 8211 PuTTY is an implementation of Telnet and SSH with an xterm terminal emulator. pv 1.3.1 Pv the pipe viewer is a terminal-based tool for monitoring the progress of data through a pipeline. pvm 8211 PVM (Parallel Virtual Machine) is a portable message-passing programming system. pwgen 2.06 Pwgen is a small password generator which creates passwords that are easy to memorize. pycairo 8211 Pycairo is a set of Python bindings for cairo. pycrypto 8211 Pycrypto is a collection of cryptographic algorithms and protocols for Python. pydf 8211 Pydf displays the amount of used and available space on your filesystem like df but in colors. pygments 8211 Pygments is a generic syntax highlighter to prettify source code. pygobject 8211 The python bindings for gobject (used with pygtk). pygtk 8211 PyGTK provides a way to interface python with the GTK libraries. pylint 8211 Pylint is a lint-like tool for Python code. pysqlite 8211 Pysqlite is a Python DB-API 2.0 interface for SQLite. python 3.1.2 The python language system. pythonldap 8211 Python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. qdbm 1.8.78 QDBM (Quick Database Manager) is a library of routines for managing a database. qmail 8211 The qmail mail system. qpopper 8211 Qualcomm version of popper the POP3 email server. qpopperssl 8211 Qualcomm version of popper the POP3 email server 8211 With SSL support. qt 8211 This is a packaging of QtX11 application development environment from Trolltech. quotatool 1.4.12 Quotatool is a utility to set filesystem quotas from the command line. R 2.15.1 R is an environment for statistical computing and graphics. radius 8211 Radius Remote Authentication Dial In User Service daemon. rapidsvn 8211 Rapidsvn is a GUI front end to subversion. rcs 5.9.1 rcs is the Revision Control System. rdesktop 1.8.1 Rdesktop is a client for Windows terminal servers. rdiffbackup 8211 Rdiff-backup is used to backup up or mirror files and directories. It provides an alternative to rsync. rdup 8211 Rdup provides a list of files to backup and the mechanisms to process them. re2c 0.13.5 Re2c is a tool for writing flexible lexical scanners. readline 6.3 readline lets users edit command lines as they are typed in. recode 8211 Recode recognizes or produces approximately 150 character sets and can convert almost any character set to almost any other. recutils 1.6 GNU recutils is a set of libraries and utilities supporting the Rec format: a human-readable text-based format to store small to medium sized databases. renameutils 0.12.0 The renameutils are a set of programs designed to make renaming files easier and faster. render 0.8 This package contains header files and documentation for the X render extension. renderproto 0.9.3 The renderproto package provides some files needed in the build of GTK related packages. replace 2.24 Replace is a substitute for the sed command. rlwrap 8211 Rlwrap is a readline wrapper that uses the GNU readline library to allow the editing of keyboard input for any other command. rpm 8211 RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing uninstalling verifying querying and updating software packages. rrdtool 8211 RRD is system to store and display time-series data network bandwidth server load average etc. rssh 2.3.4 Rssh is a restricted shell fo use with openssh allowing only scp andor sftp. Support for rdist rsync and cvs are also available if you install them. rsync 3.1.0 Rsync is a replacement for rcp that has many more features. rsyslog 8211 Rsyslog is an enhanced multi-threaded syslogd. rtext 8211 Rtext is a programmer8217s text editor. ruby 8211 Ruby is the interpreted scripting language for quick and easy object-oriented programming. rush 1.7 GNU Rush is a restricted user shell. rxvt 2.7.10 Rxvt is a modified version of the X terminal emulator xvt. samba 3.6.4 The Samba software suite is a collection of programs that implements the SMB protocol for unix systems allowing you to serve files and printers to Windows NT OS2 and DOS clients Kerberos SSL and AIO support are added. sasl 2.1.26 This is the Cyrus SASL (Simple Authentication and Security Layer) API implementation. It can be used on the client or server side to provide authentication and authorization services. sbcl 8211 The Steel Bank Common Lisp system. sc 7.16 Sc is a curses-based spreadsheet program that uses key bindings similar to vi and less. scanssh 2.1 The scanssh protocol scanner scans a list of addresses and networks for running SSH protocol servers and their version numbers. schur 6.08 Schur is a program for interactively calculating properties of Lie groups and symmetric functions. scotty 8211 Scotty is the name of a software package which allows to implement site specific network management software using high-level string-based APIs. screen 4.0.3 Screen provides an ANSIvt100 terminal emulator which can multiplex up to 10 pseudo-terminals. scrub 2.5.2 Scrub writes patterns on special files or regular files to make retrieving the data more difficult. sdl 1.2.15 The Simple Directmedia Layer libraries. sdlmixer 8211 The SDL simple multi-channel audio mixer headers and libraries. seccheck 8211 Security checker for Solaris 10. sed 4.2.2 The GNU version of the sed utility. sendmail 8211 The sendmail mail program. serf 1.2.1 The serf library is a C-based HTTP client library built upon the Apache Portable Runtime (APR) library. setuptools 8211 The python setuptools package. sgrep 1.94a Structured grep (sgrep) is a tool for searching and indexing text. sharitylight 8211 Sharity-light is a client for the Lanmanger protocol. sharutils 4.13.5 GNU shar makes so-called shell archives out of many files preparing them for transmission by electronic mail services. shmux 1.0.2 Shmux is a program for executing the same command on many hosts in parallel. shush 1.2.3 Shush runs a command and optionally reports its output by email. shutils 8211 Sh-utils contains the GNU shell utilities. siege 3.0.6 Siege is an http load testing and benchmarking utility. slang 2.2.4 Slang contains the S-Lang Language libraries. slrn 1.0.1 Slrn is a Usenet client that supports both the Network News Transfer Protocol (NNTP) and a news spool on the local filesystem. smake 1.2.2 Smake is Joerg Schilling8217s version of make. smpeg 8211 Smpeg is an mpeg decoding library. snarf 7.0 Snarf is a command line resource grabber. It can transfer files through the http gopher finger and ftp protocols without user interaction. snort 8211 Snort is a lightweight network intrusion detection system. snownews 1.5.12 Snownews is a text mode RSS newsreader. socat 1.7.2.4 Socat is a relay for bidirectional data transfer between two independent data channels. speex 8211 Speex is an audio compression format designed for speech. spell 1.1 GNU Spell is a clone of standard Unix spell implemented as a wrapper to ispell. spfmilter 8211 Sendmail includes a facility for plugging in custom mail filters called milters. splint 3.1.2 Splint is a tool for statically checking C programs for security vulnerabilities and coding mistakes. sqlite 3.7.13 SQLite is an embeddable SQL database engine. squid 2.7.STABLE9 The Squid Web Proxy Cache. srm 1.2.10 srm, a secure replacement for rm. ssldump 0.9b3 Ssldump is an SSLv3TLS network protocol analyzer. star 1.5.2 Star is Joerg Schilling8217s version of tar. stress 1.0.4 Stress is a workload generator for POSIX systems. stunnel 5.02 The stunnel program is designed to work as an SSL encryption wrapper between remote client and local (inetd-startable) or remote servers. subversion 1.8.3 Subversion is an alternative to the CVS version control system. sudo 1.8.10p2 Sudo (superuser do) allows a system administrator to give certain users (or groups of users) the ability to run some (or all) commands as root while logging all commands and arguments. sudosh3 3.2.0 Sudosh is a filter and can be used as a login shell. sudoldap 8211 Sudo (superuser do) allows a system administrator to give certain users (or groups of users) the ability to run some (or all) commands as root while logging all commands and arguments 8211 With LDAP Support. sunclock 8211 Sunclock shows a map of the world with sunlight and darkness areas. surfraw 8211 Surfraw provides a fast unix command line interface to a variety of popular WWW search engines. swet 1.5.16 Swet is a sustained workload and efficiency test. swig 1.3.40 SWIG is a software development tool that connects programs written in C and C with a variety of high-level programming languages. SWIG is used with different types of languages including common scripting languages such as Perl PHP Python Tcl Ruby and PHP. switzerland 8211 The switzerland network testing tool. synergy 8211 Synergy lets you share a single mouse and keyboard between multiple computers with different operating systems each with its own display without special hardware. syslogng 8211 Syslog-ng is a syslogd replacement but with new functionality. sysdiag 8211 Sysdiag is a Solaris utility (ksh script) from Todd Jobson at Sun that can perform several functions among them system configuration snapshot and reporting (detailed or high-level) plus workload characterizationprofiling via performance data gathering (over some specified duration or time in point snapshot) high-level analysis and reporting of findingsexceptions (based upon perf thresholds that can be easily changed within the script header). t1lib 5.1.2 T1lib is a library written in C which implements functions for generating bitmaps from Adobe Type 1 fonts. tar 1.27.1 This is the GNU version of tar the archive creator. tardy 8211 Tardy is a tar post-processor. tcl 8.6.0 Tcl the tool command language -. tclX 8211 tclX is extended Tcl a freely redistributable set of extensions to the Tool command language (Tcl). tcpdrop 8211 Tcpdrop is a tool to drop tcp sessions. tcpdump 4.5.1 tcpdump is a tool for network monitoring and data acquisition. tcpflow 8211 Tcpflow is a program that captures data transmitted as part of TCP connections (flows) and stores it in a way that is convenient for protocol analysis or debugging. tcpreplay 3.4.4 Tcpreplay is a tool to replay saved tcpdump files at arbitrary speeds. tcpslice 1.2a3 Tcpslice is a tool for extracting portions of packet trace files generated using tcpdump. tcpstat 1.5 Tcpstat reports certain network interface statistics. tcptraceroute 1.5beta7 tcptraceroute is a traceroute implementation using TCP packets. tcputils 0.6.2 Tcputils a collection of programs to facilitate TCP programming in shell-scripts. tcpwrappers 7.6 The tcpwrappers package allows you to monitor and filter incoming requests for the SYSTAT FINGER FTP TELNET RLOGIN RSH EXEC TFTP TALK and other network services. It provides tiny daemon wrapper programs. tcpwrappersIPV6 8211 The tcpwrappers package allows you to monitor and filter incoming requests for the SYSTAT FINGER FTP TELNET RLOGIN RSH EXEC TFTP TALK and other network services. It provides tiny daemon wrapper programs. This is the IPV6 version. tcsh 6.18.01 tcsh is a version of the Berkeley C-Shell with additional functionality. tdlib 20131205 A library used by the ded package and other related tools. tdu 20080507 Tdu is a text-terminal program that displays disk space utilization in an interactive full-screen folding outline. ted 0.2.4 Ted is a light weight command line text editor designed for scripting. termcap 8211 The GNU termcap library is a library of C functions that enable programs to send control strings to terminals in a way independent of the terminal type. tetex 8211 teTeX is a complete TeX distribution based on the web2c distribution. texi2html 8211 Texi2html is texi to html file conversion utility. texinfo 5.2 The texinfo documentation system. textutils 8211 The GNU textutils package includes GNU versions of the programs cat cksum comm csplit cut expand fmt fold head join md5sum nl od paste ptx pr sort split sum tac tail tr tsort unexpand uniq wc. The textutils programs are now included in the coreutils package. tftphpa 8211 Tftp-hpa is an enchanced version of the BSD TFTP client and server. thttpd 8211 thttpd is a simple small portable fast and secure HTTP server. Thunderbird 8211 Mozilla8217s Email Client 8211 See our Mozilla download page. tidy 8211 HTML Tidy is used to clean up web pages. tiff 4.0.3 libtiff provides support for the Tag Image File Format (TIFF). tin 2.2.0 Tin is a Usenet newsreader. tk 8.6.0 Tk the X11 toolkit written in Tcl. tk800 8211 Tk800 is PerlTk a graphical user interface toolKit. tkdiff 4.2 Tkdiff is a graphical front end to the diff program. tkinfo 2.8 Tkinfo is a browser for info files. tmux 1.8 The tmux terminal multiplexer. tnef 1.4.9 Tnef provides a way to unpack Microsoft MS-TNEF MIME attachments. top 3.8.1 Top process analysis utility. traceroute 8211 The traceroute utility. transfig 8211 TransFig is a set of tools for creating TeX documents with graphics which are portable. tre 0.8.0 TRE is a posix compliant regexp matching library. tree 8211 Tree is a utility to display a tree view of directories. trickle 1.06 Trickle is a userspace bandwidth shaper. ttywatcher 8211 TTYWatcher is a host security monitor with active countermeasures. txt2man 1.5.6 Txt2man converts flat ASCII text to man page format. ucspitcp 8211 Ucsp-tcp contains among other items the tcpserver and tcpclient programs which are easy-to-use command-line tools for building TCP client-server applications. unclutter 8 Unclutter hides the cursor in X windows when you don8217t need it. uncrustify 0.60 Uncrustify is a source code beautifier for C C and other languages. unisontext 8211 The unison file synchronizer. units 2.11 GNU units8217 converts between different systems of units. unrar 4.2.4 unRAR is a utility to extract view and test RAR archives. unrtf 0.21.4 UnRTF is a command-line program which converts documents in Rich Text Format (.rtf) to HTML LaTeX troff macros. and RTF itself. unwindows 1.1.3 Unwindows contains the programs changesounds coloreyes dynamag and winsounds. unzip 6.0 Unzip decompression utility. uperf 1.0.2 uperf is a network performance tool that supports modelling and replay of various networking patterns. uriparser 8211 Uriparser is a strictly RFC 3986 compliant URI parsing library. utf8proc 8211 Utf8proc is a library for processing UTF-8 encoded Unicode strings. This package includes the C libraries only. utf8proc 1.1.5 Utf8proc is a library for processing UTF-8 encoded Unicode strings. This package includes the C libraries only. uucp 1.07 This is the Taylor implementation of uucp. uudeview 0.5.20 UUDeview is a smart decoder and an encoder for Base64 (MIME) uuencoded xxencoded and Binhex files. vdt 8211 Vdt (Visual Disk Test) is diskfiledevice io test program with visual feedbackfollow-up. vice 8211 The VICE emulator for certain old 8-bit computers. These include the C64 C128 VIC20 some PET models the PLUS4 and the CBM-II. vifm 8211 Vifm is an ncurses based file manager with vi like keybindings. vile 9.8 Vile, the VI like Emacs editor. vim 7.4 Vim is an improved version of the editor vi. visprint 8211 Visprint is a visual file fingerprint generator. vmsbackup 8211 This progam reads a VMS backuptape. vnc 8211 VNC stands for Virtual Network Computing. It is in essence a remote display system which allows you to view a computing desktop environment not only on the machine where it is running but from anywhere on the Internet and from a wide variety of machine architectures. vsftpd 3.0.2 The vsftpd ftp server. watch 8211 Watch runs a command repeatedly displaying its output in the first screenful. This allows you to watch the program output change over time. wcd 5.2.4 Wcd is a command line program to change directories quickly. wdiff 1.2.2 Wdiff is a front end to diff for comparing files on a word per word basis. webalizer 2.23.05 Webalizer is a web server log file analysis tool. weblint 8211 Weblint is a syntax and minimal style checker for HTML. wget 1.15 GNU Wget is a freely available network utility to retrieve files from the World Wide Web using HTTP and FTP. which 8211 Which shows the path to a command. winefish 8211 The winefish LaTeX editor. wireshark 8211 Wireshark (formerly Ethereal) is a network protocol analyzer. workman 8211 Workman utility for playing audio CD8217s. wput 0.6.2 Wput is a command-line ftp-client similar to wget but uploads files or directories to remote ftp servers. wuftpd 8211 Wu-ftpd is a replacement ftp daemon for Unix systems. wxgtk 8211 wxGTK is a version of wxWidgets for creating applications for GTK. x11vnc 8211 x11vnc is a vnc server for X displays. It allows remote viewing and interaction with real X displays via keyboard and mouse. x3270 3.3.12 x3270 is an IBM 3270 terminal emulator for the X Window System. xanim 8211 XAnim(pronounced: eks-8217an-im) is a program for playing a wide variety of animation audio and video formats on unix X11 machine. xaw3d 8211 Xaw3D is a set of 3-D widgets based on the R6.1R6.3R6.4 Athena Widget set. xbill 2.1 The xbill game. xbindkeys 8211 This program grabs keys in X and starts the corresponding shell command. xboard 8211 Xboard is the game board program used by gnuchess. xchat 8211 Xchat an X windows chat tool. xchm 8211 Xchm is a GUI front-end to chmlib. xcoral 8211 Xcoral is a multiwindow mouse-based text editor. xcpustate 8211 Xcpustate is a snapshot performance monitor. xdelta 8211 Xdelta is program designed to compute changes between binary files. These changes (deltas) are similar to the output of the. xdf 8211 Xdf is a modified version of the df command. xdir 8211 LLNL xdir is an ftp client and provides a graphical user interface for drag-and-drop file transfer. xearth 8211 Xearth sets the X root window to an image of the Earth as seen from your favorite vantage point in space. xemacs 8211 XEmacs is a highly customizable open source text editor and application development system. xfig 8211 The xfig drawing tool. xft 2.1.2 Xft is a library that connects X applications with the FreeType font rasterization library. xftp 8211 LLNL xftp is an ftp client and enables you to graphically transfer files and perform various directory manipulation commands both locally and remotely. xineramaproto 8211 The xineramaproto headers for xorg. Used in the building of GTK. xinetd 8211 xinetd is a secure replacement for inetd. xjobs 20120412 Xjobs reads job descriptions line by line and executes them in parallel. xkeycaps 8211 Xkeycaps is a graphical front-end to xmodmap. xli 8211 Xli is a graphicsl image viewer. xmemory 8211 The xmemory multiplayer memory game. xmessage 8211 Xmessage is a program that displays a window containing a message from the command line a fil or standard inpu. xmlparser 2.36 This is a build of the XML::Parser Perl module for parsing XML documents. xmlstarlet 1.4.2 XMLstarlet is a command line XML toolkit. xmms 8211 XMMS is a multimedia player based on the look of WinAmp. xorriso 8211 Xorriso is a program which copies file objects from POSIX compliant filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise manipulation of such filesystems. xosview 1.9.3 Xosview displays many system related stats such as cpu usage, memory usage, swap usage, network usage, interrupt activity, serial activity, and load average inside of an X Window. xpat2 8211 Xpat2 contains various solitaire games for X windows. xpdf 8211 Xpdf is a viewer for Portable Document Format (PDF) files. xpm 3.4k The xpm graphics libraries. xrender 0.8.3 Xrender is an X rendering client library. xroach 8211 8220The xroach 82208221game8221 that puts crawling cockroaches in your root window8221. xtail 2.1 Xtail watches the growth of files. xterm 309 The xterm terminal emulation window. xtermcontrol 2.10 Xtermcontrol enables dynamic control of xterm properties. xv 8211 The XV image viewer. xxgdb 8211 The xxgdb front end to the gdb debugger. xz 5.0.5 The xz utils provide general purpose data compression programs with high compression ratio. yarbu 1.4.8 Yarbu (Yet Another Rsync Backup Utility) is an automatic backup utility. yasm The YASM modular assembler (x86 only). yaz 5.0.2 YAZ is a programmer. s toolkit for the development of Z39.50SRWSRU clients and servers. zebra 8211 GNU Zebra manages TCPIP based routing protocols. zile 8211 GNU Zile is a lightweight Emacs clone. zip 3.0 Zip compression utility. zlib 1.2.8 zlib compression libraries. zoo 2.10 The zoo archiver. zsh 5.0.2 The zsh shell program. zutils 1.0 Zutils is a collection of utilities for dealing with any combination of compressed and non-compressed files transparently. The supported compressors are bzip2 gzip lzip and xz. Some of these functions were moved from the lzip package Steven M. Christensen and Associates, Inc. 169 2017. Oracle, Java, Sun, Solaris, and OpenSolaris are registered trademarks of Oracle andor its affiliates. Other names may be trademarks of their respective owners. This page was last updated on July 24, 2014
No comments:
Post a Comment