Super Cow Powers(ディストリAdvent Calendar 12日目)
はじめに
最近GentooとかArchとか流行りだし、パッケージが非常に充実しているのだけど、UbuntuとDebianのパッケージだって負けてないぜ!
何てったってSuper Cow Powerだしな!(aptitude使いの皆様ごめんなさい)
っていうところを役に立たなそうなパッケージで誇示してみよう、という企画です。
環境
今回aptで遊んでみた環境はamd64アーキテクチャのXubuntu 13.10。一応最新版です。
比較対象で出てくるDebianはamd64アーキテクチャのDebian 7.2です。(もちLinuxです)
libjs
Ubuntuのapt-getにはなぜかlibjs-から始まる、JavaScript Libraryのパッケージがある。
JavaScriptを手でダウンロードなんてダサいしaptを使うのがUbuntu流!?
どれぐらいあるかは、以下のようにすれば数を確認できる。
apt-cache search libjs- | wc -l
実行してみると154件ある。Debianにも94件あるので、Ubuntuオリジナルとかいうことでもないようだ。
ちなみに、個人的に大体揃ってると感じているcdnjsで見てみたところ、579件あったので、若干少なく感じる。
網羅と呼ぶには少ない感じもするが、主要な奴は大体カバーできてるようにも見える。
しかし実際には後述のような水増しが発覚したりするのである。
jQuery
とりあえずJavaScriptのライブラリとして思い付くのはjQueryなので早速インスコしてみる。
apt-get install libjs-jquery
まずはVersion
apt-cache show libjs-jquery
Versionは1.7.2だった。今時jQueryの1.7.2とか古過ぎてアレ。
一番メジャーなのでコレだから、他のもお察しですね。
インストール先は/usr/share/javascript/jquery/jquery.js。
無論このままだと使えないので、Webサーバから参照したい場合はjavascript-commonもインストールする。
この状態でWebサーバ(Apacheのみ?)がインストールされていると、http://localhost/javascript/jquery/jquery.js で参照できるようになる。
実はlibjs-jqueryに依存しているパッケージが結構あるのでは、と思って調べてみる。
apt-cache showpkg libjs-jquery
ずらずら〜っとReverse Dependsのパッケージが出てくるので、意外と利用されているようである。
見たところPythonから始まるパッケージが半分ぐらい占めている感じ。
しかし一方で、今回libjs-jquryは既にインストールされていた訳ではないので、必須パッケージでもない上、
apt-file search /jquery.js
とかやると更に多くのパッケージが引っ掛かる。
全てのjqueryがこちらを参照するように努力が払われている訳でもない模様。
ちなみにcdnjsでも、割と多くがjQueryの拡張だったり、jQuery UIだったりする訳だけだが、Ubuntuのパッケージも例外ではない。
apt-cache search libjs-jquery
とかやると、以下のようにズラズラ出てくる
libjs-jquery - JavaScript library for dynamic web applications libjs-jquery-colorbox - jQuery customizable lightbox libjs-jquery-cookie - jQuery cookie plugin libjs-jquery-countdown - jQuery Countdown libjs-jquery-easing - jQuery Easing Plugin libjs-jquery-event-drag - jQuery Event Drag libjs-jquery-event-drop - jQuery Event Drop libjs-jquery-fancybox - fancy lightbox alternative libjs-jquery-flot - plotting library for jQuery libjs-jquery-flot-docs - Documentation for Flot libjs-jquery-form - jQuery Form Plugin libjs-jquery-geo - JavaScript mapping API libjs-jquery-geo-doc - JavaScript mapping API - documentation libjs-jquery-history - jQuery history plugin libjs-jquery-hotkeys - easily add and remove handlers for keyboard events anywhere in your code libjs-jquery-jfeed - jQuery RSS/Atom feed parser plugin libjs-jquery-jplayer - HTML5 Audio & Video for jQuery with a Flash fallback libjs-jquery-lazyload - Lazy Load Plugin for jQuery libjs-jquery-livequery - jQuery Live Query libjs-jquery-metadata - jQuery plugin for parsing metadata from elements libjs-jquery-minicolors - tiny color picker built on jQuery libjs-jquery-mobile - Touch-Optimized Web Framework for Smartphones & Tablets libjs-jquery-mobile-docs - Documentation for jQuery Mobile libjs-jquery-mousewheel - jQuery Mousewheel Plugin libjs-jquery-opacityrollover - jQuery Opacity Rollover plugin libjs-jquery-reflection - jQuery plugin to add reflection effects to images in webpages libjs-jquery-resize - jQuery resize libjs-jquery-slides - Simple slideshow plugin for jQuery libjs-jquery-tablesorter - Flexible client-side table sorting libjs-jquery-timepicker - timepicker addon for jQuery UI datepicker libjs-jquery-tipsy - jQuery Facebook-style tooltip plugin libjs-jquery-treetable - jQuery treeTable Plugin libjs-jquery-ui - JavaScript UI library for dynamic web applications libjs-jquery-ui-docs - Documentation for JQuery-UI libjs-jquery-ui-theme-base - Base theme for jQuery UI libjs-jquery-ui-theme-black-tie - Black Tie theme for jQuery UI libjs-jquery-ui-theme-blitzer - Blitzer theme for jQuery UI libjs-jquery-ui-theme-cupertino - Cupertino theme for jQuery UI libjs-jquery-ui-theme-dark-hive - Dark Hive theme for jQuery UI libjs-jquery-ui-theme-dot-luv - Dot Luv theme for jQuery UI libjs-jquery-ui-theme-eggplant - Eggplant theme for jQuery UI libjs-jquery-ui-theme-excite-bike - Excite Bike theme for jQuery UI libjs-jquery-ui-theme-flick - Flick theme for jQuery UI libjs-jquery-ui-theme-hot-sneaks - Hot Sneaks theme for jQuery UI libjs-jquery-ui-theme-humanity - Humanity theme for jQuery UI libjs-jquery-ui-theme-le-frog - Le Frog theme for jQuery UI libjs-jquery-ui-theme-mint-choc - Mint Choc theme for jQuery UI libjs-jquery-ui-theme-overcast - Overcast theme for jQuery UI libjs-jquery-ui-theme-pepper-grinder - Pepper Grinder theme for jQuery UI libjs-jquery-ui-theme-redmond - Redmond theme for jQuery UI libjs-jquery-ui-theme-smoothness - Smoothness theme for jQuery UI libjs-jquery-ui-theme-south-street - South Street theme for jQuery UI libjs-jquery-ui-theme-start - Start theme for jQuery UI libjs-jquery-ui-theme-sunny - Sunny theme for jQuery UI libjs-jquery-ui-theme-swanky-purse - Swanky Purse theme for jQuery UI libjs-jquery-ui-theme-trontastic - Trontastic theme for jQuery UI libjs-jquery-ui-theme-ui-darkness - UI Darkness theme for jQuery UI libjs-jquery-ui-theme-ui-lightness - UI Lightness theme for jQuery UI libjs-jquery-ui-theme-vader - Vader theme for jQuery UI libjs-jquery-uploadify - plugin for easy multiple file upload libjs-jquery-watermark - watermark plugin for jQuery libjs-jquery-galleriffic - jQuery Galleriffic plugin libjs-jquery-jush - jQuery Syntax Highlighter libjs-jquery-meiomask - jQuery mask plugin libjs-jquery-resize-doc - jQuery resize (doc)
なんかui-themeとかちょっと「それは無いだろ」みたいなセコい奴が結構引っ掛かる。
これは水増しじゃないですかねー(白目
まぁいずれにせよ、JavaScript開発者は勿論npmとか使ってJavaScript Library管理してると思うので、明示的に使う機会無いと思うし、インストールされてるのも稀だと思う。
タイトルの元ネタ
$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"...
おわりに
なんか思ったより変なパッケージ見つからなくてlibjsの紹介になってしまいました。まぁ筆頭で要らんだろコレと思ったし、javascript-commonの解説してる記事見たことないので満足です。