シェルスクリプティングを使用してプログラムを段階的に構築する-パート4

この一連の出版物の以前のエントリでは、以下を実装する方法を思い出しました。

シェルスクリプト

そして以前のものでは、どのように実装するか ShebangとBSM(Bash Strict Mode / Strict BashMode)。

GNU / Linuxでシェルスクリプトを作成するためのベストプラクティス-パート1

GNU / Linuxでシェルスクリプトを作成するためのベストプラクティス-パート2

これはの例です 最適化モジュール、私の例のXNUMXつを取る プログラム(アプリケーション) の事実 シェルスクリプト 呼ばれます Linuxポストインストール-バイセンテニアルスクリプト8.0:

これはモジュール(セクション)である必要があります 基本パッケージが正しく機能するために必要な基本パッケージをインストールするか、すべてが十分に実行されるように、作業環境またはオペレーティングシステムの更新、保守、またはパフォーマンスに必要な最小限のアクションを実行します。 このモジュールを作成するには、個人的に次の行を追加します。


###############################################################################
# INICIO DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

# Sección que instala los paquetes bases del LPI-SB

echo -e '\a'

apt update && apt install dialog gxmessage zenity espeak gksu -y && apt install -f && dpkg --configure -a

if [ $? = 0 ]; then

     echo ""
     echo ""
     echo "#--------------------------------------------------------#"
     echo "#LA INSTALACIÓN DE LOS PAQUETES HA CULMINADO EXITOSAMENTE#"
     echo "#--------------------------------------------------------#"
     echo ""
     echo ""

     play /usr/share/sounds/info.wav 2> /dev/null

     sleep 3
     clear

else

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '# LA INSTALACIÓN DE LOS PAQUETES NO CULMINO EXITOSAMENTE #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     play /usr/share/sounds/warning.wav 2> /dev/null

     sleep 3
     clear

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '#                  EJECUTE MANUALMENTE                   #'
     echo '# UN MANTENIMIENTO PREVENTIVO Y CORRECTIVO EN SU SISTEMA #'
     echo '#   EJECUTANDO LA SIGUIENTES ORDEN DE COMANDO, 1 HA 1:   #'
     echo '#                                                        #'
     echo '#                       apt update                       #'
     echo '#                     apt install -f                     #'
     echo '#                   dpkg --configure -a                  #'
     echo '#                       apt upgrade                      #'
     echo '#                                                        #'
     echo '#   LUEGO INSTALE MANUALMENTE LOS PAQUETES NECESARIOS    #'
     echo '#         CON LA ORDEN DE COMANDO SIGUIENTE:             #'
     echo '#                                                        #'
     echo '#      apt install dialog gxmessage zenity espeak -y     #'
     echo '#                                                        #'
     echo '#  AHORA, VUELVA HA INTENTAR EJECUTAR EL SCRIPT LPI-SB   #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     sleep 3
     clear

     play /usr/share/sounds/info.wav 2> /dev/null

     exit 0

fi

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=BIENVENIDO%20AL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO&tl=es&total=1&idx=0&textlen=54&tk=511133.124198&client=t&prev=input&ttsspeed=0.24" ; play -q /tmp/audio.mp3

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=ESTIMADO%20USUARIO%2C%20ESPERE%20UNOS%20SEGUNDOS%20MIENTRAS%20EL%20PROGRAMA%20SE%20CARGA%20E%20INICIA&tl=es&total=1&idx=0&textlen=77&tk=337132.200023&client=t&prev=input" ; play -q /tmp/audio.mp3

###############################################################################
# FINAL DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

===============

ご覧のとおり、このモジュールは 適性の更新、続いてパッケージのインストール ダイアログgxmessagezenity espeak gksu、コマンドオーダーを続行します 適性インストール -f y dpkg –configure –a。 そして、すべてが十分に実行された場合に限り、 視覚的なメッセージ ターミナルで 正常に完了した ソニックアラート そして私は次のステップ(モジュール/セクション)に進みました シェルスクリプト。 それ以外の場合は、 視覚的なメッセージ ターミナルで 失敗した完了の ソニックアラート、 他のと 再度発生するエラーを回避するために手動アクションを実行することを推奨する端末による視覚的メッセージ、 その後、の実行を終了します シェルスクリプト。

モジュールの最後の2行に関して、で始まるもの wgetコマンド、これらはの一部であるため、今のところこれらは必須ではありません 実験手順 の音声サポートを実現するために私が適応 シェルスクリプト を使用してインターネット接続で GoogleTranslateのオンライン音声シンセサイザーと彼女の官能的な女性の声、したがって、 ロボット音声付きシンセサイザー(男性/女性) パッケージ(プログラム)とともにGNU / Linuxオペレーティングシステムによってローカルに提供されます espeak、festival、festvox、mbrola、speech、stardict。

勧告:

文書を読む: «大聖堂とバザール»

大聖堂とバザール によって作成されたマニフェストの一種です エリックS.レイモンド 年間で 1.998 あなたの視点と個人的な経験から説明しようとする(プログラムの作成 Fetchmail)Linuxとその関連プログラムの作成と進化の成功について、特に両者の違いの観点から彼が認識したこと ソフトウェア開発モデル、彼が個人的に呼んだもの: 大聖堂モデルとバザールモデル.

