次のコマンドを実行して、サーバーにインストールされているパッケージを一覧表示しています。
$> dpkg -l
これは問題ありませんが、私がこれを行うと
$> dpkg -l > list_of_packages_installed
106列のデータしか取得できず、残りは切り捨てられます。したがって、すべての行がありますが、すべてのデータが列ごとにあるわけではありません。私がここで見逃している単純な何かがあるに違いありませんか?
次のコマンドを実行して、サーバーにインストールされているパッケージを一覧表示しています。
$> dpkg -l
これは問題ありませんが、私がこれを行うと
$> dpkg -l > list_of_packages_installed
106列のデータしか取得できず、残りは切り捨てられます。したがって、すべての行がありますが、すべてのデータが列ごとにあるわけではありません。私がここで見逃している単純な何かがあるに違いありませんか?
変数 COLUMN が実際にこれを担当しています。dpkg(8) のマンページには、「環境」セクションの下に含まれています。
COLUMNS Sets the number of columns dpkg should use when display- ing formatted text. Currently only used by -l.
環境で COLUMNS が設定されている場合、dpkg はそれを使用します。次のコマンドで確認できます。
env | grep ^COLUMNS=
そのコマンドが次のようなものを出力する場合
COLUMNS=80
次に、この変数が環境で設定されていることがわかります。このコマンドは次の点に注意してください。
echo $COLUMNS
それが環境変数なのかシェル変数なのかはわかりません。COLUMNS は、環境にエクスポートせずにシェル変数として設定できます。このコマンドで:
COLUMNS=$COLUMNS dpkg -l > k
明示的に変数を dpkg の環境に配置します。お使いの環境にない場合は、このコマンド専用になります。また、この点での dpkg の動作は、ubuntu と debian で異なり、バージョンによっても異なることに注意してください。このトピックに関するいくつかのバグ レポートがありました。たとえば、squeeze の dpkg は、環境で COLUMNS が設定されておらず、出力が tty でない場合に、すべてのパッケージ名とバージョンを完全に表示できるように列幅を設定します。
よろしく