そのドキュメントの私の要約分析は次のとおりです。

この読書は、世界の中でのビジョンを示唆または提示します Ingenieríadel Software 「XNUMXつのまったく異なる開発スタイルがあります。 大聖堂モデル、の世界で実行される開発のほとんどに適用可能 商用ソフトウェアの前 バザールモデル、より典型的な世界 Linux」。 これらの2つのモデルは、ソフトウェアデバッグプロセスの性質に関する反対の出発点と、彼が呼んだものに関する彼の特定の理論から派生していることを強調します。 ライナスの法則 これは次のように述べています。 「十分な数の目を与えられれば、すべてのエラーは無関係です」 または言い換えると: 「十分な数の目があれば、すべての間違いは些細なことです。」

また、この読書では、著者は単語を強調しています ハッカー、私の意見では、著者は一種の プログラムを効率的に理解して活用し、ユーザーコミュニティ全体の効率的な形式と内容の修正または変更を検出、提案、または実装できる高レベルのユーザー。 私はこの自己提案の概念が正しいと思うのでとても気に入りましたが、それははるかにグローバルで一般的であるため、私も大好きなものを残しておきます。

ハッカー

「Linuxは破壊的です。」 どうして? この読書が私たちに最初に伝えることはそれです:

それまでは、に基づいた標準化されたソフトウェア開発方法またはモデルが非常に多様でした。 「最初からより集中化された計画的なアプローチ」 ソフトウェアを設計する行為の結果として、 ファクターX それは 「いくつかの重大な複雑さ」。 そして、これはすでに存在していましたが Unixの世界言い換えれば、小さなツール、迅速なプロトタイプ開発、進化的プログラミングからなる作業、Linuxでのフリーソフトウェア開発哲学の出現は、問題を別のレベルの洗練度に引き上げました。

この結果として、 プライベートソフトウェア開発 で作られた 「静かで敬虔な方法」、構築すると 大聖堂無料のソフトウェア開発(Linux) で作られた "にぎやかな方法と複数のアジェンダ(パス)とアプローチ(提案) "、ちょうどあなたが素晴らしいにいたように バザール.

最後に、無料ソフトウェアユーザーのコミュニティのために開発する人々を理解するために、適切なコンテキストで分解して消化する価値のある一連の前提条件を公開します。 これらの前提は次のとおりです。

  1. ソフトウェアのすべての良い仕事は、あなたがそれらをプログラムするところから個人的な問題を喜ばせようとし始めます。
  2. 優れたプログラマーは何を書くべきかを知っています。 何を書き直す(そして再利用する)かを最もよく知っています。
  3. 少なくともXNUMXつは処分することについて考えてください:あなたはとにかくそれをすることになります。」
  4. あなたが正しい態度を持っているなら、興味深い問題があなたを見つけるでしょう。
  5. プログラムに興味がなくなった場合、最後の義務はそれを有能な後継者に引き継ぐことです。
  6. ユーザーを共同編集者として扱うことは、プログラムを迅速に改善し、効果的にデバグするためのそれほど複雑ではない方法です。
  7. すぐにリリース。 頻繁に起動します。 そしてあなたのユーザーに耳を傾けます。
  8. テスターとコラボレーターの幅広い基盤があれば、ほとんどすべての問題が迅速に特定され、その解決策は誰かに明らかです。

加えて、より冷静なタイプ(道徳的)である他の11の残りの施設、ストーリーには付属していませんが、それぞれによって解釈されるものが付属しています リーダー(開発者)、これは私の非常に特殊なケースで、次の結論に導きました。

結論

この情報が気に入っていただければ幸いです。 大聖堂とバザールの読み方は、どんなに大きくても小さくても、フリーソフトウェアの開発をプログラムするすべての人にとって必須のリファレンスです。

後で、将来の投稿で私たちはの例を見続けるでしょう モジュール(セクション) 次のような機能を実行します。

  • パスワード付きのユーザー認証モジュール
  • 動作システムのアーキテクチャの検出モジュール
  • コーディング言語構成モジュール
  • 実行環境用のプロキシ構成モジュール

他の多くの中で!

そしていつものように、私はお勧めします 独学で学びに行く コマンドについて: gksu、dialog、gxmessage、zenity、espeak、play、とりわけ ソニックアラートまたはマルチメディアアラートを使用して、ターミナルまたはユーザーのデスクトップ用のグラフィカルインターフェイスを作成する、および後で使用する知識を事前に提供します。

これらおよびその他の推奨事項については、 モジュール、関数、変数、コマンドまたはアクション 一般的にそれは実行することができます たくさんの方法、ここに表示されているのは、 簡単な方法多くの可能性のある方法 その中で アクションを実行できる、または実行できる!

最後に、私はあなたを残します、 私が作ったスクリーンキャスト、これを完了した後、あなたができることをあなたに示すために シェルスクリプトオンラインコース DesdeLinux:

LPI-SB8テストScreenCast

(LINUX POST INSTALL-BICENTENNIAL SCRIPT 8.0.0)-パート2


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。